/*
 * Rewi Footer v1.1
 * Reset completo frente a las reglas globales de landing-v1.4.css.
 * Diseñado para replicar el footer visual de showcase.php.
 */

footer.rewi-footer {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #14213d !important;
  color: #fff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

footer.rewi-footer * {
  box-sizing: border-box;
}

footer.rewi-footer .rewi-footer-main {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 52px 0 44px;

  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1fr !important;
  gap: 44px !important;
  align-items: start !important;
}

footer.rewi-footer .rewi-footer-brand,
footer.rewi-footer .rewi-footer-column {
  min-width: 0;
}

footer.rewi-footer .rewi-footer-brand a {
  display: inline-block;
}

footer.rewi-footer .rewi-footer-brand img {
  display: block !important;
  width: 112px !important;
  max-width: 112px !important;
  height: auto !important;
  margin: 0 0 16px !important;
}

footer.rewi-footer .rewi-footer-brand p {
  max-width: 220px;
  margin: 0 !important;
  color: #cbd5e4 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

footer.rewi-footer .rewi-footer-column strong {
  display: block !important;
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

footer.rewi-footer .rewi-footer-column a,
footer.rewi-footer .rewi-footer-column span {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 8px 0 !important;
  padding: 0 !important;

  color: #cbd5e4 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

/* Runtime promotion controls use the native hidden attribute. This selector
 * must outrank the footer reset's display:block!important rule. */
footer.rewi-footer .rewi-footer-column [hidden] {
  display: none !important;
}

footer.rewi-footer .rewi-footer-column a:hover,
footer.rewi-footer .rewi-footer-column a:focus-visible {
  color: #ffffff !important;
  transform: none !important;
  text-decoration: none !important;
}

footer.rewi-footer .rewi-footer-bottom {
  width: 100%;
  margin: 0;
  padding: 15px 24px;
  border-top: 1px solid rgba(255,255,255,.09);
  background: #0f1a30;

  display: flex !important;
  align-items: center;
  justify-content: center !important;
  gap: 18px;
  flex-wrap: wrap;

  color: #9fb0c9 !important;
  font-size: 12px !important;
  text-align: center;
}

footer.rewi-footer .rewi-footer-bottom span {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 900px) {
  footer.rewi-footer .rewi-footer-main {
    width: min(760px, calc(100% - 40px));
    grid-template-columns: 1.2fr 1fr !important;
    gap: 36px 48px !important;
  }
}

@media (max-width: 620px) {
  footer.rewi-footer .rewi-footer-main {
    width: calc(100% - 36px);
    padding: 38px 0 32px;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    text-align: center;
  }

  footer.rewi-footer .rewi-footer-brand img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer.rewi-footer .rewi-footer-brand p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer.rewi-footer .rewi-footer-column a,
  footer.rewi-footer .rewi-footer-column span {
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer.rewi-footer .rewi-footer-bottom {
    padding: 14px 18px;
    flex-direction: column;
    gap: 4px;
  }
}

/* Protección adicional contra cualquier overflow horizontal heredado */
html,
body {
  overflow-x: clip;
}
