/* sp-quote vormi stiilid */
.spq-wrap { max-width: 760px; margin: 2rem auto; padding: 1.5rem; background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.08); font-family: system-ui, sans-serif; }
.spq-progress { display: flex; align-items: center; gap: .5rem; margin-bottom: 1.5rem; font-size: .9rem; color: #555; }
.spq-step-dot { width: 28px; height: 28px; border-radius: 50%; background: #e0e0e0; color: #888; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; }
.spq-step-dot.active { background: #2a7f3a; color: #fff; }
.spq-step-label { margin-left: .75rem; font-style: italic; }
.spq-step { display: none; }
.spq-step.active { display: block; }
.spq-step h2 { margin: 0 0 .5rem; color: #1e3f2b; }
.spq-lead { color: #666; margin-bottom: 1.25rem; }
.spq-form label { display: block; margin: .75rem 0; color: #333; font-weight: 500; }
.spq-form input[type="text"],
.spq-form input[type="email"],
.spq-form input[type="tel"],
.spq-form input[type="number"],
.spq-form select,
.spq-form textarea { display: block; width: 100%; padding: .6rem .75rem; margin-top: .25rem; border: 1px solid #cfcfcf; border-radius: 6px; font-size: 1rem; box-sizing: border-box; }
.spq-form input:focus, .spq-form select:focus, .spq-form textarea:focus { outline: none; border-color: #2a7f3a; box-shadow: 0 0 0 2px rgba(42,127,58,.2); }
.spq-form fieldset { border: 1px solid #e5e5e5; border-radius: 6px; padding: .75rem 1rem; margin: .75rem 0; }
.spq-form legend { padding: 0 .5rem; color: #555; font-weight: 600; }
.spq-cb { display: block; margin: .4rem 0; font-weight: normal; }
.spq-cb input { width: auto; margin-right: .5rem; }
.spq-nav { margin-top: 1.5rem; display: flex; justify-content: space-between; gap: .75rem; }
.spq-nav button { padding: .7rem 1.5rem; border: none; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; }
.spq-prev { background: #e8e8e8; color: #333; }
.spq-next, .spq-submit { background: #2a7f3a; color: #fff; }
.spq-next:hover, .spq-submit:hover { background: #1e5f29; }
.spq-result { margin-top: 1.5rem; padding: 1.5rem; background: #eaf5ec; border-left: 4px solid #2a7f3a; border-radius: 6px; }
.spq-result h3 { margin-top: 0; color: #1e3f2b; }
.spq-result .big { font-size: 1.75rem; font-weight: 700; color: #2a7f3a; }
.spq-error { margin-top: 1rem; padding: .75rem 1rem; background: #fdecea; border-left: 4px solid #c62828; color: #731212; border-radius: 4px; }
