[data-ppsc-icon-key].ppsc-icon-overridden img.ppsc-runtime-icon-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}[data-ppsc-icon-key].ppsc-icon-overridden svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;fill:currentColor} .ppsc-icon-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.ppsc-icon-setting{padding:16px;border:1px solid #dbe4e8;border-radius:14px;background:#fff}.ppsc-icon-setting .ppsc-icon-preview{width:64px;height:64px;margin:12px 0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#eef9f7;color:#0f766e}.ppsc-icon-setting .ppsc-icon-preview svg,.ppsc-icon-setting .ppsc-icon-preview img{max-width:48px;max-height:48px}.ppsc-icon-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
/* v2.2.0 — icônes configurées dans les calculateurs existants */
.ppsc-configured-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:0;overflow:hidden}
.ppsc-configured-icon img,.ppsc-configured-icon svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;fill:currentColor}
.ppsc-configured-fa{color:#0f766e}
.ppsc-custom-item-description{display:block;max-width:100%;margin-top:3px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:600px){.ppsc-configured-icon{max-width:100%}.ppsc-custom-item-description{white-space:normal}}
/* Configurator icons inside condition buttons */
#pp-canape-wizard .ppc-condition-choice,#pp-canape-wizard .ppc-apply-choice,
#pp-matelas-wizard .ppm-condition-button,#pp-tapis-wizard .ppt-condition-button{overflow:hidden;overflow-wrap:anywhere}
#pp-canape-wizard .ppc-condition-choice .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice .ppc-condition-config-icon,
#pp-matelas-wizard .ppm-condition-button .ppm-condition-config-icon,
#pp-tapis-wizard .ppt-condition-button .ppt-condition-config-icon{width:20px;height:20px;margin:0 auto 4px;color:currentColor}
#pp-canape-wizard .ppc-condition-choice>span:last-child,
#pp-canape-wizard .ppc-apply-choice>span:last-child,
#pp-matelas-wizard .ppm-condition-button>span:last-child{display:block;min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){
  #pp-canape-wizard .ppc-condition-choice .ppc-condition-config-icon,
  #pp-canape-wizard .ppc-apply-choice .ppc-condition-config-icon,
  #pp-matelas-wizard .ppm-condition-button .ppm-condition-config-icon,
  #pp-tapis-wizard .ppt-condition-button .ppt-condition-config-icon{width:18px;height:18px}
}
/* Configurator icons in logement option controls */
#pp-logement-wizard .pp-small-choice{overflow:hidden;overflow-wrap:anywhere}
#pp-logement-wizard .pp-small-choice .pp-small-choice-icon{width:20px;height:20px;margin:0 auto 4px;color:currentColor}
#pp-logement-wizard .pp-small-choice>span:last-child{display:block;min-width:0;overflow-wrap:anywhere}
#pp-logement-wizard .pp-cleaning-icon-preview{display:flex;align-items:center;justify-content:center;float:left;width:34px;height:34px;margin:3px 8px 3px 0;border-radius:9px;background:rgba(15,118,110,.08);color:#0f766e}
#pp-logement-wizard .pp-cleaning-icon-preview[hidden]{display:none!important}
#pp-logement-wizard .pp-cleaning-config-icon{width:22px;height:22px}
@media(max-width:600px){#pp-logement-wizard .pp-cleaning-icon-preview{float:none;margin:0 0 8px}}

/* v2.2.1 — taille d’icône configurable, limitée par son conteneur */
.ppsc-configured-icon[style*="--ppsc-icon-size"] img,
.ppsc-configured-icon[style*="--ppsc-icon-size"] svg{
  width:var(--ppsc-icon-size)!important;
  height:var(--ppsc-icon-size)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain;
}
#pp-voiture-wizard [style*="--ppsc-icon-size"]>img,
#pp-voiture-wizard [style*="--ppsc-icon-size"]>svg,
#pp-voiture-wizard .ppa-service-fa-icon[style*="--ppsc-icon-size"] svg{
  width:var(--ppsc-icon-size)!important;
  height:var(--ppsc-icon-size)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain;
}
#pp-voiture-wizard .ppa-service-custom-icon[style*="--ppsc-icon-size"]{
  width:var(--ppsc-icon-size)!important;
  height:var(--ppsc-icon-size)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain;
}


