/*
 * APPALACHIAN SHEDS INC.
 * Custom Global Footer
 * Version 0.6.4
 *
 * Scope is intentionally limited to #asi-child-footer plus
 * the single rule that hides Divi's native #main-footer.
 */

/* Hide Divi's native footer everywhere the child-theme footer is active. */
html body #page-container #main-footer,
html body #main-footer,
body #main-footer,
#main-footer{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

#asi-child-footer{
  --asi-footer-ivory:#F8F7F4;
  --asi-footer-cashmere:#E4E1DB;
  --asi-footer-stone:#C8C3BA;
  --asi-footer-steel:#2A2A2A;
  --asi-footer-deep:#202323;
  --asi-footer-bronze:#A68A6A;
  --asi-footer-bronze-hi:#C9B08C;

  width:100%;
  margin:0;
  padding:0;
  background:var(--asi-footer-deep);
  color:var(--asi-footer-ivory);
  font-family:'Montserrat',Helvetica,Arial,sans-serif;
  font-style:italic;
  box-sizing:border-box;
}

#asi-child-footer *,
#asi-child-footer *::before,
#asi-child-footer *::after{
  box-sizing:border-box;
  font-family:'Montserrat',Helvetica,Arial,sans-serif;
  font-style:italic;
}

#asi-child-footer a{
  text-decoration:none;
}

#asi-child-footer .asi-footer-shell{
  width:94%;
  max-width:1440px;
  margin:0 auto;
}

/* =========================================================
   TIER 1 — CTA BAND
========================================================= */

#asi-child-footer .asi-footer-cta{
  background:var(--asi-footer-ivory);
  color:var(--asi-footer-steel);
  border-top:1px solid rgba(42,42,42,.10);
  border-bottom:1px solid rgba(42,42,42,.12);
}

#asi-child-footer .asi-footer-cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  align-items:center;
  gap:clamp(36px,6vw,90px);
  padding:clamp(46px,6vw,76px) 0;
}

#asi-child-footer .asi-footer-eyebrow{
  margin:0 0 10px;
  color:#735D4B;
  font-size:12px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.10em;
  text-transform:uppercase;
}

#asi-child-footer .asi-footer-cta h2{
  margin:0 0 16px;
  color:var(--asi-footer-steel);
  font-size:clamp(30px,3.1vw,46px);
  font-weight:900;
  line-height:1.12;
  letter-spacing:-.025em;
}

#asi-child-footer .asi-footer-cta-copy > p:last-child{
  max-width:720px;
  margin:0;
  color:#55514B;
  font-size:16px;
  font-weight:700;
  line-height:1.75;
}

#asi-child-footer .asi-footer-cta-actions{
  display:grid;
  gap:12px;
}

#asi-child-footer .asi-footer-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:15px 20px;
  border:2px solid var(--asi-footer-steel);
  font-size:13px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.035em;
  text-align:center;
}

#asi-child-footer .asi-footer-btn-primary{
  background:var(--asi-footer-steel);
  border-color:var(--asi-footer-steel);
  color:var(--asi-footer-ivory);
  border-bottom-color:var(--asi-footer-bronze);
  border-bottom-width:4px;
}

#asi-child-footer .asi-footer-btn-primary:hover,
#asi-child-footer .asi-footer-btn-primary:focus-visible{
  background:var(--asi-footer-bronze);
  border-color:var(--asi-footer-bronze);
  color:#211D19;
}

#asi-child-footer .asi-footer-btn-secondary{
  background:transparent;
  color:var(--asi-footer-steel);
  border-color:rgba(42,42,42,.38);
}

#asi-child-footer .asi-footer-btn-secondary:hover,
#asi-child-footer .asi-footer-btn-secondary:focus-visible{
  border-color:var(--asi-footer-bronze);
  color:#705844;
}

#asi-child-footer .asi-footer-phone-line{
  margin:3px 0 0;
  color:#5A554F;
  font-size:13px;
  font-weight:800;
  line-height:1.55;
  text-align:center;
}

#asi-child-footer .asi-footer-phone-line a{
  color:#705844;
  font-weight:900;
  border-bottom:1px solid rgba(166,138,106,.75);
}

/* =========================================================
   TIER 2 — MAIN FOOTER
========================================================= */

#asi-child-footer .asi-footer-main{
  background:var(--asi-footer-deep);
  color:var(--asi-footer-ivory);
}

#asi-child-footer .asi-footer-brand-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  align-items:end;
  padding:56px 0 38px;
  border-bottom:1px solid rgba(248,247,244,.13);
}

#asi-child-footer .asi-footer-logo{
  display:inline-flex;
  width:min(320px,100%);
  margin-bottom:20px;
}

#asi-child-footer .asi-footer-logo img{
  display:block;
  width:100%;
  height:auto;
  filter:brightness(0) invert(1);
  opacity:.96;
}

