/* CARVAJAL EXPERTISES — V1.5.32 / UI finishing layer.
   Scoped to the quotation panel. Labels stay left-aligned; entered values
   and controls are vertically centered. Original fields and values unchanged. */
#devis .form-panel {
  --form-ink: #213d30;
  --form-secondary: #4c6555;
  --form-subtle: #718174;
  --form-line: #cbd9ce;
  --form-focus: #35724d;
  background: rgba(255,254,251,.985);
  border-color: #d7d0bc;
  border-radius: 25px;
  box-shadow: 0 20px 52px rgba(19,45,31,.115), 0 3px 12px rgba(31,57,41,.045);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#devis .form-top { align-items: center; min-height: 24px; }
#devis .step-label { color: #265b3f; font-size: 11px; font-weight: 770; letter-spacing: .12em; }
#devis .form-phase { color: #64756a; font-size: 11px; font-weight: 620; }
#devis #form-step-title {color: #193d2a; letter-spacing: -.032em; line-height: 1.18; }
#devis .form-help {color: #586d5f; font-size: 12.5px; line-height: 1.55;}
#devis .form-stage-intro {font-size: 13px; line-height: 1.6; color: #546e5c;}
#devis .quote-group-header {align-items: center; column-gap: 12px; margin-bottom: 18px;}
#devis .quote-group-number {display:flex; align-items:center; justify-content:center; font-size: 11px; line-height: 1;}
#devis .quote-group-header h4 { color: #1e4631; font-size: 14px; font-weight: 750; line-height: 1.32; }
#devis .quote-group-header p {font-size: 11.5px; line-height: 1.45; color: #6a7e70;}
#devis .fieldgrid {align-items: start; row-gap: 20px;}
#devis .quote-group-fields {row-gap: 20px;}
#devis .field { min-width: 0; }
/* Distinguish ordinary field labels from the radio option's <label>.
   The previous generic selector overrode display:flex on the options. */
#devis .field label:not(.choice),
#devis .field .form-question-label {
  display: block;
  height: auto;
  min-height: 0;
  margin: 0 0 9px;
  padding: 0;
  color: #294737;
  font-size: 12.75px;
  font-weight: 685;
  line-height: 1.45;
  letter-spacing: -.005em;
  text-align: left;
}
#devis .field .form-question-label {max-width: 100%;}
/* A single control scale, irrespective of input, select or numeric field. */
#devis .field input:not([type='radio']),
#devis .field select,
#devis .field textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--form-line);
  border-radius: 11px;
  background-color: #fff;
  color: var(--form-ink);
  font-family: inherit;
  font-size: 15px;
  font-weight: 510;
  line-height: 24px;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  opacity: 1;
  outline: 0;
  box-shadow: 0 1px 2px rgba(22,55,34,.025);
  transition: background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
#devis .field input:not([type='radio']) {
  height: 56px;
  min-height: 56px;
  padding: 15px 16px;
}
#devis .field .quote-input-shell:has(> .quote-field-icon) input {padding-left: 49px;}
#devis .quote-field-icon {left: 16px; width: 18px; height: 18px; color: #587566;}
#devis .field input::placeholder,
#devis .field textarea::placeholder {color: #738477; opacity: 1; font-weight: 435;}
#devis .field select {
  height: 56px;
  min-height: 56px;
  padding: 0 43px 0 16px;
  line-height: normal;
  font-size: 15px;
  font-weight: 510;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m6.5 9.5 5.5 5 5.5-5' stroke='%234F6B59' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px 18px;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
}
#devis .field select:invalid {color: #708073; font-weight: 450;}
#devis .field select option {color: #213d30; background-color: #fff; font-weight: 500;}
#devis .field select option[value=''] {color: #748476;}
#devis .field textarea {
  display: block;
  height: auto;
  min-height: 112px;
  padding: 14px 16px;
  line-height: 1.6;
  resize: vertical;
}
#devis .field input[type='number'] { -moz-appearance: textfield; appearance: textfield; }
#devis .field input[type='number']::-webkit-outer-spin-button,
#devis .field input[type='number']::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#devis .field input:not([type='radio']):hover,
#devis .field select:hover,
#devis .field textarea:hover {border-color: #9eb8a4; background-color: #fff;}
#devis .field input:not([type='radio']):focus,
#devis .field select:focus,
#devis .field textarea:focus {
  border-color: var(--form-focus);
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(52,119,75,.15);
}
#devis .field input[aria-invalid='true'],
#devis .field select[aria-invalid='true'],
#devis .field textarea[aria-invalid='true'] {
  border-color: #b05043!important;
  box-shadow: 0 0 0 3px rgba(176,80,67,.12)!important;
}
/* Evenly distribute options rather than leaving an arbitrary empty strip. */
#devis .field .choice-row {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 10px;
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 0;
}
#devis .field .choice-row:has(> .choice:nth-child(2):last-child) {grid-template-columns: repeat(2,minmax(0,1fr));}
#devis .field .choice-row > label.choice {
  position: relative;
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  flex: none;
  min-width: 0;
  max-width: none;
  width: 100%;
  height: 50px;
  min-height: 50px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid var(--form-line);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(22,55,34,.018);
  cursor: pointer;
  transition: background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
#devis .field .choice-row > label.choice > span {
  position: relative;
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  color: #2e533d;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 680;
  line-height: 20px;
  text-align: center;
  transform: none;
  pointer-events: none;
}
#devis .field .choice-row > label.choice > input[type='radio'] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
#devis .field .choice-row > label.choice:hover {background: #f5f8f4; border-color: #93b09c;}
#devis .field .choice-row > label.choice:has(input:checked) {
  background: #e6f1e7;
  border-color: #458363;
  box-shadow: inset 0 0 0 1px #458363;
}
#devis .field .choice-row > label.choice:has(input:checked) > span {color: #194b31; font-weight: 780;}
#devis .field .choice-row > label.choice:focus-within {outline: 3px solid rgba(52,119,75,.33);outline-offset: 3px;}
#devis .form-actions {align-items: center; border-top-color: #e1e8e1; padding-top: 22px; gap: 12px;}
#devis .form-actions .btn {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 14px;
  height: 54px;
  min-height: 54px;
  padding: 0 21px;
  border-radius: 11px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.005em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
#devis #go-next,#devis #form-send {
  border: 1px solid #2a6445;
  background: #2b6547;
  color: white;
  box-shadow: 0 7px 16px rgba(24,70,42,.13);
}
#devis #go-next:hover,#devis #form-send:hover {background: #21563b; box-shadow: 0 10px 19px rgba(24,70,42,.17);}
#devis #go-back {color: #28543d; border: 1px solid #c7d8ca; background: #fff; box-shadow: none;}
#devis #go-back:hover {color: #1e5035;background: #f2f7f2;box-shadow: none;}
#devis .form-meta {color:#5b7160;}
#devis .form-meta a {color:#285c40; text-underline-offset: 4px;}
@media (max-width: 560px) {
  #devis .field input:not([type='radio']),#devis .field select,#devis .field textarea {font-size: 16px;}
  #devis .form-panel {border-radius: 21px;}
  #devis .field .choice-row {gap: 8px;}
  #devis .field .choice-row > label.choice {height: 50px; min-height: 50px; padding-inline: 6px;}
  #devis .form-actions .btn {font-size: 13px; height: 53px; min-height: 53px;}
  #devis #go-back {height: 44px;min-height: 44px;}
}
@media (prefers-reduced-motion: reduce) {#devis .field .choice-row > label.choice {transition: none;}}