/* v2.2.2 — images personnelles en zone visuelle étendue, comme les cartes véhicule */
.ppsc-configured-media{
  box-sizing:border-box;
  overflow:hidden;
}
.ppsc-card-has-media .ppsc-configured-media{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  max-width:100%!important;
  height:92px!important;
  max-height:92px!important;
  margin:0 auto 10px!important;
  padding:3px!important;
  border-radius:12px;
  background:transparent!important;
}
.ppsc-card-has-media .ppsc-configured-media img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(180px,100%)!important;
  max-height:86px!important;
  object-fit:contain!important;
}
.ppsc-card-has-media .ppsc-configured-media[style*="--ppsc-icon-size"] img{
  width:min(var(--ppsc-icon-size),100%)!important;
  height:min(var(--ppsc-icon-size),86px)!important;
  max-width:min(180px,100%)!important;
  max-height:86px!important;
}

/* Automobile : étape 1, formules intérieures et prestations de detailing. */
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media{
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start;
  align-items:start;
  min-height:210px;
}
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon{
  grid-column:1/-1;
  width:100%!important;
  height:92px!important;
  max-width:100%!important;
  border-radius:0;
}
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-copy{
  min-width:0;
  width:100%;
}
#pp-voiture-wizard .ppa-choice.ppsc-card-has-media{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:178px;
}
#pp-voiture-wizard .ppa-choice.ppsc-card-has-media .ppa-choice-icon{
  flex:0 0 92px;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start;
  min-height:220px;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-visual{
  position:relative!important;
  grid-column:1/-1;
  width:100%!important;
  min-height:92px!important;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-custom-icon.ppsc-configured-media{
  display:grid!important;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-check,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-visual.has-custom-icon .ppa-service-check{
  position:absolute!important;
  right:2px!important;
  bottom:2px!important;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-copy{
  grid-column:1;
  min-width:0;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-price{
  grid-column:2;
}

/* Logement : type, surface, état meublé et aperçu du nettoyage. */
#pp-logement-wizard .pp-select-card.ppsc-card-has-media{
  min-height:190px;
  justify-content:flex-start;
}
#pp-logement-wizard .pp-select-card.ppsc-card-has-media .pp-card-icon{
  width:100%!important;
  height:92px!important;
}
#pp-logement-wizard .pp-small-choice.ppsc-card-has-media{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:132px;
}
#pp-logement-wizard .pp-small-choice.ppsc-card-has-media .pp-small-choice-icon{
  height:76px!important;
  max-height:76px!important;
}
#pp-logement-wizard .pp-small-choice.ppsc-card-has-media .pp-small-choice-icon img{
  max-height:70px!important;
}
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-media{
  float:none;
  width:100%;
  height:92px;
  margin:0 0 9px;
  background:transparent;
}
#pp-logement-wizard .pp-cleaning-icon-preview .pp-cleaning-config-icon.ppsc-configured-media{
  width:100%!important;
  height:92px!important;
  margin:0!important;
}

/* Canapés / mobilier. */
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start;
  min-height:225px;
}
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-furniture-icon{
  grid-column:1/-1;
  width:100%!important;
  height:92px!important;
}
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-furniture-content,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-quantity-control,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-card-line-total{
  grid-column:1/-1;
}
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:124px;
}
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media .ppc-condition-config-icon{
  height:72px!important;
  max-height:72px!important;
}
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media .ppc-condition-config-icon img,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media .ppc-condition-config-icon img{
  max-height:66px!important;
}

/* Matelas. */
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start;
  min-height:218px;
}
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-mattress-icon{
  grid-column:1/-1;
  width:100%!important;
  height:92px!important;
}
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-mattress-content,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-quantity-control,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-card-line-total{
  grid-column:1/-1;
}
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:124px;
}
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media .ppm-condition-config-icon{
  height:72px!important;
  max-height:72px!important;
}
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media .ppm-condition-config-icon img{
  max-height:66px!important;
}

/* Tapis et moquettes. */
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-media{
  min-height:190px;
  justify-content:flex-start;
}
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-media .ppt-card-icon{
  width:100%!important;
  height:92px!important;
}
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:142px;
}
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media .ppt-condition-config-icon{
  height:76px!important;
  max-height:76px!important;
}
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media .ppt-condition-config-icon img{
  max-height:70px!important;
}

@media(max-width:760px){
  #pp-voiture-wizard .ppa-service-card.ppsc-card-has-media{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-copy,
  #pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-price{
    grid-column:1;
  }
  #pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-price{
    text-align:left;
  }
}
@media(max-width:520px){
  .ppsc-card-has-media .ppsc-configured-media{
    height:82px!important;
    max-height:82px!important;
  }
  .ppsc-card-has-media .ppsc-configured-media img,
  .ppsc-card-has-media .ppsc-configured-media[style*="--ppsc-icon-size"] img{
    max-height:76px!important;
    height:min(var(--ppsc-icon-size,76px),76px)!important;
  }
  #pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media,
  #pp-logement-wizard .pp-select-card.ppsc-card-has-media,
  #pp-tapis-wizard .ppt-select-card.ppsc-card-has-media{
    min-height:176px;
  }
  #pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media,
  #pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media{
    min-height:205px;
  }
}


