/* =========================
   Site Footer — Palette & Layout
   ========================= */
.site-footer{
  font-family: var(--cl-font);
  color: var(--cl-text-900);
  background: linear-gradient(180deg,#f3fcf6 0%, #eef9f1 100%);
  border-top: 1px solid var(--cl-border);
}
.site-footer .footer-container{max-width:1200px;margin:0 auto;padding: 36px 16px 0 16px;}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1.5fr 1.4fr;gap:clamp(16px,10vw,60px)}
@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr}}
.footer-col footer-nav

.footer-col p,.footer-col li,.footer-col a{font-size:15px;line-height:1.55}
.footer-col ul{margin:0;padding:0;list-style:none}
.footer-col a{text-decoration:none; color:#0e7f23;}
.footer-col a:hover{color:var(--cl-brand-700);text-decoration:underline;text-underline-offset:2px}

.footer-logo img.site-logo__img{ width: 170px;      
  max-width: 100%;
  height: auto;
  display: block;}
.address{font-style:normal; padding-top:5px; }
.footer-logo img.custom-logo{width: 170px; max-width: 100%;height:auto;display:block; padding-bottom: 5px;}


.footer-nav ul{display:grid;gap:6px}
.footer-nav a{color:var(--cl-text-900)}
.footer-nav a:hover{color:var(--cl-brand-700)}

.service-area .nationwide{margin:6px 0 0;color:var(--cl-text-700)}
.service-area .nationwide a{font-weight:800;color:#0e7f23;}
.service-area .nationwide a:hover{text-decoration:underline}

.footer-col .emph{ color: #0e7f23; font-weight: 800; }
.footer-col .muted{ color: var(--cl-text-700); margin-top: 6px; }

/* Contact line */
.cl-footer-contact{margin:16px 0 0}
.cl-footer-contact__inner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:#0b3d1a}
.cl-footer-contact__email,.cl-footer-contact__phone text-decoration:none;color:#0e7f23}
.cl-footer-contact__email:hover,.cl-footer-contact__phone:hover{text-decoration:underline}
.cl-footer-contact__sep{opacity:.6}



/* CTA row */
.btn-row{display:flex;flex-wrap:wrap;gap:10px;}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:10px 14px;border-radius:999px;
  border:1.5px solid var(--cl-brand-600);color:var(--cl-brand-700);
  background:transparent;font-weight:800;text-decoration:none; min-width:230px; margin-top: 15px;
}
.btn-outline:hover{background:#ecfdf3}
.btn-outline:focus-visible{outline:3px solid var(--cl-focus);outline-offset:2px}

/* Legal row */
.legal{
  border-top:1px solid var(--cl-border);
  margin-top:80px;padding:14px 0;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;
  font-size:13px;color:var(--cl-text-500)
}
.legal-nav{display:flex;gap:14px}
.legal-nav a{color:var(--cl-text-700)}
.legal-nav a:hover{color:var(--cl-brand-700)}

/* =========================
   Elementor-proof footer CTA
   ========================= */
.site-footer a.get-offer-btn{
  all: unset;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:10px 18px;cursor:pointer;
  font-weight:800;letter-spacing:.2px;color:#fff;
  background: linear-gradient(180deg,var(--cl-brand-500),var(--cl-brand-700));
box-shadow: 1px 9px 26px rgba(0, 0, 0, .2);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
  min-width:215px; font-size:1.1rem;

border-radius: 12px;
text-shadow: 0 1px 1px rgba(0,0,0,.3);
  border: 2px solid #cfe9d6;



  
}
.site-footer a.get-offer-btn:hover{
    transform: translateY(-2px);
    text-decoration: none;
    background: linear-gradient(135deg,#17b238,#0c721f);
    color: #fff;
    font-weight: 800;
    filter: brightness(1.05);
  
}
.site-footer a.get-offer-btn:focus-visible{outline:3px solid var(--cl-focus);outline-offset:2px}

/* Pulse (keep one copy of keyframes in your file) */
@keyframes slowPulse{
  0%{transform:scale(1);box-shadow:0 0 0 rgba(56,176,0,.20)}
  50%{transform:scale(1.02);box-shadow:0 6px 18px rgba(56,176,0,.18)}
  100%{transform:scale(1);box-shadow:0 0 0 rgba(56,176,0,.20)}
}
@media (prefers-reduced-motion: reduce){ .site-footer .get-offer-btn.pulse{ animation:none !important; } }
.site-footer .get-offer-btn.pulse{ animation: slowPulse 3s ease-in-out infinite !important; }
.site-footer a.cl-rating-link{    padding-top: 10px; padding-left: 15px;}
.footer-col h3{font-weight:800;letter-spacing: .2px;font-size: clamp(1.1rem, 2.2vw, 1.4rem);color: var(--cl-green-800); line-height: 1.25;
  margin: 14px 6px 8px;}

.leaflet-container a.cl-pop-img {
  display: block;
border-radius: 12px 12px 0 0;
}




/* ===== Footer brand line (above legal) ===== */
.footer-brandline{
    padding: 10px;
    background: #f7fff7;
    border: 1px solid #c8d8ca;
    max-width: 740px;
    margin: 60px auto 10px;
    font-weight: 400;
    text-align: center;
    font-size: 12px;
    color: #085d0b;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius:4px;
    text-shadow: 0 1px 1px rgba(0,0,0,.2);
}


/* ===== Legal row with right-side cluster (nav + socials) ===== */
.legal{
  border-top: 1px solid var(--cl-border);
  margin-top: 22px;              /* small gap after brandline */
  padding: 14px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--cl-text-500);
}

/* Right side of legal: nav + social */
.legal-right{
  display: flex;
  gap: 18px;                     /* space between nav and icons */
  align-items: center;
}
@media (max-width: 640px){
  .legal{ gap: 12px; }
  .legal-right{ width: 100%; justify-content: flex-start; gap: 14px; }
}

/* Existing legal nav remains the same, but ensure no crowding */
.legal-nav{ display: flex; gap: 14px; }
.legal-nav a{ color: var(--cl-text-700); }
.legal-nav a:hover{ color: var(--cl-brand-700); }

/* ===== Social icons inside legal (recognizable + accessible) ===== */
.footer-social{
  display: flex;
  gap: 12px;
  align-items: center;
}
.footer-social .social-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  border: 1px solid var(--cl-border);
  background: #fff;                      /* subtle chip */
  color: #111;                           /* default icon color (X black) */
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.footer-social .social-link:hover{
  transform: translateY(-1px);
  background: #f7fff9;                   /* faint lift */
  box-shadow: 0 4px 10px rgba(0,0,0,.06);
}
.footer-social .social-link:focus-visible{
  outline: 3px solid var(--cl-focus);
  outline-offset: 2px;
}

/* Icon sizing */
.footer-social .social-link svg{
  width: 20px; height: 20px; display: block;
}

/* Brand-specific polish */
.footer-social .social-x{ color: #111; }                 /* X is black */
.footer-social .social-youtube{ color: #cc0000; }        /* YouTube red */
.footer-social .social-youtube:hover{ color: #e00000; }

/* Make SVG icons inherit the link color */
.footer-social .social-link svg,
.footer-social .social-link svg path {
  fill: currentColor;
  stroke: currentColor; /* harmless if no stroke */
}

/* Brand colors (pick one style) */
.footer-social .social-x { color: #111; }          /* X: black */
.footer-social .social-youtube { color: #cc0000; } /* YouTube: red */


/* GLASS GET OFFER IN FOOTER NAV */

.footer-nav .footer-cta-mini .get-offer-mini{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.5rem .9rem; border-radius:999px; font-weight:800;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.35));
  border:1px solid rgba(255,255,255,.65); color:#0b3d1a;
  backdrop-filter: saturate(140%) blur(10px);
  box-shadow: 0 10px 26px rgba(0,0,0,.10), inset 0 0 0 1px rgba(11,93,11,.10);
  text-decoration:none;
  margin-left: -15px;
}
.footer-nav .footer-cta-mini .get-offer-mini:hover{
  transform: translateY(-1px);
}

 @media (max-width: 768px) {
    .site-footer .cl-footer-contact__phone {
    
        color: #0d32c6;
     
    }
}

.footer-col.contact address {
    font-style: normal;

    border-left: 4px solid #0e7f23;
    padding: 12px 16px;
    border-radius: 12px;
    line-height: 1.6;
    
}

.cl-footer-contact__email,
.cl-footer-contact__phone {
 line-height: 1.65;
  font-weight:600;
  text-transform: none;
  text-decoration:none;
  margin-top:2px;
  letter-spacing: 0;
}
.cl-footer-contact__phone { margin-top:4px; }


.footer-brandline p {
  margin: 0;
  line-height: 1.6;

}


.footer-col .rating {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #fff;
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  font-weight: 600;
  color: #056327; /* your brand green */
  font-size: 0.95rem;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
.footer-col .rating a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.footer-col .rating-icon svg {
  display: block;
}


.footer-col .proof-bar {
  margin: 1rem 0 0 27px;

  
}
.footer-col .proof-bar .proof-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin: 15px 0;
    border-radius: 999px;
    font-weight: 800;
    font-size: .95rem;
    text-decoration: none;
    color: #0e7f23;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(0,0,0,.06);
   
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
.footer-col .proof-pill:hover {
  background: #f4fdf5;
}
.footer-col .pill-icon {
  flex-shrink: 0;
}


/* Footer phone link visibility */
.footer-col .btn-outline[href^="sms:"] { display:inline-flex; }
@media (min-width: 768px) {
  .footer-col .btn-outline[href^="sms:"] { display:none; } /* hide SMS on desktop */
}

