/* Formularz wyceny – korzysta ze zmiennych z style.css, niczego tam nie nadpisuje */
.quote-section{padding-bottom:clamp(4rem,8vw,6rem)}
.quote-form{display:grid;gap:1.25rem;max-width:860px;padding:clamp(1.25rem,3vw,2rem);border:1px solid #e0d5ed;border-radius:.45rem;background:#f7f3fb}
.q-row{display:grid;gap:1.25rem}
@media(min-width:760px){.q-row{grid-template-columns:1fr 1fr}}
.q-field{display:grid;gap:.4rem}
.q-field label{font-weight:500;font-size:.95rem}
.q-field input,.q-field textarea{width:100%;padding:.8rem .9rem;border:1px solid #d7c7ea;border-radius:.35rem;background:#fff;font:inherit;color:inherit;transition:border-color .2s,box-shadow .2s}
.q-field input:focus,.q-field textarea:focus{outline:0;border-color:var(--hot);box-shadow:0 0 0 3px rgba(116,56,213,.15)}
.q-field textarea{min-height:9rem;resize:vertical}
.q-err{display:none;color:#c62f4a;font-size:.85rem}
.q-field.err input,.q-field.err textarea{border-color:#c62f4a}
.q-field.err .q-err{display:block}
.q-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.q-note{color:var(--mute);font-size:.85rem}
.q-note a{text-decoration:underline;text-underline-offset:.2em}
.quote-form .cta{display:inline-flex;justify-self:start;cursor:pointer;border:0}
.quote-form .cta[disabled]{opacity:.6;cursor:wait}
.q-status{min-height:1.5rem;font-weight:500}
.q-status.bad{color:#c62f4a}
.q-done{display:grid;gap:.6rem;padding-block:1rem}
.q-done h3{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}
.q-done p{color:var(--mute)}
