.qsd-form-wrap {
  --qsd-accent: #8bc53f;
  --qsd-accent-dark: #74ad19;
  --qsd-accent-soft: #eef7dc;
  --qsd-ink: #0c1126;
  --qsd-muted: #5d6478;
  --qsd-surface: #ffffff;
  --qsd-page: transparent;
  --qsd-border: #dde4d2;
  --qsd-danger-bg: #fdecec;
  --qsd-danger-ink: #7d1f1f;
  --qsd-success-bg: #edf7ed;
  --qsd-success-ink: #1d5b27;
  --qsd-shadow: none;
  --qsd-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --qsd-body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --qsd-button-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --qsd-button-bg: var(--qsd-accent);
  --qsd-button-text: #ffffff;
  --qsd-button-shadow: transparent;
  --qsd-focus-ring: rgba(139, 197, 63, 0.16);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  color: var(--qsd-ink);
  font-family: var(--qsd-body-font);
}

.qsd-form-wrap,
.qsd-form-wrap * {
  box-sizing: border-box;
}

.qsd-form-wrap button,
.qsd-form-wrap input,
.qsd-form-wrap select,
.qsd-form-wrap textarea {
  font: inherit;
}

.qsd-form-wrap h1,
.qsd-form-wrap h2,
.qsd-form-wrap h3,
.qsd-form-wrap h4,
.qsd-form-wrap h5,
.qsd-form-wrap h6,
.qsd-form-wrap strong,
.qsd-form-wrap label {
  font-family: var(--qsd-heading-font);
}

.qsd-form-wrap p,
.qsd-form-wrap small,
.qsd-form-wrap em,
.qsd-form-wrap span,
.qsd-form-wrap li {
  font-family: var(--qsd-body-font);
}

.qsd-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .85fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
}

