/* ==========================================================================
   AURA LUXIFY — Site Footer
   Sage/forest-green design system. Loaded sitewide, like the header nav and
   mini-cart — the footer is shared global UI, not homepage-specific content.

   NOTE: Woostify's own stylesheet sets `.footer-widget-col-4 .widget { width:
   25%; float:left }` for its native float-based column system. We use CSS
   Grid on the parent instead, so that native width/float must be neutralized
   on the children or the two systems compound (each widget shrinking to
   ~25% of an already-25%-wide grid track), which is exactly what caused the
   squeezed, word-per-line layout.
   ========================================================================== */

.site-footer{
  background:#DFECE5;
  border-top:1px solid #CFE0D6;
  font-family:'Nunito', sans-serif;
}
.site-footer-widget.footer-widget-col-4{
  display:grid !important;
  grid-template-columns:1.3fr 1fr 1fr 1fr !important;
  gap:40px !important;
  padding:56px 24px 40px !important;
  max-width:1240px !important;
  margin:0 auto !important;
  width:auto !important;
  float:none !important;
}
/* Neutralize the theme's native float-column system on each widget so our
   grid tracks are the only thing controlling width. */
.site-footer-widget.footer-widget-col-4 .widget{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-bottom:0 !important;
  clear:none !important;
}

.site-footer .widget-title{
  font-family:'Nunito', sans-serif;
  font-weight:800;
  font-size:22px;
  color:#2C3A32;
  margin:0 0 18px;
  text-transform:none;
  letter-spacing:0;
}

/* Column 1: logo, tagline, address */
.al-footer-logo-link{ display:inline-block; margin-bottom:16px; }
.al-footer-logo{ max-width:170px; height:auto; display:block; }
.al-footer-tagline{
  font-size:17px;
  font-weight:600;
  color:#2C3A32;
  margin:0 0 10px;
  line-height:1.5;
}
.al-footer-address{
  font-size:17px;
  font-weight:500;
  color:#1B211D;
  margin:0;
  line-height:1.6;
  max-width:260px;
}

/* Columns 2 & 3: link lists */
.al-footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.al-footer-links a{
  color:#1B211D;
  text-decoration:none;
  font-size:17px;
  font-weight:600;
  transition:color .2s ease;
}
.al-footer-links a:hover{
  color:#2C3A32;
  text-decoration:underline;
}

/* Column 4: social icons */
.al-footer-social{
  display:flex;
  gap:10px;
}
.al-footer-social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#FFFFFF;
  border:1px solid #CFE0D6;
  color:#2C3A32;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
  flex-shrink:0;
}
.al-footer-social a:hover{
  background:#2C3A32;
  color:#fff;
  border-color:#2C3A32;
}

/* ==========================================================================
   RESPONSIVE
   Tablet: ≤ 1024px — headings 18px, descriptions/links 14px
   Mobile: ≤ 640px — headings 18px, descriptions/links 14px, single column
   ========================================================================== */
@media (max-width:1024px){
  .site-footer .widget-title{ font-size:18px; }
  .al-footer-tagline,
  .al-footer-address,
  .al-footer-links a{ font-size:14px; }

  .site-footer-widget.footer-widget-col-4{
    grid-template-columns:1fr 1fr !important;
    gap:32px 24px !important;
    padding:44px 24px 32px !important;
  }
}
@media (max-width:640px){
  .site-footer-widget.footer-widget-col-4{
    grid-template-columns:1fr !important;
    padding:40px 20px 28px !important;
  }
  .al-footer-address{ max-width:none; }
}