/* v2.2.4 — étape 1 Automobile : cartes identiques aux cartes véhicule de l’étape 2. */
#pp-voiture-wizard .ppa-mode-grid{
  align-items:stretch;
}
#pp-voiture-wizard .ppa-mode-card,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  align-content:normal!important;
  gap:0!important;
  min-height:210px!important;
  padding:15px!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  grid-column:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  margin:0 0 9px!important;
  padding:2px!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon[hidden]{
  display:none!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-media img,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon.ppsc-configured-media img{
  display:block!important;
  width:min(var(--ppsc-icon-size,180px),100%)!important;
  height:min(var(--ppsc-icon-size,106px),106px)!important;
  max-width:180px!important;
  max-height:106px!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppa-fontawesome-icon svg{
  width:min(var(--ppsc-icon-size,88px),106px)!important;
  height:min(var(--ppsc-icon-size,88px),106px)!important;
  max-width:106px!important;
  max-height:106px!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-copy,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-copy{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-copy strong{
  display:block;
  margin:0;
  color:inherit;
  font-size:15px;
  line-height:1.3;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-copy small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.72)!important;
  line-height:1.4;
}
#pp-voiture-wizard .ppa-mode-card.selected .ppa-mode-icon{
  background:transparent!important;
  color:#fff!important;
}
@media(max-width:600px){
  #pp-voiture-wizard .ppa-mode-card,
  #pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media{
    min-height:200px!important;
  }
  #pp-voiture-wizard .ppa-mode-card .ppa-mode-icon,
  #pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon{
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
  }
  #pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-media img,
  #pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon.ppsc-configured-media img{
    height:min(var(--ppsc-icon-size,90px),90px)!important;
    max-height:90px!important;
  }
}

/* v2.2.7 — étape 1 : même zone visuelle que l’étape 2 et taille réellement appliquée.
   Les marges transparentes des PNG/WebP sont recadrées au chargement par le module auto. */
/* v2.2.5 — taille réellement appliquée aux images du choix véhicule. */
#pp-voiture-wizard .ppa-vehicle-card.ppsc-card-has-media .ppa-vehicle-icon,
#pp-voiture-wizard .ppa-vehicle-card.ppsc-card-has-fontawesome .ppa-vehicle-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-height:112px!important;
  height:112px!important;
  max-height:112px!important;
  margin:0 0 9px!important;
  padding:2px!important;
  overflow:hidden!important;
}
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-media,
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-fontawesome{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-media img{
  display:block!important;
  width:min(var(--ppsc-icon-size,180px),100%)!important;
  height:min(var(--ppsc-icon-size,106px),106px)!important;
  max-width:180px!important;
  max-height:106px!important;
  margin:auto!important;
  object-fit:contain!important;
}
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-fontawesome svg{
  display:block!important;
  width:min(var(--ppsc-icon-size,88px),106px)!important;
  height:min(var(--ppsc-icon-size,88px),106px)!important;
  max-width:106px!important;
  max-height:106px!important;
  margin:auto!important;
}
@media(max-width:520px){
  #pp-voiture-wizard .ppa-vehicle-card.ppsc-card-has-media .ppa-vehicle-icon,
  #pp-voiture-wizard .ppa-vehicle-card.ppsc-card-has-fontawesome .ppa-vehicle-icon{
    min-height:96px!important;
    height:96px!important;
    max-height:96px!important;
  }
  #pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-media img{
    height:min(var(--ppsc-icon-size,90px),90px)!important;
    max-height:90px!important;
  }
  #pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-fontawesome svg{
    width:min(var(--ppsc-icon-size,78px),90px)!important;
    height:min(var(--ppsc-icon-size,78px),90px)!important;
    max-width:90px!important;
    max-height:90px!important;
  }
}



/* v2.2.8 — taille unifiée 0–250 px sur tous les calculateurs.
   La carte grandit avec l’image/l’icône; le visuel reste centré et le texte reste dessous. */
