:host { min-width: 0; max-width: 100%; }
.source-body :is(h1,h2,h3,h4,p,li) { overflow-wrap: break-word; }
.source-body [data-imported-title] { font-size: clamp(1.5rem,2.5vw,2.25rem) !important; line-height: 1.2 !important; letter-spacing: -.02em; max-width: 100%; }
.source-body :is(.elementor-container,.elementor-widget-wrap,.e-con,.elementor-column) { min-width: 0; }
.source-body img { max-width: 100%; }

/* Shared product form corrections override the imported page's legacy rules. */
.source-body [data-product-quick-offer] { scroll-margin-top: 140px; }
.source-body .product-form-actions { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
.source-body .product-form-consent { display: flex !important; align-items: flex-start !important; gap: 10px !important; width: 100% !important; margin: 8px 0 !important; color: #334b40 !important; font-size: 13px !important; line-height: 1.6 !important; }
.source-body .product-form-consent input { flex: 0 0 18px !important; width: 18px !important; height: 18px !important; margin: 2px 0 0 !important; accent-color: #27865a; }
.source-body .product-form-consent a { color: #1264b0 !important; text-decoration: underline !important; text-underline-offset: 3px; }
.source-body :is([data-product-offer-link], button[type="submit"]):is(:hover,:focus-visible), .source-body :is([data-product-offer-link], button[type="submit"]):is(:hover,:focus-visible) * { color: #fff !important; }
.source-body :is([data-product-offer-link], button[type="submit"]):is(:hover,:focus-visible) { background: #0c3b2b !important; }
.source-body .product-callback { box-sizing: border-box !important; display: grid !important; gap: 16px !important; width: 100% !important; min-width: 0 !important; padding: clamp(18px,3vw,30px) !important; border: 1px solid #cfe3d9 !important; border-radius: 24px 12px !important; background: #f2f9f5 !important; color: #082f23 !important; font-family: Roboto,Arial,sans-serif !important; }
.source-body .product-callback :is(h3,p) { margin: 0 !important; }
.source-body .product-callback h3 { font-size: 24px !important; line-height: 1.2 !important; }
.source-body .product-callback p { color: #596760 !important; line-height: 1.6 !important; }
.source-body .product-callback label { display: block; font-size: 14px; font-weight: 500; }
.source-body .product-callback input[type="tel"] { box-sizing: border-box !important; display: block !important; width: 100% !important; min-width: 0 !important; min-height: 48px !important; margin-top: 6px !important; padding: 12px 14px !important; border: 1px solid #a9cdbc !important; border-radius: 10px !important; background: white !important; color: #082f23 !important; font: inherit !important; }
.source-body .product-callback button { width: 100% !important; min-height: 48px !important; padding: 12px 18px !important; border: 0 !important; border-radius: 10px !important; background: #27865a !important; color: white !important; font: 700 16px Roboto,Arial,sans-serif !important; cursor: pointer; }
.source-body .product-callback :is(input,button,a):focus-visible { outline: 3px solid #ffb31f !important; outline-offset: 3px; }

.source-body .product-callback-column { padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }

.source-body .product-contact-field { display: block; margin: 0 0 12px; font-size: 14px; color: #334b40; }
.source-body form[data-imported-offer] input:is([name="name"],[name="email"],[name="phone"]) { box-sizing: border-box !important; display: block !important; width: 100% !important; min-width: 0 !important; min-height: 44px !important; padding: 11px 13px !important; border: 1px solid #cfe3d9 !important; border-radius: 10px !important; background: #fff !important; color: #082f23 !important; font: inherit !important; }