#asi-child-footer .asi-footer-intro{
  max-width:760px;
  margin:0 0 15px;
  color:rgba(248,247,244,.78);
  font-size:14px;
  font-weight:700;
  line-height:1.75;
}

#asi-child-footer .asi-footer-trust{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0;
  color:var(--asi-footer-bronze-hi);
  font-size:12px;
  font-weight:900;
  line-height:1.6;
  letter-spacing:.025em;
}

#asi-child-footer .asi-footer-contact{
  display:grid;
  justify-items:end;
  gap:6px;
  text-align:right;
}

#asi-child-footer .asi-footer-contact-label{
  margin:0 0 4px;
  color:rgba(248,247,244,.70);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.075em;
}

#asi-child-footer .asi-footer-contact a{
  color:var(--asi-footer-ivory);
  font-size:14px;
  font-weight:900;
  line-height:1.45;
  border-bottom:1px solid rgba(166,138,106,.65);
}

#asi-child-footer .asi-footer-contact a:hover,
#asi-child-footer .asi-footer-contact a:focus-visible{
  color:var(--asi-footer-bronze-hi);
  border-color:var(--asi-footer-bronze-hi);
}

#asi-child-footer .asi-footer-columns{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(28px,4vw,64px);
  padding:42px 0 54px;
}

#asi-child-footer .asi-footer-column h3{
  margin:0 0 17px;
  color:var(--asi-footer-bronze-hi);
  font-size:13px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.07em;
  text-transform:uppercase;
}

#asi-child-footer .asi-footer-column ul{
  margin:0;
  padding:0;
  list-style:none;
}

#asi-child-footer .asi-footer-column li{
  margin:0;
  padding:0;
}

#asi-child-footer .asi-footer-column li + li{
  margin-top:11px;
}

#asi-child-footer .asi-footer-column a{
  color:rgba(248,247,244,.82);
  font-size:13px;
  font-weight:750;
  line-height:1.55;
}

#asi-child-footer .asi-footer-column a:hover,
#asi-child-footer .asi-footer-column a:focus-visible{
  color:var(--asi-footer-bronze-hi);
}

/* =========================================================
   TIER 3 — LEGAL
========================================================= */

#asi-child-footer .asi-footer-legal{
  background:#171A1A;
  border-top:1px solid rgba(166,138,106,.25);
}

#asi-child-footer .asi-footer-legal-inner{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:15px 0;
}

#asi-child-footer .asi-footer-legal p{
  margin:0;
  color:rgba(248,247,244,.58);
  font-size:11px;
  font-weight:700;
  line-height:1.5;
}

#asi-child-footer .asi-footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:18px;
}

#asi-child-footer .asi-footer-legal-links a{
  color:rgba(248,247,244,.68);
  font-size:11px;
  font-weight:800;
}

#asi-child-footer .asi-footer-legal-links a:hover,
#asi-child-footer .asi-footer-legal-links a:focus-visible{
  color:var(--asi-footer-bronze-hi);
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

#asi-child-footer a:focus-visible{
  outline:3px solid var(--asi-footer-bronze-hi);
  outline-offset:3px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width:980px){

  #asi-child-footer .asi-footer-cta-inner{
    grid-template-columns:1fr;
    gap:30px;
  }

  #asi-child-footer .asi-footer-cta-actions{
    max-width:640px;
  }

  #asi-child-footer .asi-footer-brand-row{
    grid-template-columns:1fr;
    align-items:start;
    gap:30px;
  }

  #asi-child-footer .asi-footer-contact{
    justify-items:start;
    text-align:left;
  }

  #asi-child-footer .asi-footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:38px 48px;
  }

}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:640px){

  #asi-child-footer .asi-footer-cta-inner{
    padding:42px 0;
  }

  #asi-child-footer .asi-footer-cta h2{
    font-size:31px;
  }

  #asi-child-footer .asi-footer-btn{
    width:100%;
  }

  #asi-child-footer .asi-footer-brand-row{
    padding:44px 0 32px;
  }

  #asi-child-footer .asi-footer-logo{
    width:min(260px,100%);
  }

  #asi-child-footer .asi-footer-columns{
    grid-template-columns:1fr;
    gap:30px;
    padding:34px 0 42px;
  }

  #asi-child-footer .asi-footer-column{
    padding-bottom:24px;
    border-bottom:1px solid rgba(248,247,244,.10);
  }

  #asi-child-footer .asi-footer-column:last-child{
    padding-bottom:0;
    border-bottom:0;
  }

  #asi-child-footer .asi-footer-legal-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:18px 0;
  }

  #asi-child-footer .asi-footer-legal-links{
    justify-content:flex-start;
  }

}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

  #asi-child-footer *,
  #asi-child-footer *::before,
  #asi-child-footer *::after{
    transition:none !important;
  }

}
