[data-form-status]{font-size:16px;line-height:1.6;text-align:left;width:100%}
[data-form-status]:empty{display:none}
[data-form-status][data-state="error"]{border-left:3px solid #be695f;padding:1rem;background:rgba(190,105,95,.09)}
[data-form-status][data-state="success"]{border-left:3px solid #4f9476;padding:1rem;background:rgba(79,148,118,.09)}
#form01 .field>label{display:block;text-align:left;font-size:16px;line-height:1.5;margin-bottom:8px;color:#17262d;font-weight:600}
#form01 .field>input,#form01 .field>textarea{font-size:16px;line-height:1.5;min-height:48px}
#form01 .field>input[type="file"]{display:block;width:100%;height:auto;padding:12px;border:1px solid #b9c9c3;background:white;color:#17262d;cursor:pointer}
#form01 .field>textarea{min-height:140px}
#form01 .basin-note{font-size:14px;line-height:1.6;text-align:left;color:#4d6169}
#form01 .actions>button{font-size:16px;min-height:48px}
#form01 .actions>button:disabled{cursor:wait;opacity:.65}

.quote-form{background:var(--paper);padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--line)}
.quote-form select{width:100%;min-width:0;min-height:50px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:.9rem;font-size:16px}
.form-heading h3{font-size:1.5rem;margin:.7rem 0}.form-heading p{margin-top:.5rem}
.quote-help{border:1px solid var(--line);padding:1rem;margin:0;min-width:0}.quote-help legend{font-size:.9375rem;font-weight:700;padding:0 .3rem}
.quote-form .help-choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.quote-form .help-choices label{display:flex;flex-direction:row;align-items:center;gap:.6rem;min-height:44px}.quote-form .help-choices input{width:20px;min-height:20px;height:20px;padding:0;flex-shrink:0;accent-color:var(--ink)}
.quote-help p{margin-top:.8rem}.quote-form input[type=file]{max-width:100%;font-size:16px}.mobile-contact{grid-template-columns:1fr}
.quote-detail-group{border:1px solid var(--line);background:rgba(245,242,234,.55);padding:1rem;margin:0;min-width:0}.quote-detail-group[hidden]{display:none}.quote-detail-group legend{font-size:.9375rem;font-weight:700;padding:0 .35rem}.quote-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.quote-form .quote-detail-grid label{min-width:0;grid-column:auto}.quote-form .quote-detail-grid label.full{grid-column:1/-1}
.quote-form .quote-replacement-choice{display:flex;flex-direction:row;align-items:center;gap:.7rem;min-height:48px;font-weight:600}.quote-form .quote-replacement-choice input{width:20px;height:20px;min-height:20px;padding:0;flex:none;accent-color:var(--ink)}.quote-detail-group>p.form-note{margin-top:.8rem}
@media(max-width:600px){.quote-detail-grid{grid-template-columns:1fr}}
@media(max-width:400px){.quote-form .help-choices{grid-template-columns:1fr}}

/* Compact form rhythm while retaining readable text and generous controls. */
.quote-form{row-gap:.55rem;padding:clamp(1rem,2vw,1.25rem)}
.quote-form label{gap:.3rem}
.quote-detail-grid{row-gap:.55rem}
.form-heading h3{margin:.3rem 0}.form-heading p{margin:.3rem 0 .5rem}
.quote-form .help-choices{row-gap:.25rem}

.quote-help,.quote-detail-group{padding:.75rem}.quote-help p,.quote-detail-group>p.form-note{margin-top:.5rem;margin-bottom:.25rem}

/* Small final spacing adjustment; preserve breathing room around uploads. */
.quote-form{row-gap:.45rem}.quote-form label{gap:.25rem}.quote-detail-grid{row-gap:.45rem}.form-heading h3{margin:.25rem 0}.form-heading p{margin:.25rem 0 .4rem}
