/* Fresh Look Painting - staging design refresh (Draft). Mobile-first, WCAG 2.2 AA.
   Loaded by fl-estimate-booking when Settings > FL Estimate Booking > "Design refresh CSS/JS" is ticked
   (revert = untick). Targets Salient 17 markup + classes the plan adds in WPBakery (fl-hero, fl-trust,
   fl-services, fl-reviews) and the menu class fl-menu-cta. Brand blue #006a8e (6.0:1 on white). */
:root{--fl-blue:#006a8e;--fl-blue-dk:#004f6b;--fl-green:#5a8f29;--fl-ink:#1a1a1a;--fl-muted:#4a5560;--fl-bg:#f5f8fa}

/* 1. Focus visible everywhere (2.4.7 / 2.4.11) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--fl-ink)!important;outline-offset:2px!important;box-shadow:0 0 0 5px #fff!important}
#header-outer a:focus-visible{outline-color:var(--fl-blue)!important}
html{scroll-padding-top:110px}/* fixed header must not hide focused content */

/* 2. Contrast: replace #0084b0 on text/buttons */
.nectar-cta .link_wrap,.nectar-button.accent-color,.nectar-button[data-color-override="#0084b0"],
body .wpcf7 input[type=submit]{background-color:var(--fl-blue)!important;border-color:var(--fl-blue)!important;color:#fff!important}
.nectar-cta .link_wrap:hover,body .wpcf7 input[type=submit]:hover{background-color:var(--fl-blue-dk)!important}
.wpcf7-list-item-label,.wpcf7 a{color:var(--fl-blue-dk)}

/* 3. Target sizes >= 44px for primary controls (2.5.8 asks 24px; we use 44) */
.nectar-cta .link_wrap a.link_text,#header-outer #top nav>ul>li>a,.off-canvas-menu-container .menu li a,
body .wpcf7 input[type=submit],#footer-outer .widget a:not(p a){min-height:44px;display:inline-flex;align-items:center}
.wpcf7-list-item{display:block;margin:0 0 6px}.wpcf7-list-item label{min-height:44px;display:flex;align-items:center;gap:10px}
.wpcf7-list-item input[type=checkbox]{width:22px;height:22px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{min-height:48px;font-size:16px}

/* 4. Header "Get an Estimate" menu button (menu item CSS class fl-menu-cta) */
#header-outer #top nav>ul>li.fl-menu-cta>a{background:var(--fl-blue);color:#fff!important;border-radius:6px;padding:0 18px!important;margin-top:auto;margin-bottom:auto;height:44px;line-height:44px}
#header-outer #top nav>ul>li.fl-menu-cta>a:hover{background:var(--fl-blue-dk)}
#header-outer #top nav>ul>li.fl-menu-cta>a .menu-title-text:after{display:none}

/* 5. Mobile off-canvas nav: bigger rows, clear separation */
.off-canvas-menu-container.mobile-only .menu>li>a{font-size:18px!important;padding:10px 0!important}
.off-canvas-menu-container.mobile-only .menu>li{border-bottom:1px solid rgba(255,255,255,.15)}
.off-canvas-menu-container.mobile-only .menu li.fl-menu-cta>a{background:var(--fl-blue);color:#fff;border-radius:6px;justify-content:center;margin:12px 0}

/* 6. Hero (row class fl-hero) */
.fl-hero h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.12;text-shadow:0 1px 3px rgba(0,0,0,.45);max-width:16em}
.fl-hero .fl-hero-sub{font-size:clamp(1.05rem,2.6vw,1.3rem);color:#fff;max-width:34em;margin:.6em 0 1.2em;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.fl-hero .fl-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.fl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:6px;font-weight:700;text-decoration:none!important;border:2px solid var(--fl-blue)}
.fl-btn-primary{background:var(--fl-blue);color:#fff!important}.fl-btn-primary:hover{background:var(--fl-blue-dk)}
.fl-btn-ghost{background:rgba(0,0,0,.25);color:#fff!important;border-color:#fff}

/* 7. Trust bar (row class fl-trust) */
.fl-trustbar{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.fl-trustbar li{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #dfe5ea;border-radius:8px;font-weight:600;color:var(--fl-ink);font-size:15px;line-height:1.3}
.fl-trustbar li .fl-ico{flex:0 0 28px;height:28px;border-radius:50%;background:var(--fl-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.fl-trustbar small{display:block;font-weight:400;color:var(--fl-muted)}
@media(min-width:900px){.fl-trustbar{grid-template-columns:repeat(5,1fr)}}
.fl-trust img{max-height:72px;width:auto}

/* 8. Service cards (row class fl-services) */
.fl-services .wpb_column>.vc_column-inner{background:#fff;border:1px solid #dfe5ea;border-radius:10px;padding:24px!important;height:100%;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.fl-services h2,.fl-services h3{color:var(--fl-ink)}
.fl-services a{font-weight:700;color:var(--fl-blue-dk)}

/* 9. Reviews (row class fl-reviews) */
.fl-reviews{background:var(--fl-bg)}.fl-reviews h2{text-align:center}

/* 10. Footer */
#footer-outer #footer-widgets .widget,#footer-outer #copyright{font-size:15px;line-height:1.6}
#footer-outer a{text-decoration:underline;text-underline-offset:2px}
#footer-outer .fl-nap{font-style:normal}

/* 11. reCAPTCHA badge (live only; staging removes it): hidden only together with the required text disclosure */
body.fl-recaptcha-disclosed .grecaptcha-badge{visibility:hidden}
.fl-recaptcha-note{font-size:13px;color:var(--fl-muted);margin-top:8px}

/* 12. Reduced motion */
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
