/* Carvajal Expertises V1.5.30 — Formulaire direction artistique et ergonomie.
   Layered AFTER the locked site styles. Scoped to #devis; baseline outside untouched. */
#devis {
  --quote-ink: #203b2d;
  --quote-body: #385446;
  --quote-muted: #53685d;
  --quote-line: #d5ded7;
  --quote-focus: #43765a;
}
#devis .form-panel {
  min-width: 0;
  container-type: inline-size;
  scroll-margin-top: 106px;
  background: rgba(255,254,251,.975);
  border: 1px solid rgba(194,180,147,.66);
  border-radius: 25px;
  padding: clamp(25px,2.7vw,38px) clamp(22px,2.8vw,39px) clamp(27px,2.8vw,38px);
  box-shadow: 0 22px 55px rgba(18,45,28,.14), 0 2px 9px rgba(28,54,37,.045), inset 0 1px rgba(255,255,255,.92);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#devis .form-top {min-height: 22px; margin: 0 0 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px;}
#devis .step-label {display: inline-flex; align-items: center; gap: 9px; color: #28553d; font: 760 11px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif; letter-spacing: .11em; white-space: nowrap;}
#devis .step-label::before {content: ''; width: 7px; height: 7px; background: #5b916b; border-radius: 50%; box-shadow: 0 0 0 4px #e7f1e7; flex: none;}
#devis .form-phase {color: #6a756d; font: 650 11px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif; letter-spacing: .01em; text-align: right;}
#devis .progress {height: 5px; margin: 0 0 30px; background: #e4ece5; border-radius: 100px; overflow: hidden;}
#devis #form-progress {display: block; height: 100%; width: 50%; background: linear-gradient(90deg,#316c4b,#6e9b76); border-radius: inherit; transition: width .28s ease;}
#devis #form-step-title {color: #17392a; font-size: clamp(27px,2.23vw,33px); font-weight: 400; line-height: 1.22; letter-spacing: -.035em; margin: 0 0 9px; text-wrap: balance; scroll-margin-top: 120px;}
#devis .form-help {margin: 0; font: 420 12.5px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif; color: #5d7065;}
#devis .form-help strong {color: #325944; font-weight: 750;}
#devis .step-surface[hidden],#devis .field[hidden],#devis .form-success[hidden],#devis form[hidden] {display: none !important;}
#devis .fieldgrid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 17px; min-width: 0;}
#devis #form-step-1 {margin-top: 26px;}
#devis .field {min-width: 0; margin: 0; display: flex; flex-direction: column; align-items: stretch;}
#devis .field.full {grid-column: 1/-1;}
#devis .field label, #devis .form-question-label {
  display: block; margin: 0 0 9px; color: #2c4536;
  font: 690 12.5px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif;
  letter-spacing: .003em; text-align: left;
}
#devis .field label span[aria-hidden="true"],#devis .form-question-label span {color: #4a8060; font-weight: 800;}
#devis .quote-input-shell {position: relative; display: block; width: 100%; min-width: 0;}
#devis .quote-field-icon {position: absolute; left: 16px; top: 50%; width: 19px; height: 19px; transform: translateY(-50%); color: #5e7768; stroke-width: 1.8; pointer-events: none; z-index: 1;}
#devis .field input:not([type="radio"]), #devis .field select, #devis .field textarea {
  display: block; box-sizing: border-box; width: 100%; max-width: 100%;
  border: 1px solid #cbd7cf; border-radius: 11px;
  box-shadow: 0 1px 2px rgba(23,49,30,.025);
  background: #fff;
  color: #1f382b;
  font: 480 15px/24px system-ui,-apple-system,'Segoe UI',sans-serif;
  letter-spacing: 0;
  text-align: left;
  opacity: 1;
  min-height: 55px; height: 55px;
  padding: 14px 16px;
  margin: 0;
  outline: none;
  transition: border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
