
#devis .tz-q-config{border:1px solid #e9dff0;border-radius:18px;padding:24px;background:linear-gradient(135deg,#fff,#fdfaff 60%,#fff9f5);margin:0 0 28px;display:grid;gap:20px}
.tz-q-config-head h3{font-size:23px;letter-spacing:-.035em;color:#2b1e39;margin:8px 0}.tz-q-config-head p{font-size:13px;line-height:1.65;color:#716779;margin:0}.tz-q-eyebrow{font-size:10px;letter-spacing:.1em;font-weight:850;color:#9744ad}
.tz-q-field{display:grid;gap:9px}.tz-q-field>label{font-size:12px;font-weight:750;color:#3b2c48}.tz-q-field select{width:100%;max-width:100%;padding:13px 12px;background:white;color:#3a2b46;border:1px solid #e0d5e9;border-radius:10px;font:inherit;font-size:12px;min-width:0}
.tz-q-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.tz-q-options{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 15px}.tz-q-options legend{font-size:12px;font-weight:750;color:#3b2c48;margin-bottom:12px}.tz-q-options label{font-size:12px;line-height:1.4;color:#594d63;display:flex;align-items:flex-start;gap:8px;cursor:pointer}.tz-q-options input{accent-color:#a23ba6;flex:none;margin-top:2px}
.tz-q-recap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid #e4d6ec;border-radius:13px;background:white}.tz-q-recap>div:first-child{min-width:0}.tz-q-recap span{display:block;font-size:10px;letter-spacing:.06em;color:#957ca3;font-weight:750}.tz-q-recap strong{display:block;font-size:15px;color:#382542;margin-top:5px}.tz-q-recap p{font-size:12px;color:#766980;margin:7px 0}.tz-q-recap small{display:block;color:#6b5d74;line-height:1.5}.tz-q-recap-price{text-align:right;min-width:110px;border-left:1px solid #ece4f1;padding-left:15px}.tz-q-recap-price strong{font-size:17px;color:#a3449c}.tz-q-recap-price span{font-size:10px;letter-spacing:normal;line-height:1.5;margin-top:6px}
@media(max-width:680px){#devis .tz-q-config{padding:16px}.tz-q-grid,.tz-q-options{grid-template-columns:1fr}.tz-q-recap{flex-direction:column;align-items:stretch}.tz-q-recap-price{border-left:0;border-top:1px solid #ece4f1;padding:12px 0 0;text-align:left}}

.tz-q-options-hint{grid-column:1/-1;margin:-6px 0 3px;font-size:12px;color:#766b80}
#tz-q-dedicated-wrap[hidden]{display:none!important}

/* Formulaire de devis adaptatif V46.8 */
#tz-q-config [hidden],#tz-q-devices-field[hidden],#tz-q-setup-field[hidden]{display:none!important}
.tz-q-choice{border:0;padding:0;margin:20px 0;display:grid;gap:10px;min-width:0}
.tz-q-choice legend{font-weight:700;margin-bottom:12px;color:#3b2c49;font-size:14px}
.tz-q-choice label{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #e8d8ef;border-radius:12px;background:#fff;cursor:pointer;font-size:14px;color:#3e3347;line-height:1.45}
.tz-q-choice label:has(input:checked){border-color:#ad76c9;background:#faf4fc;box-shadow:0 0 0 1px #e9d8f0}
.tz-q-choice input{accent-color:#8e52ac;flex-shrink:0}
#tz-q-project-section,#tz-q-advice-section{margin-top:18px}
#tz-q-project-section .tz-q-field,#tz-q-advice-section .tz-q-field{margin-top:18px}
#tz-q-project-section textarea,#tz-q-advice-section textarea{width:100%;box-sizing:border-box;min-height:110px;border:1px solid #e2d5eb;border-radius:12px;padding:12px;font:inherit;background:white;color:#332b3b}


/* TZ ONE V46.10 — formulaire de devis : mise en forme premium */
#devis .tz-q-config {
  background: linear-gradient(145deg,#ffffff 0%,#fdfbff 58%,#fffaf7 100%);
  border: 1px solid #eae3f0;
  border-radius: 24px;
  padding: clamp(20px,4vw,34px);
  gap: 0;
  box-shadow: 0 18px 48px rgba(64,32,84,.055);
}
#devis .tz-q-config-head {
  padding-bottom: 23px;
  border-bottom: 1px solid #eee8f1;
}
#devis .tz-q-config-head h3 {
  font-size: clamp(22px,3vw,28px);
  line-height: 1.2;
  margin: 10px 0;
}
#devis .tz-q-config-head p { max-width: 540px; font-size: 13px; }
#devis .tz-q-choice { margin: 23px 0 24px; gap: 10px; }
#devis .tz-q-choice legend,
#devis .tz-q-options legend,
#devis .tz-q-field > label {
  font-size: 13px;
  font-weight: 800;
  color: #362840;
}
#devis .tz-q-choice legend { margin-bottom: 14px; }
#devis .tz-q-choice label {
  border: 1px solid #e8dfed;
  background: #fff;
  padding: 15px 17px;
  border-radius: 14px;
  font-size: 13px;
  min-height: 53px;
  box-shadow: 0 2px 7px rgba(56,30,72,.025);
  transition: border-color .18s, background .18s, box-shadow .18s, transform .18s;
}
#devis .tz-q-choice label:hover {
  border-color: #c8a6d7;
  background: #fffcff;
  transform: translateY(-1px);
}
#devis .tz-q-choice label:has(input:checked) {
  border-color: #ad79c1;
  background: linear-gradient(105deg,#fbf5ff,#fffaf8);
  box-shadow: inset 3px 0 #a34fac, 0 4px 15px rgba(100,48,126,.065);
}
#devis .tz-q-choice input { width: 17px; height: 17px; }
#devis #tz-q-support-section,
#devis #tz-q-project-section,
#devis #tz-q-dsi-section,
#devis #tz-q-advice-section {
  display: grid;
  gap: 24px;
  padding: 24px 0 28px;
  border-top: 1px solid #eee8f1;
}
#devis #tz-q-support-section[hidden],
#devis #tz-q-project-section[hidden],
#devis #tz-q-dsi-section[hidden],
#devis #tz-q-advice-section[hidden] { display:none!important; }
#devis .tz-q-field { gap: 10px; }
#devis .tz-q-field select,
#devis .tz-q-field textarea {
  border: 1px solid #e5daec;
  border-radius: 12px;
  background: #fff;
  min-height: 49px;
  padding: 13px 15px;
  font-size: 13px;
  box-shadow: 0 2px 5px rgba(45,20,65,.02);
}
#devis .tz-q-field select:focus,
#devis .tz-q-field textarea:focus {
  outline: 3px solid rgba(159,85,185,.13);
  border-color: #a976be;
}
#devis .tz-q-options {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
#devis .tz-q-options legend { margin-bottom: 10px; }
#devis .tz-q-options-hint {
  font-size: 12px;
  color: #8a7c91;
  margin: -3px 0 5px;
}
#devis .tz-q-options label {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 62px;
  padding: 13px 14px;
  border: 1px solid #eae3ed;
  border-radius: 13px;
  background: #fff;
  color: #55475e;
  font-size: 12.5px;
  line-height: 1.5;
  transition: border-color .18s, background .18s, box-shadow .18s;
}
#devis .tz-q-options label:hover {
  border-color: #cbb0d8;
  background: #fefbff;
}
#devis .tz-q-options label:has(input:checked) {
  border-color: #ba8acb;
  background: #faf4fd;
  box-shadow: inset 3px 0 #a456ae;
  color: #392344;
}
#devis .tz-q-options input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #9d55b3;
}
#devis .tz-q-recap {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid #e6d7ed;
  border-radius: 17px;
  background: linear-gradient(112deg,#faf6ff 0%,#fff 62%,#fff9f6 100%);
  gap: 20px;
  box-shadow: 0 5px 18px rgba(72,35,90,.035);
}
#devis .tz-q-recap:before {
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#e8a56d,#d784ad,#9c75c9);
}
#devis .tz-q-recap > div:first-child { flex:1; }
#devis .tz-q-recap strong { font-size:16px; line-height:1.35; }
#devis .tz-q-recap p { line-height:1.55; }
#devis .tz-q-recap-price { min-width:120px; }
#devis .tz-q-recap-price strong { color:#95469f; font-size:17px; }
#devis .tz-q-recap-price span { color:#85718f; }
@media(max-width:680px) {
  #devis .tz-q-options { grid-template-columns:1fr; }
  #devis .tz-q-options label { min-height:52px; }
  #devis .tz-q-recap { flex-direction:column; align-items:stretch; }
  #devis .tz-q-recap-price {
    border-left:0; border-top:1px solid #eae0ee;
    padding:13px 0 0; text-align:left;
  }
}
@media(prefers-reduced-motion:reduce) {
  #devis .tz-q-choice label,#devis .tz-q-options label {transition:none;transform:none!important;}
}

/* V46.11 : clarté de la deuxième étape et champs conditionnels */
#tz-q-devices-field[hidden],#tz-q-setup-field[hidden]{display:none!important}
.quote-step:has(+ .quote-fields) span{line-height:1.4}
#quote-form .quote-field textarea{min-height:108px}

/* V46.12: support-specific environment belongs to the support route */
#devis .tz-q-support-basics{margin:0 0 8px}
#devis .tz-q-support-basics > .tz-q-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#devis .tz-q-support-basics label.quote-field{display:flex;flex-direction:column;gap:10px;margin:0;min-width:0}
#devis .tz-q-support-basics input,#devis .tz-q-support-basics select{width:100%;max-width:100%;box-sizing:border-box;min-height:49px;border:1px solid #e5daec;border-radius:12px;padding:12px 14px;background:white;font:inherit}
#devis .tz-q-support-basics input:focus,#devis .tz-q-support-basics select:focus{outline:3px solid rgba(159,85,185,.13);border-color:#a976be}
@media(max-width:680px){#devis .tz-q-support-basics > .tz-q-field{grid-template-columns:1fr}}