#pp-voiture-wizard .ppsc-card-has-media,
#pp-voiture-wizard .ppsc-card-has-fontawesome,
#pp-logement-wizard .ppsc-card-has-media,
#pp-logement-wizard .ppsc-card-has-fontawesome,
#pp-canape-wizard .ppsc-card-has-media,
#pp-canape-wizard .ppsc-card-has-fontawesome,
#pp-matelas-wizard .ppsc-card-has-media,
#pp-matelas-wizard .ppsc-card-has-fontawesome,
#pp-tapis-wizard .ppsc-card-has-media,
#pp-tapis-wizard .ppsc-card-has-fontawesome{
  box-sizing:border-box!important;
  height:auto!important;
  max-height:none!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Automobile — étapes 1 et 2. */
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-media,
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-fontawesome,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon.ppsc-configured-media,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-fontawesome .ppa-mode-icon.ppsc-configured-fontawesome,
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-media,
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-fontawesome{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:transparent!important;
}
#pp-voiture-wizard .ppa-vehicle-card.ppsc-card-has-media .ppa-vehicle-icon,
#pp-voiture-wizard .ppa-vehicle-card.ppsc-card-has-fontawesome .ppa-vehicle-icon{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

/* Automobile — formules, niveaux de saleté et prestations extérieures. */
#pp-voiture-wizard .ppa-choice.ppsc-card-has-media,
#pp-voiture-wizard .ppa-choice.ppsc-card-has-fontawesome,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
#pp-voiture-wizard .ppa-choice.ppsc-card-has-media .ppa-choice-icon,
#pp-voiture-wizard .ppa-choice.ppsc-card-has-fontawesome .ppa-choice-icon,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-custom-icon,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome .ppa-service-fa-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-visual,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome .ppa-service-visual{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
}
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-copy,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome .ppa-service-copy,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-price,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome .ppa-service-price{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:left!important;
}

/* Logement. */
#pp-logement-wizard .pp-select-card.ppsc-card-has-media,
#pp-logement-wizard .pp-select-card.ppsc-card-has-fontawesome,
#pp-logement-wizard .pp-small-choice.ppsc-card-has-media,
#pp-logement-wizard .pp-small-choice.ppsc-card-has-fontawesome{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
#pp-logement-wizard .pp-select-card.ppsc-card-has-media .pp-card-icon,
#pp-logement-wizard .pp-select-card.ppsc-card-has-fontawesome .pp-card-icon,
#pp-logement-wizard .pp-small-choice.ppsc-card-has-media .pp-small-choice-icon,
#pp-logement-wizard .pp-small-choice.ppsc-card-has-fontawesome .pp-small-choice-icon,
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-media .pp-cleaning-config-icon,
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-fontawesome .pp-cleaning-config-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-media,
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-fontawesome{
  float:none!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 0 10px!important;
}

/* Canapés et mobilier. */
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-furniture-icon,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome .ppc-furniture-icon,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media .ppc-condition-config-icon,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-furniture-content,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome .ppc-furniture-content,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-quantity-control,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome .ppc-quantity-control,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-card-line-total,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome .ppc-card-line-total{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Matelas. */
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-mattress-icon,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome .ppm-mattress-icon,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media .ppm-condition-config-icon,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome .ppm-condition-config-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-mattress-content,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome .ppm-mattress-content,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-quantity-control,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome .ppm-quantity-control,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-card-line-total,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome .ppm-card-line-total{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Tapis et moquettes. */
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-media,
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-fontawesome,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-media .ppt-card-icon,
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-fontawesome .ppt-card-icon,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media .ppt-condition-config-icon,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome .ppt-condition-config-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Taille visible réellement pilotée par le configurateur. */
#pp-voiture-wizard .ppsc-card-has-media .ppsc-configured-media img,
#pp-logement-wizard .ppsc-card-has-media .ppsc-configured-media img,
#pp-canape-wizard .ppsc-card-has-media .ppsc-configured-media img,
#pp-matelas-wizard .ppsc-card-has-media .ppsc-configured-media img,
#pp-tapis-wizard .ppsc-card-has-media .ppsc-configured-media img{
  display:block!important;
  width:min(var(--ppsc-icon-size,112px),250px,100%)!important;
  height:min(var(--ppsc-icon-size,112px),250px)!important;
  max-width:100%!important;
  max-height:250px!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
#pp-voiture-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
#pp-logement-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
#pp-canape-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
#pp-matelas-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
#pp-tapis-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg{
  display:block!important;
  width:min(var(--ppsc-icon-size,88px),250px,100%)!important;
  height:min(var(--ppsc-icon-size,88px),250px)!important;
  max-width:100%!important;
  max-height:250px!important;
  margin:auto!important;
}

/* Tous les textes restent dans la carte et sous le visuel. */
#pp-voiture-wizard :is(.ppsc-card-has-media,.ppsc-card-has-fontawesome) :is(.ppa-mode-copy,.ppa-vehicle-copy,.ppa-service-copy,strong,small,span),
#pp-logement-wizard :is(.ppsc-card-has-media,.ppsc-card-has-fontawesome) :is(.pp-card-title,.pp-card-subtitle,strong,small,span),
#pp-canape-wizard :is(.ppsc-card-has-media,.ppsc-card-has-fontawesome) :is(.ppc-furniture-content,strong,small,span),
#pp-matelas-wizard :is(.ppsc-card-has-media,.ppsc-card-has-fontawesome) :is(.ppm-mattress-content,strong,small,span),
#pp-tapis-wizard :is(.ppsc-card-has-media,.ppsc-card-has-fontawesome) :is(.ppt-card-title,.ppt-card-subtitle,.ppt-card-price,strong,small,span){
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:left!important;
}

