/* Four-step TOP form. Keep the existing STEP01 options and card design. */
#consultation .consultation-panel{border:0;margin:0;padding:0;min-inline-size:0}
#consultation .consultation-panel+.consultation-panel{margin-top:35px}
#consultation .consultation-form:not(.is-enhanced) [data-step-next],#consultation .consultation-form:not(.is-enhanced) [data-step-back]{display:none}
#consultation .is-enhanced .consultation-viewport{overflow:hidden;transition:height .28s ease}
#consultation .is-enhanced .consultation-track{display:flex;align-items:flex-start;transition:transform .35s ease}
#consultation .is-enhanced .consultation-panel{flex:0 0 100%;min-width:0;max-width:100%;box-sizing:border-box;margin-top:0}
#consultation .is-enhanced .consultation-panel[aria-hidden=true]{visibility:hidden}
#consultation .consultation-panel legend{max-width:100%;padding:0}
#consultation .consultation-panel legend:focus{outline:none}
#consultation .consultation-budget{grid-template-rows:repeat(3,1fr)}
#consultation .consultation-options label{overflow-wrap:anywhere}
#consultation .consultation-customer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
#consultation .consultation-field{min-width:0}
#consultation .consultation-field label{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;line-height:1.8;margin-bottom:8px}
#consultation .consultation-required{display:inline-block;background:var(--color-orange-light);color:white;font-size:11px;font-weight:700;line-height:1.5;padding:1px 5px;white-space:nowrap}
#consultation .consultation-field input,#consultation .consultation-message{width:100%;box-sizing:border-box;background:var(--color-gray);color:var(--color-text);border:1px solid transparent;border-radius:8px;font:inherit;font-size:16px;line-height:1.8;padding:13px 16px;min-width:0}
#consultation .consultation-message{min-height:170px;resize:vertical}
#consultation .consultation-field input:focus-visible,#consultation .consultation-message:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}
#consultation .consultation-field input[aria-invalid=true],#consultation .consultation-message[aria-invalid=true]{border-color:#b33}
#consultation .consultation-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}
#consultation .consultation-actions .button{margin:0;min-width:180px}
#consultation .consultation-back{background:var(--color-gray);color:var(--color-text)}
#consultation .consultation-back:hover{background:#e8e8e8}
#consultation .consultation-consent{display:flex;justify-content:center;align-items:flex-start;gap:8px;font-size:14px;line-height:2;margin-top:25px}
#consultation .consultation-consent input{width:18px;height:18px;flex-shrink:0;margin-top:5px;accent-color:var(--color-orange)}
#consultation .consultation-consent a{text-decoration:underline;text-underline-offset:3px}
#consultation .consultation-note{font-size:13px;line-height:1.9;margin-bottom:20px}
#consultation .consultation-error-summary{background:#fff7f7;border:1px solid #b33;padding:16px 20px;font-size:14px;line-height:1.9;margin:20px 0;color:#a22}
#consultation .consultation-error-summary ul{list-style:disc;padding-left:1.5em}
#consultation .form-field-error{color:#a22;font-size:13px;line-height:1.8;margin-top:8px}
#consultation .form-preview-note{padding:12px 16px;margin-bottom:20px;font-size:12px;line-height:1.8;background:#fff8e8;color:#66501c}
#consultation .button:disabled{opacity:.65;cursor:wait}
@media(max-width:767px){
 #consultation .consultation-customer-fields{grid-template-columns:minmax(0,1fr);gap:18px}
 #consultation .consultation-budget{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,1fr)}
 #consultation .consultation-actions{gap:12px;margin-top:22px}
 #consultation .consultation-actions .button{min-width:0;flex:1;max-width:220px;padding:14px 18px;font-size:12px}
 #consultation .consultation-field label{font-size:12px}
 #consultation .consultation-required{font-size:10px}
 #consultation .consultation-field input,#consultation .consultation-message{font-size:16px;padding:11px 12px}
 #consultation .consultation-message{min-height:150px}
 #consultation .consultation-consent{font-size:11px}
 #consultation .consultation-note,#consultation .form-field-error{font-size:11px}
 #consultation .consultation-error-summary{font-size:12px;padding:14px}
}
@media(prefers-reduced-motion:reduce){#consultation .is-enhanced .consultation-track,#consultation .is-enhanced .consultation-viewport{transition:none}}


/* Slide a regular block wrapper; native fieldsets stay inside the slide. */
#consultation .consultation-viewport,#consultation .consultation-track{width:100%;min-width:0;max-width:100%}
#consultation .consultation-panel{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding-inline:4px}
#consultation .consultation-step-fields{width:100%;max-width:100%;min-width:0;min-inline-size:0;box-sizing:border-box;border:0;margin:0;padding:0}
#consultation .consultation-message{display:block;width:100%;max-width:100%;box-sizing:border-box;margin:0}
#consultation .consultation-field .eac-input-wrap{display:block!important;width:100%;max-width:100%;min-width:0}
#consultation .consultation-field .eac-input-wrap>input[type=email]{display:block;width:100%;max-width:100%}
@media(min-width:768px){
 #consultation .consultation-budget{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row}
 #consultation .consultation-budget label:nth-child(n){grid-area:auto}
}