#devis .field .quote-input-shell:has(> .quote-field-icon) input {padding-left: 49px;}
#devis .field input::placeholder,#devis .field textarea::placeholder {color: #6a7c70; opacity: 1; font-weight: 420;}
#devis .field select {font-size: 14px; padding: 0 31px 0 14px; line-height: 1.35; vertical-align: middle; cursor: pointer; white-space: nowrap; text-overflow: ellipsis;}
#devis .field select:invalid {color: #64776a;}
#devis .field select option {color: #203b2d; background: #fff;}
#devis .field textarea {height: auto; min-height: 106px; line-height: 1.65; resize: vertical; padding: 13px 15px;}
#devis .field input:not([type="radio"]):hover,#devis .field select:hover,#devis .field textarea:hover {border-color: #a7bcad;}
#devis .field input:not([type="radio"]):focus-visible,#devis .field select:focus-visible,#devis .field textarea:focus-visible {
  border-color: var(--quote-focus); background: #fff;
  box-shadow: 0 0 0 3px rgba(67,118,90,.15);
}
#devis .field input[aria-invalid="true"],#devis .field select[aria-invalid="true"],#devis .field textarea[aria-invalid="true"] {border-color: #af5548!important;box-shadow: 0 0 0 3px rgba(175,85,72,.12)!important;}
#devis .field-error:empty {display: none;}
#devis .field-error:not(:empty) {display: block; font: 580 12px/1.48 system-ui,-apple-system,'Segoe UI',sans-serif; color: #933b2f; margin-top: 7px; padding: 0;}
#devis .form-stage-details {margin: 22px 0 0; display: grid; gap: 26px;}
#devis .form-stage-intro {font: 430 12.5px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif; color: #536a5c; margin: -1px 0 -4px;}
#devis .quote-form-group {min-width: 0; margin: 0; padding: 0;}
#devis .quote-form-group + .quote-form-group {border-top: 1px solid #e0e8df; padding-top: 25px;}
#devis .quote-group-header {display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px; align-items: start; margin: 0 0 18px;}
#devis .quote-group-number {display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #eaf2e9; color: #286342; font: 780 11px/1 system-ui,-apple-system,'Segoe UI',sans-serif; border: 1px solid #dae7d9;}
#devis .quote-group-header h4 {margin: 0; padding: 0; font: 750 14px/1.3 system-ui,-apple-system,'Segoe UI',sans-serif; letter-spacing: -.01em; color: #193c2b;}
#devis .quote-group-header p {margin: 3px 0 0; font: 400 11.5px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif; color: #65786b;}
#devis .quote-group-fields {margin: 0; gap: 18px 16px;}
#devis .field-dependent {background: #f6f9f5; padding: 13px; border-radius: 12px; border: 1px solid #dfe9de;}
#devis .field-dependent > .field {width: 100%;}
#devis .choice-row {display: flex; gap: 9px; flex-wrap: wrap; margin: 0; align-items: stretch;}
#devis .choice {position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 1 1 78px; max-width: 135px; min-width: 77px; min-height: 47px; padding: 0 16px; margin: 0; border: 1px solid #cbd8cd; border-radius: 10px; background: #fff; cursor: pointer;}
#devis .choice span {position: relative; display: inline-block; color: #335543; font: 675 13px/1.35 system-ui,-apple-system,'Segoe UI',sans-serif; text-align: center;}
#devis .choice input[type="radio"] {position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; margin: 0;}
#devis .choice:has(input:checked) {background: #e8f2e9; border-color: #639575; box-shadow: inset 0 0 0 1px rgba(93,147,111,.17);}
#devis .choice:has(input:checked) span {color: #1b5335; font-weight: 800;}
#devis .choice:focus-within {outline: 3px solid rgba(67,118,90,.38); outline-offset: 2px;}
#devis .choice-row:has([aria-invalid="true"]) {outline: 1px solid rgba(175,85,72,.3); outline-offset: 3px; border-radius: 9px;}
#devis .form-actions {border-top: 1px solid #e5ebe4; margin: 29px 0 0; padding: 21px 0 0; display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: 12px; min-width: 0;}
#devis .form-actions .btn {display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 53px; border-radius: 10px; padding: 12px 20px; letter-spacing: .005em; font: 720 13px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif; white-space: nowrap;}
#devis #go-back {background: #fff; border: 1px solid #ccd9ce; color: #28553d; margin-right: auto; min-width: 107px;}
#devis #go-back:hover {background: #f3f7f1;}
#devis #go-next,#devis #form-send {background: linear-gradient(125deg,#3b7450,#27563d);color: #fff; min-width: 184px; border-color: #2e6144; box-shadow: 0 8px 18px rgba(37,88,54,.12);}
#devis #form-send {min-width: 208px;}
#devis .form-actions .btn:focus-visible {outline: 3px solid #7cad8c; outline-offset: 3px;}
#devis .form-actions .btn:disabled {opacity: .65; cursor: wait; box-shadow: none;}
#devis .form-alert:empty {display: none;}
#devis .form-alert:not(:empty) {font: 600 12px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif; color: #923c32; padding: 12px 14px; margin: 14px 0 0; border-radius: 9px; background: #fff3f0; border: 1px solid #e5c4bd;}
#devis .form-meta {font: 550 11.5px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif; color: #5a7360; margin: 18px 0 0;}
#devis .form-meta a {color: #315c43;}
#devis .form-success {min-height: 310px; padding: 26px 3px; align-items: start; background: none; border: none;}
#devis .form-success p {color: #4e6858; font: 430 14px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif;}
#devis .form-success .btn {margin-top: 13px;}
@media(min-width: 901px){#devis:has(#form-step-2:not([hidden])) .quote-aside {position: sticky; top: 115px;}}
@media(max-width: 900px){#devis .form-panel{scroll-margin-top: 84px;}}
@media(max-width: 560px){
  #devis .form-panel {padding: 25px 18px 27px; border-radius: 20px; box-shadow: 0 14px 35px rgba(18,45,28,.12);}
  #devis .form-top {margin-bottom: 13px;}
  #devis .form-phase {font-size: 10.5px;}
  #devis .progress {margin-bottom: 24px;}
  #devis #form-step-title {font-size: clamp(26px,7.4vw,31px); line-height: 1.19;}
  #devis .fieldgrid {grid-template-columns: 1fr; gap: 17px;}
  #devis #form-step-1 {margin-top: 22px;}
  #devis .field.full {grid-column: auto;}
  #devis .field input:not([type="radio"]),#devis .field select,#devis .field textarea {font-size: 16px;}
  #devis .field select {padding-right: 28px;}
  #devis .form-stage-details {gap: 23px;}
  #devis .quote-form-group + .quote-form-group {padding-top: 24px;}
  #devis .quote-group-header {margin-bottom: 16px;}
  #devis .form-actions {margin-top: 25px; gap: 9px; flex-wrap: wrap;}
  #devis .form-actions .btn {font-size: 12.5px; min-height: 52px; padding: 10px 13px;}
  #devis #go-next {width: 100%;}
  #devis #go-back {order: 2; width: 100%; min-width: 0; min-height: 42px; border: none; background: transparent; box-shadow: none;}
  #devis #form-send {order: 1; width: 100%; min-width: 0;}
}
@media(max-width: 355px){#devis .form-panel {padding-inline: 15px;}#devis .step-label{font-size:10px;}#devis .form-phase{font-size:10px;}#devis .form-actions{gap:7px;}#devis .form-actions .btn{font-size:11.5px; padding:11px 8px;}#devis #go-back{width:100%;}#devis #form-send{width:100%;}}
@media(prefers-reduced-motion:reduce){#devis #form-progress{transition:none;}}
