/**
 * Fiche produit Elementor — alignement & espacements (sans changer couleurs/typos prod).
 * Cible le hero : média (52 %) · texte + CTA (48 %, doc + devis sur une ligne).
 */

body.template-product-elementor {
  --ck-page-pad-x: 24px;
  --ck-section-max-width: min(100%, 1400px);
  --ck-section-pad-x: var(--ck-page-pad-x);
  /* Hero, grille icônes, tableau specs — même largeur visuelle */
  --ck-product-content-max-width: min(100%, 860px);
  /* Hero desktop : visuel 360 de 610 px + description de 430 px. */
  --ck-product-hero-max-width: min(100%, 1040px);
  --ck-product-section-gap: 24px;
  /* Grille features (tokens Elementor T.A.M.) */
  --line: #e8edf2;
  --bg: #fff;
  --brand: #000;
  --text-muted: #555;
}

body.template-product-elementor .ck-product-elementor {
  overflow-x: clip;
}

/* Évite l'affichage fugitif du template Elementor avant sa mise en page finale. */
body.template-product-elementor
  [data-elementor-type="product"]:not([data-ck-layout-ready]) {
  visibility: hidden !important;
}

body.template-product-elementor
  [data-elementor-type="product"][data-ck-layout-ready] {
  visibility: visible !important;
}

/* Conteneur page produit (template 2600) — grille d’alignement (layout only) */
body.template-product-elementor .ck-product-elementor.elementor-2600 {
  --ck-hero-gap: 36px;
  --ck-hero-media-pct: 52%;
  --ck-hero-summary-pct: 48%;
  --ck-icons-gap: 0;
  --ck-picto-row-gap: 4px;
  --ck-spin-thumb: 42px;
  --ck-spin-gallery-gap: 18px;
  --ck-spin-max-width: 520px;
  --ck-spin-media-inset: calc(var(--ck-spin-thumb) + var(--ck-spin-gallery-gap));
  --ck-icons-offset-x: 0px;
  --ck-hero-content-span: calc(
    var(--ck-hero-media-pct) + var(--ck-hero-gap) + var(--ck-hero-summary-pct)
  );
  --ck-specs-offset-x: 0px;
  --ck-specs-width: calc(
    var(--ck-hero-media-pct) + var(--ck-hero-gap) + 16%
  );
  width: 100%;
  box-sizing: border-box;
}

/* Ligne hero */
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-1fbf6fe.e-con,
body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-row.e-con {
  --ck-hero-gap: 28px;
  width: 100% !important;
  max-width: calc(
    var(--ck-product-hero-max-width, 1040px) + 2 * var(--ck-page-pad-x, 24px)
  ) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  padding-left: var(--ck-page-pad-x, 24px) !important;
  padding-right: var(--ck-page-pad-x, 24px) !important;
  box-sizing: border-box !important;
  align-items: center !important;
  column-gap: var(--ck-hero-gap) !important;
  row-gap: var(--ck-hero-gap) !important;
}

/* Sans 360° CK : masquer WebRotate résiduel hors colonne média */
body.template-product-elementor .ck-product-elementor:not(.has-ck-spin-360) .webrotate360,
body.template-product-elementor .ck-product-elementor:not(.has-ck-spin-360) .wr360-gallery,
body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  .elementor-widget-webrotate-360 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Colonne média : réafficher galerie statique (markup WebRotate sans JS local) */
body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  :is(.elementor-element-c52ee4c, .ck-product-hero-media)
  :is(.webrotate360, .wr360-gallery, .elementor-widget[class*="360"], .elementor-widget-webrotate-360),
