/* Progetta il tuo impianto v2 — stesso linguaggio di «Configura la tua barretta» (sg-barrette-pilot):
   passi a tutta larghezza fatti di riquadri (spiegazione a sinistra, opzioni con immagine a destra),
   in fondo anteprima grande, riepilogo, gabbia finita e distinta. Tutto circoscritto a body.sgp2-body. */
body.sgp2-body {
  --sgp2-ink: #12202a; --sgp2-soft: #33475a; --sgp2-muted: #5f7381; --sgp2-rule: #d5dfe6; --sgp2-rule-soft: #e6edf1;
  --sgp2-panel: #f0f4f7; --sgp2-accent: #0f7ab5; --sgp2-accent-ink: #0a5c8a; --sgp2-hover: #93aec4; --sgp2-green: #62b944; --sgp2-green-dark: #4f9e35;
  --sgp2-head: Chivo, "Segoe UI", system-ui, sans-serif; --sgp2-mono: "IBM Plex Mono", ui-monospace, monospace;
}
body.sgp2-body .sgp2-wrap { padding-top: clamp(18px, 3vw, 34px); padding-bottom: 80px; }
body.sgp2-body .sgp2-config { padding: clamp(20px, 3.6vw, 44px); background: #fff; border: 1px solid var(--sgp2-rule); }
body.sgp2-body .sgp2-kicker { margin: 0; font: 600 .7rem/1.4 var(--sgp2-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--sgp2-accent-ink); }
body.sgp2-body .sgp2-head { max-width: 72ch; margin: 0 0 clamp(24px, 3vw, 36px); }
body.sgp2-body .sgp2-head h1,
body.sgp2-body .sgp2-big-title { margin: 10px 0 12px; font-family: var(--sgp2-head); font-weight: 900; font-size: clamp(1.9rem, 3.6vw, 2.6rem); line-height: 1.08; letter-spacing: -.03em; text-transform: none; text-align: start; color: var(--sgp2-ink); }
body.sgp2-body .sgp2-lede { margin: 0; max-width: 64ch; color: var(--sgp2-muted); font-size: 1.04rem; line-height: 1.6; }

/* contenitore del motore: senza i colori del vecchio riquadro */
body.sgp2-body #sg-planner-workbench { margin: 0; padding: 0; max-width: none; background: none; box-shadow: none; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench #planner { margin: 0; padding: 0; background: none; }
body.sgp2-body #sg-planner-workbench .planner-masthead { display: none; }

/* passi a tutta larghezza; ogni scelta in un riquadro: spiegazione a sinistra, opzioni a destra */
body.sgp2-body #sg-planner-workbench .sgp2-steps { display: grid; gap: clamp(36px, 4.4vw, 54px); }
body.sgp2-body #sg-planner-workbench .sgp2-step { display: grid; gap: 14px; margin: 0; padding: 0; background: none; border: 0; min-width: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-step-head { margin: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-step-title { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--sgp2-head); font-weight: 900; font-size: clamp(1.2rem, 2vw, 1.42rem); line-height: 1.2; letter-spacing: -.02em; text-transform: none; text-align: start; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-step-n { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--sgp2-accent); color: #fff; font: 600 .86rem var(--sgp2-mono); }
body.sgp2-body #sg-planner-workbench .sgp2-help { margin: 6px 0 0; margin-inline-start: 44px; max-width: 70ch; color: var(--sgp2-muted); font-size: .94rem; line-height: 1.5; }
body.sgp2-body #sg-planner-workbench form .sgp2-step-head:not(:first-child) { margin-top: clamp(22px, 3vw, 36px); }

body.sgp2-body #sg-planner-workbench .sgp2-box { display: grid; grid-template-columns: minmax(220px, 29%) minmax(0, 1fr); margin: 0; min-width: 0; background: #fff; border: 1px solid #c9d6df; }
body.sgp2-body #sg-planner-workbench .sgp2-box-head { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px; background: var(--sgp2-panel); border-inline-end: 1px solid #dbe4ea; }
body.sgp2-body #sg-planner-workbench .sgp2-box-title { margin: 0; font-family: var(--sgp2-head); font-weight: 900; font-size: 1.08rem; line-height: 1.25; letter-spacing: -.012em; text-transform: none; text-align: start; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-box-help { margin: 0; color: var(--sgp2-soft); font-size: .93rem; line-height: 1.55; }
body.sgp2-body #sg-planner-workbench .sgp2-box-pick { display: grid; gap: 3px; margin: auto 0 0; padding: 12px 0 0; border-top: 1px solid #d7e1e8; }
body.sgp2-body #sg-planner-workbench .sgp2-box-pick span { font: 600 .64rem/1.3 var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-accent-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-box-pick b { font-family: var(--sgp2-head); font-weight: 900; font-size: .96rem; line-height: 1.3; letter-spacing: -.01em; color: var(--sgp2-ink); overflow-wrap: anywhere; }
body.sgp2-body #sg-planner-workbench .sgp2-box-body { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 16px; min-width: 0; padding: 22px; }
body.sgp2-body #sg-planner-workbench .sgp2-box[data-box$="size"] .sgp2-box-body { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.sgp2-body #sg-planner-workbench .sgp2-box[data-box$="split"] .sgp2-box-body { grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr); align-items: start; }
body.sgp2-body #sg-planner-workbench .sgp2-box[data-box="b-bar"] .sgp2-box-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.sgp2-body #sg-planner-workbench .sgp2-box-body > .wide-field,
body.sgp2-body #sg-planner-workbench .sgp2-box-body > aside,
body.sgp2-body #sg-planner-workbench .sgp2-box-body > details,
body.sgp2-body #sg-planner-workbench .sgp2-box[data-box="b-bar"] .sgp2-box-body > label:first-child { grid-column: 1 / -1; }
/* nei riquadri con una sola scelta il titolo del riquadro fa da etichetta */
body.sgp2-body #sg-planner-workbench .sgp2-box--single .sgp2-box-body > label,
body.sgp2-body #sg-planner-workbench #configForm .sgp2-box--single .sgp2-box-body > label { gap: 0; font-size: 0; letter-spacing: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-box--single .sgp2-box-body > label > small { margin-top: 8px; }

/* passo 1 */
body.sgp2-body #sg-planner-workbench .planner-start { display: none; }
body.sgp2-body #sg-planner-workbench .planner-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
body.sgp2-body #sg-planner-workbench .planner-product { position: relative; display: flex; flex-direction: column; gap: 4px; min-height: 0; margin: 0; padding: 0 14px 14px; overflow: hidden; border: 1px solid var(--sgp2-rule); border-radius: 0; background: #fff; box-shadow: none; text-align: start; transition: border-color .15s, box-shadow .15s; }
body.sgp2-body #sg-planner-workbench .planner-product:hover { border-color: var(--sgp2-hover); background: #fff; }
body.sgp2-body #sg-planner-workbench .planner-product.is-active { border-color: var(--sgp2-accent); background: #fff; box-shadow: 0 0 0 1px var(--sgp2-accent), 0 10px 24px rgba(15, 122, 181, .14); }
body.sgp2-body #sg-planner-workbench .planner-product strong { font-family: var(--sgp2-head); font-weight: 900; font-size: 1.02rem; letter-spacing: -.012em; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .planner-product small { margin-top: 4px; }
body.sgp2-body #sg-planner-workbench .planner-help { margin: 0; padding: 0; border: 0; background: none; }
body.sgp2-body #sg-planner-workbench .planner-help summary { cursor: pointer; font-weight: 700; color: var(--sgp2-accent-ink); text-decoration: underline; text-underline-offset: 3px; }

/* campi */
body.sgp2-body #sg-planner-workbench .sgp2-step--form #configForm { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; position: static; max-height: none; overflow: visible; }
body.sgp2-body #sg-planner-workbench #configForm label,
body.sgp2-body #sg-planner-workbench .sgp2-box-body label { display: grid; gap: 7px; margin: 0; font: 600 .68rem/1.3 var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench #configForm input[type="number"],
body.sgp2-body #sg-planner-workbench #configForm input[type="text"],
body.sgp2-body #sg-planner-workbench #configForm select:not(.sgp2-native) { width: 100%; min-height: 46px; padding: 8px 12px; border: 1px solid var(--sgp2-rule); border-radius: 0; background: #fff; font: 500 1rem/1.3 Karla, system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench #configForm input:focus,
body.sgp2-body #sg-planner-workbench #configForm select:focus { outline: 2px solid var(--sgp2-accent); outline-offset: 2px; border-color: var(--sgp2-accent); }
body.sgp2-body #sg-planner-workbench #configForm small { font: 400 .86rem/1.5 Karla, system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench .planner-cable-choice { padding: 0; border: 0; background: none; }
body.sgp2-body #sg-planner-workbench #configForm:not(.is-multi) .secondary-config { display: none; }
body.sgp2-body #sg-planner-workbench #configForm.is-multi .secondary-config { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; margin: clamp(22px, 3vw, 36px) 0 0; padding: clamp(22px, 3vw, 36px) 0 0; border: 0; border-top: 1px solid var(--sgp2-rule); background: none; }
body.sgp2-body #sg-planner-workbench .secondary-config > legend { display: none; }
body.sgp2-body #sg-planner-workbench .protection-preview,
body.sgp2-body #sg-planner-workbench .pressure-fixing-preview { margin: 0; padding: 16px; border: 1px solid var(--sgp2-rule); background: var(--sgp2-panel); }
body.sgp2-body #sg-planner-workbench .protection-preview h3,
body.sgp2-body #sg-planner-workbench .pressure-fixing-preview h3 { font-family: var(--sgp2-head); font-weight: 900; font-size: 1rem; color: var(--sgp2-ink); }

/* − e + */
body.sgp2-body #sg-planner-workbench .sgp2-stepper { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; }
body.sgp2-body #sg-planner-workbench .sgp2-stepper input { text-align: center; border-left: 0 !important; border-right: 0 !important; -moz-appearance: textfield; }
body.sgp2-body #sg-planner-workbench .sgp2-stepper input::-webkit-inner-spin-button,
body.sgp2-body #sg-planner-workbench .sgp2-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-stepper-btn { min-height: 44px; border: 1px solid var(--sgp2-rule); border-radius: 0; background: #fff; color: var(--sgp2-ink); font: 700 1.2rem/1 Karla, system-ui, sans-serif; cursor: pointer; }
body.sgp2-body #sg-planner-workbench .sgp2-stepper-btn:hover { background: var(--sgp2-panel); }

/* schede di scelta: immagine sopra, titolo, spiegazione e prezzo; la scelta fatta ha bordo blu e spunta */
body.sgp2-body #sg-planner-workbench .sgp2-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
body.sgp2-body #sg-planner-workbench .sgp2-seg { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn,
body.sgp2-body #sg-planner-workbench .sgp2-card { position: relative; margin: 0; border: 1px solid var(--sgp2-rule); border-radius: 0; background: #fff; color: var(--sgp2-ink); text-align: start; letter-spacing: 0; text-transform: none; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn { display: flex; align-items: center; min-height: 50px; padding: 10px 14px; padding-inline-start: 44px; font: 900 1rem/1.2 var(--sgp2-head); }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn::before { content: ""; box-sizing: border-box; position: absolute; inset-inline-start: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border: 1.5px solid #9fb2c0; border-radius: 50%; background: #fff; }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn[aria-pressed="true"] { background: #eef6fb; }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn[aria-pressed="true"]::before { border: 5.5px solid var(--sgp2-accent); }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn:hover,
body.sgp2-body #sg-planner-workbench .sgp2-card:hover { border-color: var(--sgp2-hover); }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn[aria-pressed="true"],
body.sgp2-body #sg-planner-workbench .sgp2-card[aria-pressed="true"] { border-color: var(--sgp2-accent); box-shadow: 0 0 0 1px var(--sgp2-accent), 0 10px 24px rgba(15, 122, 181, .14); }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn:focus-visible,
body.sgp2-body #sg-planner-workbench .sgp2-card:focus-visible { outline: 2px solid var(--sgp2-accent); outline-offset: 3px; }
body.sgp2-body #sg-planner-workbench .sgp2-seg-btn:disabled,
body.sgp2-body #sg-planner-workbench .sgp2-card:disabled { opacity: .45; cursor: not-allowed; }
body.sgp2-body #sg-planner-workbench .sgp2-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
body.sgp2-body #sg-planner-workbench .sgp2-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
body.sgp2-body #sg-planner-workbench .sgp2-card::after,
body.sgp2-body #sg-planner-workbench .planner-product::after { content: ""; box-sizing: border-box; position: absolute; top: 10px; inset-inline-end: 10px; width: 24px; height: 24px; border: 1.5px solid #b6c6d2; border-radius: 50%; background: rgba(255, 255, 255, .92); }
body.sgp2-body #sg-planner-workbench .sgp2-card[aria-pressed="true"]::after,
body.sgp2-body #sg-planner-workbench .planner-product.is-active::after { border-color: var(--sgp2-accent); background: var(--sgp2-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat; }
body.sgp2-body #sg-planner-workbench .sgp2-card-icon { display: grid; place-items: center; height: 96px; border-bottom: 1px solid var(--sgp2-rule-soft); background: linear-gradient(180deg, #f7fafc 0%, #e8eff4 100%); color: var(--sgp2-accent-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-card-icon svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body.sgp2-body #sg-planner-workbench .sgp2-card-body { display: flex; flex: 1; flex-direction: column; gap: 6px; min-width: 0; padding: 14px 16px 16px; }
body.sgp2-body #sg-planner-workbench .sgp2-card.no-icon .sgp2-card-body { padding-inline-end: 44px; }
body.sgp2-body #sg-planner-workbench .sgp2-card-body strong { font-family: var(--sgp2-head); font-weight: 900; font-size: 1.04rem; line-height: 1.22; letter-spacing: -.012em; }
body.sgp2-body #sg-planner-workbench .sgp2-card-text { color: var(--sgp2-muted); font: 400 .92rem/1.5 Karla, system-ui, sans-serif; }
body.sgp2-body #sg-planner-workbench .sgp2-card-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; margin-top: auto; padding-top: 10px; }
body.sgp2-body #sg-planner-workbench .sgp2-card-kicker { font: 600 .64rem/1.3 var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-accent-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-card-price { margin-inline-start: auto; padding: 4px 8px; background: var(--sgp2-panel); font: 500 .8rem var(--sgp2-mono); color: var(--sgp2-ink); white-space: nowrap; }
body.sgp2-body #sg-planner-workbench .sgp2-card[aria-pressed="true"] .sgp2-card-price { background: #e3f0f8; color: var(--sgp2-accent-ink); }

/* immagini delle opzioni */
body.sgp2-body #sg-planner-workbench .sgp2-card-media { position: relative; display: grid; place-items: center; width: 100%; height: 124px; overflow: hidden; background: linear-gradient(180deg, #f8fbfd 0%, #e6eef3 100%); border-bottom: 1px solid var(--sgp2-rule-soft); }
body.sgp2-body #sg-planner-workbench .sgp2-card-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; padding: 10px; mix-blend-mode: multiply; }
body.sgp2-body #sg-planner-workbench .sgp2-card-media > svg { display: block; width: 78%; height: 84%; }
body.sgp2-body #sg-planner-workbench .sgp2-card[aria-pressed="true"] .sgp2-card-media { border-bottom-color: rgba(15, 122, 181, .3); }
body.sgp2-body #sg-planner-workbench .sgp2-thumb-bp.sg-bp { display: block; width: 100%; height: 100%; padding: 0; background: none; border: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-thumb-svg { display: block; width: 100%; height: 100%; }
body.sgp2-body #sg-planner-workbench .sgp2-thumb-svg svg { display: block; width: 100%; height: 100%; }
body.sgp2-body #sg-planner-workbench .sgp2-sch-cage { fill: #fffaf0; stroke: #6c8597; stroke-width: 1.1; }
body.sgp2-body #sg-planner-workbench .sgp2-sch-bar { fill: #ffc642; }
body.sgp2-body #sg-planner-workbench .sgp2-sch-div { stroke: #6c8597; stroke-width: 1.1; stroke-dasharray: 3 2; }
body.sgp2-body #sg-planner-workbench .sgp2-swatch { flex: none; display: inline-block; width: 20px; height: 20px; margin: 0; margin-inline-end: 10px; border: 1px solid rgba(18, 32, 42, .25); }
/* foto nelle schede barretta */
body.sgp2-body #sg-planner-workbench .sgp2-product-photo { display: block; height: 82px; margin: 0 -14px 10px; overflow: hidden; background: linear-gradient(180deg, #f8fbfd 0%, #e6eef3 100%); border-bottom: 1px solid var(--sgp2-rule-soft); }
body.sgp2-body #sg-planner-workbench .sgp2-product-photo img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 6px 8px; mix-blend-mode: multiply; }

/* «Ecco la tua gabbia» in fondo, come l'illustrazione della scheda barretta */
body.sgp2-body #sg-planner-workbench .sgp2-result.sg-bp { margin: clamp(30px, 4vw, 48px) 0 0; padding: clamp(26px, 3.4vw, 40px) 0 0; background: none; border: 0; border-top: 1px solid var(--sgp2-rule); color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-result-head { max-width: 72ch; margin: 0 0 22px; }
body.sgp2-body #sg-planner-workbench .sgp2-result-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-areas: "scene detail"; gap: 18px; align-items: start; }
body.sgp2-body #sg-planner-workbench .sgp2-result-grid > .sg-bp-scene { grid-area: scene; }
body.sgp2-body #sg-planner-workbench .sgp2-result-grid > .sg-bp-detail { grid-area: detail; }
body.sgp2-body #sg-planner-workbench .sgp2-result .br-mk { display: none; }
body.sgp2-body #sg-planner-workbench .sgp2-result .sg-bp-scene { position: static; top: auto; }
body.sgp2-body #sg-planner-workbench .sgp2-result .sg-bp-detail { display: block; margin: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-result .sg-bp-detail figcaption { border-left: 0; border-top: 1px solid var(--bp-line, #c6d5df); padding: 14px 18px 16px; }
body.sgp2-body #sg-planner-workbench .sgp2-result .sg-bp-canvas { overflow: hidden; }
body.sgp2-body #sg-planner-workbench .sgp2-result .sg-bp-canvas svg { display: block; width: 100%; min-width: 0; height: auto; }
body.sgp2-body #sg-planner-workbench .sgp2-result figcaption strong { font-family: var(--sgp2-head); font-weight: 900; }
body.sgp2-body #sg-planner-workbench .sgp2-result figcaption span { color: var(--sgp2-soft); font-size: .92rem; line-height: 1.5; }
body.sgp2-body .sgp2-svg-src { display: none; }
@media (max-width: 860px) {
  body.sgp2-body #sg-planner-workbench .sgp2-result-grid { grid-template-columns: 1fr; grid-template-areas: "scene" "detail"; }
  }

/* riepilogo e avvertenza, come nella scheda barretta */
body.sgp2-body .sgp2-summary { display: grid; gap: 12px; margin: 6px 0 0; padding: 18px 20px; background: #fff; border: 1px solid var(--sgp2-rule); border-top: 3px solid var(--sgp2-accent); }
body.sgp2-body .sgp2-sum-model { margin: 4px 0 0; font-family: var(--sgp2-head); font-weight: 900; font-size: 1.08rem; line-height: 1.3; letter-spacing: -.012em; color: var(--sgp2-ink); }
body.sgp2-body .sgp2-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0; }
body.sgp2-body .sgp2-facts div { min-width: 0; }
body.sgp2-body .sgp2-facts dt { font: 600 .64rem var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body .sgp2-facts dd { margin: 3px 0 0; color: var(--sgp2-soft); font-size: .92rem; line-height: 1.4; overflow-wrap: anywhere; }
body.sgp2-body .sgp2-total { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "label value" "note note"; align-items: end; gap: 6px 14px; padding: 16px 0 14px; border-block: 1px solid var(--sgp2-rule-soft); }
body.sgp2-body .sgp2-total-label { grid-area: label; font: 600 .7rem var(--sgp2-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body .sgp2-total-value { grid-area: value; justify-self: end; font-family: var(--sgp2-head); font-weight: 900; font-size: clamp(2rem, 4.2vw, 2.7rem); line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--sgp2-ink); }
body.sgp2-body .sgp2-total-note { grid-area: note; color: var(--sgp2-muted); font-size: .82rem; line-height: 1.45; }
body.sgp2-body .sgp2-missing { margin: 0; padding: 10px 12px; background: #fff7e6; border-inline-start: 3px solid #e0a53a; font-size: .86rem; color: #6b4a12; }
body.sgp2-body .sgp2-actions { display: grid; gap: 8px; }
body.sgp2-body .sgp2-btn { display: block; width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid var(--sgp2-ink); border-radius: 0; background: #fff; color: var(--sgp2-ink); font: 700 1.02rem Karla, system-ui, sans-serif; text-align: center; cursor: pointer; }
body.sgp2-body .sgp2-btn:hover { background: var(--sgp2-panel); }
body.sgp2-body .sgp2-btn--primary { border-color: var(--sgp2-green); background: var(--sgp2-green); color: #fff; }
body.sgp2-body .sgp2-btn--primary:hover { border-color: var(--sgp2-green-dark); background: var(--sgp2-green-dark); }
body.sgp2-body .sgp2-notice { margin: 20px 0 0; padding: 14px 16px; background: var(--sgp2-panel); border-inline-start: 3px solid var(--sgp2-soft); font-size: .9rem; line-height: 1.5; color: var(--sgp2-soft); }
body.sgp2-body .sgp2-notice p { margin: 0; }
body.sgp2-body .sgp2-terms summary { margin-top: 4px; cursor: pointer; color: var(--sgp2-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
body.sgp2-body #sg-planner-workbench .sgp2-terms .planner-estimate-notice { margin: 10px 0 0; padding: 0; border: 0; background: none; box-shadow: none; font-size: .84rem; }
body.sgp2-body #sg-planner-workbench .sgp2-terms .planner-estimate-notice h2 { display: none; }

/* il disegno dell'impianto: illustrazione chiara come quella della barretta */
body.sgp2-body #sg-planner-workbench .sgp2-scene { margin: 0; padding: 0; overflow: hidden; background: #fff; border: 1px solid #c6d5df; border-radius: 0; box-shadow: none; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .stage-head,
body.sgp2-body #sg-planner-workbench .sgp2-scene .stage-foot,
body.sgp2-body #sg-planner-workbench .sgp2-scene .planner-drawing-note { display: none; }
body.sgp2-body #sg-planner-workbench .sgp2-wall-frame { position: relative; background: radial-gradient(120% 70% at 50% 0%, #fffaf0 0%, rgba(255, 250, 240, 0) 60%), linear-gradient(180deg, #f7fafc 0%, #e4edf3 100%); border-bottom: 1px solid #c6d5df; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .wall { min-height: 0; max-height: 64vh; padding: clamp(14px, 2vw, 24px) clamp(12px, 2vw, 22px) 44px; background: none; overflow: auto; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .wall svg { display: block; width: 100%; height: auto; max-height: 58vh; }
body.sgp2-body #sg-planner-workbench .sgp2-tag { position: absolute; bottom: 10px; padding: 3px 8px; background: rgba(255, 255, 255, .9); border: 1px solid #c6d5df; font: 600 .62rem var(--sgp2-mono); letter-spacing: .12em; text-transform: uppercase; color: #516574; }
body.sgp2-body #sg-planner-workbench .sgp2-tag--left { left: 12px; }
body.sgp2-body #sg-planner-workbench .sgp2-tag--right { right: 12px; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .divider-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 10px 18px 0; background: var(--sgp2-panel); border: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .divider-tools > p,
body.sgp2-body #sg-planner-workbench .sgp2-scene .divider-tools > small { display: none; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .divider-tools > #dividerStatus:not(:empty) { display: block; flex-basis: 100%; margin: 0; color: var(--sgp2-muted); font-size: .82rem; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .divider-actions { display: flex; flex-wrap: wrap; gap: 6px; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .divider-actions button { min-height: 32px; padding: 4px 10px; border: 1px solid var(--sgp2-rule); border-radius: 0; background: #fff; color: var(--sgp2-soft); font: 600 .78rem Karla, system-ui, sans-serif; cursor: pointer; }
body.sgp2-body #sg-planner-workbench .sgp2-caption { padding: 14px 18px 18px; background: var(--sgp2-panel); }
body.sgp2-body #sg-planner-workbench .sgp2-caption-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
body.sgp2-body #sg-planner-workbench .sgp2-caption-title { font-family: var(--sgp2-head); font-weight: 900; font-size: 1.02rem; letter-spacing: -.012em; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-caption-total { font-family: var(--sgp2-head); font-weight: 900; font-size: 1.45rem; letter-spacing: -.02em; color: var(--sgp2-ink); white-space: nowrap; }
body.sgp2-body #sg-planner-workbench .sgp2-caption-total small { font: 600 .64rem var(--sgp2-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench .sgp2-caption-text { margin: 6px 0 0; color: var(--sgp2-soft); font-size: .9rem; line-height: 1.5; }

/* colori chiari della scena (rete grigio-azzurra, luce calda, cavi neri) */
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-mesh { stroke: rgba(96, 124, 145, .42); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-mesh-soft { stroke: rgba(96, 124, 145, .2); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-frame { stroke: #6c8597; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-divider { stroke: #7d95a6; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-tray { fill: #ece2cc; stroke: #b9a477; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-cone { mix-blend-mode: multiply; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene .cone-strong,
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene.pro .cone-strong { stop-color: #ffe08a; stop-opacity: .62; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene .cone-fade,
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene.pro .cone-fade { stop-color: #fff3c7; stop-opacity: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-bar { stroke: #5b7383; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-led-white { fill: #fff6cf; stroke: #ffc94d; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-led-blue { fill: #5d9dff; stroke: #2f74d8; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-fixing-dot { fill: #33475a; stroke: #fff; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-cable { stroke: #1f2b34; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-cable.output-1,
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-output-lead.output-1 { stroke: #6f4fa3; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-power-plug,
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-psu-lead { stroke: #1f2b34; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-power-supply rect { fill: #fff; stroke: #7d95a6; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-power-supply text { fill: #12202a; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-power-supply .scene-power-input { fill: #33475a; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-controller { fill: #eef3f6; stroke: #7d95a6; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-controller-title { fill: #12202a; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-controller-image { filter: drop-shadow(0 10px 16px rgba(18, 32, 42, .22)); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-bird { opacity: 1; filter: drop-shadow(0 3px 3px rgba(18, 32, 42, .18)); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-bird-perch { stroke: #7a5a2e; stroke-width: 4; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-bar-label { fill: #12202a; stroke: rgba(255, 255, 255, .95); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-cable-label { fill: #0a5c8a; stroke: rgba(255, 255, 255, .95); }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-label { fill: #516574; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .scene-model-label { fill: #12202a; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .cage-divider-control:hover { fill: #0f7ab5; fill-opacity: .08; }

/* in fondo: anteprima grande, poi 3D e riepilogo affiancati */
body.sgp2-body #sg-planner-workbench .sgp2-preview { display: grid; gap: 18px; margin: clamp(40px, 5vw, 60px) 0 0; padding: clamp(28px, 3.6vw, 42px) 0 0; border-top: 1px solid var(--sgp2-rule); }
body.sgp2-body #sg-planner-workbench .sgp2-preview-head { max-width: 72ch; margin: 0 0 4px; }
body.sgp2-body #sg-planner-workbench .sgp2-preview-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr); gap: 18px; align-items: start; }
body.sgp2-body #sg-planner-workbench .sgp2-preview-side { display: grid; gap: 14px; }
body.sgp2-body #sg-planner-workbench .sgp2-preview-side .sgp2-summary,
body.sgp2-body #sg-planner-workbench .sgp2-preview-side .sgp2-notice { margin: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-3d { margin: 0; padding: 0; overflow: hidden; border: 1px solid #c6d5df; border-radius: 0; background: linear-gradient(180deg, #f7fafc 0%, #e4edf3 100%); box-shadow: none; }
body.sgp2-body #sg-planner-workbench .sgp2-3d > div:first-child,
body.sgp2-body #sg-planner-workbench .sgp2-3d .cage-3d-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; padding: 14px 18px 0; }
body.sgp2-body #sg-planner-workbench .sgp2-3d h2,
body.sgp2-body #sg-planner-workbench .sgp2-3d h3 { margin: 0; font-family: var(--sgp2-head); font-weight: 900; font-size: 1.04rem; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-3d .eyebrow { display: none; }
body.sgp2-body #sg-planner-workbench .sgp2-3d #cage3dStats { margin: 0; font: 500 .76rem var(--sgp2-mono); color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench .sgp2-3d canvas { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .wall { max-height: none; overflow: hidden; }
body.sgp2-body #sg-planner-workbench .sgp2-scene .wall svg { min-width: 0 !important; max-height: 72vh; margin: 0 auto; }

/* 5 · distinta, preventivo e 3D a tutta larghezza */
body.sgp2-body #sg-planner-workbench .sgp2-full { margin: clamp(30px, 4vw, 48px) 0 0; padding: clamp(26px, 3.4vw, 40px) 0 0; border-top: 1px solid var(--sgp2-rule); }
body.sgp2-body #sg-planner-workbench .sgp2-full .sgp2-step-head { max-width: 72ch; margin: 0 0 22px; }
body.sgp2-body #sg-planner-workbench .sgp2-full .result-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 28px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; position: static; }
body.sgp2-body #sg-planner-workbench .sgp2-full .result-panel > * { margin: 0; min-width: 0; }
body.sgp2-body #sg-planner-workbench .sgp2-full .result-panel > :not(.quote-toolbar):not(#plannerValidation) { grid-column: 1 / -1; }
@media screen {
  body.sgp2-body #sg-planner-workbench .sgp2-full .print-quote-head,
  body.sgp2-body #sg-planner-workbench .sgp2-full .result-hero,
  body.sgp2-body #sg-planner-workbench .sgp2-full .result-list { display: none; }
}
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; align-content: start; padding: 18px; border: 1px solid var(--sgp2-rule); border-top: 3px solid var(--sgp2-accent); background: #fff; }
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar label { display: grid; gap: 6px; font: 600 .66rem var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar .wide-field,
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar > p { grid-column: 1 / -1; }
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar input,
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar textarea { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--sgp2-rule); border-radius: 0; background: #fff; font: 500 1rem Karla, system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: var(--sgp2-ink); }
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-print-button { width: 100%; min-height: 50px; padding: 12px 18px; border: 0; border-radius: 0; background: var(--sgp2-green); color: #fff; font: 700 1.02rem Karla, system-ui, sans-serif; cursor: pointer; }
body.sgp2-body #sg-planner-workbench .sgp2-full .quote-print-button:hover { background: var(--sgp2-green-dark); }
body.sgp2-body #sg-planner-workbench .sgp2-full #plannerValidation { align-self: start; }
body.sgp2-body #sg-planner-workbench .sgp2-full .cage-3d-card { padding: 18px; border: 1px solid #c6d5df; border-radius: 0; background: linear-gradient(180deg, #f7fafc 0%, #e4edf3 100%); box-shadow: none; }
body.sgp2-body #sg-planner-workbench .sgp2-full .cage-3d-card canvas { display: block; width: 100% !important; height: auto; min-height: 380px; }
body.sgp2-body #sg-planner-workbench .sgp2-full .bom-table { border: 1px solid var(--sgp2-rule); }
body.sgp2-body .sgp2-commerce { margin: 22px 0 0; padding: 18px 20px; border: 1px solid var(--sgp2-rule); background: var(--sgp2-panel); }
body.sgp2-body .sgp2-commerce h3 { margin: 0 0 6px; font-family: var(--sgp2-head); font-weight: 900; font-size: 1.08rem; color: var(--sgp2-ink); }
body.sgp2-body .sgp2-commerce p { margin: 0 0 12px; color: var(--sgp2-soft); font-size: .92rem; }
body.sgp2-body .sgp2-commerce button { min-height: 46px; padding: 10px 16px; border: 1px solid var(--sgp2-ink); border-radius: 0; background: #fff; color: var(--sgp2-ink); font: 700 .98rem Karla, system-ui, sans-serif; cursor: pointer; }
body.sgp2-body .sgp2-commerce button:disabled { opacity: .45; cursor: not-allowed; }

/* barra del totale: compare mentre si sceglie, sparisce quando l'anteprima è a vista */
body.sgp2-body .sgp2-mbar { position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; gap: 12px 24px; padding: 10px max(16px, calc((100vw - 1100px) / 2)) calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); border-top: 1px solid var(--sgp2-rule); box-shadow: 0 -8px 24px rgba(18, 32, 42, .08); transform: translateY(110%); transition: transform .2s ease; }
body.sgp2-body .sgp2-mbar.is-on { transform: none; }
body.sgp2-body .sgp2-mbar span { display: grid; margin-inline-end: auto; }
body.sgp2-body .sgp2-mbar small { font: 600 .62rem var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body .sgp2-mbar b { font-family: var(--sgp2-head); font-weight: 900; font-size: 1.4rem; color: var(--sgp2-ink); }
body.sgp2-body .sgp2-mbar .sgp2-btn { width: auto; min-height: 44px; }
/* foto delle barrette: la barretta è bianca, quindi va su un fondo scuro da vetrina */
body.sgp2-body #sg-planner-workbench .sgp2-card-media--series,
body.sgp2-body #sg-planner-workbench .sgp2-product-photo { background: radial-gradient(120% 90% at 50% 0%, #34586f 0%, #1a3245 70%, #142838 100%); }
body.sgp2-body #sg-planner-workbench .sgp2-card-media--series img,
body.sgp2-body #sg-planner-workbench .sgp2-product-photo img { mix-blend-mode: normal; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .45)); }
body.sgp2-body #sg-planner-workbench .sgp2-card-media--series img { padding: 22px 16px; }
body.sgp2-body #sg-planner-workbench .sgp2-product-photo img { padding: 10px 10px; }
body.sgp2-body #sg-planner-workbench .sgp2-card[aria-pressed="true"] .sgp2-card-media--series { border-bottom-color: var(--sgp2-accent); }
body.sgp2-body #sg-planner-workbench [hidden] { display: none !important; }

/* batteria mista: una casella per colonna, larga in proporzione alla misura */
body.sgp2-body #sg-planner-workbench .sgp2-mixed { display: grid; gap: 10px; grid-column: 1 / -1; padding: 16px; background: #f7fafc; border: 1px dashed #b9cad6; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-label { font: 600 .68rem/1.3 var(--sgp2-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-cols { display: flex; flex-wrap: wrap; gap: 6px; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-col { position: relative; display: grid; gap: 6px; flex: 1 1 0; min-width: 104px; padding: 10px 10px 12px; background: #fffaf0; border: 1.5px solid #6c8597; border-top: 5px solid #ffc642; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-n { font: 600 .62rem/1.2 var(--sgp2-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--sgp2-muted); }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-field { display: flex; align-items: center; gap: 6px; font: 600 .9rem Karla, system-ui, sans-serif; color: var(--sgp2-soft); }
body.sgp2-body #sg-planner-workbench #configForm .sgp2-mixed-field input[type="number"] { width: 100%; min-width: 0; min-height: 40px; padding: 6px 8px; text-align: center; font-weight: 700; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-remove { position: absolute; top: 4px; inset-inline-end: 4px; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--sgp2-muted); font: 700 1.1rem/1 Karla, system-ui, sans-serif; cursor: pointer; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-remove:hover { background: #fde8e6; color: #b3261e; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-remove:disabled { visibility: hidden; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-add { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-add span { margin-inline-end: 4px; font-size: .92rem; color: var(--sgp2-soft); }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-btn { min-height: 38px; padding: 6px 12px; border: 1px solid var(--sgp2-accent); border-radius: 0; background: #fff; color: var(--sgp2-accent-ink); font: 700 .9rem Karla, system-ui, sans-serif; cursor: pointer; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-btn:hover { background: #eef6fb; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed-btn:disabled { opacity: .45; cursor: not-allowed; }
body.sgp2-body #sg-planner-workbench .sgp2-mixed small { margin: 0; }

@media (max-width: 980px) {
  body.sgp2-body #sg-planner-workbench .sgp2-box { grid-template-columns: minmax(0, 1fr); }
  body.sgp2-body #sg-planner-workbench .sgp2-box-head { border-inline-end: 0; border-bottom: 1px solid #dbe4ea; padding: 18px 18px 16px; }
  body.sgp2-body #sg-planner-workbench .sgp2-box-pick { margin-top: 4px; }
  body.sgp2-body #sg-planner-workbench .sgp2-box-body { padding: 18px; }
  body.sgp2-body #sg-planner-workbench .sgp2-preview-row { grid-template-columns: minmax(0, 1fr); }
  body.sgp2-body #sg-planner-workbench .sgp2-full .result-panel { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  body.sgp2-body .sgp2-config { padding: 18px 14px 26px; border-left: 0; border-right: 0; }
  body.sgp2-body #sg-planner-workbench .sgp2-help { margin-inline-start: 0; }
  body.sgp2-body #sg-planner-workbench .sgp2-box-head { padding: 16px; }
  body.sgp2-body #sg-planner-workbench .sgp2-box-body { padding: 14px; }
  body.sgp2-body #sg-planner-workbench .sgp2-box[data-box$="size"] .sgp2-box-body,
  body.sgp2-body #sg-planner-workbench .sgp2-box[data-box="b-bar"] .sgp2-box-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.sgp2-body #sg-planner-workbench .sgp2-box[data-box$="split"] .sgp2-box-body { grid-template-columns: minmax(0, 1fr); }
  /* su telefono le schede tornano in riga: immagine a sinistra, testo a destra */
  body.sgp2-body #sg-planner-workbench .sgp2-cards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  body.sgp2-body #sg-planner-workbench .sgp2-card { display: grid; grid-template-columns: 104px minmax(0, 1fr); }
  body.sgp2-body #sg-planner-workbench .sgp2-card-media,
  body.sgp2-body #sg-planner-workbench .sgp2-card-icon { width: 104px; height: 100%; min-height: 92px; border-bottom: 0; border-inline-end: 1px solid var(--sgp2-rule-soft); }
  body.sgp2-body #sg-planner-workbench .sgp2-card.no-icon { grid-template-columns: minmax(0, 1fr); }
  body.sgp2-body #sg-planner-workbench .sgp2-card-body { padding: 12px 14px; padding-inline-end: 40px; }
  body.sgp2-body #sg-planner-workbench .sgp2-card::after { top: 8px; inset-inline-end: 8px; width: 22px; height: 22px; }
  body.sgp2-body #sg-planner-workbench .planner-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body.sgp2-body #sg-planner-workbench .sgp2-full .quote-toolbar { grid-template-columns: 1fr; }
}

/* preventivo PDF: il motore mostra solo il documento */
body.sgp2-body.quote-document-mode .sgp2-head,
body.sgp2-body.quote-document-mode .sg-header,
body.sgp2-body.quote-document-mode header.site-header,
body.sgp2-body.quote-document-mode footer,
body.sgp2-body.quote-document-mode .sgp2-mbar,
body.sgp2-body.quote-document-mode .sg-language-bar,
body.sgp2-body.quote-document-mode #cmplz-cookiebanner-container { display: none !important; }
body.sgp2-body.quote-document-mode .sgp2-config { padding: 0; border: 0; }
/* miniature del supporto: senza numeri né quote */
body.sgp2-body #sg-planner-workbench .sgp2-thumb-svg { --pf-hi: #fff; --pf-mid: #eef0ef; --pf-low: #c4cbce; --pf-edge: #fff; --pf-line: #66798a; --cap-f: #f3f3ee; --cap-s: #cfd3d0; --cv-fill: rgba(255,255,255,.16); --cv-led: 1; --cv-strip: rgba(255,255,255,.22); --ray: 1; --cone: 1; }
body.sgp2-body #sg-planner-workbench .sgp2-thumb-svg .br-mk,
body.sgp2-body #sg-planner-workbench .sgp2-thumb-svg .br-dim,
body.sgp2-body #sg-planner-workbench .sgp2-thumb-svg text { display: none; }

@media print {
  body.sgp2-body .sgp2-head, body.sgp2-body .sg-header, body.sgp2-body footer, body.sgp2-body .sgp2-mbar { display: none !important; }
}
