﻿.quote-hero { padding: 72px 0 84px; background: linear-gradient(135deg, #eaf5ff 0%, #f8fcff 48%, #e0f1ff 100%); }
.quote-hero__intro { max-width: 760px; margin-bottom: 34px; }
.quote-eyebrow { display: inline-flex; gap: 8px; align-items: center; padding: 8px 14px; border-radius: 999px; color: #0f447a; background: #fff; font-weight: 700; box-shadow: 0 8px 20px rgba(15,68,122,.08); }
.quote-hero h1 { margin: 18px 0 14px; font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.06; color: #002140; }
.quote-hero h1 span { color: #0075df; }
.quote-hero__intro p { color: #494f54; font-size: 1.13rem; }
.quote-shell { max-width: 900px; margin: 0 auto; padding: 34px 42px; border-radius: 24px; background: #fff; }
.quote-progress { display: flex; align-items: center; margin-bottom: 36px; }
.quote-progress__item { display: grid; grid-template-columns: 32px auto; align-items: center; gap: 9px; color: #8794a2; white-space: nowrap; }
.quote-progress__item span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font-weight: 700; background: #e7edf2; }
.quote-progress__item small { font-size: .84rem; font-weight: 700; }
.quote-progress__item.is-active, .quote-progress__item.is-complete { color: #0f447a; }
.quote-progress__item.is-active span, .quote-progress__item.is-complete span { color: #fff; background: #0075df; }
.quote-progress__line { flex: 1; min-width: 20px; height: 2px; margin: 0 12px; background: #e2e8ed; }
.quote-step__heading { margin-bottom: 26px; }
.quote-step__heading > span { color: #0075df; font-weight: 700; font-size: .88rem; text-transform: uppercase; letter-spacing: .04em; }
.quote-step__heading h2 { margin: 6px 0 7px; color: #002140; font-size: clamp(1.65rem, 3vw, 2.3rem); }
.quote-step__heading p { margin: 0; color: #64717d; }
.quote-option { display: flex; min-height: 155px; flex-direction: column; justify-content: center; align-items: center; gap: 7px; padding: 22px 14px; cursor: pointer; border: 2px solid #dce6ee; border-radius: 16px; text-align: center; color: #002140; transition: .2s ease; }
.quote-option i { color: #0075df; font-size: 1.7rem; }
.quote-option small { color: #64717d; }
.btn-check:checked + .quote-option { border-color: #0075df; background: #edf7ff; box-shadow: 0 8px 22px rgba(0,117,223,.13); }
.quote-radio-error { display: none; margin-top: 10px; }
.quote-step.is-invalid .quote-radio-error { display: block; }
.quote-step .form-control, .quote-step .form-select { min-height: 52px; border-color: #d6e0e8; border-radius: 10px; }
.quote-step .form-control:focus, .quote-step .form-select:focus { border-color: #0075df; box-shadow: 0 0 0 .25rem rgba(0,117,223,.12); }
.quote-step .form-label { margin-bottom: 7px; color: #002140; font-weight: 700; }
.quote-actions { display: flex; gap: 12px; align-items: center; margin-top: 32px; }
.quote-actions .btn { min-height: 51px; padding: 12px 24px; border-radius: 999px; font-weight: 700; }
.quote-next, .quote-submit { margin-left: auto; color: #fff; background: #0075df; }
.quote-next:hover, .quote-submit:hover { color: #fff; background: #0f447a; }
.quote-back { color: #0f447a; background: #eaf5ff; }
.quote-consent { margin-top: 22px; }
.quote-alert { align-items: center; gap: 9px; border-radius: 12px; }
.quote-alert.show { display: flex !important; }
.quote-benefits { background: #fff; }
.quote-content-heading { max-width: 760px; margin-bottom: 28px; }
.quote-content-heading h2 { margin: 8px 0 12px; color: #002140; font-size: clamp(1.75rem, 3vw, 2.55rem); }
.quote-content-heading p { color: #64717d; }
.quote-info-card { height: 100%; padding: 28px; border: 1px solid #e2ebf1; border-radius: 16px; background: #fff; }
.quote-info-card > i { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 12px; color: #0075df; background: #eaf5ff; font-size: 1.25rem; }
.quote-info-card h3 { font-size: 1.3rem; color: #002140; }
.quote-info-card p { margin-bottom: 0; color: #64717d; }
.quote-faq { background: #f5faff; }
.quote-faq .accordion { width: 100%; max-width: none; }
.quote-faq .accordion-item { margin-bottom: 12px; overflow: hidden; border: 1px solid #dfe9ef; border-radius: 12px; }
.quote-faq .accordion-button { color: #002140; font-weight: 700; box-shadow: none; }
.quote-faq .accordion-button:not(.collapsed) { color: #0f447a; background: #eaf5ff; }
@media (max-width: 767.98px) { .quote-hero { padding: 46px 0 55px; } .quote-shell { padding: 26px 20px; border-radius: 18px; } .quote-progress__item { grid-template-columns: 28px; } .quote-progress__item span { width: 28px; height: 28px; } .quote-progress__item small { display: none; } .quote-progress__line { margin: 0 7px; } .quote-actions { flex-wrap: wrap; } .quote-actions .btn { flex: 1; } .quote-next, .quote-submit { margin-left: 0; } }
