.custom-quote { max-width: 850px; color: #14382c; }
.custom-quote [hidden] { display: none !important; }
.custom-quote__confirmation { background: #eff8f0; border: 1px solid #bad7bf; border-radius: 8px; padding: 32px 24px; text-align: center; }
.custom-quote__check { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: #167232; color: #fff; border-radius: 50%; font-size: 36px; margin-bottom: 12px; }
.custom-quote .custom-quote__confirmation h2 { color: #12382b; font-size: 26px; line-height: 1.4; margin: 0 0 12px; text-transform: none; font-weight: bold; }
.custom-quote__confirmation p { color: #40584c; font-size: 16px; line-height: 1.6; }
.custom-quote .custom-quote__steps { display: flex; gap: 24px; border-top: 1px solid #bad7bf; margin: 24px 0 16px; padding: 24px 0 0; list-style: none; }
.custom-quote__steps li { flex: 1; line-height: 1.6; }
.custom-quote__step-icon { display: block; width: 32px; height: 32px; margin: 0 auto 10px; fill: none; stroke: #167232; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.custom-quote a { color: #17642b; text-decoration: underline; display: inline-block; padding: 10px 2px; min-height: 44px; box-sizing: border-box; overflow-wrap: anywhere; }
.custom-quote a:hover { color: #103e1e; }
.custom-quote fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.custom-quote__legend { font-weight: bold; font-size: 18px; padding: 0; margin-bottom: 16px; }
.custom-quote__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.custom-quote__field--wide { grid-column: 1 / -1; }
.custom-quote__field label { display: block; color: #14382c; font-weight: bold; line-height: 1.5; margin-bottom: 6px; }
.custom-quote__field label span { font-weight: normal; }
.custom-quote input[type="text"], .custom-quote input[type="email"], .custom-quote textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; border: 1px solid #687b70; border-radius: 3px; padding: 10px; color: #183e2a; background: #fff; font-size: 16px; line-height: 1.5; }
.custom-quote textarea { min-height: 150px; resize: vertical; }
.custom-quote__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.custom-quote button { min-height: 44px; max-width: 100%; padding: 10px 18px; border: 2px solid #17642b; border-radius: 4px; color: #fff; background: #17642b; font-family: inherit; font-size: 16px; font-weight: bold; line-height: 1.5; cursor: pointer; white-space: normal; }
.custom-quote button:hover { background: #103e1e; border-color: #103e1e; }
.custom-quote button:disabled { background: #e6ede7; color: #344b3b; border-color: #687b70; cursor: wait; opacity: 1; }
.custom-quote :focus { outline: 3px solid #14382c; outline-offset: 3px; }
.custom-quote__error, .custom-quote .validation-advice { color: #81251c; background: #fff2ef; border-left: 4px solid #a33828; padding: 12px; margin: 0 0 16px; line-height: 1.6; overflow-wrap: anywhere; }
.custom-quote__captcha { margin-top: 20px; max-width: 100%; }
.custom-quote__trap { display: none; }
@media (max-width: 520px) {
    .custom-quote__fields { grid-template-columns: minmax(0, 1fr); }
    .custom-quote__confirmation { padding: 24px 14px; }
    .custom-quote .custom-quote__confirmation h2 { font-size: 22px; }
    .custom-quote .custom-quote__steps { flex-direction: column; gap: 12px; }
}
@media (forced-colors: active) {
    .custom-quote button, .custom-quote__confirmation, .custom-quote__error { border: 2px solid ButtonText; }
    .custom-quote :focus { outline-color: Highlight; }
}