@media(max-width:600px){
  #pp-voiture-wizard :is(.ppsc-card-has-media .ppsc-configured-media,.ppsc-card-has-fontawesome .ppsc-configured-fontawesome),
  #pp-logement-wizard :is(.ppsc-card-has-media .ppsc-configured-media,.ppsc-card-has-fontawesome .ppsc-configured-fontawesome),
  #pp-canape-wizard :is(.ppsc-card-has-media .ppsc-configured-media,.ppsc-card-has-fontawesome .ppsc-configured-fontawesome),
  #pp-matelas-wizard :is(.ppsc-card-has-media .ppsc-configured-media,.ppsc-card-has-fontawesome .ppsc-configured-fontawesome),
  #pp-tapis-wizard :is(.ppsc-card-has-media .ppsc-configured-media,.ppsc-card-has-fontawesome .ppsc-configured-fontawesome){
    height:min(clamp(84px,var(--ppsc-icon-size,112px),250px),calc(100vw - 64px))!important;
    min-height:min(clamp(84px,var(--ppsc-icon-size,112px),250px),calc(100vw - 64px))!important;
    max-height:min(250px,calc(100vw - 64px))!important;
  }
  #pp-voiture-wizard .ppsc-card-has-media .ppsc-configured-media img,
  #pp-logement-wizard .ppsc-card-has-media .ppsc-configured-media img,
  #pp-canape-wizard .ppsc-card-has-media .ppsc-configured-media img,
  #pp-matelas-wizard .ppsc-card-has-media .ppsc-configured-media img,
  #pp-tapis-wizard .ppsc-card-has-media .ppsc-configured-media img,
  #pp-voiture-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
  #pp-logement-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
  #pp-canape-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
  #pp-matelas-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg,
  #pp-tapis-wizard .ppsc-card-has-fontawesome .ppsc-configured-fontawesome svg{
    width:min(var(--ppsc-icon-size,112px),250px,100%)!important;
    height:min(var(--ppsc-icon-size,112px),250px,calc(100vw - 72px))!important;
    max-height:min(250px,calc(100vw - 72px))!important;
  }
}

