/*
 * PolyProp Builder front — legacy visual skin.
 * New dynamically-created calculators intentionally reuse the same visual
 * language as the five original calculators (Automobile, Logement, Canapé,
 * Tapis): same palette, cards, progress, navigation and summary.
 * Scope is limited to .ppsc-builder so historical modules stay byte-identical.
 */
.ppsc-builder,
.ppsc-builder *{box-sizing:border-box}

.ppsc-builder{
  --ppa-dark:var(--pp-color-primary,#0F766E);
  --ppa-teal:var(--pp-color-secondary,#14B8A6);
  --ppa-amber:var(--pp-color-accent,#F59E0B);
  --ppa-amber-light:var(--pp-color-accent-hover,#FBBF24);
  --ppa-white:var(--pp-color-on-primary,#FFFFFF);
  --ppa-ink:var(--pp-color-primary-deep,#0B2E2B);
  --ppa-soft:var(--pp-color-primary-soft,#ECFDF5);
  --ppa-border:rgba(var(--pp-color-secondary-rgb,20,184,166),.34);
  --ppa-shadow:0 18px 46px rgba(var(--pp-color-primary-deep-rgb,4,47,46),.18);
  --ppa-radius:18px;
  width:100%;
  max-width:1180px;
  min-width:0;
  margin-inline:auto;
  color:#fff;
  font-family:var(--e-global-typography-text-font-family,inherit);
  font-size:var(--ppsc-builder-font-general-size,inherit);
  overflow-wrap:anywhere;
}

.ppsc-builder button,.ppsc-builder input{font:inherit}
.ppsc-builder :where(button,input,select,textarea,img,svg){max-width:100%}
.ppsc-builder [hidden]{display:none!important}

.ppsc-builder-shell,
.ppsc-success-shell{
  position:relative;
  width:100%;
  min-width:0;
  padding:clamp(14px,2.5vw,26px);
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--ppa-radius);
  background:rgba(var(--pp-color-primary-rgb,15,118,110),.88);
  box-shadow:var(--ppa-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  isolation:isolate;
}

/* Header: same transparent-in-card treatment as the original calculators. */
.ppsc-builder-header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:15px;
  margin-bottom:18px;
}
.ppsc-builder-header.is-iconless{grid-template-columns:minmax(0,1fr)}
.ppsc-service-icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  padding:6px;
  border-radius:16px;
  background:rgba(var(--pp-color-secondary-rgb,20,184,166),.13);
  color:#fff;
  overflow:hidden;
}
.ppsc-service-icon.ppsc-configured-media img,
.ppsc-service-icon.ppsc-configured-fontawesome svg{
  display:block;
  width:min(var(--ppsc-builder-icon-size,52px),100%);
  height:min(var(--ppsc-builder-icon-size,52px),100%);
  object-fit:contain;
  margin:auto;
}
.ppsc-builder-header small{display:block;color:var(--ppa-amber-light);font-size:12px;font-weight:800;line-height:1.2;text-transform:uppercase}
.ppsc-builder-header h2{margin:5px 0 8px;color:#fff!important;font-family:var(--e-global-typography-primary-font-family,inherit)!important;font-size:clamp(21px,2.7vw,32px)!important;line-height:1.16!important;font-weight:800!important}
.ppsc-builder-header p{margin:0;color:rgba(255,255,255,.82);line-height:1.55}

/* Address lock stays inside the same green visual system; never a white panel. */
.ppsc-address-lock{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 16px;
  align-items:center;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(var(--pp-color-accent-hover-rgb,251,191,36),.42);
  border-radius:14px;
  background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.34);
}
.ppsc-address-lock strong{color:#fff}
.ppsc-address-lock span{grid-column:1;color:rgba(255,255,255,.78);font-size:12px;line-height:1.45}
.ppsc-address-lock a{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 17px;border:1px solid var(--ppa-amber);border-radius:13px;background:var(--ppa-amber);color:var(--ppa-ink)!important;font-weight:750;text-decoration:none}
.ppsc-builder-shell.is-locked .ppsc-progress,
.ppsc-builder-shell.is-locked .ppsc-step-panel{opacity:.46;filter:saturate(.55);pointer-events:none;user-select:none}

/* Progress copied from the legacy calculators: circles + thin connecting lines. */
.ppsc-progress{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:clamp(22px,4vw,36px);
  overflow-x:auto;
  padding-bottom:4px;
}
.ppsc-progress-step{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0;
  border:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.58)!important;
  cursor:pointer;
  box-shadow:none!important;
  transform:none!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.ppsc-progress-step:hover,.ppsc-progress-step:focus,.ppsc-progress-step:focus-visible,.ppsc-progress-step:active{outline:0!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.ppsc-progress-step.is-active,.ppsc-progress-step.is-done{color:#fff!important}
.ppsc-progress-step:disabled{cursor:default}
.ppsc-progress-number{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  font-size:12px;
  font-weight:800;
}
.ppsc-progress-step.is-active .ppsc-progress-number,
.ppsc-progress-step.is-done .ppsc-progress-number{border-color:var(--ppa-teal);background:var(--ppa-teal);color:#fff}
.ppsc-progress-label{max-width:160px;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:var(--ppsc-builder-font-progress-size,12px);font-weight:750;white-space:nowrap}
.ppsc-progress-line{flex:0 0 clamp(14px,3vw,50px);height:1px;margin:0 8px;background:rgba(255,255,255,.25)}
.ppsc-progress-line.is-done{background:var(--ppa-teal)}
.ppsc-progress-step:first-child{margin-left:auto}
.ppsc-progress-step:last-child{margin-right:auto}
.ppsc-progress.is-dense .ppsc-progress-label{display:none}
.ppsc-progress.is-dense .ppsc-progress-line{flex-basis:clamp(6px,1.5vw,16px);margin-inline:3px}


/* There is deliberately no white inner panel. The original calculators render
   every step directly on the green calculator background. */
.ppsc-step-panel{min-width:0;color:#fff}
.ppsc-step-head{max-width:800px;margin-bottom:20px}
.ppsc-step-head>span{display:inline-block;color:var(--ppa-amber-light);font-size:12px;line-height:1.2;font-weight:800;text-transform:uppercase}
.ppsc-step-head h3{margin:5px 0 8px;color:#fff!important;font-family:var(--e-global-typography-primary-font-family,inherit)!important;font-size:var(--ppsc-builder-font-step-title-size,clamp(22px,2.6vw,31px))!important;line-height:1.16!important;font-weight:800!important}
.ppsc-step-head p{margin:0;color:rgba(255,255,255,.82);font-size:var(--ppsc-builder-font-step-description-size,inherit);line-height:1.55}

.ppsc-options-grid,.ppsc-catalog-grid,.ppsc-choice-grid{display:grid;gap:12px;align-items:stretch;min-width:0}
/* Same desktop grids as the Automobile module: modes/services = 2, vehicle/catalog = 4, compact choices = auto-fit. */
.ppsc-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ppsc-options-grid[data-ppsc-card-count="1"]{grid-template-columns:minmax(0,1fr)}
.ppsc-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ppsc-catalog-grid[data-ppsc-card-count="1"]{grid-template-columns:minmax(0,1fr)}
.ppsc-catalog-grid[data-ppsc-card-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.ppsc-catalog-grid[data-ppsc-card-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.ppsc-choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}

/* Exact shared card surface used by the original Automobile calculator. */
.ppsc-option-card,.ppsc-catalog-card,.ppsc-choice-card{
  min-width:0;
  height:auto;
  max-height:none;
  border:1px solid var(--ppa-border)!important;
  border-radius:16px!important;
  background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.44)!important;
  background-image:none!important;
  color:var(--pp-color-on-primary,#fff)!important;
  box-shadow:none;
  overflow:hidden;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
button.ppsc-option-card{appearance:none!important;-webkit-appearance:none!important;cursor:pointer;text-align:left}
button.ppsc-option-card:hover,button.ppsc-option-card:focus-visible,.ppsc-catalog-card:hover{border-color:rgba(var(--pp-color-accent-hover-rgb,251,191,36),.72)!important;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.44)!important;color:var(--pp-color-on-primary,#fff)!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(var(--pp-color-primary-deep-rgb,4,47,46),.20)}
button.ppsc-option-card.is-active,.ppsc-catalog-card.is-active,button.ppsc-option-card.is-active:hover{border-color:var(--ppa-teal)!important;background:var(--ppa-teal)!important;color:var(--pp-color-on-primary,#fff)!important}

/* Step type: single choice / yes-no = exact Automobile step-1 card geometry. */
.ppsc-mode-card{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(74px,auto) minmax(0,1fr)!important;
  align-items:center!important;
  gap:15px!important;
  min-height:150px;
  padding:18px!important;
}
.ppsc-mode-icon{
  display:grid!important;
  place-items:center!important;
  width:clamp(68px,var(--ppsc-builder-icon-size,68px),250px)!important;
  min-width:68px!important;
  height:clamp(68px,var(--ppsc-builder-icon-size,68px),250px)!important;
  min-height:68px!important;
  max-width:250px!important;
  max-height:250px!important;
  margin:0!important;
  padding:4px!important;
  border:0!important;
  border-radius:18px!important;
  background:rgba(var(--pp-color-secondary-rgb,20,184,166),.13)!important;
  color:var(--ppa-teal)!important;
  overflow:hidden!important;
}
.ppsc-option-card.is-active .ppsc-mode-icon{background:rgba(255,255,255,.16)!important;color:var(--pp-color-on-primary,#fff)!important}
.ppsc-mode-icon.ppsc-configured-media img{
  display:block!important;
  width:min(var(--ppsc-builder-icon-size,68px),250px)!important;
  height:min(var(--ppsc-builder-icon-size,68px),250px)!important;
  max-width:250px!important;
  max-height:250px!important;
  aspect-ratio:auto!important;
  margin:auto!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
.ppsc-mode-icon.ppsc-configured-fontawesome svg{display:block!important;width:min(var(--ppsc-builder-icon-size,52px),250px)!important;height:min(var(--ppsc-builder-icon-size,52px),250px)!important;fill:currentColor!important;stroke:none!important}
.ppsc-mode-copy{display:block;width:100%;min-width:0}
.ppsc-mode-copy strong{display:block;margin:0;color:inherit;font-size:var(--ppsc-builder-font-card-title-size,15px);line-height:1.3;overflow-wrap:anywhere}
.ppsc-mode-copy small,.ppsc-mode-copy em{display:block;margin-top:5px;color:rgba(255,255,255,.82);font-size:var(--ppsc-builder-font-card-description-size,12px);line-height:1.45;font-style:normal;overflow-wrap:anywhere}
.ppsc-mode-card:not(.ppsc-card-has-media):not(.ppsc-card-has-fontawesome){grid-template-columns:minmax(0,1fr)!important}
.ppsc-mode-price{display:block;min-width:0;margin-top:auto;padding-top:10px;color:var(--ppa-amber-light);font-size:var(--ppsc-builder-font-price-size,15px);font-weight:800;white-space:normal;overflow-wrap:anywhere}

/* Step type: catalog/quantity = vehicle/furniture style card. */
.ppsc-catalog-card{position:relative;display:flex;flex-direction:column;min-height:210px;padding:15px}
.ppsc-catalog-main{display:flex;flex-direction:column;min-width:0;flex:1}
.ppsc-catalog-main>.ppsc-option-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:clamp(84px,var(--ppsc-builder-icon-size,112px),250px)!important;
  min-height:clamp(84px,var(--ppsc-builder-icon-size,112px),250px)!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:4px!important;
  background:transparent!important;
  border:0!important;
  overflow:hidden!important;
}
.ppsc-catalog-main>.ppsc-option-icon img{display:block!important;width:min(var(--ppsc-builder-icon-size,180px),100%)!important;height:min(var(--ppsc-builder-icon-size,106px),100%)!important;max-width:250px!important;max-height:250px!important;object-fit:contain!important;margin:auto!important}
.ppsc-catalog-main>.ppsc-option-icon svg{width:min(var(--ppsc-builder-icon-size,88px),250px)!important;height:min(var(--ppsc-builder-icon-size,88px),250px)!important;fill:currentColor!important;stroke:none!important}
.ppsc-catalog-main>div{min-width:0}
.ppsc-catalog-main strong{display:block;color:#fff;font-size:var(--ppsc-builder-font-card-title-size,15px);line-height:1.3;overflow-wrap:anywhere}
.ppsc-catalog-main small{display:block;margin-top:5px;color:rgba(255,255,255,.82);font-size:var(--ppsc-builder-font-card-description-size,12px);line-height:1.4;overflow-wrap:anywhere}
.ppsc-catalog-main em{display:block;margin-top:7px;color:var(--ppa-amber-light);font-size:var(--ppsc-builder-font-price-size,12px);font-weight:750;font-style:normal}

.ppsc-counter{display:grid;grid-template-columns:36px 38px 36px;justify-content:start;align-items:center;margin-top:auto;padding-top:13px}
.ppsc-counter button{appearance:none!important;-webkit-appearance:none!important;display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:1px solid rgba(255,255,255,.35)!important;border-radius:10px!important;background:rgba(255,255,255,.09)!important;color:#fff!important;cursor:pointer;font-size:21px;line-height:1;box-shadow:none!important}
.ppsc-counter button:hover,.ppsc-counter button:focus-visible{border-color:var(--ppa-amber-light)!important;background:rgba(var(--pp-color-accent-rgb,245,158,11),.22)!important}
.ppsc-counter output{color:#fff;text-align:center;font-weight:800}
.ppsc-choose-one{width:100%;min-height:42px;margin-top:auto;padding:0 13px;border:1px solid rgba(255,255,255,.38)!important;border-radius:11px!important;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.24)!important;color:#fff!important;font-weight:750;cursor:pointer}
.ppsc-choose-one:hover,.ppsc-choose-one.is-active{border-color:var(--ppa-teal)!important;background:var(--ppa-teal)!important}

/* Step type: multiple services = same compact service cards used in detailing. */
.ppsc-service-card{
  position:relative;
  display:grid!important;
  grid-template-columns:45px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  min-height:135px;
  padding:15px!important;
}
.ppsc-service-visual{position:static;display:grid;place-items:center;width:38px;min-height:38px}
.ppsc-service-custom-icon{display:none}
.ppsc-service-check{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.32);border-radius:12px;background:rgba(255,255,255,.08);color:var(--ppa-teal)}
.ppsc-service-check svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.ppsc-service-card.is-active .ppsc-service-check{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.16);color:#fff}
.ppsc-service-card:not(.is-active) .ppsc-service-check svg{opacity:0}
.ppsc-service-copy{min-width:0}
.ppsc-service-copy strong{display:block;color:inherit;font-size:var(--ppsc-builder-font-card-title-size,15px);line-height:1.3;overflow-wrap:anywhere}
.ppsc-service-copy span,.ppsc-service-copy small{display:block;margin-top:5px;color:rgba(255,255,255,.82);font-size:var(--ppsc-builder-font-card-description-size,12px);line-height:1.45;overflow-wrap:anywhere}
.ppsc-service-copy small{color:var(--ppa-amber-light);font-weight:750}
.ppsc-service-price{align-self:start;min-width:max-content;color:var(--ppa-amber-light);font-size:var(--ppsc-builder-font-price-size,14px);font-weight:800;white-space:nowrap}

/* If the administrator explicitly assigns a media/FA visual to a service card,
   keep the exact 0–250px "card grows with image" rule used by the originals. */
.ppsc-service-card.ppsc-card-has-media,.ppsc-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;min-height:210px}
.ppsc-service-card.ppsc-card-has-media .ppsc-service-visual,.ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-visual{position:relative!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;overflow:visible!important}
.ppsc-service-card.ppsc-card-has-media .ppsc-service-custom-icon,.ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-custom-icon{display:grid!important;place-items:center!important;width:100%!important;height:clamp(84px,var(--ppsc-builder-icon-size,112px),250px)!important;min-height:clamp(84px,var(--ppsc-builder-icon-size,112px),250px)!important;max-height:250px!important;margin:0 auto 12px!important;padding:4px!important;background:transparent!important;overflow:hidden!important}
.ppsc-service-card.ppsc-card-has-media .ppsc-service-custom-icon img{display:block!important;width:min(var(--ppsc-builder-icon-size,112px),250px)!important;height:min(var(--ppsc-builder-icon-size,112px),250px)!important;max-width:250px!important;max-height:250px!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:0!important;margin:auto!important}
.ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-custom-icon svg{width:min(var(--ppsc-builder-icon-size,88px),250px)!important;height:min(var(--ppsc-builder-icon-size,88px),250px)!important;fill:currentColor!important;stroke:none!important}
.ppsc-service-card.ppsc-card-has-media .ppsc-service-check,.ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-check{position:absolute;right:2px;bottom:2px;background:var(--pp-color-primary-deep,#062f2c)}
.ppsc-service-card.ppsc-card-has-media .ppsc-service-copy,.ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-copy,.ppsc-service-card.ppsc-card-has-media .ppsc-service-price,.ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-price{width:100%;max-width:100%;min-width:0;text-align:left}

/* Per-unit choices use the same selection-card + choice-grid language. */
.ppsc-unit-assignments{display:grid;gap:12px}
.ppsc-unit-block,.ppsc-selection-card{padding:15px;border:1px solid rgba(255,255,255,.19);border-radius:16px;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.28)}
.ppsc-unit-block>h4{display:block;margin:0 0 10px;color:#fff;font-size:15px}
.ppsc-choice-card{min-height:88px;padding:12px!important}
.ppsc-choice-card .ppsc-option-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 9px;padding:5px;border-radius:12px;background:rgba(var(--pp-color-secondary-rgb,20,184,166),.13);color:inherit}
.ppsc-choice-card .ppsc-option-icon img{width:100%;height:100%;object-fit:contain}.ppsc-choice-card .ppsc-option-icon svg{width:34px;height:34px;fill:currentColor;stroke:none}
.ppsc-choice-card .ppsc-option-copy strong{display:block;color:inherit;font-size:var(--ppsc-builder-font-card-title-size,13px);line-height:1.3}
.ppsc-choice-card .ppsc-option-copy small,.ppsc-choice-card .ppsc-option-copy em{display:block;margin-top:5px;color:rgba(255,255,255,.72);font-size:var(--ppsc-builder-font-card-description-size,11px);line-height:1.45;font-style:normal}
.ppsc-choice-card .ppsc-option-price{display:block;margin-top:7px;color:var(--ppa-amber-light);font-size:var(--ppsc-builder-font-price-size,12px);font-weight:750}

/* Number input also stays on the dark translucent card, never a white block. */
.ppsc-number-box,.ppsc-empty-step{padding:15px;border:1px solid rgba(255,255,255,.19);border-radius:16px;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.28);color:#fff}
.ppsc-number-box label>span{display:block;margin-bottom:8px;color:#fff;font-weight:750}
.ppsc-number-box label>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.ppsc-number-box input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.36);border-radius:13px;outline:0;background:rgba(255,255,255,.96);color:var(--ppa-ink)}
.ppsc-number-box input:focus{border-color:var(--ppa-amber-light);box-shadow:0 0 0 3px rgba(var(--pp-color-accent-hover-rgb,251,191,36),.20)}
.ppsc-number-box b{color:#fff}.ppsc-number-box>small{display:block;margin-top:8px;color:var(--ppa-amber-light);font-weight:750}

/* Navigation and buttons: exact legacy palette. */
.ppsc-navigation{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:12px;margin-top:18px}
.ppsc-navigation.ppsc-navigation-single{grid-template-columns:minmax(0,1fr) auto}
.ppsc-validation{margin:0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.45;text-align:center;overflow-wrap:anywhere}
.ppsc-validation.ready{color:#D1FAE5}.ppsc-validation.warning{color:#FEF3C7}
.ppsc-primary,.ppsc-secondary,.ppsc-add-cart,.ppsc-success-primary{
  min-height:46px;
  padding:0 17px;
  border-radius:13px;
  cursor:pointer;
  font-size:var(--ppsc-builder-font-button-size,inherit);
  font-weight:750;
  transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,background-color .16s ease;
  text-decoration:none!important;
}
.ppsc-primary,.ppsc-add-cart,.ppsc-success-primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ppa-amber)!important;background:var(--ppa-amber)!important;color:var(--ppa-ink)!important;box-shadow:0 8px 20px rgba(var(--pp-color-accent-rgb,245,158,11),.18)}
.ppsc-primary:hover:not(:disabled),.ppsc-primary:focus-visible:not(:disabled),.ppsc-add-cart:hover,.ppsc-add-cart:focus-visible,.ppsc-success-primary:hover,.ppsc-success-primary:focus-visible{transform:translateY(-1px);border-color:var(--ppa-amber-light)!important;background:var(--ppa-amber-light)!important;color:var(--ppa-ink)!important;box-shadow:0 11px 26px rgba(var(--pp-color-accent-rgb,245,158,11),.28)}
.ppsc-primary:disabled{border-color:rgba(255,255,255,.20)!important;background:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.48)!important;box-shadow:none!important;opacity:1;cursor:not-allowed}
.ppsc-secondary{border:1px solid rgba(255,255,255,.38)!important;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.24)!important;color:#fff!important;box-shadow:none!important}
.ppsc-secondary:hover,.ppsc-secondary:focus-visible{transform:translateY(-1px);border-color:var(--ppa-teal)!important;background:var(--ppa-teal)!important;color:#fff!important;box-shadow:0 8px 20px rgba(var(--pp-color-primary-deep-rgb,4,47,46),.18)}

/* Live summary copied from Automobile and the other historical calculators. */
.ppsc-live-summary{
  width:100%;
  min-width:0;
  margin-top:22px;
  padding:16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.42);
  font-size:var(--ppsc-builder-font-summary-size,inherit);
}
.ppsc-summary-head,.ppsc-summary-footer,.ppsc-summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ppsc-summary-head>div>span,.ppsc-summary-head>div>strong{display:block}
.ppsc-summary-head>div>span{color:rgba(255,255,255,.67);font-size:11px}
.ppsc-summary-head>div>strong{margin-top:3px;color:#fff}
.ppsc-summary-meta{max-width:52%;color:var(--ppa-amber-light);font-size:12px;font-weight:750;text-align:right;overflow-wrap:anywhere}
.ppsc-summary-lines{display:grid;gap:7px;margin-top:13px}
.ppsc-summary-line{padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.82);font-size:12px}
.ppsc-summary-line span{min-width:0;overflow-wrap:anywhere}.ppsc-summary-line strong{flex:0 0 auto;color:#fff;white-space:nowrap}
.ppsc-summary-footer{align-items:baseline;margin-top:12px;padding-top:4px}
.ppsc-summary-footer>span{color:rgba(255,255,255,.75);font-size:12px;font-weight:750}
.ppsc-summary-footer>strong{display:flex;align-items:baseline;gap:8px;color:var(--ppa-amber-light);font-size:var(--ppsc-builder-font-price-size,25px);white-space:nowrap}
.ppsc-summary-footer del{color:rgba(255,255,255,.58);font-size:13px;font-weight:500}.ppsc-summary-footer em{color:#D1FAE5;font-size:11px;font-style:normal}.ppsc-summary-footer b{color:var(--ppa-amber-light);font-size:inherit}

/* Final validation: same three-button row shown by the legacy service flows. */
.ppsc-final-actions{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(180px,1.35fr) minmax(155px,1fr);gap:11px;margin-top:11px}
.ppsc-final-actions>*{width:100%;min-width:0}

/* Success after cart = legacy final card, still within the same green shell. */
.ppsc-success-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;border:1px solid rgba(var(--pp-color-secondary-rgb,20,184,166),.42);border-radius:17px;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.40)}
.ppsc-success-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:15px;background:rgba(var(--pp-color-secondary-rgb,20,184,166),.14);color:var(--ppa-teal)}
.ppsc-success-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:3}
.ppsc-success-content{min-width:0}.ppsc-success-content>span,.ppsc-success-content>strong,.ppsc-success-content>p{display:block}.ppsc-success-content>span{color:var(--ppa-amber-light);font-size:11px;font-weight:800}.ppsc-success-content>strong{margin-top:3px;color:#fff}.ppsc-success-content>p{margin:5px 0;color:rgba(255,255,255,.75);font-size:12px;line-height:1.5}.ppsc-success-price{color:var(--ppa-amber-light);font-size:24px;white-space:nowrap}
.ppsc-success-actions{display:flex;justify-content:flex-end;gap:11px;margin-top:16px}.ppsc-success-actions button{min-height:46px;padding:0 17px;border:1px solid rgba(255,255,255,.38);border-radius:13px;background:rgba(var(--pp-color-primary-deep-rgb,4,47,46),.24);color:#fff;font-weight:750;cursor:pointer}.ppsc-success-actions button:hover{border-color:var(--ppa-teal);background:var(--ppa-teal)}

/* Typography settings exposed in the Configurateur. */
.ppsc-builder .ppsc-mode-copy strong{font-size:var(--ppsc-builder-font-card-title-size,19px)}
.ppsc-builder .ppsc-catalog-main strong,.ppsc-builder .ppsc-service-copy strong{font-size:var(--ppsc-builder-font-card-title-size,15px)}
.ppsc-builder .ppsc-choice-card strong{font-size:var(--ppsc-builder-font-card-title-size,13px)}
.ppsc-builder .ppsc-mode-copy small,.ppsc-builder .ppsc-mode-copy em{font-size:var(--ppsc-builder-font-card-description-size,inherit)}
.ppsc-builder .ppsc-catalog-main small,.ppsc-builder .ppsc-service-copy span{font-size:var(--ppsc-builder-font-card-description-size,12px)}
.ppsc-builder .ppsc-choice-card small,.ppsc-builder .ppsc-choice-card em{font-size:var(--ppsc-builder-font-card-description-size,11px)}

@media(max-width:980px){
  .ppsc-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ppsc-catalog-grid[data-ppsc-card-count="1"]{grid-template-columns:minmax(0,1fr)}
  .ppsc-choice-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
  .ppsc-progress{justify-content:flex-start}
  .ppsc-options-grid,.ppsc-catalog-grid,.ppsc-choice-grid{grid-template-columns:minmax(0,1fr)}
  .ppsc-builder-header{grid-template-columns:minmax(0,1fr)}.ppsc-service-icon{display:none}
  .ppsc-mode-card{grid-template-columns:58px minmax(0,1fr)!important;min-height:126px;padding:14px!important}
  .ppsc-mode-card:not(.ppsc-card-has-media):not(.ppsc-card-has-fontawesome){grid-template-columns:minmax(0,1fr)!important}
  .ppsc-mode-icon:not(.ppsc-builder-sized-visual){width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important}
  .ppsc-progress-label{display:none}.ppsc-progress-line{flex-basis:22px;margin-inline:5px}
  .ppsc-navigation{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ppsc-navigation .ppsc-validation{grid-column:1/-1;grid-row:1;text-align:left}.ppsc-navigation .ppsc-secondary{grid-column:1}.ppsc-navigation .ppsc-primary{grid-column:2}
  .ppsc-navigation.ppsc-navigation-single{grid-template-columns:minmax(0,1fr)}.ppsc-navigation.ppsc-navigation-single .ppsc-validation,.ppsc-navigation.ppsc-navigation-single .ppsc-primary{grid-column:1}
  .ppsc-service-card{grid-template-columns:38px minmax(0,1fr)!important}.ppsc-service-price{grid-column:2;min-width:0;text-align:left}
  .ppsc-final-actions{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .ppsc-mode-card{min-height:150px}
  .ppsc-catalog-main>.ppsc-option-icon{height:clamp(84px,var(--ppsc-builder-icon-size,96px),250px)!important;min-height:clamp(84px,var(--ppsc-builder-icon-size,96px),250px)!important}
  .ppsc-summary-head,.ppsc-summary-footer,.ppsc-summary-line{align-items:flex-start}.ppsc-summary-meta{max-width:46%}
  .ppsc-success-card{grid-template-columns:48px minmax(0,1fr)}.ppsc-success-price{grid-column:2;text-align:left}.ppsc-success-actions{display:grid;grid-template-columns:minmax(0,1fr)}.ppsc-success-actions>*{width:100%}
}
@media(max-width:480px){
  .ppsc-builder-shell,.ppsc-success-shell{padding:14px}
  .ppsc-mode-card{grid-template-columns:46px minmax(0,1fr)!important;gap:11px!important;min-height:0;padding:13px!important}
  .ppsc-mode-card:not(.ppsc-card-has-media):not(.ppsc-card-has-fontawesome){grid-template-columns:minmax(0,1fr)!important}
  .ppsc-mode-icon:not(.ppsc-builder-sized-visual){width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;border-radius:14px!important}
  .ppsc-builder .ppsc-mode-copy strong{font-size:var(--ppsc-builder-font-card-title-size,16px)}
  .ppsc-builder .ppsc-mode-copy small,.ppsc-builder .ppsc-mode-copy em{font-size:var(--ppsc-builder-font-card-description-size,12px);line-height:1.4}
  .ppsc-service-card{grid-template-columns:34px minmax(0,1fr)!important;gap:9px!important;min-height:0;padding:13px!important}
  .ppsc-service-visual,.ppsc-service-check{width:34px;min-height:34px;height:34px}
  .ppsc-address-lock{grid-template-columns:minmax(0,1fr)}.ppsc-address-lock span,.ppsc-address-lock a{grid-column:1;grid-row:auto}.ppsc-address-lock a{margin-top:8px}
  .ppsc-navigation,.ppsc-navigation.ppsc-navigation-single{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%}.ppsc-navigation>*{grid-column:1!important;width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .ppsc-summary-head,.ppsc-summary-footer,.ppsc-summary-line{gap:8px}.ppsc-summary-meta{max-width:44%;font-size:11px}
}

/* 2.9.0 responsive contract: phone=1, tablet<=2, desktop<=4. */
@media (max-width: 767px){
  .ppsc-builder .ppsc-options-grid,
  .ppsc-builder .ppsc-catalog-grid,
  .ppsc-builder .ppsc-choice-grid{grid-template-columns:minmax(0,1fr)!important;}
}
@media (min-width:768px) and (max-width:1100px){
  .ppsc-builder .ppsc-options-grid,
  .ppsc-builder .ppsc-catalog-grid,
  .ppsc-builder .ppsc-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (min-width:1101px){
  .ppsc-builder .ppsc-options-grid[data-ppsc-card-count="1"],
  .ppsc-builder .ppsc-catalog-grid[data-ppsc-card-count="1"]{grid-template-columns:minmax(0,1fr)!important;max-width:560px;margin-inline:auto;}
  .ppsc-builder .ppsc-options-grid[data-ppsc-card-count="2"],
  .ppsc-builder .ppsc-catalog-grid[data-ppsc-card-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ppsc-builder .ppsc-options-grid[data-ppsc-card-count="3"],
  .ppsc-builder .ppsc-catalog-grid[data-ppsc-card-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .ppsc-builder .ppsc-options-grid,
  .ppsc-builder .ppsc-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
.ppsc-builder :where(.ppsc-option-card,.ppsc-catalog-card,.ppsc-choice-card,strong,small,p,h2,h3,button){overflow-wrap:anywhere;word-break:normal;min-width:0;}

/* 2.9.3 — selected service visual in validation recap. */
.ppsc-summary-line-service{align-items:center!important;min-height:54px}
.ppsc-summary-service{display:flex;align-items:center;gap:11px;min-width:0}
.ppsc-summary-service-title{min-width:0;color:#fff;font-weight:800;overflow-wrap:anywhere}
.ppsc-summary-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:5px;border:1px solid rgba(255,255,255,.20);border-radius:13px;background:rgba(255,255,255,.10);overflow:hidden;color:#fff}
.ppsc-summary-icon img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:0!important}
.ppsc-summary-icon svg{display:block!important;width:31px!important;height:31px!important;max-width:31px!important;max-height:31px!important;fill:currentColor!important;stroke:none!important}
.ppsc-summary-icon.is-media{padding:3px}

/* 2.9.3 — clean post-cart state: only the two requested actions remain. */
.ppsc-success-shell .ppsc-success-actions{margin-top:8px}

/* 2.9.8 — Builder edit confirmation is visually identical to the built-in Automobile modal. */
body.ppsc-edit-dialog-open{overflow:hidden!important}
.ppsc-edit-overlay,
.ppsc-edit-overlay *,
.ppsc-edit-overlay *::before,
.ppsc-edit-overlay *::after{box-sizing:border-box}
.ppsc-edit-overlay[hidden]{display:none!important}
.ppsc-edit-overlay{
  position:fixed;
  inset:0;
  z-index:100002;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(15,23,42,.62);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.ppsc-edit-dialog{
  position:relative;
  width:min(100%,420px);
  padding:25px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:17px;
  background:rgba(255,255,255,.97);
  color:#1f2937;
  text-align:center;
  box-shadow:0 25px 60px rgba(0,0,0,.3);
}
.ppsc-edit-close{
  position:absolute;
  top:12px;
  right:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border:1px solid rgba(15,118,110,.18);
  border-radius:9px;
  background:rgba(15,118,110,.08);
  color:#0f766e;
  cursor:pointer;
}
.ppsc-edit-close svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ppsc-edit-dialog-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin:0 auto 14px;
  border-radius:15px;
  background:rgba(15,118,110,.1);
  color:#0f766e;
}
.ppsc-edit-dialog-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ppsc-edit-dialog h4{
  margin:0 0 8px;
  color:#1f2937!important;
  font-size:19px!important;
  line-height:1.25;
  font-weight:800!important;
}
.ppsc-edit-dialog p{
  margin:0 0 18px;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
}
.ppsc-edit-countdown{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:19px;
  padding:10px 12px;
  border:1px solid rgba(15,118,110,.15);
  border-radius:10px;
  background:rgba(15,118,110,.06);
  color:#475569;
  font-size:12px;
}
.ppsc-edit-countdown strong{
  color:#0f766e;
  font-size:16px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.ppsc-edit-dialog-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.ppsc-edit-continue,
.ppsc-edit-confirm,
.ppsc-edit-cancel{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:47px;
  padding:10px 14px;
  border-radius:10px;
  font-family:inherit;
  font-size:13px;
  line-height:1.3;
  font-weight:750;
  text-align:center;
  cursor:pointer;
}
.ppsc-edit-continue{
  border:1px solid rgba(15,118,110,.32);
  background:rgba(15,118,110,.08);
  color:#0f766e;
}
.ppsc-edit-confirm{
  border:0!important;
  background:#0f766e!important;
  color:#fff!important;
}
.ppsc-edit-cancel{
  grid-column:1/-1;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#475569;
}
.ppsc-edit-continue:hover,
.ppsc-edit-continue:focus-visible,
.ppsc-edit-confirm:hover,
.ppsc-edit-confirm:focus-visible,
.ppsc-edit-cancel:hover,
.ppsc-edit-cancel:focus-visible,
.ppsc-edit-close:hover,
.ppsc-edit-close:focus-visible{
  transform:none;
  box-shadow:none;
}
@media(max-width:767px){
  .ppsc-edit-overlay{padding:12px}
  .ppsc-edit-dialog{
    width:100%;
    max-width:420px;
    max-height:calc(100dvh - 24px);
    padding:22px 16px 18px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .ppsc-edit-dialog-actions{grid-template-columns:minmax(0,1fr)}
  .ppsc-edit-continue,
  .ppsc-edit-confirm,
  .ppsc-edit-cancel{
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    padding:12px 13px;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .ppsc-edit-cancel{grid-column:auto}
  .ppsc-edit-countdown{min-width:0}
}
@media(max-width:520px){
  .ppsc-edit-countdown{align-items:flex-start;flex-direction:column;gap:3px;text-align:left}
  .ppsc-summary-icon{flex-basis:42px;width:42px;height:42px}
  .ppsc-summary-icon svg{width:28px!important;height:28px!important}
}

/* 2.9.10 — uploaded PNG/media in every dynamically-created service card.
   Match the Automobile vehicle-card behaviour: the whole source image is
   visible, transparency is preserved, and a configured size of 250px means
   a real 250×250 visual box. No circular crop / cover treatment is allowed. */
.ppsc-builder .ppsc-configured-media img{
  display:block!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
  background:transparent!important;
  clip-path:none!important;
}

/* Single-choice / yes-no cards. */
.ppsc-builder .ppsc-mode-card.ppsc-card-has-media .ppsc-mode-icon.ppsc-configured-media{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.ppsc-builder .ppsc-option-card.is-active.ppsc-card-has-media .ppsc-mode-icon.ppsc-configured-media{
  background:transparent!important;
}
.ppsc-builder .ppsc-mode-card.ppsc-card-has-media .ppsc-mode-icon.ppsc-configured-media.ppsc-builder-sized-visual{
  width:min(var(--ppsc-builder-icon-size,250px),250px)!important;
  height:min(var(--ppsc-builder-icon-size,250px),250px)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:250px!important;
  max-height:250px!important;
  padding:0!important;
}
.ppsc-builder .ppsc-mode-card.ppsc-card-has-media .ppsc-mode-icon.ppsc-configured-media img{
  width:100%!important;
  height:100%!important;
}

/* Multiple-choice service cards (checkbox mode). */
.ppsc-builder .ppsc-service-card.ppsc-card-has-media .ppsc-service-custom-icon.ppsc-configured-media{
  width:min(var(--ppsc-builder-icon-size,112px),250px)!important;
  height:min(var(--ppsc-builder-icon-size,112px),250px)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:250px!important;
  max-height:250px!important;
  margin:0 auto 12px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ppsc-builder .ppsc-service-card.ppsc-card-has-media .ppsc-service-custom-icon.ppsc-configured-media img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
}

/* Catalogue and per-unit choice cards: when an explicit image size is saved,
   the media holder itself becomes the same square instead of a short strip. */
.ppsc-builder .ppsc-catalog-card.ppsc-card-has-media .ppsc-option-icon.ppsc-configured-media.ppsc-builder-sized-visual,
.ppsc-builder .ppsc-choice-card.ppsc-card-has-media .ppsc-option-icon.ppsc-configured-media.ppsc-builder-sized-visual{
  width:min(var(--ppsc-builder-icon-size,112px),250px)!important;
  height:min(var(--ppsc-builder-icon-size,112px),250px)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:250px!important;
  max-height:250px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.ppsc-builder .ppsc-catalog-card.ppsc-card-has-media .ppsc-option-icon.ppsc-configured-media img,
.ppsc-builder .ppsc-choice-card.ppsc-card-has-media .ppsc-option-icon.ppsc-configured-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
}

/* Keep the same full-image behaviour in the builder recap thumbnail too. */
.ppsc-builder .ppsc-summary-icon.is-media img,
.ppsc-builder .ppsc-summary-icon img.ppsc-runtime-icon-image{
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  background:transparent!important;
}

/* A 250px media square must not collide with the text on phones. */
@media(max-width:767px){
  .ppsc-builder .ppsc-mode-card.ppsc-card-has-media{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .ppsc-builder .ppsc-mode-card.ppsc-card-has-media .ppsc-mode-icon.ppsc-configured-media{
    align-self:center!important;
  }
}



/* 2.9.11 — compact and aligned checkbox marker for custom multi-choice cards.
   The marker is intentionally independent from the card image so every card,
   with or without PNG/Font Awesome media, uses the same top-left position. */
.ppsc-builder .ppsc-service-card .ppsc-service-check{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  border-radius:7px!important;
}
.ppsc-builder .ppsc-service-card .ppsc-service-check svg{
  width:14px!important;
  height:14px!important;
}
.ppsc-builder .ppsc-service-card:not(.ppsc-card-has-media):not(.ppsc-card-has-fontawesome){
  grid-template-columns:24px minmax(0,1fr) auto!important;
  column-gap:10px!important;
}
.ppsc-builder .ppsc-service-card:not(.ppsc-card-has-media):not(.ppsc-card-has-fontawesome) .ppsc-service-visual{
  width:24px!important;
  min-height:24px!important;
  place-items:start!important;
}
.ppsc-builder .ppsc-service-card.ppsc-card-has-media .ppsc-service-check,
.ppsc-builder .ppsc-service-card.ppsc-card-has-fontawesome .ppsc-service-check{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  z-index:3!important;
  background:var(--pp-color-primary-deep,#062f2c)!important;
}

/* 2.9.12 — recap visuals belong to each selected option, not to the whole service. */
.ppsc-builder .ppsc-summary-line-option{
  align-items:center!important;
  min-height:48px;
}
.ppsc-builder .ppsc-summary-option{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1 1 auto;
}
.ppsc-builder .ppsc-summary-option-title{
  min-width:0;
  color:rgba(255,255,255,.86);
  overflow-wrap:anywhere;
}
.ppsc-builder .ppsc-summary-row-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:4px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  color:#fff;
}
.ppsc-builder .ppsc-summary-row-icon.is-media{
  padding:2px;
  background:transparent;
}
.ppsc-builder .ppsc-summary-row-icon img,
.ppsc-builder .ppsc-summary-row-icon img.ppsc-runtime-icon-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  background:transparent!important;
}
.ppsc-builder .ppsc-summary-row-icon svg{
  display:block!important;
  width:27px!important;
  height:27px!important;
  max-width:27px!important;
  max-height:27px!important;
  fill:currentColor!important;
  stroke:none!important;
}
@media(max-width:480px){
  .ppsc-builder .ppsc-summary-row-icon{
    flex-basis:36px;
    width:36px;
    height:36px;
    border-radius:9px;
  }
  .ppsc-builder .ppsc-summary-row-icon svg{
    width:23px!important;
    height:23px!important;
    max-width:23px!important;
    max-height:23px!important;
  }
}
