/* Post-contact utilities: scoped, secondary, and hidden until an explicit contact action. */
.fitlp-v2 [hidden] { display:none!important; }
.fitlp-v2 .fitlp-logo-link { display:block; width:var(--fitlp-logo-width,225px); max-width:30%; flex-shrink:0; min-width:0; color:inherit; text-decoration:none; }
.fitlp-v2 .fitlp-logo-link .fitlp-logo { width:100%; max-width:100%; }
.fitlp-v2 .fitlp-logo-link:focus-visible { outline:3px solid #337398; outline-offset:5px; border-radius:5px; }
.fitlp-v2 .fitlp-callback-details { scroll-margin-top:110px; }
.fitlp-v2 .fitlp-callback-details:focus { outline:none; }
.fitlp-v2 .fitlp-callback-details:focus-visible { outline:3px solid #337398; outline-offset:4px; }
.fitlp-v2 .fitlp-after-contact { box-sizing:border-box; clear:both; width:100%; min-width:0; max-width:800px; margin:22px 0; padding:22px; border:1px solid #c7d6c8; border-radius:14px; background:#f4f8f4; color:#183126; text-align:left; font-size:16px; line-height:1.5; scroll-margin-top:110px; }
.fitlp-v2 .fitlp-after-contact:focus { outline:none; }
.fitlp-v2 .fitlp-after-contact:focus-visible { outline:3px solid #337398; outline-offset:4px; }
.fitlp-v2 .fitlp-after-contact h3 { margin:0 0 10px; font-size:22px; line-height:1.25; color:#183126; }
.fitlp-v2 .fitlp-after-contact h4 { margin:0 0 10px; font-size:19px; line-height:1.3; color:#183126; }
.fitlp-v2 .fitlp-after-contact p { margin:0 0 14px; font-size:16px; line-height:1.5; color:#243f31; }
.fitlp-v2 .fitlp-followup-links { display:flex; flex-wrap:wrap; gap:10px 16px; }
.fitlp-v2 .fitlp-followup-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid #96b19b; border-radius:8px; color:#24452b; background:#fff; font-size:16px; line-height:1.35; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.fitlp-v2 .fitlp-followup-link:hover { background:#e8f1e6; }
.fitlp-v2 .fitlp-map-box { border-top:1px solid #c7d6c8; padding-top:20px; margin-top:20px; }
.fitlp-v2 .fitlp-map-form label { display:block; font-weight:650; margin-bottom:7px; }
.fitlp-v2 .fitlp-map-form input { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #83978b; border-radius:8px; background:#fff; color:#182c23; font-family:inherit; font-size:16px; }
.fitlp-v2 .fitlp-after-contact .fitlp-map-hint, .fitlp-v2 .fitlp-after-contact .fitlp-map-consent, .fitlp-v2 .fitlp-after-contact .fitlp-map-status { font-size:14px; margin-top:10px; line-height:1.5; }
.fitlp-v2 .fitlp-map-status:empty { display:none; }
.fitlp-v2 .fitlp-map-load, .fitlp-v2 .fitlp-map-close { display:inline-block; margin:8px 5px 6px 0; min-height:44px; padding:10px 14px; font-weight:600; font-family:inherit; font-size:16px; line-height:1.3; border:1px solid #617c64; border-radius:8px; background:#fff; color:#243f31; cursor:pointer; }
.fitlp-v2 .fitlp-map-load:hover, .fitlp-v2 .fitlp-map-close:hover { background:#e8f1e6; }
.fitlp-v2 .fitlp-map-frame { overflow:hidden; border-radius:10px; min-width:200px; margin:12px 0; background:#e9efea; }
.fitlp-v2 .fitlp-map-frame iframe { display:block; width:100%; min-height:340px; border:0; max-width:100%; }
.fitlp-v2 .fitlp-after-contact .fitlp-map-fallback { margin:12px 0 0; }
.fitlp-v2 .fitlp-map-box a { color:#24452b; text-decoration:underline; text-underline-offset:3px; }
.fitlp-v2 .fitlp-followup-jump { color:#24452b; font-size:14px; text-decoration:underline; text-underline-offset:3px; line-height:1.35; padding:8px 4px; white-space:nowrap; }
.fitlp-v2 .fitlp-mobile-call .fitlp-followup-jump { display:block; text-align:center; min-height:32px; }
.fitlp-v2 .fitlp-after-contact a:focus-visible, .fitlp-v2 .fitlp-after-contact button:focus-visible, .fitlp-v2 .fitlp-after-contact input:focus-visible { outline:3px solid #337398; outline-offset:3px; }
.fitlp-v2 .fitlp-sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:900px) {
 .fitlp-v2 .fitlp-header-actions>.fitlp-followup-jump { display:none; }
}
@media(max-width:781px) {
 .fitlp-v2 .fitlp-logo-link { width:170px; max-width:46%; }
 .fitlp-v2.fitlp-has-followup .fitlp-mobile-call { flex-direction:column; background:#fff; border-radius:14px; padding:5px; }
 .fitlp-v2.fitlp-has-followup .fitlp-footer { padding-bottom:calc(145px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:480px) {
 .fitlp-v2 .fitlp-logo-link { width:145px; max-width:46%; }
}
@media(max-width:600px) {
 .fitlp-v2 .fitlp-after-contact { margin:18px 0; padding:18px; }
 .fitlp-v2 .fitlp-followup-links { flex-direction:column; align-items:stretch; gap:10px; }
 .fitlp-v2 .fitlp-followup-link { justify-content:center; text-align:center; }
 .fitlp-v2 .fitlp-after-contact h3 { font-size:21px; }
 .fitlp-v2 .fitlp-map-form input { font-size:16px; }
 .fitlp-v2.fitlp-has-followup { padding-bottom:42px; }
 .fitlp-v2 .fitlp-callback-details { scroll-margin-top:90px; }
}

/* Keep the open form and its own submit button unobstructed on phones. */
.fitlp-v2.fitlp-callback-in-view .fitlp-mobile-call { display:none; }