body.template-product-elementor
  .ck-product-elementor.elementor-2600:not(.has-ck-spin-360)
  .elementor-element-c52ee4c
  :is(.webrotate360, .wr360-gallery) {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Descendants WR360 : visibility:hidden du masque global / CSS plugin */
body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  :is(.elementor-element-c52ee4c, .ck-product-hero-media)
  :is(.webrotate360, .wr360-gallery)
  :is(*, img) {
  visibility: visible !important;
}

body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  :is(.elementor-element-c52ee4c, .ck-product-hero-media)
  .wr360-gal-main
  img {
  display: block !important;
  width: auto !important;
  max-width: min(100%, 580px) !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  :is(.elementor-element-c52ee4c, .ck-product-hero-media) {
  height: auto !important;
  min-height: 0 !important;
  align-self: center !important;
}

body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  :is(.elementor-element-c52ee4c, .ck-product-hero-media)
  :is(.wr360-gal-main, .wr360-swiper-view, .swiper-wrapper, .swiper-slide) {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Galerie statique : masquer chrome WebRotate inactif (pas de JS plugin en local) */
body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  :is(.wr360-arrow-container-left, .wr360-arrow-container-right, .wr360-gal-navigation, .wr360-close-zoom) {
  display: none !important;
}

body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  .elementor-widget-theme-post-featured-image,
body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  .elementor-element-c52ee4c
  .elementor-widget-image:not([class*="webrotate"]) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.template-product-elementor
  .ck-product-elementor:not(.has-ck-spin-360)
  .elementor-widget-theme-post-featured-image
  img {
  display: block !important;
  width: auto !important;
  max-width: min(100%, 580px) !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Colonne média / 360° */
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c.e-con,
body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-media.e-con {
  flex: 0 0 var(--ck-hero-media-pct, 52%) !important;
  width: var(--ck-hero-media-pct, 52%) !important;
  max-width: var(--ck-hero-media-pct, 52%) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
}

/* Hero CK Spin : photo + texte centrés verticalement et horizontalement */
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-1fbf6fe.e-con,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-has-product-hero .ck-product-hero-row.e-con {
  align-items: center !important;
  align-content: center !important;
  justify-content: center !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c.e-con,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media.e-con,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-ed56dce.e-con,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-summary.e-con {
  align-self: center !important;
  height: auto !important;
  min-height: 0 !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .elementor-widget-container,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .elementor-widget-container,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-fa17757,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .elementor-widget[class*="360"] {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  height: auto !important;
  flex: 0 1 auto !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360__img {
  display: block !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: top center !important;
  image-rendering: auto;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360__viewport {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Rotation 360 : cadre fixe, pictos et contenu en dessous inchangés */
body.template-product-elementor .ck-spin-360--size-locked.ck-spin-360--embed {
  height: auto !important;
  flex: 0 0 auto !important;
}

body.template-product-elementor .ck-spin-360--size-locked .ck-spin-360__main {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

body.template-product-elementor .ck-spin-360--size-locked .ck-spin-360__viewport {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  width: auto;
  max-width: 100%;
  background: transparent !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-spin-360--size-locked .ck-spin-360__stage {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  line-height: 0;
}

body.template-product-elementor .ck-spin-360--size-locked .ck-spin-360__layer,
body.template-product-elementor .ck-spin-360--size-locked .ck-spin-360__img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: top center !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__controls {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 12px !important;
  box-shadow: none !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360--embed .ck-spin-360__main {
  gap: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c .elementor-widget,
body.template-product-elementor .ck-product-elementor .ck-product-hero-media .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c .elementor-widget-container,
body.template-product-elementor .ck-product-elementor .ck-product-hero-media .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-fa17757,
body.template-product-elementor .ck-product-elementor .ck-product-hero-media .elementor-widget[class*="360"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  --container-widget-width: 100% !important;
  align-self: stretch !important;
}

/* Moins d'espace au-dessus de la photo (colonne média CK Spin uniquement) */
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c > .e-con-inner,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media > .e-con-inner {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600.has-ck-spin-360 .elementor-element-c52ee4c .elementor-widget,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .elementor-widget {
  margin-top: 0 !important;
  padding-top: 0 !important;
  height: auto !important;
  flex: 0 1 auto !important;
  align-self: flex-start !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600.has-ck-spin-360 .elementor-element-c52ee4c .elementor-widget-container,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .elementor-widget-container {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  height: auto !important;
  flex: 0 1 auto !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600.has-ck-spin-360 .elementor-element-fa17757,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .elementor-widget[class*="360"] {
  height: auto !important;
  flex: 0 1 auto !important;
  align-self: flex-start !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c :is(img, svg, video),
body.template-product-elementor .ck-product-elementor .ck-product-hero-media :is(img, svg, video) {
  max-width: 100% !important;
  height: auto;
  object-fit: contain;
}

body.template-product-elementor
  .ck-product-elementor.elementor-2600:not(.has-ck-spin-360)
  .elementor-element-c52ee4c
  .webrotate360,
body.template-product-elementor
  .ck-product-elementor.elementor-2600:not(.has-ck-spin-360)
  .elementor-element-c52ee4c
  .wr360-gallery {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

/* Fiche avec CK Spin : masquer WebRotate seulement après montage CK (évite colonne vide) */
body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted .elementor-element-c52ee4c .webrotate360,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted .elementor-element-c52ee4c .wr360-gallery,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted .elementor-element-fa17757 .webrotate360,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted .elementor-element-fa17757 .wr360-gallery {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360:not(.ck-spin-360-mounted) .ck-spin-360-mount {
  display: none !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted .elementor-element-fa17757 {
  display: block !important;
  width: 100% !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted .elementor-element-fa17757 .elementor-widget-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
}

/* CK Spin + galerie */
body.template-product-elementor .ck-product-elementor .elementor-element-c52ee4c .ck-spin-360--embed.ck-spin-360--gallery,
body.template-product-elementor .ck-product-elementor .ck-product-hero-media .ck-spin-360--embed.ck-spin-360--gallery {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360--embed.ck-spin-360--gallery,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .ck-spin-360--embed.ck-spin-360--gallery {
  --ck-spin-gallery-gap: 18px;
  --ck-spin-thumb: 42px;
  --ck-spin-max-width: 520px;
  width: 100% !important;
  max-width: min(
    100%,
    calc(var(--ck-spin-thumb, 42px) + var(--ck-spin-gallery-gap, 18px) + var(--ck-spin-max-width))
  ) !important;
  height: auto !important;
  flex: 0 1 auto !important;
  align-items: flex-start !important;
  gap: var(--ck-spin-gallery-gap, 18px) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .elementor-element-c52ee4c
  .ck-spin-360--embed.ck-spin-360--gallery.is-fullscreen,
body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-product-hero-media
  .ck-spin-360--embed.ck-spin-360--gallery.is-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--embed.ck-spin-360--gallery.is-fullscreen
  .ck-spin-360__main {
  width: auto !important;
  max-width: calc(100vw - 128px) !important;
  height: auto !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--embed.ck-spin-360--gallery.is-fullscreen
  .ck-spin-360__viewport {
  width: min(78vw, 980px) !important;
  max-width: min(78vw, 980px) !important;
  height: calc(100vh - 112px) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 112px) !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted
  .ck-spin-360--embed:not(.ck-spin-360--size-locked) {
  visibility: visible !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360.ck-spin-360-mounted
  .ck-spin-360--embed.ck-spin-360--size-locked {
  visibility: visible !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--square-frame:not(.is-fullscreen):not(.is-still-mode)
  .ck-spin-360__img {
  transform: scale(1.1) translateZ(0) !important;
  transform-origin: center center !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__img,
body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--static:not(.is-fullscreen)
  .ck-spin-360__img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--situation-view.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__img {
  max-width: none !important;
  object-position: center center !important;
}

/* Vignettes : cellule 42 px homogene, image entiere visible, transform none. */
body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--embed.ck-spin-360--gallery
  .ck-spin-360__thumb
  img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* BOX CB / BOX ACC : memes regles de miniatures que les autres produits. */
body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--portrait-gallery.ck-spin-360--embed.ck-spin-360--gallery
  .ck-spin-360__thumb[data-gallery-role="situation"]
  img {
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--static.ck-spin-360--square-frame:not(.is-fullscreen)
  .ck-spin-360__img {
  height: auto !important;
  max-height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  width: auto !important;
}

body.template-product-elementor:not(.postid-2851):not(.postid-3814):not(.postid-6080):not(.postid-6618):not(.postid-6726):not(.postid-4215):not(.postid-4380):not(.postid-4628)
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--square-frame.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__img {
  object-position: top center !important;
  transform: scale(1.1) translateZ(0) !important;
  transform-origin: center center !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--embed.ck-spin-360--gallery.is-fullscreen
  .ck-spin-360__stage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c.e-con,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media.e-con {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: min(
    100%,
    calc(var(--ck-spin-thumb, 42px) + var(--ck-spin-gallery-gap, 18px) + var(--ck-spin-max-width, 520px))
  ) !important;
  align-items: flex-start !important;
}

body.template-product-elementor .ck-product-elementor .elementor-element-c52ee4c .ck-spin-360--embed .ck-spin-360__main,
body.template-product-elementor .ck-product-elementor .ck-product-hero-media .ck-spin-360--embed .ck-spin-360__main {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360--embed .ck-spin-360__main,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .ck-spin-360--embed .ck-spin-360__main {
  flex: 0 1 auto !important;
}

/* Ligne CTA : Documentation puis devis (alignés, même hauteur) */
body.template-product-elementor .ck-product-cta-row {
  --ck-cta-height: 44px;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  align-content: center;
  gap: 10px;
  margin-top: 24px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box !important;
  overflow: visible;
}

body.template-product-elementor .ck-product-cta-row > .elementor-element {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  --width: auto !important;
  --container-widget-width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-cta-row > .elementor-element > .elementor-widget,
body.template-product-elementor .ck-product-cta-row > .elementor-element > .e-con {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  --width: auto !important;
}

body.template-product-elementor .ck-product-cta-row .elementor-widget-container,
body.template-product-elementor .ck-product-cta-row .eael-creative-button-wrapper,
body.template-product-elementor .ck-product-cta-row .cklaundry-container {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.template-product-elementor .ck-product-cta-row .eael-creative-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: var(--ck-cta-height) !important;
  height: var(--ck-cta-height) !important;
  padding: 0 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  flex-shrink: 1;
  min-width: 0;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

body.template-product-elementor .ck-product-cta-row .eael-creative-button-icon-left,
body.template-product-elementor .ck-product-cta-row .eael-creative-button-icon-right {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}

body.template-product-elementor .ck-product-cta-row .eael-creative-button-icon-left svg,
body.template-product-elementor .ck-product-cta-row .eael-creative-button-icon-right svg {
  width: 20px !important;
  height: 20px !important;
}

/* Widget HTML « devis » (ligne CTA fusionnée) : masquer le configurateur inline */
body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .elementor-widget-html,
body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .elementor-widget-container {
  overflow: hidden !important;
  max-height: var(--ck-cta-height, 44px) !important;
}

body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .ck-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: var(--ck-cta-height) !important;
  height: var(--ck-cta-height) !important;
  padding: 0 6px 0 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  flex-shrink: 1;
  min-width: 0;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .ck-btn > span:last-child,
body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .ck-btn > span[style*="border-radius"],
body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .icon-wrapper {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  flex-shrink: 0;
}

body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .icon-wrapper svg {
  width: 18px !important;
  height: 18px !important;
}

/* Catégorie sous les boutons Documentation / Devis */
body.template-product-elementor .elementor-element.ck-product-category,
body.template-product-elementor .elementor-element-a148339.ck-product-category {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin: 20px 0 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--line);
}

body.template-product-elementor .ck-product-category .elementor-widget-container,
body.template-product-elementor .ck-product-category .product_meta {
  margin: 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-category .posted_in.detail-container {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin: 0 !important;
}

body.template-product-elementor .ck-product-category .detail-label {
  font-weight: 600;
  color: #053f5c;
}

body.template-product-elementor .ck-product-category .detail-content a {
  color: #33a7dd !important;
  text-decoration: none;
}

body.template-product-elementor .ck-product-category .detail-content a:hover {
  color: #0c5895 !important;
  text-decoration: underline;
}

body.template-product-elementor .ck-cta-row-merged .elementor-element-b60b4e2.ck-product-cta-col--empty {
  display: none !important;
  flex: 0 0 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

/* Colonne texte produit */
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-ed56dce.e-con,
body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-summary.e-con {
  flex: 0 0 var(--ck-hero-summary-pct, 48%) !important;
  width: var(--ck-hero-summary-pct, 48%) !important;
  max-width: min(var(--ck-hero-summary-pct, 48%), 520px) !important;
  min-width: 0 !important;
  align-self: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  gap: 6px !important;
  row-gap: 6px !important;
  box-sizing: border-box;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 {
  --ck-product-content-max-width: min(100%, 960px);
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-ed56dce.e-con,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-summary.e-con {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  align-self: flex-start !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-ed56dce > .elementor-element,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Badge « Fabriqué en France » — cartouche au contenu (comme la prod), pas pleine largeur */
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element-9db4852 {
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  --width: auto !important;
  --container-widget-width: auto !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 .wpr-button-wrap {
  display: inline-block !important;
  width: auto !important;
  max-width: 246px !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 .wpr-button {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  background-color: #e9edf0 !important;
  border-radius: 2px !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 .wpr-button-content {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 .wpr-button-text {
  font-family: "Poppins", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #000 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852.wpr-button-icon-position-left .wpr-button-icon {
  margin-right: 11px !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 .wpr-button-icon svg {
  width: 25px !important;
  height: 25px !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-ed56dce .elementor-widget-container,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-397db60 .product_title,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-397db60 h1 {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  line-height: 1.1 !important;
}

/* Calage vertical titre ↔ zone image principale (hors vignettes) */
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-397db60 {
  padding-top: 10px !important;
  margin-top: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-070bb9b,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-722532b,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-966003c {
  margin: 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-070bb9b,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-722532b {
  margin: 0 0 4px 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 {
  margin: 4px 0 8px 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-070bb9b p,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-722532b p {
  margin: 0 0 0.2em !important;
  line-height: 1.35 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 .wpr-button-wrap,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-9db4852 a {
  margin: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 {
  text-align: left !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 .woocommerce-product-details__short-description,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .woocommerce-product-details__short-description {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.68;
  color: #353535;
  text-align: left !important;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 section.product-description,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary section.product-description,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 .product-description,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .product-description {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.68;
  color: #353535;
  text-align: left !important;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 p,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 p,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 section.product-description p {
  margin: 0 0 0.95em !important;
  line-height: 1.68 !important;
  text-align: left !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 p:last-child,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 p:last-child,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 section.product-description p:last-child {
  margin-bottom: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 h3,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 1.1em 0 0.45em !important;
  line-height: 1.35 !important;
  color: #053f5c !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 h3:first-child,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 h3:first-child {
  margin-top: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 ul,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 ul {
  margin: 0 0 0.75em !important;
  padding-left: 1.15em !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 li,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 li {
  margin-bottom: 0.35em !important;
  line-height: 1.68 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 .woocommerce-product-details__short-description,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hero description — typographie homogène (réf. T.A.M) */
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 hr,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511 hr {
  display: none !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-7626511 section.product-description,
body.template-product-elementor .ck-product-elementor .ck-product-hero-summary section.product-description {
  display: contents;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-966003c .eael-creative-button,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-966003c .eael-creative-button-wrapper {
  margin: 0 !important;
}

/* Colonne devis / CTA */
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-b60b4e2.e-con,
body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-cta.e-con {
  flex: 0 0 22% !important;
  width: 22% !important;
  max-width: 22% !important;
  min-width: 0 !important;
  align-self: flex-start !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 12px !important;
  row-gap: 12px !important;
  box-sizing: border-box;
}

@media (min-width: 769px) {
  body.template-product-elementor
    .ck-product-elementor.elementor-2600
    .elementor-element-b60b4e2.e-con:not(.ck-product-cta-col--empty),
  body.template-product-elementor
    .ck-product-elementor.ck-has-product-hero
    .ck-product-hero-cta.e-con:not(.ck-product-cta-col--empty) {
    min-width: 170px !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    :is(.elementor-element-b60b4e2, .ck-product-hero-cta)
    .elementor-element-6883427 {
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
    align-self: flex-start !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    :is(.elementor-element-b60b4e2, .ck-product-hero-cta)
    .elementor-element-6883427
    :is(p, .elementor-widget-container) {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-b60b4e2 > .elementor-element,
body.template-product-elementor .ck-product-elementor .ck-product-hero-cta > .elementor-element {
  margin: 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-6883427,
body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-fb8934e {
  margin: 0 !important;
  padding: 0 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-6883427 p {
  margin: 0 !important;
  line-height: 1.3 !important;
}

body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-b60b4e2 .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* Sections sous le hero : même cadre 1280 px + marges que le hero */
body.template-product-elementor .ck-product-elementor.elementor-2600 > .e-con.e-parent:not(.elementor-element-1fbf6fe):not(.ck-product-hero-row),
body.template-product-elementor .ck-product-elementor.elementor-2600 > .elementor-element.e-con.e-parent:not(.elementor-element-1fbf6fe) {
  width: 100% !important;
  /* Même cadre que le hero : content-max-width + 2 paddings (sinon décalage gauche/droite) */
  max-width: calc(var(--ck-product-content-max-width, 860px) + 2 * var(--ck-page-pad-x, 24px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--ck-section-pad-x, var(--ck-page-pad-x)) !important;
  padding-right: var(--ck-section-pad-x, var(--ck-page-pad-x)) !important;
  box-sizing: border-box;
}

/* Blocs alignés : grille icônes · tableau specs (hero : règle dédiée 860 px ci-dessus) */
body.template-product-elementor .ck-features-grid,
body.template-product-elementor .elementor-element-c945c87.e-con,
body.template-product-elementor .elementor-2600 .elementor-element-c945c87.e-con {
  width: 100% !important;
  /* Même cadre que le hero : content-max-width + 2 paddings (sinon décalage gauche/droite) */
  max-width: calc(var(--ck-product-content-max-width, 860px) + 2 * var(--ck-page-pad-x, 24px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--ck-section-pad-x, var(--ck-page-pad-x)) !important;
  padding-right: var(--ck-section-pad-x, var(--ck-page-pad-x)) !important;
  box-sizing: border-box !important;
}

body.template-product-elementor .elementor-element-c945c87 > .elementor-element-5f93e38,
body.template-product-elementor .elementor-element-c945c87 > #spec-container,
body.template-product-elementor #spec-container.elementor-element-5f93e38 {
  width: 100% !important;
  max-width: var(--ck-product-content-max-width, 860px) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.template-product-elementor .elementor-element-c945c87.e-con {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: var(--ck-product-section-gap, 24px) !important;
  padding-top: 0 !important;
}

body.template-product-elementor .elementor-element-c945c87 > .elementor-element-5f93e38,
body.template-product-elementor #spec-container.elementor-element-5f93e38 {
  --ck-specs-offset-x: 0px !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  --width: 100% !important;
  --container-widget-width: 100% !important;
}

body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c945c87 > .elementor-element-5f93e38,
body.template-product-elementor .ck-product-elementor.has-ck-spin-360 #spec-container.elementor-element-5f93e38 {
  --ck-specs-offset-x: 0px !important;
}

body.template-product-elementor .elementor-element-c945c87 .elementor-element-5f93e38 .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* Barres icônes Elementor legacy (doublon si body non nettoyé) */
body.template-product-elementor .elementor-element-1887273,
body.template-product-elementor .elementor-element-45c0810 {
  display: none !important;
}

/* Grille features CMS (remplace 1887273 / 45c0810) — 6 colonnes desktop */
body.template-product-elementor .ck-features-grid {
  display: grid;
  /* Autant de colonnes que d'icones reellement assignees : jamais de cellule vide. */
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 1px;
  width: 100% !important;
  max-width: var(--ck-product-content-max-width, min(100%, 860px)) !important;
  margin-top: var(--ck-product-section-gap, 24px) !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

body.template-product-elementor .ck-features-grid__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding: 14px 6px;
  gap: 3px;
  min-width: 0;
  background: var(--bg);
}

body.template-product-elementor .ck-features-grid__icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.template-product-elementor .ck-features-grid__icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block;
}

body.template-product-elementor .ck-features-grid__label {
  display: block;
  font-size: clamp(0.62rem, 0.55vw + 0.48rem, 0.78rem);
  font-weight: 700;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.15;
  max-width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

body.template-product-elementor .ck-features-grid__sub {
  display: block;
  font-size: 0.78rem;
  color: var(--text-muted);
  line-height: 1.3;
  margin-top: 1px;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (max-width: 900px) {
  body.template-product-elementor .ck-features-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* 1, 2 ou 4 icones : pas de colonne vide en fin de ligne. */
  body.template-product-elementor .ck-features-grid:has(> :last-child:nth-child(1)) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.template-product-elementor .ck-features-grid:has(> :last-child:nth-child(2)),
  body.template-product-elementor .ck-features-grid:has(> :last-child:nth-child(4)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.template-product-elementor .ck-features-grid__item {
    padding: 20px 12px;
  }
}

@media (max-width: 600px) {
  body.template-product-elementor .ck-features-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
  }

  body.template-product-elementor .ck-features-grid:has(> :last-child:nth-child(1)) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.template-product-elementor .ck-features-grid__item {
    padding: 18px 10px;
  }
}

/* Tableau specs : même largeur visuelle que le hero, centré (style lignes = wp-custom-css) */
body.template-product-elementor .product-specs-container,
body.template-product-elementor #spec-container {
  width: 100% !important;
  max-width: var(--ck-product-content-max-width, 860px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.template-product-elementor .product-specs-container > p:empty,
body.template-product-elementor #spec-container > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Tableau specs — lignes collées au titre (pas de bande blanche au survol) */
body.template-product-elementor .product-specs-container .section-title,
body.template-product-elementor #spec-container .section-title {
  margin: 0 !important;
}

body.template-product-elementor .product-specs-container .product-info-row,
body.template-product-elementor #spec-container .product-info-row {
  margin: 0 !important;
}

/* Fiches sur-mesure (Startbox…) : markup ACF product-spec-title-container + info-value
   TPM 6080 : pas de wrapper .product-specs-container → cibler aussi #spec-container */
body.template-product-elementor .product-specs-container .product-spec-title-container,
body.template-product-elementor #spec-container .product-spec-title-container {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 36% !important;
  max-width: 36% !important;
  flex-shrink: 0 !important;
}

body.template-product-elementor .product-specs-container .product-spec-title-container br,
body.template-product-elementor #spec-container .product-spec-title-container br {
  display: none !important;
}

body.template-product-elementor .product-specs-container .product-spec-title-container .product-spec-title,
body.template-product-elementor #spec-container .product-spec-title-container .product-spec-title {
  font-weight: 600 !important;
  color: #053f5c !important;
  line-height: 1.35 !important;
}

body.template-product-elementor .product-specs-container .info-value,
body.template-product-elementor #spec-container .info-value {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 0.92rem !important;
  color: #053f5c !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

body.template-product-elementor .product-specs-container .product-info-row:hover,
body.template-product-elementor #spec-container .product-info-row:hover {
  background: #f5f8fc !important;
}

body.template-product-elementor .product-specs-container .product-spec-left br,
body.template-product-elementor #spec-container .product-spec-left br {
  display: none !important;
}

@media (max-width: 768px) {
  body.template-product-elementor .product-specs-container .product-spec-title-container,
  body.template-product-elementor #spec-container .product-spec-title-container {
    min-width: 100% !important;
    max-width: 100% !important;
  }

  body.template-product-elementor .product-specs-container .info-value,
  body.template-product-elementor #spec-container .info-value {
    width: 100% !important;
    padding-left: 52px !important;
  }
}

/* Tablette */
@media (max-width: 1024px) {
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-1fbf6fe.e-con,
  body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-row.e-con {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    row-gap: 28px !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-media.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary.e-con {
    align-self: flex-start !important;
  }

  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-media.e-con {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0;
  }

  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-ed56dce.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary.e-con {
    flex: 0 0 62% !important;
    width: 62% !important;
    max-width: 62% !important;
  }

  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-b60b4e2.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-cta.e-con {
    flex: 0 0 36% !important;
    width: 36% !important;
    max-width: 36% !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360--embed .ck-spin-360__viewport {
    min-height: 0 !important;
    max-height: none;
    height: auto;
  }

  body.template-product-elementor .ck-cta-row-merged .elementor-element-ed56dce.e-con,
  body.template-product-elementor .ck-cta-row-merged .ck-product-hero-summary.e-con {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  body.template-product-elementor .ck-product-cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    max-width: 100% !important;
  }

  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-1fbf6fe.e-con,
  body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-row.e-con {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c.e-con,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-ed56dce.e-con,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-b60b4e2.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-media.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-cta.e-con {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
  }

  body.template-product-elementor .ck-product-elementor .elementor-element-c52ee4c .ck-spin-360--embed {
    min-height: 0;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--embed.ck-spin-360--gallery {
    align-items: center !important;
    justify-content: flex-start !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--embed.ck-spin-360--gallery
    .ck-spin-360__main {
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--embed.ck-spin-360--gallery
    .ck-spin-360__viewport {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--embed.ck-spin-360--gallery
    .ck-spin-360__thumbs {
    display: none !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--embed.ck-spin-360--gallery
    .ck-spin-360__controls {
    justify-content: center !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360--embed .ck-spin-360__viewport {
    min-height: 0 !important;
    max-height: none;
    height: auto;
  }

  body.template-product-elementor .elementor-element-1887273 > .e-con-inner {
    justify-content: flex-start !important;
    gap: var(--ck-icons-gap, 8px) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  body.template-product-elementor .elementor-element-4c10bd3 > .e-con.e-child,
  body.template-product-elementor .elementor-element-71b95c3 > .e-con.e-child {
    flex: 0 0 auto !important;
    width: max-content !important;
    max-width: 9.5rem !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    :is(.elementor-widget, .elementor-widget-container) {
    max-width: 100% !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-7626511 {
    width: 100% !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-7626511
    :is(.woocommerce-product-details__short-description, .product-description) {
    width: min(calc(100% - 16px), 34rem) !important;
    max-width: 34rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    :is(.elementor-element-722532b, .elementor-element-070bb9b) {
    width: 100% !important;
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-9db4852
    :is(.elementor-widget-container, .elementor-button-wrapper, .wpr-button-wrap) {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-9db4852
    :is(.elementor-button, a, .elementor-button-link, .eael-creative-button) {
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    justify-content: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-9db4852 {
    width: fit-content !important;
    max-width: 100% !important;
    align-self: center !important;
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-9db4852
    .wpr-button {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 5px 12px !important;
  }

  body.template-product-elementor .ck-product-cta-row > .elementor-element,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .elementor-widget,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  body.template-product-elementor .ck-product-cta-row .eael-creative-button,
  body.template-product-elementor .ck-product-cta-row .ck-btn {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body.template-product-elementor .ck-product-cta-row .elementor-widget-container,
  body.template-product-elementor .ck-product-cta-row .eael-creative-button-wrapper,
  body.template-product-elementor .ck-product-cta-row .cklaundry-container,
  body.template-product-elementor .ck-product-cta-row .cklaundry-form-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    a.eael-creative-button,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    .ck-btn {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
  }

  body.template-product-elementor .ck-product-category {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 8px !important;
    border-top: 1px solid #e8edf2 !important;
  }

  body.template-product-elementor .ck-product-category .elementor-widget-container,
  body.template-product-elementor .ck-product-category .product_meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px 8px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 768px) {
  body.template-product-elementor .ck-product-cta-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  body.template-product-elementor .ck-product-cta-row > .elementor-element,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .elementor-widget,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .e-con,
  body.template-product-elementor .ck-product-cta-row .elementor-widget-container,
  body.template-product-elementor .ck-product-cta-row .eael-creative-button-wrapper,
  body.template-product-elementor .ck-product-cta-row .cklaundry-container,
  body.template-product-elementor .ck-product-cta-row .cklaundry-form-wrapper {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 1 auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    a.eael-creative-button,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    .ck-btn {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc((100vw - 48px - 8px) / 2) !important;
    flex: 0 1 auto !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 370px) {
  body.template-product-elementor .ck-product-cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.template-product-elementor .ck-product-cta-row > .elementor-element,
  body.template-product-elementor .ck-product-cta-row .elementor-widget-container,
  body.template-product-elementor .ck-product-cta-row .eael-creative-button-wrapper,
  body.template-product-elementor .ck-product-cta-row .cklaundry-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    a.eael-creative-button,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    .ck-btn {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-widget-container,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    :is(h1, h2, h3, p, span, div) {
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-7626511
    :is(.woocommerce-product-details__short-description, .product-description) {
    width: min(calc(100% - 16px), 34rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-hero-summary
    .elementor-element-7626511
    :is(p, li) {
    text-align: center !important;
  }

  body.template-product-elementor .ck-product-category .elementor-widget-container,
  body.template-product-elementor .ck-product-category .product_meta {
    justify-content: center !important;
    text-align: center !important;
  }

  body.template-product-elementor .ck-product-cta-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
    align-items: stretch !important;
    justify-content: center !important;
    gap: 8px !important;
    width: min(100%, 355px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor .ck-product-cta-row > .elementor-element,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .elementor-widget,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .e-con,
  body.template-product-elementor .ck-product-cta-row .elementor-widget-container,
  body.template-product-elementor .ck-product-cta-row .eael-creative-button-wrapper,
  body.template-product-elementor .ck-product-cta-row .cklaundry-container,
  body.template-product-elementor .ck-product-cta-row .cklaundry-form-wrapper {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    a.eael-creative-button,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    .ck-btn {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    justify-content: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    :is(.eael-creative-button-icon-left, .ck-btn-icon, svg) {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 390px) {
  body.template-product-elementor .ck-product-cta-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: min(100%, 327px) !important;
  }
}

@media (max-width: 768px) {
  body.template-product-elementor .ck-product-cta-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor .ck-product-cta-row > .elementor-element,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .elementor-widget,
  body.template-product-elementor .ck-product-cta-row > .elementor-element > .e-con,
  body.template-product-elementor .ck-product-cta-row .elementor-widget-container,
  body.template-product-elementor .ck-product-cta-row .eael-creative-button-wrapper,
  body.template-product-elementor .ck-product-cta-row .cklaundry-container,
  body.template-product-elementor .ck-product-cta-row .cklaundry-form-wrapper {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    a.eael-creative-button,
  body.template-product-elementor
    .ck-product-elementor
    .ck-product-cta-row
    .ck-btn {
    display: inline-flex !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 48px) !important;
    flex: 0 0 auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1025px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-1fbf6fe.e-con,
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360.ck-has-product-hero
    .ck-product-hero-row.e-con {
    align-items: flex-start !important;
    align-content: flex-start !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c.e-con,
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con,
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con {
    align-self: flex-start !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.ck-spin-360--static):not(.is-fullscreen):not(.is-still-mode)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
  }

  body.template-product-elementor:not(.postid-2851):not(.postid-3814):not(.postid-6080):not(.postid-6618):not(.postid-6726):not(.postid-4215):not(.postid-4380):not(.postid-4628)
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.ck-spin-360--static).is-still-mode:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
  }

  /* T.A.M · T.A.P · T.E.P · L.A.P · T.P.M — cadre carré 554 px + zoom référence */
  body.template-product-elementor:is(.postid-2851, .postid-3814, .postid-4380, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c
    .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor:is(.postid-2851, .postid-3814, .postid-4380, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media
    .ck-spin-360--embed.ck-spin-360--gallery {
    --ck-spin-max-width: 554px;
  }

  body.template-product-elementor:is(.postid-2851, .postid-3814, .postid-4380, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c.e-con,
  body.template-product-elementor:is(.postid-2851, .postid-3814, .postid-4380, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con {
    max-width: min(
      100%,
      calc(var(--ck-spin-thumb, 42px) + var(--ck-spin-gallery-gap, 18px) + 554px)
    ) !important;
  }

  body.template-product-elementor:is(.postid-2851, .postid-3814, .postid-4380, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame.is-still-mode:not(.is-fullscreen)
    .ck-spin-360__img,
  body.template-product-elementor:is(.postid-2851, .postid-3814, .postid-4380, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.ck-spin-360--static.ck-spin-360--square-frame:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }

  /* BOX CB / BOX ACC — hero calé en haut (pas de vide sous la photo) */
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con,
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-1fbf6fe.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-1fbf6fe.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-1fbf6fe.e-con {
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
  }

  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con {
    align-self: flex-start !important;
  }

  /* BOX CB (4215) / BOX ACC (4628) — cadre photo aligné T.A.M (554 px), pas de débordement */
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c
    .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media
    .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c
    .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media
    .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c
    .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media
    .ck-spin-360--embed.ck-spin-360--gallery {
    --ck-spin-max-width: 554px;
  }

  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c.e-con,
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-c52ee4c.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con {
    max-width: min(
      100%,
      calc(var(--ck-spin-thumb, 42px) + var(--ck-spin-gallery-gap, 18px) + 554px)
    ) !important;
  }

  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked
    .ck-spin-360__main,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked
    .ck-spin-360__main,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked
    .ck-spin-360__main {
    max-width: 100% !important;
    overflow: hidden;
  }

  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked
    .ck-spin-360__viewport,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked
    .ck-spin-360__viewport,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked
    .ck-spin-360__viewport {
    max-width: 100% !important;
  }

  /* BOX CB / BOX ACC — colonne description étroite (même grille hero) */
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor.postid-4215
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor.postid-4628
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .elementor-element-ed56dce.e-con,
  body.template-product-elementor.postid-4380
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con {
    flex: 0 1 315px !important;
    width: auto !important;
    max-width: 315px !important;
    min-width: 0 !important;
  }

  /* BOX CB / ACC — remonter la grille si le texte allonge le hero sous la photo */
  body.template-product-elementor:is(.postid-4215, .postid-4380, .postid-4628) .ck-features-grid {
    margin-top: calc(
      var(--ck-product-section-gap, 24px) - var(--ck-hero-grid-pull, 0px)
    ) !important;
  }
}

/* Aperçu grand format : garde-fou final contre les règles historiques
   du modèle Elementor chargées après le viewer. */
html.ck-spin-360-modal-open
  body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding:
    max(18px, env(safe-area-inset-top))
    max(22px, env(safe-area-inset-right))
    max(18px, env(safe-area-inset-bottom))
    max(22px, env(safe-area-inset-left)) !important;
  gap: clamp(14px, 2vw, 28px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.98) 0 26%, rgba(245, 249, 252, 0.96) 70%),
    linear-gradient(145deg, #eef6fb 0%, #ffffff 52%, #edf4f8 100%) !important;
}

html.ck-spin-360-modal-open
  body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-fullscreen
  > .ck-spin-360__main {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

html.ck-spin-360-modal-open
  body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-fullscreen
  .ck-spin-360__viewport {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: calc(100vh - 104px) !important;
  height: calc(100dvh - 104px) !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(10px, 2vw, 28px) !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: clamp(18px, 2vw, 26px) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow:
    0 28px 70px rgba(5, 63, 92, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

html.ck-spin-360-modal-open
  body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-fullscreen
  :is(.ck-spin-360__stage, .ck-spin-360__img, .ck-spin-360__layer) {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

html.ck-spin-360-modal-open
  body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-fullscreen
  .ck-spin-360__controls {
  width: max-content !important;
  max-width: calc(100vw - 32px) !important;
  min-height: 48px !important;
  margin: 12px auto 0 !important;
  padding: 6px !important;
  gap: 4px !important;
}

html.ck-spin-360-modal-open
  body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360.is-fullscreen
  .ck-spin-360__ctrl--fullscreen {
  position: fixed !important;
  z-index: 5 !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: var(--ck-spin-navy) !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  html.ck-spin-360-modal-open
    body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.is-fullscreen {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding:
      max(10px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      max(9px, env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
    gap: 8px !important;
  }

  html.ck-spin-360-modal-open
    body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.is-fullscreen
    > .ck-spin-360__main {
    order: 1 !important;
    flex: 1 1 auto !important;
    height: auto !important;
  }

  html.ck-spin-360-modal-open
    body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.is-fullscreen
    .ck-spin-360__viewport {
    width: 100% !important;
    height: calc(100vh - 78px) !important;
    height: calc(100dvh - 78px) !important;
    padding: 8px !important;
    border-radius: 18px !important;
  }

  html.ck-spin-360-modal-open
    body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.is-fullscreen
    > .ck-spin-360__thumbs {
    order: 2 !important;
    display: flex !important;
    flex: 0 0 50px !important;
    flex-direction: row !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    max-height: 50px !important;
    padding: 1px 2px 2px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  html.ck-spin-360-modal-open
    body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.is-fullscreen
    .ck-spin-360__controls {
    position: absolute !important;
    z-index: 3 !important;
    left: 50% !important;
    bottom: 10px !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  html.ck-spin-360-modal-open
    body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.is-fullscreen
    .ck-spin-360__ctrl--fullscreen {
    top: max(14px, env(safe-area-inset-top)) !important;
    right: max(14px, env(safe-area-inset-right)) !important;
  }
}

/* ------------------------------------------------------------------ */
/* Uniformisation finale des fiches produit - desktop / tablette / mobile */
/* ------------------------------------------------------------------ */
body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-product-hero-row.e-con {
  align-items: flex-start !important;
  align-content: flex-start !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-product-hero-media.e-con {
  align-self: flex-start !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-product-hero-summary.e-con {
  align-self: flex-start !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-product-cta-col--empty {
  display: none !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360__viewport {
  aspect-ratio: 1 / 1 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360__viewport
  :is(.ck-spin-360__img, .ck-spin-360__layer) {
  object-fit: contain !important;
  object-position: center center !important;
}

@media (min-width: 1025px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con {
    flex-wrap: nowrap !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con {
    flex: 0 1 650px !important;
    width: min(100%, 650px) !important;
    max-width: 650px !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con {
    flex: 1 1 395px !important;
    width: auto !important;
    max-width: 440px !important;
    min-width: 300px !important;
  }
}

@media (min-width: 841px) and (max-width: 1024px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr) !important;
    gap: 28px !important;
    padding-left: clamp(24px, 4vw, 40px) !important;
    padding-right: clamp(24px, 4vw, 40px) !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    :is(.ck-product-hero-media.e-con, .ck-product-hero-summary.e-con) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 601px) and (max-width: 840px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 24px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con {
    width: min(100%, 540px) !important;
    max-width: 540px !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con {
    width: min(100%, 640px) !important;
    max-width: 640px !important;
  }
}

@media (max-width: 600px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 24px !important;
    padding: 20px !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    :is(.ck-product-hero-media.e-con, .ck-product-hero-summary.e-con) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary
    :is(.product-description, .woocommerce-product-details__short-description, p, li) {
    text-align: center !important;
  }
}

/* ------------------------------------------------------------------ */
/* Tableau specs : remplir tout le cadre du hero/grille (même axe G/D) */
/* Le wrapper c945c87 est calé sur 960 px ; on neutralise le cap 860   */
/* px hérité d'Elementor sur #spec-container pour aligner le bord droit */
/* de la description avec la grille features et le tableau specs.       */
/* ------------------------------------------------------------------ */
body.template-product-elementor .elementor-element-c945c87 > #spec-container,
body.template-product-elementor .elementor-element-c945c87 > .elementor-element-5f93e38,
body.template-product-elementor #spec-container.elementor-element-5f93e38,
body.template-product-elementor .product-specs-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ------------------------------------------------------------------ */
/* Alignement haut : le haut de la colonne photo est calé sur le nom    */
/* du produit (haut de la colonne texte). Photo, description et         */
/* espacements inchangés.                                               */
/* Côte à côte uniquement (desktop) ; en mobile les colonnes sont       */
/* empilées et la règle n'a aucun effet indésirable.                    */
/* ------------------------------------------------------------------ */
@media (min-width: 1025px) {
  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c.e-con {
    align-self: flex-start !important;
  }
}

@media (min-width: 1025px) {
  body.template-product-elementor.single-product.postid-4002
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked:not(.is-fullscreen)
    .ck-spin-360__viewport,
  body.template-product-elementor.single-product.postid-6714
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--size-locked:not(.is-fullscreen)
    .ck-spin-360__viewport {
    margin-left: -44.5px !important;
    margin-right: -44.5px !important;
  }

  body.template-product-elementor.single-product:is(.postid-2851, .postid-3814, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.is-fullscreen)
    .ck-spin-360__img,
  html body.template-product-elementor.single-product:is(.postid-2851, .postid-3814, .postid-6080, .postid-6618, .postid-6726)
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.ck-spin-360--square-frame:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }

  body.template-product-elementor.single-product.postid-4002
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.ck-spin-360--static):not(.is-fullscreen):not(.is-still-mode)
    .ck-spin-360__img,
  body.template-product-elementor.single-product.postid-4002
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.ck-spin-360--static).is-still-mode:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }

  html body.template-product-elementor.single-product.postid-4002
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.ck-spin-360--square-frame.is-still-mode:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }

  body.template-product-elementor.single-product.postid-6714
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.ck-spin-360--static):not(.is-fullscreen)
    .ck-spin-360__img,
  html body.template-product-elementor.single-product.postid-6714
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.ck-spin-360--square-frame.is-still-mode:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }

  body.template-product-elementor.single-product.postid-6716
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--square-frame:not(.ck-spin-360--static):not(.is-fullscreen):not(.is-still-mode)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }

  html body.template-product-elementor.single-product.postid-6716
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360.ck-spin-360--square-frame.is-still-mode:not(.is-fullscreen)
    .ck-spin-360__img {
    transform: scale(1.16) translateZ(0) !important;
    transform-origin: center center !important;
  }
}

/* Mises en situation — légende sous la galerie (vignettes Situ 1 / Situ 2) */
body.template-product-elementor .ck-spin-360__situation-caption {
  width: 100%;
  max-width: 100%;
  margin: 12px 0 0;
  padding: 12px 14px;
  font-family: "Poppins", "Inter", system-ui, sans-serif;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #4a5568;
  background: #f7fafc;
  border-left: 3px solid #009fe3;
  border-radius: 0 8px 8px 0;
  box-sizing: border-box;
}

body.template-product-elementor .ck-spin-360__situation-caption[hidden] {
  display: none !important;
}

body.template-product-elementor .ck-spin-360--has-situation-caption .ck-spin-360__controls {
  margin-top: 0;
}

/* Mises en situation : format T.A.M uniforme, centre et sans debordement. */
body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--situation-view.is-still-mode:not(.is-fullscreen) {
  min-height: 0 !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--situation-view.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__main {
  min-height: 0 !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--situation-view.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__viewport {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 554px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--situation-view.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__stage {
  display: flex !important;
  width: min(500px, 100%) !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: 1 / 1;
  align-items: center !important;
  justify-content: center !important;
}

body.template-product-elementor
  .ck-product-elementor.has-ck-spin-360
  .ck-spin-360--situation-view.is-still-mode:not(.is-fullscreen)
  .ck-spin-360__img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* Mises en situation — bloc texte (accessoires sans galerie situation) */
body.template-product-elementor .ck-situation-section {
  margin-top: 1.25em;
  padding-top: 1em;
  border-top: 1px solid #e6e8ee;
}

body.template-product-elementor .ck-situation-section h3 {
  margin: 0 0 0.75em !important;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1a202c;
  letter-spacing: 0.02em;
}

body.template-product-elementor .ck-situation-scene {
  margin: 0 0 0.85em !important;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #4a5568;
}

body.template-product-elementor .ck-situation-scene:last-child {
  margin-bottom: 0 !important;
}

/* Barre de pictogrammes : séparateurs horizontaux CKWash, sans cloisons verticales. */
body.template-product-elementor .ck-features-grid {
  gap: clamp(12px, 1.8vw, 24px) !important;
  background: transparent !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  border-top: 1px solid #e8edf2 !important;
  border-bottom: 1px solid #e8edf2 !important;
}

body.template-product-elementor .ck-features-grid__item {
  background: transparent !important;
}

/* Les photos principales occupent mieux leur cadre, sans modifier le bloc texte. */
@media (min-width: 1025px) {
  body.template-product-elementor {
    --ck-product-hero-max-width: min(100%, 1120px);
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--embed.ck-spin-360--gallery:not(.is-fullscreen) {
    --ck-spin-max-width: 590px !important;
    max-width: min(
      100%,
      calc(
        var(--ck-spin-thumb, 42px) + var(--ck-spin-gallery-gap, 18px) + 590px
      )
    ) !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    :is(.elementor-element-c52ee4c, .ck-product-hero-media).e-con {
    max-width: min(
      100%,
      calc(
        var(--ck-spin-thumb, 42px) + var(--ck-spin-gallery-gap, 18px) + 590px
      )
    ) !important;
  }
}

body.template-product-elementor .ck-situation-scene__label {
  display: block;
  margin-bottom: 0.2em;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #009fe3;
}

/* Garde-fou de cascade : les exceptions historiques ne doivent plus
   déplacer le bloc contenu ni agrandir le cadre photo. */
@media (min-width: 1025px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-row.e-con {
    align-items: flex-start !important;
    align-content: flex-start !important;
    flex-wrap: nowrap !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media.e-con {
    flex: 0 1 650px !important;
    width: min(100%, 650px) !important;
    max-width: 650px !important;
    align-self: flex-start !important;
    margin: 0 !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary.e-con {
    flex: 1 1 395px !important;
    width: auto !important;
    max-width: 440px !important;
    min-width: 300px !important;
    align-self: flex-start !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360__viewport
    :is(.ck-spin-360__img, .ck-spin-360__layer) {
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* Mobile: le nom du produit et la ligne de catégorie partagent le même axe visuel. */
@media (max-width: 600px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary
    .product_title {
    display: block !important;
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  body.template-product-elementor .ck-product-category,
  body.template-product-elementor .ck-product-category .elementor-widget-container,
  body.template-product-elementor .ck-product-category .product_meta {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-category
    .posted_in.detail-container {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px 8px !important;
    text-align: center !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    :is(.ck-spin-360, .ck-spin-360__main, .ck-spin-360__viewport, .ck-spin-360__img) {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Tous les éléments d'identification utilisent l'axe du cadre produit. */
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-media
    :is(.ck-spin-360, .ck-spin-360__main, .ck-spin-360__viewport, .ck-spin-360__toolbar),
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary
    :is(
      .elementor-element-397db60,
      .elementor-element-070bb9b,
      .elementor-element-722532b,
      .elementor-element-9db4852
    ) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary
    .elementor-element-722532b
    :is(.elementor-widget-container, p) {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  /* Descriptif centré sur mobile, marges symétriques sans retrait parasite. */
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary
    .woocommerce-product-details__short-description {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: center !important;
  }
}

/* ==========================================================================
   Photo statique : cadre resserré + zoom soft (padding blanc PNG).
   Galeries 360 multi-vues inchangées. (v3.0.180 — mu-plugin layout a priorité)
   ========================================================================== */
@media (min-width: 1025px) {
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360:has(.ck-spin-360--static)
    :is(.elementor-element-c52ee4c, .ck-product-hero-media).e-con {
    flex: 0 1 480px !important;
    width: min(100%, 480px) !important;
    max-width: 480px !important;
    min-width: 0 !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--static.ck-spin-360--embed.ck-spin-360--gallery:not(.is-fullscreen) {
    --ck-spin-thumb: 0px !important;
    --ck-spin-gallery-gap: 0px !important;
    --ck-spin-max-width: 480px !important;
    width: 100% !important;
    max-width: min(100%, 480px) !important;
    gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--static:not(.is-fullscreen)
    .ck-spin-360__main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--static:not(.is-fullscreen)
    .ck-spin-360__viewport {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--static.ck-spin-360--square-frame:not(.is-fullscreen)
    .ck-spin-360__img,
  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360--static:not(.is-fullscreen)
    .ck-spin-360__viewport
    .ck-spin-360__img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: scale(1.28) translateZ(0) !important;
    transform-origin: center center !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360:has(.ck-spin-360--static)
    .ck-product-hero-summary.e-con {
    flex: 1 1 395px !important;
    width: auto !important;
    max-width: 440px !important;
    min-width: 300px !important;
    align-self: flex-start !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360:has(.ck-spin-360--static)
    .ck-product-hero-row.e-con {
    gap: 28px !important;
    align-items: flex-start !important;
  }
}

/* =============================================================================
   MOBILE TEMPLATE — axe central (toutes fiches body.template-product-elementor)
   v3.0.186 : CKWash ref — photos mobile pleine largeur + anti-flash
   ============================================================================= */
@media (max-width: 1024px) {
  body.template-product-elementor .ck-product-elementor.ck-has-product-hero .ck-product-hero-row.e-con,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-1fbf6fe.e-con,
  body.template-product-elementor .ck-product-hero-row.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-media.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary.e-con,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-cta.e-con,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-c52ee4c.e-con,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-ed56dce.e-con,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .elementor-element-b60b4e2.e-con {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .elementor-element-c52ee4c .ck-spin-360--embed.ck-spin-360--gallery,
  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-product-hero-media .ck-spin-360--embed.ck-spin-360--gallery {
    --ck-spin-thumb: 0px !important;
    --ck-spin-gallery-gap: 0px !important;
    --ck-spin-max-width: 600px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__main,
  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__viewport,
  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__controls {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__thumbs {
    display: none !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__controls {
    justify-content: center !important;
    width: 100% !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element-397db60,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element-070bb9b,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element-722532b,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element-9db4852 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    text-align: center !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .product_title,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-397db60 h1 {
    width: 100% !important;
    text-align: center !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-070bb9b p,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-722532b p,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-070bb9b,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-722532b,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-722532b :is(.elementor-widget-container, p) {
    text-align: center !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary > .elementor-element-9db4852 {
    width: fit-content !important;
    max-width: 100% !important;
    align-self: center !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-9db4852 .wpr-button-wrap,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-9db4852 .wpr-button-content {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .elementor-element-7626511,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .woocommerce-product-details__short-description,
  body.template-product-elementor .ck-product-elementor .ck-product-hero-summary .product-description {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  /* Bloc devis — titre + sous-titre centrés au-dessus des boutons CTA */
  body.template-product-elementor .ck-cta-row-merged #ckwash-quote .wrap {
    align-items: center !important;
    text-align: center !important;
  }

  body.template-product-elementor .ck-cta-row-merged #ckwash-quote :is(h2, .title, .lead) {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.template-product-elementor .ck-cta-row-merged .ck-product-devis-intro,
  body.template-product-elementor .ck-cta-row-merged .ck-product-hero-summary > .elementor-element-6883427.ck-product-devis-intro {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    text-align: center !important;
  }

  body.template-product-elementor .ck-cta-row-merged .ck-product-devis-intro :is(p, .elementor-widget-container) {
    text-align: center !important;
  }

  body.template-product-elementor .ck-cta-row-merged .ck-product-cta-row {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.template-product-elementor .ck-product-elementor.has-ck-spin-360 .ck-spin-360__viewport {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: min(calc(100vw - 40px), 460px) !important;
    height: auto !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-spin-360__viewport
    :is(.ck-spin-360__img, .ck-spin-360__layer) {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body.template-product-elementor
    .ck-product-elementor.has-ck-spin-360
    .ck-product-hero-summary
    > .elementor-element-397db60
    :is(h1, h2, .elementor-heading-title) {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* =============================================================================
   MOBILE — hero entièrement centré (v3.0.188)
   Spécificité max (.elementor-2600) pour battre les règles desktop left-align.
   ============================================================================= */
@media (max-width: 1024px) {
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-7626511,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-7626511 .elementor-widget-container,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-7626511 .woocommerce-product-details__short-description,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-7626511 section.product-description,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-7626511 .product-description,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-7626511 :is(p, li, h3, strong, span),
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary > .elementor-element-6883427,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary > .elementor-element-6883427.ck-product-devis-intro,
  body.template-product-elementor .ck-product-elementor.elementor-2600 .ck-product-hero-summary .elementor-element-6883427 :is(p, .elementor-widget-container, h2, h3, span) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }
}

/* =============================================================================
   CTA devis — padding interne equilibré (v3.0.189)
   width:100% + justify-content:center laissait un vide a droite de l'icone.
   padding 0 6px 0 14px + space-between : icone colle au bord droit.
   ============================================================================= */
body.template-product-elementor .ck-product-elementor .ck-product-cta-row .ck-btn,
body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .ck-btn,
html body.template-product-elementor .ck-product-elementor .ck-product-cta-row .ck-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 0 6px 0 14px !important;
  box-sizing: border-box !important;
}

body.template-product-elementor .ck-product-cta-row .ck-btn .icon-wrapper,
body.template-product-elementor .ck-product-cta-row .elementor-element-fb8934e .ck-btn .icon-wrapper,
body.template-product-elementor .ck-product-cta-row .ck-btn > span:last-child {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
