/* Quote dialog: deliberately scoped; does not affect the Contact page. */
.lse-quote-modal[hidden] { display: none !important; }
body .lse-quote-modal:not([hidden]) { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 18px; }
.lse-quote-modal__backdrop { position: absolute; inset: 0; background: rgba(5,25,48,.74); }
body .lse-quote-modal__panel { position: relative; width: min(100%, 720px); max-width: 720px; max-height: calc(100dvh - 36px); overflow-y: auto; overscroll-behavior: contain; background: #fff; padding: 30px 34px; box-shadow: 0 18px 70px rgba(0,0,0,.22); color: #0b294b; box-sizing: border-box; }
.lse-quote-modal__close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: transparent; color: #0b294b; cursor: pointer; font: 400 30px/1 Arial,sans-serif; }
.lse-quote-modal__close:hover, .lse-quote-modal__close:focus-visible { color: #c91028; }
body.lse-site .lse-quote-modal__panel h2 { font-size: clamp(25px, 3vw, 32px); line-height: 1.2; margin: 0 36px 8px 0; font-weight: 700; color: #0b294b; }
.lse-quote-modal__intro { color: #5d6a7a; margin: 0 0 22px; font-size: 15px; }
.lse-quote-modal__form, .lse-quote-modal__form .wpcf7, .lse-quote-modal__form form { width: 100%; min-width: 0; }
body.lse-site .lse-quote-modal__form .lse-contact-form { display: flex; flex-direction: column; align-items: stretch; gap: 14px; width: 100%; min-width: 0; margin: 0; }
.lse-quote-modal__form .lse-contact-form > p { margin: 0 !important; padding: 0 !important; }
body.lse-site .lse-quote-modal__form .lse-contact-form .lse-form-pair { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; column-gap: 16px !important; row-gap: 12px !important; width: 100% !important; min-width: 0 !important; }
/* Fallback if the page-builder or CF7 injects auto-paragraphs again. */
.lse-quote-modal__form .lse-form-pair > p { display: contents !important; }
.lse-quote-modal__form .lse-form-pair > br, .lse-quote-modal__form .lse-contact-form > br { display: none !important; }
body.lse-site .lse-quote-modal__form .lse-contact-form label { display: block !important; min-width: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; font-weight: 500; font-size: 13px; line-height: 1.45; color: #102844; }
.lse-quote-modal__form .wpcf7-form-control-wrap { display: block !important; width: 100% !important; min-width: 0 !important; margin-top: 6px; }
body.lse-site .lse-quote-modal__form .lse-contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
body.lse-site .lse-quote-modal__form .lse-contact-form select,
body.lse-site .lse-quote-modal__form .lse-contact-form textarea { display: block !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; margin: 0 !important; border: 1px solid #cbd3dc; border-radius: 2px; background: #fff; padding: 10px 12px; font-size: 14px; font-weight: 400; line-height: 1.4; color: #102844; }
body.lse-site .lse-quote-modal__form .lse-contact-form textarea { height: 100px; min-height: 100px; resize: vertical; }
body.lse-site .lse-quote-modal__form .lse-contact-form input[type=submit],
body.lse-site .lse-quote-modal__form .lse-contact-form button[type=submit] { display: inline-block; align-self: flex-start; width: auto !important; background: #cf0b27 !important; color: #fff !important; border: 0 !important; border-radius: 2px; padding: 12px 25px; font-size: 14px; font-weight: 600; cursor: pointer; }
.lse-quote-modal__form .lse-form-footnote { margin: 0 !important; color: #69788a; font-size: 12px; }
.lse-quote-modal__form .wpcf7-response-output { margin: 12px 0 0 !important; font-size: 13px; }
@media(max-width:600px) { body .lse-quote-modal:not([hidden]) { padding: 10px; } body .lse-quote-modal__panel { max-height: calc(100dvh - 20px); padding: 25px 18px; } body.lse-site .lse-quote-modal__form .lse-contact-form .lse-form-pair { grid-template-columns: minmax(0,1fr) !important; } }
