.home-insurance-page { padding: 76px 0 100px; background: var(--secondary-color); }
.home-insurance-intro { max-width: 650px; margin: 0 auto 34px; text-align: center; }
.home-insurance-intro .section-sub-title { display: inline-block; margin-bottom: 12px; color: var(--accent-secondary-color); }
.home-insurance-intro h2 { margin: 0 0 12px; font-size: clamp(28px, 4vw, 42px); }
.home-insurance-intro p { margin: 0; line-height: 1.7; }
.home-insurance-form { width: 100%; max-width: 980px; margin: 0 auto; padding: 42px; background: var(--bg-color); border: 1px solid rgba(15, 14, 45, .1); border-radius: 4px; box-shadow: 0 8px 24px rgba(15, 14, 45, .05); }
.home-insurance-stepper { display: flex; list-style: none; margin: 0 0 42px; padding: 0 0 22px; border-bottom: 1px solid var(--divider-color); gap: 0; }
.home-insurance-stepper li { position: relative; display: flex; align-items: center; gap: 10px; flex: 1; color: #aaa; font-size: 14px; }
.home-insurance-stepper li:not(:last-child)::after { content: ''; height: 1px; flex: 1; margin: 0 20px; background: var(--divider-color); }
.home-insurance-stepper li.is-active { color: var(--primary-color); }
.home-insurance-stepper span { display: inline-grid; place-items: center; width: 32px; height: 32px; color: var(--white-color); background: #c9c9c9; font-size: 12px; font-weight: 700; }
.home-insurance-stepper li.is-active span { background: var(--accent-secondary-color); }
.home-insurance-step[hidden] { display: none; }
.home-insurance-form h2 { margin: 0; font-size: 24px; }
.home-insurance-section-heading { display: flex; align-items: flex-start; gap: 14px; margin: 4px 0 22px; }
.home-insurance-section-heading:not(:first-of-type) { margin-top: 42px; }
.home-insurance-section-heading p { margin: 5px 0 0; color: var(--text-color); }
.home-insurance-section-number { display: inline-grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; color: var(--white-color); background: var(--accent-secondary-color); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.home-insurance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; }
.home-insurance-group { padding: 24px; background: #fcfbf8; border: 1px solid rgba(15, 14, 45, .08); }
.home-insurance-group--compact { padding-bottom: 28px; }
.home-insurance-field { display: flex; flex-direction: column; gap: 8px; color: var(--primary-color); font-size: 14px; font-weight: 600; }
.home-insurance-field.has-error input { border-color: #b42318; }
.home-insurance-error { color: #b42318; font-size: 12px; font-weight: 500; }
.home-insurance-form .alert ul { margin: 8px 0 0 18px; padding: 0; }
.home-insurance-field--wide { grid-column: span 2; }
.home-insurance-form input { width: 100%; padding: 13px 14px; border: 1px solid var(--divider-color); border-radius: 0; font: inherit; font-weight: 400; color: var(--primary-color); background: var(--bg-color); transition: border-color .2s ease, box-shadow .2s ease; }
.home-insurance-form input::placeholder { color: #9a9a9a; }
.home-insurance-form input:focus { box-shadow: 0 0 0 3px rgba(205, 175, 63, .12); }
.home-insurance-form input:focus { outline: 2px solid rgba(205, 175, 63, .35); border-color: var(--accent-color); }
.home-insurance-date-input { position: relative; display: block; }
.home-insurance-date-input__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 13px 14px; border: 1px solid var(--divider-color); background: var(--bg-color); color: var(--primary-color); font: inherit; text-align: left; cursor: pointer; }
.home-insurance-date-input__trigger > span:last-child { color: var(--accent-secondary-color); font-size: 18px; }
.home-insurance-calendar { position: absolute; z-index: 5; top: calc(100% + 8px); left: 0; width: min(300px, 100%); padding: 16px; border: 1px solid var(--divider-color); background: var(--white-color); box-shadow: 0 14px 30px rgba(15, 14, 45, .16); }
.home-insurance-calendar[hidden] { display: none; }
.home-insurance-calendar__head, .home-insurance-calendar__weekdays, .home-insurance-calendar__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.home-insurance-calendar__head { grid-template-columns: 32px 1fr 32px; align-items: center; margin-bottom: 14px; text-align: center; }
.home-insurance-calendar__head button { border: 0; background: transparent; color: var(--accent-secondary-color); font-size: 22px; cursor: pointer; }
.home-insurance-calendar__head button:disabled { opacity: .25; cursor: not-allowed; }
.home-insurance-calendar__weekdays { margin-bottom: 6px; color: var(--text-color); font-size: 11px; text-align: center; }
.home-insurance-calendar__days button { aspect-ratio: 1; border: 0; border-radius: 50%; background: transparent; color: var(--primary-color); cursor: pointer; }
.home-insurance-calendar__days button:hover, .home-insurance-calendar__days button.is-selected { background: var(--accent-color); font-weight: 700; }
.home-insurance-calendar__days button.is-today { outline: 1px solid var(--accent-secondary-color); outline-offset: -2px; }
.home-insurance-calendar__days button:disabled { color: #bbb; cursor: not-allowed; }
.home-insurance-date-input:focus-within::after { content: ''; position: absolute; inset: 0; border: 2px solid rgba(205, 175, 63, .35); pointer-events: none; }
.home-insurance-help { margin: 0 0 18px; color: var(--text-color); font-size: 14px; }
.home-insurance-quote-summary { margin-top: 22px; padding: 22px; border: 1px solid rgba(15, 14, 45, .1); border-radius: 4px; background: linear-gradient(135deg, var(--secondary-color), #fff); box-shadow: 0 8px 22px rgba(15, 14, 45, .06); }
.home-insurance-quote-summary__heading { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--divider-color); }
.home-insurance-quote-summary__heading div { display: flex; flex-direction: column; gap: 3px; }
.home-insurance-quote-summary__heading div > span { color: var(--accent-secondary-color); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-insurance-quote-summary__heading strong { color: var(--primary-color); font-size: 18px; }
.home-insurance-quote-summary__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--accent-color); color: var(--primary-color); font-weight: 700; }
.home-insurance-quote-summary__rows { display: grid; gap: 0; padding: 16px 0 8px; }
.home-insurance-quote-summary__rows div, .home-insurance-quote-summary__total { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--text-color); font-size: 13px; }
.home-insurance-quote-summary__rows div { padding: 10px 0; border-bottom: 1px solid var(--divider-color); }
.home-insurance-quote-summary__rows .home-insurance-quote-summary__subtotal { padding-top: 14px; }
.home-insurance-quote-summary__rows strong { color: var(--primary-color); font-size: 14px; }
.home-insurance-quote-summary__rows small { font-size: 11px; }
.home-insurance-quote-summary__total { padding-top: 14px; border-top: 1px solid var(--divider-color); color: var(--primary-color); font-size: 15px; font-weight: 700; }
.home-insurance-quote-summary__total strong { color: var(--accent-secondary-color); font-size: 23px; }
.home-insurance-quote-summary__note { display: block; margin-top: 12px; color: var(--text-color); font-size: 11px; line-height: 1.4; }
.home-insurance-submit { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--divider-color); }
.home-insurance-submit p { max-width: 520px; margin: 0; color: var(--text-color); font-size: 14px; line-height: 1.5; }
.home-insurance-form .btn-default { flex: 0 0 auto; border: 0; cursor: pointer; }
.home-insurance-step-actions { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 38px; }
.home-insurance-back { padding: 13px 22px; border: 1px solid var(--primary-color); background: transparent; color: var(--primary-color); font: inherit; cursor: pointer; }
@media (max-width: 767px) { .home-insurance-page { padding: 55px 0; } .home-insurance-form { padding: 28px 18px; } .home-insurance-group { padding: 18px; } .home-insurance-grid { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .home-insurance-field--wide { grid-column: auto; } .home-insurance-submit { align-items: stretch; flex-direction: column; } }
@media (max-width: 767px) { .home-insurance-quote-summary { align-items: flex-start; flex-direction: column; gap: 10px; } }
@media (max-width: 767px) { .home-insurance-stepper strong { display: none; } .home-insurance-stepper li:not(:last-child)::after { margin: 0 8px; } }