/* v2.2.8 — priorité finale sur les anciennes limites fixes 66/70/76/78/86/90/106/180 px. */
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-media img,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon.ppsc-configured-media img,
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-media img,
#pp-voiture-wizard .ppa-choice.ppsc-card-has-media .ppa-choice-icon.ppsc-configured-media img,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-custom-icon.ppsc-configured-media img,
#pp-logement-wizard .pp-select-card.ppsc-card-has-media .pp-card-icon.ppsc-configured-media img,
#pp-logement-wizard .pp-small-choice.ppsc-card-has-media .pp-small-choice-icon.ppsc-configured-media img,
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-media .pp-cleaning-config-icon.ppsc-configured-media img,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-furniture-icon.ppsc-configured-media img,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media .ppc-condition-config-icon.ppsc-configured-media img,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media .ppc-condition-config-icon.ppsc-configured-media img,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-mattress-icon.ppsc-configured-media img,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media .ppm-condition-config-icon.ppsc-configured-media img,
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-media .ppt-card-icon.ppsc-configured-media img,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media .ppt-condition-config-icon.ppsc-configured-media img{
  display:block!important;
  width:min(var(--ppsc-icon-size,112px),250px,100%)!important;
  height:min(var(--ppsc-icon-size,112px),250px)!important;
  max-width:100%!important;
  max-height:250px!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
#pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-fontawesome svg,
#pp-voiture-wizard .ppa-mode-card.ppsc-card-has-fontawesome .ppa-mode-icon.ppsc-configured-fontawesome svg,
#pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-fontawesome svg,
#pp-voiture-wizard .ppa-choice.ppsc-card-has-fontawesome .ppa-choice-icon.ppsc-configured-fontawesome svg,
#pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome .ppa-service-fa-icon.ppsc-configured-fontawesome svg,
#pp-logement-wizard .pp-select-card.ppsc-card-has-fontawesome .pp-card-icon.ppsc-configured-fontawesome svg,
#pp-logement-wizard .pp-small-choice.ppsc-card-has-fontawesome .pp-small-choice-icon.ppsc-configured-fontawesome svg,
#pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-fontawesome .pp-cleaning-config-icon.ppsc-configured-fontawesome svg,
#pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome .ppc-furniture-icon.ppsc-configured-fontawesome svg,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon.ppsc-configured-fontawesome svg,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon.ppsc-configured-fontawesome svg,
#pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome .ppm-mattress-icon.ppsc-configured-fontawesome svg,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome .ppm-condition-config-icon.ppsc-configured-fontawesome svg,
#pp-tapis-wizard .ppt-select-card.ppsc-card-has-fontawesome .ppt-card-icon.ppsc-configured-fontawesome svg,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome .ppt-condition-config-icon.ppsc-configured-fontawesome svg{
  display:block!important;
  width:min(var(--ppsc-icon-size,88px),250px,100%)!important;
  height:min(var(--ppsc-icon-size,88px),250px)!important;
  max-width:100%!important;
  max-height:250px!important;
  margin:auto!important;
}

@media(max-width:600px){
  #pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-media img,
  #pp-voiture-wizard .ppa-mode-card.ppsc-card-has-media .ppa-mode-icon.ppsc-configured-media img,
  #pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-media img,
  #pp-voiture-wizard .ppa-choice.ppsc-card-has-media .ppa-choice-icon.ppsc-configured-media img,
  #pp-voiture-wizard .ppa-service-card.ppsc-card-has-media .ppa-service-custom-icon.ppsc-configured-media img,
  #pp-logement-wizard .pp-select-card.ppsc-card-has-media .pp-card-icon.ppsc-configured-media img,
  #pp-logement-wizard .pp-small-choice.ppsc-card-has-media .pp-small-choice-icon.ppsc-configured-media img,
  #pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-media .pp-cleaning-config-icon.ppsc-configured-media img,
  #pp-canape-wizard .ppc-furniture-card.ppsc-card-has-media .ppc-furniture-icon.ppsc-configured-media img,
  #pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media .ppc-condition-config-icon.ppsc-configured-media img,
  #pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media .ppc-condition-config-icon.ppsc-configured-media img,
  #pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-media .ppm-mattress-icon.ppsc-configured-media img,
  #pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media .ppm-condition-config-icon.ppsc-configured-media img,
  #pp-tapis-wizard .ppt-select-card.ppsc-card-has-media .ppt-card-icon.ppsc-configured-media img,
  #pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media .ppt-condition-config-icon.ppsc-configured-media img,
  #pp-voiture-wizard .ppa-mode-card .ppa-mode-icon.ppsc-configured-fontawesome svg,
  #pp-voiture-wizard .ppa-mode-card.ppsc-card-has-fontawesome .ppa-mode-icon.ppsc-configured-fontawesome svg,
  #pp-voiture-wizard .ppa-vehicle-card .ppa-custom-vehicle-image.ppsc-configured-fontawesome svg,
  #pp-voiture-wizard .ppa-choice.ppsc-card-has-fontawesome .ppa-choice-icon.ppsc-configured-fontawesome svg,
  #pp-voiture-wizard .ppa-service-card.ppsc-card-has-fontawesome .ppa-service-fa-icon.ppsc-configured-fontawesome svg,
  #pp-logement-wizard .pp-select-card.ppsc-card-has-fontawesome .pp-card-icon.ppsc-configured-fontawesome svg,
  #pp-logement-wizard .pp-small-choice.ppsc-card-has-fontawesome .pp-small-choice-icon.ppsc-configured-fontawesome svg,
  #pp-logement-wizard .pp-cleaning-icon-preview.ppsc-card-has-fontawesome .pp-cleaning-config-icon.ppsc-configured-fontawesome svg,
  #pp-canape-wizard .ppc-furniture-card.ppsc-card-has-fontawesome .ppc-furniture-icon.ppsc-configured-fontawesome svg,
  #pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon.ppsc-configured-fontawesome svg,
  #pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon.ppsc-configured-fontawesome svg,
  #pp-matelas-wizard .ppm-mattress-card.ppsc-card-has-fontawesome .ppm-mattress-icon.ppsc-configured-fontawesome svg,
  #pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome .ppm-condition-config-icon.ppsc-configured-fontawesome svg,
  #pp-tapis-wizard .ppt-select-card.ppsc-card-has-fontawesome .ppt-card-icon.ppsc-configured-fontawesome svg,
  #pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome .ppt-condition-config-icon.ppsc-configured-fontawesome svg{
    width:min(var(--ppsc-icon-size,112px),250px,100%)!important;
    height:min(var(--ppsc-icon-size,112px),250px,calc(100vw - 72px))!important;
    max-height:min(250px,calc(100vw - 72px))!important;
  }
}

