/* ==========================================================================
   Redesigned footer (parts/ads-footer.php), from the client concept.
   Loaded only when ads_use_new_footer() is true.

   Background: the theme's existing footer photograph stays (it arrives from the
   theme on the <footer> element). The old light-teal wash - an inset box-shadow
   of rgba(48,155,205,.8) in style.css - is replaced with the treatment of the
   homepage's services row: royal blue #1B539D with the photo soft-light blended
   in, plus a navy layer so white text keeps its contrast over the lighter
   parts of the photo (sky, signage).
   ========================================================================== */

footer.ads-footer{
  --ft-text:#ffffff;
  --ft-soft:#e3eaf6;       /* >= 8.2:1 on the rendered blend, see note under ::before */
  --ft-line:rgba(255,255,255,.18);
  position:relative;isolation:isolate;
  padding:0 !important;margin:0;
  background-color:#1B539D !important;background-blend-mode:soft-light;
  background-size:cover;background-position:center;
  -webkit-box-shadow:none !important;box-shadow:none !important;
  color:var(--ft-soft);font-size:15px;line-height:1.6;text-align:left}
footer.ads-footer::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,26,56,.62) 0%,rgba(10,26,56,.74) 100%)}
/* Contrast measured from screenshots with the footer text hidden (the blend cannot
   be computed from CSS), taking the single lightest background pixel inside each
   text block at 390, 768 and 1440px: --ft-soft text >= 8.2:1, white >= 9.8:1.
   Re-measure if the photo or overlay changes. */

.ads-footer .screen-reader-text{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ads-footer__inner{max-width:1200px;margin:0 auto;padding:72px 24px 56px;
  display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:40px 48px}

/* Brand column */
.ads-footer__logo{display:inline-block;line-height:0}
.ads-footer__logo img{width:190px;height:auto}
.ads-footer__tagline{margin:18px 0 22px;max-width:32ch;color:var(--ft-text);font-size:15px;line-height:1.6}
.ads-footer ul{list-style:none;margin:0;padding:0}
.ads-footer li{margin:0;padding:0}
.ads-footer__social{display:flex;flex-wrap:wrap;gap:12px}
html footer.ads-footer .ads-footer__social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.75);color:#fff;text-decoration:none;font-size:18px;
  transition:background-color .3s ease,border-color .3s ease,color .3s ease}
html footer.ads-footer .ads-footer__social a:hover{background:#fff;border-color:#fff;color:#13294b}
/* The theme gives every footer icon margin:0 10px 5px 0 (and display:block), which
   pulled each glyph 5px left and 2.5px up inside its circle. */
html footer.ads-footer .ads-footer__social .fa{margin:0 !important;padding:0;display:block;line-height:1;text-align:center}

/* Link columns. The theme sets every <nav> to display:flex on phones (for its
   mobile menu), which put each heading beside its list; these are plain blocks. */
html footer.ads-footer nav.ads-footer__col{display:block;flex:none;width:auto;height:auto;position:static;background:none}
/* Link columns */
.ads-footer__head{margin:4px 0 18px !important;padding:0;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:0;
  text-transform:none;color:#fff !important;line-height:1.3}
.ads-footer__links li + li{margin-top:8px}
html footer.ads-footer a{color:var(--ft-soft);text-decoration:none;font-weight:400;
  transition:color .25s ease}
html footer.ads-footer a:visited{color:var(--ft-soft)}
html footer.ads-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
html footer.ads-footer .ads-footer__links a{display:inline-block;padding:2px 0;min-height:24px}
html footer.ads-footer .ads-footer__links a[aria-current="page"]{color:#fff;font-weight:700}

/* Contact column */
.ads-footer__contact li{display:flex;gap:12px;align-items:flex-start}
.ads-footer__contact li + li{margin-top:14px}
html footer.ads-footer .ads-footer__contact .fa{width:18px;margin:4px 0 0 !important;flex:none;text-align:center;color:#fff;font-size:17px;line-height:1}
html footer.ads-footer .ads-footer__contact a{color:#fff;display:inline-block;min-height:24px}
.ads-footer__contact address{font-style:normal;margin:0;display:inline}

/* Bottom bar */
.ads-footer__bar{max-width:1200px;margin:0 auto;padding:22px 24px 26px;border-top:1px solid var(--ft-line);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;font-size:14px}
.ads-footer__bar p{margin:0;color:var(--ft-soft)}
.ads-footer__legal{display:flex;flex-wrap:wrap;gap:6px 20px}
html footer.ads-footer .ads-footer__bar a{display:inline-block;min-height:24px;padding:2px 0}
html footer.ads-footer .ads-footer__credit a{color:var(--ft-soft)}

/* Focus: visible on the blue in every state */
html footer.ads-footer a:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:2px}
html footer.ads-footer .ads-footer__social a:focus-visible{outline-offset:3px;border-radius:50%}

/* Clear the Smile Gallery's phone booking dock while it is showing (the footer's
   own padding:0 !important would otherwise cancel the page's 84px clearance). */
body.smile-gallery.ads-dock-on footer.ads-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important}

/* The theme's back-to-top keeps its own styling; it just needs to sit above the overlay. */
footer.ads-footer #back-to-top{z-index:1000}

@media (max-width:991px){
  .ads-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:56px 24px 40px}
  .ads-footer__brand{grid-column:1 / -1}
}
@media (max-width:600px){
  .ads-footer__inner{grid-template-columns:minmax(0,1fr);gap:32px;padding:48px 16px 32px}
  .ads-footer__bar{padding:20px 16px 24px;flex-direction:column;align-items:flex-start}
  html footer.ads-footer .ads-footer__links a{padding:6px 0;min-height:32px}
}
@media (prefers-reduced-motion:reduce){
  html footer.ads-footer a{transition:none}
}
