.config-product--request {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-left: 5px solid #0756d8;
}
.config-product--request .button { flex: 0 0 auto; }
.config-badge {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e9f2ff;
  color: #0649b8;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.config-request { border-top: 5px solid #0756d8; }
.config-request__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.config-request__head h2 { margin: .25em 0; }
.config-close {
  border: 0;
  background: #edf2f8;
  color: #071a3d;
  border-radius: 999px;
  width: 40px;
  height: 40px;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}
.config-request fieldset {
  border: 0;
  padding: 20px 0;
  margin: 0;
  border-top: 1px solid #e4eaf2;
}
.config-request legend {
  font-size: 1.08rem;
  font-weight: 800;
  padding: 0 0 12px;
}
.config-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.config-contact select {
  padding: 11px;
  border: 1px solid #bac7d8;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}
.config-request [role="status"]:not(:empty) {
  margin-top: 16px;
  padding: 12px;
  border-radius: 8px;
  background: #e9f2ff;
  font-weight: 700;
}
@media (max-width: 760px) {
  .config-product--request { align-items: stretch; flex-direction: column; }
  .config-grid--three { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .config-grid--three { grid-template-columns: 1fr; }
}

.config-policy{margin:.75rem 0 0;color:#475569;font-size:.92rem;line-height:1.45}.config-controls label small{display:block;margin-top:.35rem;color:#64748b}


/* v16.2.2 — dialog per configurazioni su richiesta */
body.modal-open{overflow:hidden}
.config-modal[hidden]{display:none}
.config-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.config-modal__backdrop{position:absolute;inset:0;background:rgba(4,18,45,.66);backdrop-filter:blur(3px)}
.config-modal__dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:18px;padding:32px;box-shadow:0 24px 80px rgba(2,14,38,.28)}
.config-modal__dialog h2{margin:.35rem 0 .75rem;color:#071a3d;font-size:clamp(1.55rem,3vw,2rem);line-height:1.12}
.config-modal__dialog>p{color:#52627a;line-height:1.55}
.config-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:999px;background:#edf2f8;color:#071a3d;font-size:1.55rem;cursor:pointer}
.config-modal__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.config-modal__form{margin-top:24px;padding-top:22px;border-top:1px solid #e3eaf4}
.config-modal__form [role="status"]:not(:empty){margin-top:14px;padding:12px;border-radius:9px;font-weight:700}
.config-modal__form [role="status"].success{background:#e9f8ef;color:#17643a}
.config-modal__form [role="status"].error{background:#fff0ee;color:#a12b1f}
@media(max-width:600px){.config-modal{padding:12px}.config-modal__dialog{padding:26px 20px 22px;border-radius:15px}.config-modal__actions{flex-direction:column}.config-modal__actions .button{width:100%}}

/* v16.2.4 — rifinitura allineamento campi modale valutazione */
.config-modal__form .config-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 20px;
  align-items:start;
}
.config-modal__form .config-grid label{
  display:grid;
  grid-template-rows:auto 46px;
  gap:7px;
  min-width:0;
  font-weight:700;
  color:#15243d;
}
.config-modal__form .config-grid input{
  display:block;
  width:100%;
  min-width:0;
  height:46px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #bac7d8;
  border-radius:8px;
  background:#fff;
  color:#071a3d;
  font:inherit;
}
.config-modal__form .config-grid input:focus{
  outline:3px solid rgba(7,86,216,.14);
  border-color:#0756d8;
}
@media(max-width:600px){
  .config-modal__form .config-grid{grid-template-columns:1fr;gap:14px}
}

/* v16.3 Assessment */
.assessment-progress{margin:1.5rem 0 2rem;display:grid;gap:.6rem}.assessment-progress>div{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.assessment-progress progress{width:100%;height:10px}.assessment-step{display:none;min-height:250px}.assessment-step.is-active{display:block}.assessment-step h3{font-size:clamp(1.35rem,2vw,1.8rem);margin-bottom:1.2rem}.assessment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assessment-choices label{border:1px solid #d8e1ef;border-radius:14px;padding:16px;background:#fff;cursor:pointer}.assessment-choices label:has(input:checked){border-color:#0756d8;box-shadow:0 0 0 2px rgba(7,86,216,.12)}.assessment-nav{display:flex;justify-content:space-between;gap:12px;margin-top:1.5rem}.assessment-summary-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:1rem 0 1.5rem}.assessment-summary-data p{margin:0;padding:12px 14px;border-radius:12px;background:#f5f8fc;display:flex;justify-content:space-between;gap:12px}.assessment-summary-data span{text-align:right}@media(max-width:720px){.assessment-choices,.assessment-summary-data{grid-template-columns:1fr}.assessment-nav{flex-direction:column-reverse}.assessment-nav .button{width:100%}}