/* v2.3.2 — alignement réel des libellés de niveau de salissure.
   Une zone de texte de deux lignes identique empêche « Très sale » de
   descendre lorsque la taille de police provoque un retour à la ligne. */
#pp-canape-wizard .ppc-condition-choice,
#pp-canape-wizard .ppc-apply-choice,
#pp-matelas-wizard .ppm-condition-button,
#pp-tapis-wizard .ppt-condition-button{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  height:100%!important;
  box-sizing:border-box!important;
  text-align:center!important;
  vertical-align:middle!important;
}
#pp-canape-wizard .ppc-condition-choice > span:last-child,
#pp-canape-wizard .ppc-apply-choice > span:last-child,
#pp-matelas-wizard .ppm-condition-button > span:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:2.4em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#pp-tapis-wizard .ppt-condition-button > strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:2.5em!important;
  margin:0!important;
  line-height:1.25!important;
  text-align:center!important;
}
#pp-tapis-wizard .ppt-condition-button > span:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:2.7em!important;
  margin:0!important;
  line-height:1.35!important;
  text-align:center!important;
}

/* v2.3.3 — correction réelle des boutons de niveau de salissure.
   Le runtime des icônes ne doit jamais transformer une seule option en grande
   carte et repousser son libellé vers le bas. La zone de l’icône et celle du
   texte sont identiques pour Léger, Moyen et Très sale, quelle que soit la
   taille enregistrée auparavant dans le configurateur. */
#pp-canape-wizard .ppc-condition-choice,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome,
#pp-canape-wizard .ppc-apply-choice,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome,
#pp-matelas-wizard .ppm-condition-button,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  gap:4px!important;
  height:100%!important;
  min-height:68px!important;
  max-height:none!important;
  padding:7px 6px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

#pp-canape-wizard .ppc-condition-choice .ppc-condition-config-icon,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media .ppc-condition-config-icon,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media .ppc-condition-config-icon,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome .ppc-condition-config-icon,
#pp-matelas-wizard .ppm-condition-button .ppm-condition-config-icon,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media .ppm-condition-config-icon,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome .ppm-condition-config-icon {
  display:grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

#pp-canape-wizard .ppc-condition-choice .ppc-condition-config-icon img,
#pp-canape-wizard .ppc-condition-choice .ppc-condition-config-icon svg,
#pp-canape-wizard .ppc-apply-choice .ppc-condition-config-icon img,
#pp-canape-wizard .ppc-apply-choice .ppc-condition-config-icon svg,
#pp-matelas-wizard .ppm-condition-button .ppm-condition-config-icon img,
#pp-matelas-wizard .ppm-condition-button .ppm-condition-config-icon svg {
  display:block!important;
  width:min(var(--ppsc-icon-size,20px),24px)!important;
  height:min(var(--ppsc-icon-size,20px),24px)!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:auto!important;
  object-fit:contain!important;
}

#pp-canape-wizard .ppc-condition-choice > .ppsc-condition-label,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media > .ppsc-condition-label,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome > .ppsc-condition-label,
#pp-canape-wizard .ppc-apply-choice > .ppsc-condition-label,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media > .ppsc-condition-label,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome > .ppsc-condition-label,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-label,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media > .ppsc-condition-label,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome > .ppsc-condition-label {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:2.4em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Tapis / moquette : même principe, avec un titre et un sous-libellé. */
#pp-tapis-wizard .ppt-condition-button,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  gap:4px!important;
  height:100%!important;
  min-height:96px!important;
  max-height:none!important;
  padding:9px 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

#pp-tapis-wizard .ppt-condition-button .ppt-condition-config-icon,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media .ppt-condition-config-icon,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome .ppt-condition-config-icon {
  display:grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

