.ac-calculator label,
.ac-quote-form label { display: grid; gap: .5rem; color: #14263b; font-size: .88rem; font-weight: 700; }
.ac-quote-form { padding-block: .15rem; }
.ac-field-label { display: block; min-width: 0; color: #14263b; line-height: 1.35; white-space: nowrap; }
.ac-required { display: inline; color: #157cb4; white-space: nowrap; }
.ac-calculator input,
.ac-quote-form input,
.ac-quote-form select,
.ac-quote-form textarea { box-sizing: border-box; width: 100%; min-height: 3.25rem; padding: .78rem 1rem; border: 1px solid #b9c9d2; border-radius: 2px; background-color: #fff; color: #122238; font: inherit; font-weight: 400; transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.ac-quote-form select { padding-right: 2.65rem; -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #426078 50%), linear-gradient(135deg, #426078 50%, transparent 50%); background-position: calc(100% - 1.15rem) 50%, calc(100% - .85rem) 50%; background-repeat: no-repeat; background-size: .34rem .34rem, .34rem .34rem; }
.ac-quote-form textarea { min-height: 6.75rem; resize: vertical; }
.ac-quote-form input:hover,
.ac-quote-form select:hover,
.ac-quote-form textarea:hover { border-color: #9fb7c7; }
.ac-calculator input:focus,
.ac-quote-form input:focus,
.ac-quote-form select:focus,
.ac-quote-form textarea:focus { outline: none; border-color: #278bc8; box-shadow: 0 0 0 3px rgba(52,159,219,.18); }
.ac-calculator__fields,
.ac-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.05rem 1rem; }
.ac-calculator__fields { margin-bottom: 1.25rem; }
.ac-calculator__result { min-height: 6.5rem; margin-top: 1.5rem; padding: 1.25rem; border-left: 4px solid #35a7df; background: #f2f8fc; }
.ac-calculator__result strong { color: #0c5b89; font-size: 1.6rem; }
.ac-calculator__result p { margin: .35rem 0; }
.ac-calculator__result a { color: #0c5b89; font-weight: 800; }
.ac-fine-print,
.ac-form-privacy { margin: 1rem 0 .35rem; color: #5e6d7c; font-size: .8rem; line-height: 1.55; }
.ac-form-span-2 { grid-column: 1 / -1; }
.elementor-section.ac-section.ac-quote-elementor { padding-top: clamp(5rem, 7vw, 6.5rem); padding-bottom: clamp(3.5rem, 5vw, 5rem); }
.elementor-section.ac-section.ac-quote-elementor > .elementor-container { align-items: flex-start; }
.elementor-section.ac-section.ac-quote-elementor .ac-quote-card { margin-top: clamp(1rem, 2vw, 1.75rem); }
.elementor-section.ac-section.ac-quote-elementor .elementor-column-gap-wide > .ac-quote-card > .elementor-element-populated { padding: clamp(1.75rem, 3vw, 2.35rem); border: 1px solid rgba(207,222,231,.8); background: #fff; }
.ac-quote-form > button[type="submit"].ac-button { display: inline-flex; min-width: min(100%, 18rem); min-height: 3.25rem; align-items: center; justify-content: center; margin-top: 1.2rem; padding: .8rem 1.35rem; border: 1px solid var(--ac-blue, #35a7df); border-radius: 2px; background: var(--ac-blue, #35a7df); color: #071724 !important; cursor: pointer; font: inherit; font-size: .9rem; font-weight: 800; line-height: 1; text-decoration: none; box-shadow: none; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ac-quote-form > button[type="submit"].ac-button:hover { border-color: #58b7e5; background: #58b7e5; }
.ac-quote-form > button[type="submit"].ac-button:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(52,159,219,.25); }
.ac-selected-offer { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.2rem; padding: 1rem 1.1rem; border: 1px solid #b9dbea; border-left: 4px solid var(--ac-blue, #35a7df); background: #eef8fc; }
.ac-selected-offer[hidden] { display: none; }
.ac-selected-offer__details { display: grid; gap: .18rem; min-width: 0; }
.ac-selected-offer__label { color: #157cb4; font-size: .7rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.ac-selected-offer strong { color: #14263b; font-size: 1rem; line-height: 1.3; }
.ac-selected-offer small { color: #126e9f; font-size: .84rem; font-weight: 800; }
.ac-selected-offer__remove { flex: 0 0 auto; padding: .35rem 0; border: 0; background: transparent; color: #126e9f; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 800; text-decoration: underline; text-underline-offset: .18rem; }
.ac-selected-offer__remove:hover,
.ac-selected-offer__remove:focus-visible { color: #0d4f74; }
.ac-honeypot { position: absolute !important; left: -9999px !important; }
.ac-form-notice { margin-bottom: 1rem; padding: 1rem 1.2rem; border-radius: 2px; font-weight: 700; }
.ac-form-notice--success { background: #e7f7ed; color: #176638; }
.ac-form-notice--error { background: #fff0ef; color: #952f2a; }
@media (max-width: 640px) {
    .ac-calculator__fields,
    .ac-form-grid { grid-template-columns: 1fr; }
    .ac-form-span-2 { grid-column: auto; }
    .ac-quote-form > button[type="submit"].ac-button { width: 100%; }
    .ac-selected-offer { align-items: flex-start; flex-direction: column; gap: .55rem; }
}
@media (max-width: 1024px) {
    .elementor-section.ac-section.ac-quote-elementor { padding-block: 4.5rem; }
    .elementor-section.ac-section.ac-quote-elementor .ac-quote-card { margin-top: 0; }
}
