/* WaterDamageGo Pro Polish v1.0.0 - professional refinement layer.
   Loads AFTER Foundation (wdg-frontend.css), Design Pro (wdg-design.css)
   and Post Hero (wdg-post-hero.css, hero posts only). Palette copied from
   those layers: navy #0b2a4a - aqua #0e7fc4 - sky #38bdf8 - page field
   #edf4fa - panel line #e2edf5 - body ink #33475c - CTA orange gradient
   #ffa200 -> #ff7a00 -> #f95700 (the gradient itself lives in the
   Customizer / lower layers and is deliberately NOT redeclared here).
   Every rule is a finish, not a rebuild: deactivate the plugin and the
   pre-polish design returns untouched. */

/* ================= 1. Header (global) ================= */
header.site-header{
    background:#fff;
    border-bottom:1px solid #e2edf5;
    box-shadow:0 2px 14px rgba(11,42,74,.06);
}
header.site-header img.custom-logo{height:44px;width:auto}
header.site-header nav a,
header.site-header .main-navigation a{
    font-size:15px;
    font-weight:600;
    letter-spacing:.02em;
    color:#0b2a4a;
}
header.site-header nav a:hover,
header.site-header .main-navigation a:hover,
header.site-header nav li.current-menu-item > a,
header.site-header .main-navigation li.current-menu-item > a{
    color:#0e7fc4;
    text-decoration:underline;
    text-decoration-thickness:2px;
    text-underline-offset:6px;
}

/* ================= 2. Header phone button =================
   Only applies if a [wdg_call_btn] link ever sits in the header.
   !important is required because the shortcode prints inline styles. */
header.site-header .wdg-call-link{padding:10px 18px!important;font-size:14.5px!important}

/* ================= 3. Typography =================
   Element-level selectors on purpose: every existing class rule in the
   lower layers (hero titles, section headings) keeps winning, so this
   only tightens the theme's bare headings and plain content links. */