#pp-tapis-wizard .ppt-condition-button .ppt-condition-config-icon img,
#pp-tapis-wizard .ppt-condition-button .ppt-condition-config-icon svg {
  display:block!important;
  width:min(var(--ppsc-icon-size,20px),24px)!important;
  height:min(var(--ppsc-icon-size,20px),24px)!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:auto!important;
  object-fit:contain!important;
}

#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-title,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media > .ppsc-condition-title,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome > .ppsc-condition-title {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:2.5em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.25!important;
  text-align:center!important;
}

#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-label,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media > .ppsc-condition-label,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome > .ppsc-condition-label {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:2.7em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}



/* v2.3.4 — alignement structurel des choix de niveau.
   Un emplacement d’icône est réservé dans chaque bouton, même si aucune icône
   n’est configurée. Les libellés restent donc sur exactement la même ligne. */
#pp-canape-wizard .ppc-condition-choice,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome,
#pp-canape-wizard .ppc-apply-choice,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome,
#pp-matelas-wizard .ppm-condition-button,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:24px minmax(2.4em,auto)!important;
  align-items:center!important;
  justify-items:center!important;
  align-content:center!important;
  justify-content:stretch!important;
  gap:4px!important;
  text-align:center!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-icon-slot,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-icon-slot {
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:0!important;
  text-align:center!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-icon-slot:empty,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-icon-slot:empty {
  visibility:hidden!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-icon-slot > :is(.ppc-condition-config-icon,.ppsc-configured-media,.ppsc-configured-fontawesome),
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-icon-slot > :is(.ppm-condition-config-icon,.ppsc-configured-media,.ppsc-configured-fontawesome) {
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-label,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-label {
  align-self:center!important;
  justify-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:2.4em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:center!important;
}

/* Tapis : même emplacement d’icône pour les trois niveaux. */
#pp-tapis-wizard .ppt-condition-button,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:24px minmax(2.5em,auto) minmax(2.7em,auto)!important;
  align-items:center!important;
  justify-items:center!important;
  align-content:center!important;
  justify-content:stretch!important;
  gap:4px!important;
  text-align:center!important;
}

#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-icon-slot {
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:0!important;
}
#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-icon-slot:empty {
  visibility:hidden!important;
}
#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-icon-slot > :is(.ppt-condition-config-icon,.ppsc-configured-media,.ppsc-configured-fontawesome) {
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
}

/* Les tarifs ne sont plus affichés à l’intérieur des blocs de choix.
   Ils restent calculés et visibles uniquement dans les récapitulatifs. */
#pp-canape-wizard .ppc-condition-price,
#pp-matelas-wizard .ppm-condition-price {
  display:none!important;
}

/* v2.3.5 — centrage vertical réel des libellés de niveau.
   L’icône est sortie du flux et placée en surimpression en haut de la carte.
   Elle ne réserve donc plus une ligne qui repousse tous les textes vers le bas. */
#pp-canape-wizard .ppc-condition-choice,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-condition-choice.ppsc-card-has-fontawesome,
#pp-canape-wizard .ppc-apply-choice,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-media,
#pp-canape-wizard .ppc-apply-choice.ppsc-card-has-fontawesome,
#pp-matelas-wizard .ppm-condition-button,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-media,
#pp-matelas-wizard .ppm-condition-button.ppsc-card-has-fontawesome {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  gap:0!important;
  text-align:center!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-icon-slot,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-icon-slot {
  position:absolute!important;
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  pointer-events:none!important;
  z-index:1!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-icon-slot:empty,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-icon-slot:empty {
  display:none!important;
  visibility:hidden!important;
}

#pp-canape-wizard :is(.ppc-condition-choice,.ppc-apply-choice) > .ppsc-condition-label,
#pp-matelas-wizard .ppm-condition-button > .ppsc-condition-label {
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  align-self:center!important;
  justify-self:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0 2px!important;
  line-height:1.2!important;
  text-align:center!important;
}

/* Tapis / moquette : le groupe titre + description est centré dans la carte,
   tandis que l’icône éventuelle reste indépendante en haut. */
#pp-tapis-wizard .ppt-condition-button,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-media,
#pp-tapis-wizard .ppt-condition-button.ppsc-card-has-fontawesome {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  gap:3px!important;
  text-align:center!important;
}

#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-icon-slot {
  position:absolute!important;
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  pointer-events:none!important;
  z-index:1!important;
}

#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-icon-slot:empty {
  display:none!important;
  visibility:hidden!important;
}

#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-title,
#pp-tapis-wizard .ppt-condition-button > .ppsc-condition-label {
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0 2px!important;
  text-align:center!important;
}
