/* =========================================
   Learning Portuguese — Global Footer
   This file makes the footer identical on all pages.
   Path:
   wp-content/themes/learning-portuguese-theme/shared/footer/footer.css
========================================= */

/* Exercise mode has its own screen and must not render the site footer. */
body.lp-page-lessons.lp-lesson-active .lp-site-footer{
  display:none !important;
}

.lp-site-footer{
  contain:paint !important;
  background:#072f3a !important;
  color:white !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.7 !important;
}

.lp-site-footer .container{
  width:min(1120px,calc(100% - 40px)) !important;
  max-width:1120px !important;
  margin:auto !important;
  padding:0 !important;
}

/* Top footer grid */
.lp-site-footer .footer-nav{
  display:grid !important;
  grid-template-columns:1.35fr .9fr .9fr .9fr !important;
  gap:54px !important;
  align-items:start !important;
  justify-items:start !important;
  padding:54px 0 48px !important;
  margin:0 !important;
  border:0 !important;
}

.lp-site-footer .footer-brand,
.lp-site-footer .footer-column{
  align-self:start !important;
  margin:0 !important;
  padding:0 !important;
}

.lp-site-footer .footer-brand h3{
  margin:0 0 18px !important;
  color:white !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:30px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.lp-site-footer .footer-brand p{
  max-width:300px !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.76) !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.lp-site-footer .footer-column{
  display:block !important;
}

.lp-site-footer .footer-column h4{
  margin:0 0 14px !important;
  padding:0 !important;
  color:white !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.lp-site-footer .footer-column a{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.76) !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.7 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
  text-align:left !important;
}

.lp-site-footer .footer-column a:hover,
.lp-site-footer .footer-column a:focus-visible{
  color:white !important;
  outline:none !important;
}

/* Bottom footer */
.lp-site-footer .footer-bottom{
  display:block !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  margin:0 !important;
  padding:24px 0 42px !important;
  color:rgba(255,255,255,.68) !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.6 !important;
  text-align:left !important;
}

.lp-site-footer .footer-bottom p{
  max-width:none !important;
  margin:0 0 14px !important;
  padding:0 !important;
  color:inherit !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.6 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.lp-site-footer .footer-legal{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-align:left !important;
}

.lp-site-footer .footer-legal a{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.86) !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.6 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
}

.lp-site-footer .footer-legal a:hover,
.lp-site-footer .footer-legal a:focus-visible{
  color:white !important;
  text-decoration:underline !important;
  outline:none !important;
}

.lp-site-footer .footer-legal span{
  color:rgba(255,255,255,.45) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.6 !important;
}

/* Tablet */
@media(max-width:900px){
  .lp-site-footer .footer-nav{
    grid-template-columns:1fr 1fr !important;
    gap:34px 42px !important;
    padding:44px 0 38px !important;
  }

  .lp-site-footer .footer-brand{
    grid-column:1 / -1 !important;
  }
}

/* Mobile */
@media(max-width:560px){
  .lp-site-footer .container{
    width:min(100% - 28px,1120px) !important;
  }

  .lp-site-footer .footer-nav{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:38px 0 34px !important;
  }

  .lp-site-footer .footer-brand h3{
    font-size:28px !important;
  }

  .lp-site-footer .footer-column a{
    width:auto !important;
  }

  .lp-site-footer .footer-bottom{
    padding-bottom:34px !important;
  }

  .lp-site-footer .footer-legal{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;
  }

  .lp-site-footer .footer-legal span{
    display:none !important;
  }
}
