/* Additional form states; loaded after site.css. */
.form-notice{padding:18px 20px;margin:0 0 26px;border-left:3px solid var(--blue);background:#E8EDF1;color:var(--ink);font-size:15px;line-height:1.6}
.form-notice h3{margin:0 0 7px;font:700 23px/1.15 var(--display);color:var(--ink)}
.form-notice p{margin:0}.form-notice a,.form-privacy a,.quote-copy-fallback a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.form-fields>.quote-field{font-size:15px;gap:8px;line-height:1.4}.form-fields .required-mark{font-size:12px;color:var(--body);font-weight:400}
.form-fields input:not([type=checkbox]),.form-fields select,.form-fields textarea{font-size:16px;line-height:1.45;min-height:48px;border-color:#82918F;outline-offset:3px}
.form-fields input:focus-visible,.form-fields select:focus-visible,.form-fields textarea:focus-visible{outline:2px solid var(--link);box-shadow:none;border-color:var(--link)}
.form-fields input::placeholder,.form-fields textarea::placeholder{color:#5C6F75}
.form-fields [aria-invalid=true]{border:2px solid #a3272d}
.form-fields .field-error{color:#9b2026;font-size:13px;font-weight:500;line-height:1.4;min-height:0}
.form-privacy{font-size:14px;line-height:1.65;color:var(--body);margin:23px 0 0;max-width:65ch}
.form-status{font-size:15px;line-height:1.55;min-height:24px;color:var(--ink)}
.form-status[data-kind=success]{color:#235736}.form-status[data-kind=error]{color:#9b2026}
.form-submit{font-size:14px;min-height:48px;cursor:pointer}.form-submit:disabled{opacity:.7;cursor:wait}
.form-submit:focus-visible,.quote-copy-fallback button:focus-visible{outline:3px solid var(--link);outline-offset:4px}
.quote-copy-fallback{padding-top:20px;border-top:1px solid var(--line)}
.quote-copy-fallback[hidden]{display:none!important}
.quote-copy-fallback label{display:block;color:var(--ink);font-size:15px;font-weight:600;margin-bottom:8px}
.quote-copy-fallback textarea{width:100%;padding:12px;border:1px solid #82918F;font:14px/1.6 var(--sans);resize:vertical;margin-bottom:15px;color:var(--ink);background:#fff}
.quote-copy-fallback button{white-space:normal;min-height:48px;text-align:left;color:var(--link);border-color:var(--link)}
.quote-form-panel noscript{font-size:14px;color:var(--body)}
@media(max-width:700px){.quote-form-panel{padding:24px 18px}.form-fields>.quote-field{font-size:15px}.form-notice{padding:16px}.quote-copy-fallback button{width:100%}.quote-form-points{grid-template-columns:1fr}.form-privacy{font-size:14px}}

.form-direct-contact{display:grid;gap:12px;margin-bottom:24px}.form-direct-contact a{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);padding:0 0 13px;overflow-wrap:anywhere}.form-direct-contact span{color:var(--body);font-size:13px}.form-direct-contact strong{color:var(--ink);font-size:18px;font-weight:600}.form-direct-contact a:hover strong{text-decoration:underline;text-underline-offset:4px}.form-direct-contact a:focus-visible{outline:3px solid var(--link);outline-offset:4px}.quote-copy-button{margin-top:12px;margin-left:12px;color:var(--link);border-color:var(--link);min-height:48px;font-size:14px;cursor:pointer}.quote-copy-button:focus-visible{outline:3px solid var(--link);outline-offset:4px}@media(max-width:700px){.quote-copy-button{width:100%;margin-left:0}.form-direct-contact strong{font-size:17px}}

.form-secondary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.form-secondary-actions .quote-copy-button{margin:0;color:var(--link);flex:1 1 180px;padding:10px 14px;white-space:normal;text-align:center}.form-secondary-actions button:disabled{opacity:.7;cursor:wait}

/* Use the same copper/steel identity without weakening form feedback. */
.form-notice{border-left-color:var(--accent)}
.form-fields input:focus-visible,.form-fields select:focus-visible,.form-fields textarea:focus-visible{outline-color:var(--link);border-color:var(--link)}
.form-fields [aria-invalid=true]{border-color:#A3272D}
.form-fields [aria-invalid=true]:focus-visible{outline-color:#A3272D}
.quote-copy-button:hover,.form-secondary-actions .quote-copy-button:hover,.quote-copy-fallback button:hover{color:var(--navy-2);border-color:var(--accent);background:var(--accent)}

/* Keep the first request short; additional project details stay available. */
.form-extra{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.form-extra summary{padding:16px 0;cursor:pointer;color:var(--ink);font-size:15px;font-weight:600;line-height:1.5}
.form-extra summary span{font-weight:400;color:var(--body);font-size:13px}
.form-extra[open] summary{margin-bottom:4px}
.form-extra .form-fields{padding-bottom:18px}
.form-extra .quote-field{display:flex;flex-direction:column;color:var(--ink);font-weight:700}
.form-extra .quote-field:last-child{grid-column:1/-1}
@media(max-width:700px){.form-extra summary span{display:block}.form-extra .quote-field:last-child{grid-column:auto}}


/* Keep the application first, with the next steps alongside it. */
.quote-form-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);grid-template-areas:"intro panel";gap:clamp(32px,5vw,78px)}
.quote-form-intro{grid-area:intro;min-width:0}
.quote-form-intro h2{line-height:1.04}
.quote-form-panel{grid-area:panel;min-width:0}
.form-panel-intro{margin:0 0 24px;color:var(--body);font-size:16px;line-height:1.6}
.quote-next-steps{margin:30px 0}
.quote-next-steps h3{margin:0 0 20px;font:700 25px/1.15 var(--display)}
.quote-next-steps ol{list-style:none;counter-reset:quote-step;margin:0;padding:0}
.quote-next-steps li{position:relative;counter-increment:quote-step;padding:0 0 22px 40px;line-height:1.55}
.quote-next-steps li:before{content:counter(quote-step,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--link);font:700 20px/1.3 var(--display)}
.quote-next-steps strong,.quote-next-steps span{display:block;font-size:15px}
.quote-next-steps strong{color:var(--ink);font-weight:600;margin-bottom:4px}
.quote-next-steps span{color:var(--body)}
.quote-form-intro .form-direct-contact{margin:28px 0 0}
.form-fields input,.form-fields select,.form-fields textarea{min-width:0}
.form-submit{width:100%;min-width:0;min-height:52px}
.form-submit-note{margin:12px 0 0;color:var(--body);font-size:13px;line-height:1.6}
.form-send-options{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.form-send-options summary{color:var(--link);font-size:14px;line-height:1.5;cursor:pointer;text-underline-offset:3px}
.form-send-options summary:hover{text-decoration:underline}
.form-send-options .form-secondary-actions{margin-top:16px}
.quote-form-intro>.button-whatsapp{margin-top:22px}
.quote-form-intro>.whatsapp-help{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--body)}
@media(max-width:900px){
  .quote-form-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"panel" "intro";gap:36px}
  .quote-form-section{padding:36px 0 48px}
  .quote-form-intro{padding-top:0}
  .quote-form-intro>p:not(.eyebrow){max-width:60ch}
  .quote-form-intro .form-direct-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media(max-width:700px){
  .form-panel-intro{font-size:15px;margin-bottom:20px}
  .quote-form-intro .form-direct-contact{grid-template-columns:1fr;gap:12px}
  .quote-next-steps{margin:24px 0}
}
