/* AOD quote popup + quote-request form (Forminator design "none"). Loaded by aod-quote-forms.php. */
/* The panel is a fixed frame that never scrolls; .dialog-message is the ONE scroll container. Elementor's popup.min.css
   gives the panel overflow:visible and the message its own max-height:100vh, so at high zoom / short viewports the
   message (and the submit button) ran below the panel's bottom edge. The close button sits in the frame's own 50px
   header band (padding-top), above the scroll area, so it never overlaps the content. */
.quote-popup .dialog-widget-content { display: flex !important; flex-direction: column; box-sizing: border-box; padding-top: 50px !important; max-height: calc(100vh - 32px - var(--wp-admin--admin-bar--height, 0px)) !important; max-height: calc(100dvh - 32px - var(--wp-admin--admin-bar--height, 0px)) !important; overflow: hidden !important; }
.quote-popup .dialog-message { flex: 1 1 auto; min-height: 0; max-height: none !important; max-width: 100%; box-sizing: border-box; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; font-family: "DM Sans", system-ui, sans-serif; }
@media (max-height: 500px) { .quote-popup .dialog-widget-content { max-height: calc(100vh - 16px - var(--wp-admin--admin-bar--height, 0px)) !important; max-height: calc(100dvh - 16px - var(--wp-admin--admin-bar--height, 0px)) !important; } }
.quote-popup .elementor-element-quote-wrap { padding-top: 0 !important; }
.quote-popup h2 { font-family: "Gabarito", system-ui, sans-serif; }
.quote-popup .e-paragraph a, .quote-popup p a { color: #2253a4; font-weight: 700; text-decoration: underline; }
.quote-popup .dialog-close-button { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; z-index: 2; }
.quote-popup .dialog-close-button:focus-visible { outline: 3px solid #2253a4; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .quote-popup .dialog-widget-content { animation: none !important; } }

.forminator-custom-form-4668 { font-family: "DM Sans", system-ui, sans-serif; color: #313132; }
.forminator-ui.forminator-custom-form-4668 .forminator-row { display: flex; flex-wrap: wrap; gap: 0 14px; margin: 0 0 14px !important; }
.quote-popup .dialog-widget-content:focus { outline: none; }
.forminator-ui.forminator-custom-form-4668 .forminator-row.forminator-hidden,
.forminator-ui.forminator-custom-form-4668 .forminator-row:empty { display: none; margin: 0; }
.forminator-custom-form-4668 .forminator-col { flex: 1 1 100%; min-width: 0; }
.forminator-ui.forminator-custom-form-4668 .forminator-col { margin-bottom: 0 !important; } /* Forminator's 20px on the first of two columns made the Phone/Email row (and the stacked phone layout) taller */
.forminator-custom-form-4668 .forminator-col-6 { flex: 1 1 calc(50% - 7px); }
@media (max-width: 560px) { .forminator-custom-form-4668 .forminator-col-6 { flex-basis: 100%; } .forminator-ui.forminator-custom-form-4668 .forminator-row { margin-bottom: 12px !important; } .forminator-custom-form-4668 .forminator-col-6 + .forminator-col-6 { margin-top: 12px; } }
.forminator-custom-form-4668 .forminator-label { display: block; margin: 0 0 6px; font-weight: 700; font-size: 15px; color: #313132; }
.forminator-custom-form-4668 .forminator-required { color: #c31b20; }
.forminator-custom-form-4668 .forminator-input,
.forminator-custom-form-4668 select,
.forminator-custom-form-4668 textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 11px 14px; font: inherit; font-size: 16px; color: #1d1d1f; background: #fff; border: 1.5px solid #8a8a8f; border-radius: 6px; }
.forminator-custom-form-4668 textarea { display: block; min-height: 96px; resize: vertical; }
.forminator-custom-form-4668 .forminator-input:focus,
.forminator-custom-form-4668 select:focus,
.forminator-custom-form-4668 textarea:focus { outline: 3px solid rgba(34, 83, 164, .35); border-color: #2253a4; }
.forminator-custom-form-4668 ::placeholder { color: #6b6b70; }
.forminator-custom-form-4668 .forminator-has_error .forminator-input,
.forminator-custom-form-4668 .forminator-has_error select,
.forminator-custom-form-4668 .forminator-has_error textarea { border-color: #c31b20; }
.forminator-custom-form-4668 .forminator-error-message { display: block; margin-top: 6px; color: #a3161a; font-size: 14px; font-weight: 600; }
/* Character counter under the message field: one compact right-aligned line (it used to add a tall inline line box). */
.forminator-custom-form-4668 .forminator-description { display: block; margin-top: 4px; font-size: 12px; line-height: 16px; text-align: right; color: #555; }
.forminator-custom-form-4668 .forminator-button-submit { width: 100%; min-height: 52px; padding: 14px 20px; border: 0; border-radius: 6px; background: #c31b20; color: #fff; font-family: "Gabarito", system-ui, sans-serif; font-size: 18px; font-weight: 700; cursor: pointer; }
.forminator-custom-form-4668 .forminator-button-submit:hover { background: #a3161a; }
.forminator-custom-form-4668 .forminator-button-submit:focus-visible { outline: 3px solid #2253a4; outline-offset: 2px; }
.forminator-custom-form-4668 .forminator-response-message { margin: 0 0 14px; padding: 14px 16px; border-radius: 6px; font-size: 15px; }
.forminator-custom-form-4668 .forminator-response-message[aria-hidden="true"] { display: none; }
.forminator-custom-form-4668 .forminator-response-message.forminator-success { background: #eaf1fb; border-left: 5px solid #2253a4; color: #1d1d1f; }
.forminator-custom-form-4668 .forminator-response-message.forminator-error { background: #fdecec; border-left: 5px solid #c31b20; color: #1d1d1f; }
.forminator-custom-form-4668 .forminator-response-message p { margin: 0; }
.forminator-custom-form-4668 .forminator-response-message a { color: #2253a4; font-weight: 700; }
/* Phone-or-email error (aod-quote.js): one message for the pair. */
.contact-pair-error { display: block; }
.forminator-ui.forminator-custom-form-4668 .contact-pair-error { flex: 1 1 100%; margin-top: 6px; padding: 0 15px; }

/* Contact form 1912 (blue panel, Forminator "flat" design): match the popup form. Forminator's per-form stylesheet
   uses #forminator-module-1912 selectors, hence the id and !important here. */
#forminator-module-1912.forminator-ui .forminator-label { font-size: 15px !important; font-weight: 700 !important; line-height: 1.35 !important; margin-bottom: 6px !important; }
#forminator-module-1912.forminator-ui .forminator-required { color: #ffd3d5 !important; } /* 5.5:1 on #2253a4; the red was about 2:1 */
#forminator-module-1912.forminator-ui .forminator-input,
#forminator-module-1912.forminator-ui textarea { border-radius: 6px !important; min-height: 48px; font-size: 16px !important; }
#forminator-module-1912.forminator-ui .forminator-input:focus,
#forminator-module-1912.forminator-ui textarea:focus { outline: 3px solid #fff !important; outline-offset: 1px; }
#forminator-module-1912.forminator-ui .forminator-description { display: block; margin-top: 4px; font-size: 12px !important; line-height: 16px !important; text-align: right; }
#forminator-module-1912.forminator-ui .forminator-button-submit { width: 100% !important; min-height: 52px; padding: 14px 20px !important; border: 0 !important; border-radius: 6px !important; background: #c31b20 !important; color: #fff !important; font-family: "Gabarito", system-ui, sans-serif !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.2 !important; }
#forminator-module-1912.forminator-ui .forminator-button-submit:hover { background: #a3161a !important; }
#forminator-module-1912.forminator-ui .forminator-button-submit:focus-visible { outline: 3px solid #fff !important; outline-offset: 2px; }
/* SMS consent text under the Contact form (Elementor text widget b2d84a4 on page 1417): was 10px. */
.elementor-1417 .elementor-element-b2d84a4 p { font-size: 13px !important; line-height: 1.6 !important; }