.qsd-hero > :first-child {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.qsd-hero-title {
  margin: 0 0 8px;
  color: var(--qsd-ink);
  font-family: var(--qsd-heading-font);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.qsd-intro {
  margin: 0;
  max-width: 760px;
  color: var(--qsd-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.qsd-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.qsd-step-pill {
  min-height: 58px;
  font-family: var(--qsd-button-font);
  padding: 12px 16px;
  border: 1px solid var(--qsd-border);
  border-radius: 999px;
  background: var(--qsd-surface);
  color: var(--qsd-ink);
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.qsd-step-pill:hover,
.qsd-step-pill:focus {
  border-color: var(--qsd-accent);
}

.qsd-step-pill.is-active {
  border-color: var(--qsd-ink);
  background: var(--qsd-ink);
  color: #fff;
}

.qsd-alert,
.qsd-step-error {
  padding: 16px 18px;
  margin-bottom: 20px;
  border-radius: 16px;
  border: 1px solid transparent;
}

.qsd-alert p {
  margin: 0;
}

.qsd-alert-success {
  background: var(--qsd-success-bg);
  color: var(--qsd-success-ink);
  border-color: rgba(29, 91, 39, 0.12);
}

.qsd-alert-error,
.qsd-step-error {
  background: var(--qsd-danger-bg);
  color: var(--qsd-danger-ink);
  border-color: rgba(125, 31, 31, 0.12);
}

.qsd-form {
  display: grid;
  gap: 24px;
}

.qsd-step-panel {
  display: grid;
  gap: 24px;
}

.qsd-step-panel[data-step="1"] {
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, 0.82fr);
  align-items: start;
}

.qsd-card,
.qsd-field,
.qsd-fieldset,
.qsd-section,
.qsd-summary-box,
.qsd-time-notice {
  background: var(--qsd-surface);
  border: 1px solid var(--qsd-border);
  border-radius: 20px;
}

.qsd-card {
  padding: 24px;
  box-shadow: none;
}

.qsd-sticky-summary {
  position: sticky;
  top: 18px;
  background: var(--qsd-ink);
  color: #fff;
  border-color: var(--qsd-ink);
}

.qsd-sticky-summary .qsd-card-header h3,
.qsd-sticky-summary .qsd-summary-line strong,
.qsd-sticky-summary .qsd-total-box strong {
  color: #fff;
}

.qsd-sticky-summary .qsd-summary-line span,
.qsd-sticky-summary .qsd-total-box span,
.qsd-sticky-summary .qsd-card-header p,
.qsd-sticky-summary .qsd-summary-line small,
.qsd-sticky-summary .qsd-time-notice-intro,
.qsd-sticky-summary .qsd-time-rate span {
  color: rgba(255, 255, 255, 0.78);
}

.qsd-card-header {
  margin-bottom: 20px;
}

.qsd-card-header h3 {
  margin: 0 0 8px;
  color: var(--qsd-ink);
  font-family: var(--qsd-heading-font);
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.qsd-card-header p,
.qsd-help-text {
  margin: 0;
  color: var(--qsd-muted);
  font-family: var(--qsd-body-font);
  line-height: 1.6;
}

.qsd-grid {
  display: grid;
  gap: 16px;
}

.qsd-grid-2,
.qsd-confirm-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.qsd-span-2 {
  grid-column: span 2;
}

.qsd-field,
.qsd-fieldset,
.qsd-section {
  padding: 16px;
}

.qsd-summary-box,
.qsd-time-notice {
  padding: 0;
  border: 0;
  background: transparent;
}

.qsd-field {
  background: transparent;
}

.qsd-field label,
.qsd-section h4 {
  display: block;
  margin-bottom: 8px;
  color: var(--qsd-ink);
  font-family: var(--qsd-heading-font);
  font-weight: 800;
}

.qsd-field input {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid var(--qsd-border);
  border-radius: 14px;
  background: #fff;
  color: var(--qsd-ink);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.qsd-field input:focus,
.qsd-kind-switch input:focus + span,
.qsd-item input:focus + span,
.qsd-category-card input:focus + span,
.qsd-step-pill:focus {
  outline: none;
  border-color: var(--qsd-accent);
  box-shadow: 0 0 0 4px var(--qsd-focus-ring);
}

.qsd-kind-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}

.qsd-kind-switch legend {
  width: 100%;
  margin-bottom: 6px;
  color: var(--qsd-ink);
  font-weight: 800;
}

.qsd-kind-switch label,
.qsd-category-card,
.qsd-item {
  position: relative;
  display: block;
}

.qsd-kind-switch input,
.qsd-category-card input,
.qsd-item input {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.qsd-kind-switch span,
.qsd-category-card span,
.qsd-item > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 84px;
  padding: 18px;
  border: 1px solid var(--qsd-border);
  border-radius: 16px;
  background: #fff;
  color: var(--qsd-ink);
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.qsd-item > span {
  justify-content: space-between;
  align-items: flex-start;
  min-height: 110px;
  text-align: left;
}

.qsd-kind-switch span {
  align-items: center;
  min-height: 56px;
  text-align: center;
  font-weight: 800;
}

.qsd-kind-switch label:hover span,
.qsd-category-card:hover span,
.qsd-item:hover > span {
  border-color: var(--qsd-accent);
}

.qsd-kind-switch input:checked + span,
.qsd-category-card input:checked + span,
.qsd-item input:checked + span {
  border-color: var(--qsd-ink);
  background: var(--qsd-ink);
  color: #fff;
}

.qsd-kind-switch input:checked + span::after,
.qsd-category-card input:checked + span::after,
.qsd-item input:checked + span::after {
  display: none;
}

.qsd-kind-switch input:checked + span .qsd-item-badge,
.qsd-category-card input:checked + span .qsd-item-badge,
.qsd-item input:checked + span .qsd-item-badge,
.qsd-kind-switch input:checked + span small,
.qsd-category-card input:checked + span small,
.qsd-item input:checked + span small,
.qsd-kind-switch input:checked + span strong,
.qsd-category-card input:checked + span strong,
.qsd-item input:checked + span strong {
  color: #fff;
}

.qsd-section + .qsd-section {
  margin-top: 16px;
}

.qsd-section h4 {
  margin: 0 0 14px;
  font-size: 1.06rem;
}

.qsd-empty-state {
  margin: 14px 0 0;
  padding: 14px 16px;
  border: 1px dashed var(--qsd-border);
  border-radius: 14px;
  background: transparent;
  color: var(--qsd-muted);
}

.qsd-categories,
.qsd-items {
  display: grid;
  gap: 14px;
}

.qsd-categories {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.qsd-items-services,
.qsd-items-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.qsd-category-card span {
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  font-weight: 800;
  font-size: 1.02rem;
}

.qsd-category-card span::before {
  display: none;
}

.qsd-item-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--qsd-muted);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: normal;
}

.qsd-item strong {
  font-size: 1.04rem;
  line-height: 1.28;
  letter-spacing: -0.01em;
}

.qsd-item small:last-child {
  display: inline-block;
  width: auto;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: .94rem;
  font-weight: 700;
  opacity: 1;
}

.qsd-summary-box {
  display: grid;
  gap: 14px;
}

.qsd-summary-line,
.qsd-total-box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.qsd-summary-line span,
.qsd-total-box span {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.qsd-summary-line strong,
.qsd-total-box strong {
  color: var(--qsd-ink);
  font-size: 1rem;
}

.qsd-summary-line small {
  color: var(--qsd-muted);
}

.qsd-total-box {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 1.08rem;
}

.qsd-total-box strong {
  font-size: 2rem;
  line-height: 1;
}

.qsd-time-notice {
  margin-top: 20px;
}

.qsd-time-notice-intro {
  margin: 0 0 12px;
  color: var(--qsd-muted);
}

.qsd-time-inline-rates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.qsd-time-rate {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.qsd-time-rate strong,
.qsd-time-rate span,
.qsd-time-rate em {
  display: block;
}

.qsd-time-rate strong {
  color: inherit;
}

.qsd-time-rate span {
  margin-top: 4px;
  color: inherit;
}

.qsd-time-rate em {
  margin-top: 4px;
  font-style: normal;
  font-weight: 700;
  color: inherit;
}

.qsd-confirm-grid .qsd-summary-box,
.qsd-card-contact .qsd-grid {
  gap: 18px;
}

.qsd-step-actions {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 24px;
}

.qsd-next,
.qsd-prev,
.qsd-submit {
  appearance: none;
  font-family: var(--qsd-button-font);
  min-height: 56px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.qsd-prev {
  background: #fff;
  color: var(--qsd-ink);
  border-color: var(--qsd-border);
}

.qsd-prev:hover,
.qsd-prev:focus {
  border-color: var(--qsd-accent);
}

.qsd-next,
.qsd-submit {
  background: var(--qsd-button-bg);
  color: var(--qsd-button-text);
  box-shadow: none;
}

.qsd-next:hover,
.qsd-submit:hover,
.qsd-next:focus,
.qsd-submit:focus {
  filter: brightness(.96);
}

.qsd-next-primary {
  width: 100%;
}

.qsd-submit {
  min-width: 280px;
}

.qsd-hp {
  position: absolute !important;
  left: -9999px !important;
}

.qsd-form-wrap a {
  color: var(--qsd-accent-dark);
}

.qsd-intro,
.qsd-time-notice-intro,
.qsd-empty-state,
.qsd-summary-line small,
.qsd-time-rate span,
.qsd-card-header p,
.qsd-help-text {
  color: var(--qsd-muted);
}

@media (max-width: 1080px) {
  .qsd-hero,
  .qsd-step-panel[data-step="1"] {
    grid-template-columns: 1fr;
  }

  .qsd-sticky-summary {
    position: static;
  }
}

@media (max-width: 900px) {
  .qsd-hero,
  .qsd-step-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .qsd-grid-2,
  .qsd-confirm-grid,
  .qsd-categories,
  .qsd-items-services,
  .qsd-items-options,
  .qsd-time-inline-rates,
  .qsd-steps,
  .qsd-kind-switch {
    grid-template-columns: 1fr;
  }

  .qsd-card {
    padding: 20px;
    border-radius: 18px;
  }

  .qsd-kind-switch span,
  .qsd-category-card span,
  .qsd-item > span {
    min-height: 76px;
    border-radius: 14px;
  }

  .qsd-span-2 {
    grid-column: auto;
  }

  .qsd-submit,
  .qsd-next-primary,
  .qsd-next,
  .qsd-prev {
    width: 100%;
    min-width: 0;
  }
}

.qsd-section[hidden],
.qsd-item[hidden],
.qsd-empty-state[hidden] {
  display: none !important;
}
/* Parcours Adoreis : estimation puis demande, avant devis contractuel. */
.qsd-form-wrap [hidden]{display:none!important}.qsd-estimate-notice{padding:17px 20px;background:#eef5fb;border-left:3px solid var(--qsd-accent);color:var(--qsd-ink);font-size:13px;line-height:1.8;margin:0}.qsd-estimate-ack{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.7;padding:18px;border:1px solid var(--qsd-border);border-radius:5px}.qsd-estimate-ack input{margin-top:5px;flex-shrink:0;accent-color:var(--qsd-accent)}.qsd-privacy-note{font-size:12px;line-height:1.7;color:var(--qsd-muted)}.qsd-field textarea{display:block;width:100%;min-height:110px;resize:vertical;border:0;outline:0;padding:12px;font:inherit;font-size:15px;color:var(--qsd-ink);background:transparent}.qsd-field textarea:focus{outline:2px solid var(--qsd-accent);outline-offset:2px}.qsd-form-wrap .qsd-summary-line strong{overflow-wrap:anywhere}.qsd-step-panel,.qsd-field,.qsd-fieldset{min-width:0}