h1,h2{letter-spacing:-.01em;line-height:1.15}
.entry-content a:not(.wdg-call-link):not(.wp-block-button__link){
    color:#0b6ea8;
    text-underline-offset:3px;
}
::selection{background:#bfe3f7;color:#0b2a4a}

/* ================= 4. Call buttons =================
   Gradient, radius and pulse ring come from the lower layers and stay.
   This adds the finish: an orange-tinted shadow, a gentle hover lift
   and a visible keyboard focus ring. Inside heroes the lift and the
   glow are cancelled again (third rule) so the hero CTA - including
   its pulsing ring - renders exactly as before, only resting-state
   shadow/transition apply. */
.wdg-call-link{
    border-radius:999px;
    box-shadow:0 8px 20px rgba(249,87,0,.28);
    transition:box-shadow .18s ease,transform .18s ease;
}
.wdg-call-link:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(249,87,0,.34);
}
.wdg-post-hero .wdg-call-link:hover,
.wdg-hero .wdg-call-link:hover{
    transform:none;
    box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.wdg-call-link:focus-visible{
    outline:3px solid rgba(14,127,196,.55);
    outline-offset:2px;
}

/* ================= 5. Homepage (body.home) ================= */
body.home .wdg-card,
body.home .wdg-cause{transition:box-shadow .25s ease,transform .25s ease}
body.home .wdg-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 32px rgba(11,42,74,.15);
}
body.home .wdg-cause:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 26px rgba(11,42,74,.12);
}
body.home .wdg-table tbody tr:hover td{background:#eef7ff}
body.home .wdg-faq h3{transition:border-color .2s ease}
body.home .wdg-faq h3:hover{border-color:#0e7fc4}

/* ================= 6. City posts (Post Hero context) =================
   6a. Deeper top overlay for text contrast. The hero photo + its
   horizontal gradient are printed INLINE by the Post Hero plugin, so
   the vertical deepening rides on a ::before veil instead of touching
   background-image; size and padding are unchanged, and the hero's own
   content is lifted above the veil. If a future check finds the hero
   too dark, soften THIS rule only - it is isolated on purpose. */
.wdg-post-hero::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    /* v1.0.1: softened hard after live verification — at .88/.55 the hero
       photo was barely visible. This is now only a whisper of top shading;
       the text contrast comes from the hero's own inline gradient. */
    background:linear-gradient(180deg,rgba(7,30,54,.38) 0%,rgba(7,30,54,.12) 100%);
    pointer-events:none;
    z-index:0;
}
.wdg-post-hero-inner{position:relative;z-index:1}

/* 6b. Trust chips: same glass values the lower layers already use,
   plus the backdrop blur that makes them read as real glass. */
.wdg-post-hero .wdg-chips span{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
}

/* 6c. Panels, accent bar, FAQ rows */
.wdg-post-intro,.wdg-post-section{box-shadow:0 6px 28px rgba(11,42,74,.08)}
.wdg-post-section h2::after{background:linear-gradient(90deg,#0e7fc4,#38bdf8)}
.wdg-post-faq h3{transition:border-color .2s ease}
.wdg-post-faq h3:hover{border-color:#0e7fc4}

/* ================= 7. Footer (global) =================
   Colors and spacing only - Kadence keeps owning the structure.
   Row inners are set transparent so the navy field is uniform even
   where Kadence paints its own row backgrounds. */
.site-footer,#colophon{
    background:#0b2a4a;
    color:#c9dcee;
    border-top:3px solid #0e7fc4;
}
#colophon .site-footer-row-container-inner{background:transparent}
.site-footer a{color:rgba(255,255,255,.88)}
.site-footer a:hover{color:#7fd4ff}
/* v1.0.1: Kadence paints the current-page footer link near-black, which
   vanished on the navy field — keep it lit like the other links. */
.site-footer .current-menu-item > a,
.site-footer .current_page_item > a,
#colophon .current-menu-item > a,
#colophon .current_page_item > a{color:#7fd4ff}
/* v1.0.2: v1.0.1's rule above still lost to Kadence's own current-item
   color (verified live: homepage footer "Home" stayed near-black while
   the same link was light on other pages). This !important hammer with
   the li-anchored and aria-current selectors ends the specificity war. */
.site-footer li.current-menu-item > a,
.site-footer li.current_page_item > a,
#colophon li.current-menu-item > a,
#colophon li.current_page_item > a,
.site-footer a[aria-current="page"],
#colophon a[aria-current="page"]{color:#7fd4ff!important}
/* v1.0.7: the footer NAV links (Home/Services/Locations/About Us/Contact)
   were still painted Kadence's dark slate (palette5) because Kadence's
   #colophon .footer-navigation selector outranks the generic
   .site-footer a rule above — on the navy field they were near-unreadable
   (only the current-page link escaped, via the v1.0.2 hammer). Same
   !important treatment for every nav link; hover keeps the aqua accent,
   current page stays aqua like before. */
#colophon .footer-navigation .footer-menu-container > ul > li > a,
#colophon .footer-navigation .menu > li > a{
    color:#eaf4ff!important;
    font-weight:600;
}
#colophon .footer-navigation .footer-menu-container > ul > li > a:hover,
#colophon .footer-navigation .footer-menu-container > ul > li > a:focus,
#colophon .footer-navigation .menu > li > a:hover,
#colophon .footer-navigation .menu > li > a:focus{color:#7fd4ff!important}
#colophon .footer-navigation li.current-menu-item > a,
#colophon .footer-navigation li.current_page_item > a{color:#7fd4ff!important}
.site-footer h2,.site-footer h3,.site-footer h4,.site-footer .widget-title{color:#fff}
#colophon [data-section="kadence_customizer_footer_bottom"] .site-footer-row-container-inner{background:#082037}
#colophon [data-section="kadence_customizer_footer_bottom"]{font-size:13.5px;text-align:center}

/* ================= 8. Sticky call bar =================
   Gradient untouched (Customizer layer); this only lifts the bar off
   the page with a soft top shadow. Both the ID form used by the
   Foundation stylesheet and the class form the footer markup prints
   are covered. */
#wdg-sticky-call a,.wdg-sticky-call a{box-shadow:0 -4px 18px rgba(11,42,74,.18)}

/* ================= 9. Reduced motion ================= */
@media (prefers-reduced-motion:reduce){
    .wdg-call-link,
    body.home .wdg-card,
    body.home .wdg-cause,
    body.home .wdg-faq h3,
    .wdg-post-faq h3{transition:none!important}
    .wdg-call-link:hover,
    body.home .wdg-card:hover,
    body.home .wdg-cause:hover{transform:none!important}
}

/* ================= 10. Mobile ================= */
@media (max-width:640px){
    header.site-header{box-shadow:0 1px 8px rgba(11,42,74,.05)}
    header.site-header img.custom-logo{height:36px}
    header.site-header nav a,
    header.site-header .main-navigation a{font-size:14px}
    .site-footer,#colophon{text-align:center}
}

/* v1.0.3: ghost reported the header "Services" submenu not opening on
   hover in his browser (only a click through to the parent page worked).
   Kadence reveals submenus with its own hover rules; these !important
   rules guarantee the reveal mechanics on hover and keyboard/touch
   focus-within, without touching Kadence's own submenu styling. */
.header-navigation .menu-item-has-children:hover > .sub-menu,
.header-navigation .menu-item-has-children:focus-within > .sub-menu,
#masthead .menu-item-has-children:hover > .sub-menu,
#masthead .menu-item-has-children:focus-within > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    clip:auto!important;
    clip-path:none!important;
}
.header-navigation .sub-menu,
#masthead .sub-menu{z-index:1000}

/* ================= 11. Header call button (v1.0.4) =================
   The pill is printed by wdg-header-call.js into the header right
   sections (desktop: appended after the nav; mobile: inserted left
   of the hamburger toggle) - these rules only style it. The gradient
   repeats the site CTA values from the lower layers so the header
   button matches every other call button on the site. */
.wdg-header-call-wrap{display:flex;align-items:center}
.wdg-header-call{
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:linear-gradient(135deg,#ffa200 0%,#ff7a00 55%,#f95700 100%);
    color:#fff!important;
    font-weight:700;
    font-size:15.5px;
    line-height:1;
    padding:11px 20px;
    border-radius:999px;
    text-decoration:none!important;
    white-space:nowrap;
    margin-left:18px;
    box-shadow:0 6px 18px rgba(249,87,0,.35);
    transition:transform .18s ease,box-shadow .18s ease;
}
.wdg-header-call:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(249,87,0,.42);
    color:#fff!important;
}
.site-mobile-header-wrap .wdg-header-call{margin-left:10px}
@media (max-width:600px){
    .site-mobile-header-wrap .wdg-header-call{
        font-size:13px;
        padding:8px 12px;
        margin-left:8px;
        gap:5px;
    }
}
@media (prefers-reduced-motion:reduce){
    .wdg-header-call{transition:none}
    .wdg-header-call:hover{transform:none}
}

/* v1.0.5: at the narrowest phone widths (~320-360px) the header row
   (logo + call pill + hamburger) could overflow, pushing the hamburger
   out of frame (seen in verification at 320px). Tighten the mobile pill
   and let the mobile logo shrink a touch so all three always fit. */
@media (max-width:480px){
    .site-mobile-header-wrap .wdg-header-call{font-size:12.5px;padding:7px 10px;gap:4px;margin-left:6px}
    .site-mobile-header-wrap .wdg-header-call-wrap{margin-left:2px}
    .site-mobile-header-wrap .site-branding img{max-height:36px;width:auto}
}

/* v1.0.6: second tightening for ~320px - v1.0.5 fit logo + pill but the
   hamburger still clipped. The hidden cost was the mobile container's
   side padding plus the toggle's own padding; reclaim both, shrink the
   pill and logo a step further, and let the sections actually shrink. */
@media (max-width:480px){
    .site-mobile-header-wrap .site-container{padding-left:10px;padding-right:10px}
    .site-mobile-header-wrap .site-header-main-section-left,
    .site-mobile-header-wrap .site-header-main-section-right{min-width:0;flex-shrink:1}
    .site-mobile-header-wrap .site-branding img{max-height:32px;max-width:104px}
    .site-mobile-header-wrap .wdg-header-call{font-size:11.5px;padding:6px 9px;margin-left:4px}
    .site-mobile-header-wrap .mobile-toggle-open-container{padding:4px}
}

/* v1.0.8 (ghost's order): visitors must not see post dates or the author
   byline on city posts. Hide Kadence's single-post meta line (date +
   "by admin"), the meta row in the post footer, and the author box.
   Only the visible byline is hidden - dates stay in the page source and
   schema for search engines. */
.single-post .entry-meta,
.single-post .post-meta,
.single-post .posted-on,
.single-post .byline,
.single-post .entry-author,
.single-post .author-box,
.single-post .post-author-box{display:none!important}

/* v1.1.0 section 9 (ghost's order, plan B): Kadence's "Similar Posts"
   Splide carousel renders EMPTY article shells in the browser (its JS
   rebuild loses the server-rendered cards), so it is hidden entirely
   and replaced by this plugin's own server-rendered grid (see the PHP
   filter) appended to the post content. */
.single-post .entry-related{display:none!important}
.wdg-similar{margin:38px 0 6px}
.wdg-similar-title{font-size:24px;margin:0 0 18px;color:#0b2a4a}
.wdg-sim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wdg-sim-card{display:block;background:#fff;border:1px solid #e2edf5;border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 3px 12px rgba(11,42,74,.06)}
.wdg-sim-card img{display:block;width:100%;height:118px;object-fit:cover}
.wdg-sim-body{display:block;padding:12px 14px 14px}
.wdg-sim-cat{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0e7fc4;margin-bottom:5px}
.wdg-sim-title{display:block;font-size:15px;font-weight:700;line-height:1.35;color:#0b2a4a}
.wdg-sim-card:hover .wdg-sim-title{color:#0e7fc4;text-decoration:underline}
@media (max-width:900px){.wdg-sim-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.wdg-sim-grid{grid-template-columns:1fr}.wdg-sim-card img{height:150px}}

/* v1.0.9 section 10 (ghost's order): hide the date + "By admin" byline on
   archive/listing cards too (state category pages, blog, search) - the
   v1.0.8 rule only covered single posts. */
.archive .loop-entry .entry-meta,
.blog .loop-entry .entry-meta,
.search .loop-entry .entry-meta,
.archive .loop-entry .posted-on,
.archive .loop-entry .byline{display:none!important}
