/* Flood Risk Environmental — site-wide overrides (ported from live site) */

/* Hero background image on EVERY page */
.hero{
  background:
    linear-gradient(rgba(13,37,64,0.85), rgba(13,37,64,0.92)),
    url('../img/hero-floodplain.jpg')
    center/cover no-repeat !important;
}
.hero-bg{opacity:0.05 !important;}  /* keep the faint grid texture, very subtle over the photo */

/* Quote/CTA banner background */
.cta-strip{
  background:
    linear-gradient(rgba(15,95,206,0.88), rgba(12,73,168,0.93)),
    url('../img/cta-banner.jpg')
    center/cover no-repeat !important;
}

/* Floating quote button */
.fre-float-btn{position:fixed;bottom:24px;right:24px;z-index:9999;background:#0F5FCE;color:#fff;font-family:"Lato",sans-serif;font-size:1.3rem;font-weight:700;padding:14px 22px;border-radius:50px;text-decoration:none;box-shadow:0 4px 16px rgba(15,95,206,0.45);transition:background 0.2s,transform 0.2s;letter-spacing:0.03em;text-transform:uppercase}
.fre-float-btn:hover{background:#2177ef;color:#fff;transform:translateY(-2px);text-decoration:none}
@media(max-width:600px){.fre-float-btn{font-size:1.15rem;padding:12px 16px;bottom:16px;right:16px}}

/* Google Reviews floating badge */
.fre-review-badge{position:fixed;bottom:90px;right:24px;z-index:9998;background:#fff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.18);padding:10px 14px;display:flex;align-items:center;gap:10px;text-decoration:none;border:1.5px solid #e8e8e8;transition:box-shadow 0.2s,transform 0.2s;min-width:160px}
.fre-review-badge:hover{box-shadow:0 6px 24px rgba(0,0,0,0.22);transform:translateY(-2px);text-decoration:none}
.fre-review-badge-g{width:22px;height:22px;flex-shrink:0}
.fre-review-badge-info{display:flex;flex-direction:column;line-height:1.2}
.fre-review-badge-stars{color:#FBBC04;font-size:1.05rem;letter-spacing:1px}
.fre-review-badge-label{font-family:"Lato",sans-serif;font-size:0.8rem;font-weight:700;color:#4d4d4d}
.fre-review-badge-sub{font-family:"Lato",sans-serif;font-size:0.72rem;color:#888}
@media(max-width:600px){.fre-review-badge{bottom:78px;right:16px;padding:8px 12px}}

/* ===== Brand identity: navy header + footer, bigger logo, section accents ===== */
nav{ background:#074569 !important; height:96px !important; box-shadow:0 3px 14px rgba(0,0,0,0.2) !important; }
.nav-logo img{ height:82px !important; }
.nav-dropdown, .nav-dropdown-wide{ top:96px !important; }
@media(max-width:1080px){ nav{ height:76px !important; } .nav-logo img{ height:60px !important; } }

footer{ background:#074569 !important; color:#cfe0ee !important; border-top:4px solid #0F5FCE !important; padding:44px 40px !important; }
footer img{ height:96px !important; margin-bottom:6px !important; }
footer strong{ color:#fff !important; }
footer p{ color:#cfe0ee !important; }
footer a{ color:#8fc0ff !important; }
footer a:hover{ color:#fff !important; }
.footer-tagline{ font-family:"Raleway",sans-serif !important; font-weight:700 !important; letter-spacing:0.28em; text-transform:uppercase; color:#6aa6db !important; font-size:1.05rem; margin:0 0 16px !important; }
.section-header h2::after{ content:"" !important; display:block; width:58px; height:4px; background:#0F5FCE; border-radius:2px; margin:14px 0 0; }

/* ===== Breadcrumbs ===== */
nav.breadcrumbs{ background:#fbfcfe !important; border-bottom:1px solid var(--border,#e6e6e6) !important; padding:12px 40px !important; font-family:"Lato",sans-serif; font-size:1.15rem; height:auto !important; min-height:0 !important; box-shadow:none !important; position:static !important; display:block !important; z-index:auto !important; }
.breadcrumbs .container{ max-width:1070px; margin:0 auto; }
.breadcrumbs ol{ list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0; padding:0; }
.breadcrumbs li{ display:flex; align-items:center; gap:7px; color:#6b7280; }
.breadcrumbs li:not(:last-child)::after{ content:"\203A"; color:#b6bcc6; }
.breadcrumbs a{ color:#0F5FCE; font-weight:600; text-decoration:none; }
.breadcrumbs a:hover{ text-decoration:underline; }
.breadcrumbs li[aria-current]{ color:#6b7280; }
@media(max-width:600px){ .breadcrumbs{ padding:10px 20px; font-size:1.05rem; } }

/* ===== Card polish: subtle depth + hover lift ===== */
.card{ box-shadow:0 1px 3px rgba(13,37,64,0.05) !important; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease !important; }
.card:hover{ box-shadow:0 10px 28px rgba(13,37,64,0.12) !important; transform:translateY(-3px); border-color:#cfe0fb !important; }

/* ===== A touch more breathing room between sections ===== */
.section{ padding:62px 40px !important; }
@media(max-width:600px){ .section{ padding:40px 20px !important; } }

/* ===== Fix dropdown hover gap: fill nav height + flush dropdowns + safety bridge ===== */
nav{ align-items:stretch !important; }
.nav-logo{ display:flex !important; align-items:center !important; }
.nav-menu{ align-items:stretch !important; }
.nav-item{ align-items:stretch !important; }
.nav-item>a, .nav-menu>a{ height:100% !important; align-self:stretch !important; }
.nav-dropdown, .nav-dropdown-wide{ top:100% !important; }
/* transparent hover bridge so the sub-menu never closes while the cursor moves onto it */
.nav-item:hover::after{ content:""; position:absolute; left:0; right:0; top:100%; height:12px; z-index:1998; }
@media(max-width:1080px){ .nav-item:hover::after{ display:none; } }

/* ===== Multi-column long dropdowns (desktop) ===== */
@media(min-width:1081px){
  .nav-dropdown.dd-2col{ column-count:2; column-gap:0; min-width:470px; }
  .nav-dropdown.dd-3col{ column-count:3; column-gap:0; min-width:690px; }
  .nav-dropdown.dd-2col a, .nav-dropdown.dd-3col a{ break-inside:avoid; }
}
@media(max-width:1080px){
  .nav-dropdown.dd-2col, .nav-dropdown.dd-3col{ column-count:1 !important; min-width:0 !important; }
}

/* 3-column wide dropdown (e.g. Locations) */
@media(min-width:1081px){
  .nav-dropdown-wide.dd-3wide{ min-width:720px; }
  .nav-dropdown-wide.dd-3wide .dd-cols{ grid-template-columns:1fr 1fr 1fr; }
}

/* Safety net: any dropdown taller than the screen becomes scrollable */
@media(min-width:1081px){
  .nav-dropdown, .nav-dropdown-wide{ max-height: calc(100vh - 118px); overflow-y: auto; overscroll-behavior: contain; }
  .nav-dropdown::-webkit-scrollbar, .nav-dropdown-wide::-webkit-scrollbar{ width:8px; }
  .nav-dropdown::-webkit-scrollbar-thumb, .nav-dropdown-wide::-webkit-scrollbar-thumb{ background:#c7d2e0; border-radius:4px; }
}

/* ===== Mobile: undo desktop full-height nav rules (fixes stacked-menu overlap) ===== */
@media(max-width:1080px){
  nav{ align-items:center !important; }
  .nav-menu, .nav-item{ align-items:initial !important; }
  .nav-item>a, .nav-menu>a{ height:auto !important; align-self:auto !important; }
  .nav-dropdown, .nav-dropdown-wide{ top:auto !important; }
}
