/* =========================================================
   FOOTER GLOBAL DEFINITIVO
   FUNDACIÓN NIÁGARA
   ========================================================= */

.site-footer{
  position:relative !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#0d4338 !important;
  color:#fff !important;
}

/* ==============================
   ESTRUCTURA HORIZONTAL
   ============================== */

.site-footer .footer-main{
  width:min(1180px, calc(100% - 48px)) !important;
  max-width:1180px !important;

  margin:0 auto !important;
  padding:58px 0 46px !important;

  display:grid !important;
  grid-template-columns:
    1.45fr
    .70fr
    .95fr
    1.10fr !important;

  align-items:start !important;
  gap:44px !important;
}


/* ==============================
   LOGO + IDENTIDAD
   ============================== */

.site-footer .footer-brand{
  display:grid !important;
  grid-template-columns:78px 1fr !important;
  gap:18px !important;

  align-items:start !important;

  width:auto !important;
  max-width:none !important;

  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-logo-link{
  display:block !important;
  width:78px !important;
}

.site-footer .footer-logo{
  display:block !important;

  width:78px !important;
  height:78px !important;

  margin:0 !important;
  padding:7px !important;

  box-sizing:border-box !important;

  object-fit:contain !important;

  border-radius:16px !important;

  background:#fff !important;

  transition:
    transform .25s ease,
    box-shadow .25s ease !important;
}

.site-footer .footer-brand-copy{
  margin:0 !important;
  padding:2px 0 0 !important;
}

.site-footer .footer-brand-copy strong{
  display:block !important;

  margin:0 0 11px !important;

  font-family:"Montserrat",sans-serif !important;
  font-size:19px !important;
  font-weight:800 !important;

  color:#fff !important;
}

.site-footer .footer-brand-copy p{
  margin:0 0 12px !important;

  font-size:14px !important;
  line-height:1.6 !important;

  color:rgba(255,255,255,.78) !important;
}

.site-footer .footer-brand-copy span{
  display:block !important;

  font-size:13px !important;
  line-height:1.55 !important;

  color:rgba(255,255,255,.62) !important;
}


/* ==============================
   COLUMNAS
   ============================== */

.site-footer .footer-column{
  display:block !important;

  width:auto !important;
  min-width:0 !important;
  max-width:none !important;

  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-column h3{
  margin:0 0 18px !important;

  font-family:"Montserrat",sans-serif !important;

  font-size:18px !important;
  font-weight:700 !important;

  color:#fff !important;
}


/* ==============================
   LINKS
   ============================== */

.site-footer .footer-links,
.site-footer .footer-contact{
  display:flex !important;

  flex-direction:column !important;
  align-items:flex-start !important;

  gap:9px !important;

  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-links a,
.site-footer .footer-contact a{
  display:inline-block !important;

  margin:0 !important;
  padding:0 !important;

  color:rgba(255,255,255,.80) !important;

  font-size:14px !important;
  line-height:1.35 !important;

  text-decoration:none !important;

  transition:
    color .2s ease,
    transform .2s ease !important;
}

.site-footer .footer-contact span{
  display:block !important;

  margin-top:3px !important;

  font-size:14px !important;

  color:rgba(255,255,255,.65) !important;
}


/* ==============================
   ORIENTACIÓN
   ============================== */

.site-footer .footer-actions{
  display:block !important;
}

.site-footer .footer-actions p{
  margin:0 0 18px !important;

  font-size:14px !important;
  line-height:1.6 !important;

  color:rgba(255,255,255,.73) !important;
}

.site-footer .footer-btn{
  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  max-width:none !important;

  min-height:46px !important;

  margin:10px 0 0 !important;
  padding:0 17px !important;

  box-sizing:border-box !important;

  border-radius:10px !important;

  font-family:"Montserrat",sans-serif !important;

  font-size:13px !important;
  font-weight:700 !important;

  text-decoration:none !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    color .22s ease !important;
}

.site-footer .footer-btn-primary{
  background:#d8ad53 !important;
  border:1px solid #d8ad53 !important;
  color:#123a2d !important;
}

.site-footer .footer-btn-secondary{
  background:transparent !important;

  border:1px solid rgba(255,255,255,.30) !important;

  color:#fff !important;
}


/* ==============================
   HOVER
   ============================== */

@media(hover:hover){

  .site-footer .footer-logo:hover{
    transform:translateY(-4px) scale(1.04) !important;

    box-shadow:
      0 12px 25px rgba(0,0,0,.20) !important;
  }

  .site-footer .footer-links a:hover,
  .site-footer .footer-contact a:hover{
    color:#efc66b !important;
    transform:translateX(4px) !important;
  }

  .site-footer .footer-btn:hover{
    transform:translateY(-3px) !important;

    box-shadow:
      0 12px 25px rgba(0,0,0,.15) !important;
  }

  .site-footer .footer-btn-primary:hover{
    background:#e6bd68 !important;
  }

  .site-footer .footer-btn-secondary:hover{
    background:#fff !important;
    color:#123a2d !important;
  }

}


/* ==============================
   FRANJA INFERIOR
   ============================== */

.site-footer .footer-bottom{
  width:min(1180px, calc(100% - 48px)) !important;
  max-width:1180px !important;

  margin:0 auto !important;

  padding:20px 0 25px !important;

  display:flex !important;

  flex-direction:row !important;

  align-items:center !important;
  justify-content:space-between !important;

  gap:20px !important;

  border-top:
    1px solid rgba(255,255,255,.12) !important;

  color:rgba(255,255,255,.58) !important;

  font-size:12px !important;
}


/* ==============================
   TABLET
   ============================== */

@media(max-width:1000px){

  .site-footer .footer-main{
    grid-template-columns:
      repeat(2, minmax(0,1fr)) !important;
  }

}


/* ==============================
   CELULAR
   ============================== */

@media(max-width:650px){

  .site-footer .footer-main{
    width:min(100% - 36px,1180px) !important;

    grid-template-columns:1fr !important;

    gap:34px !important;

    padding:45px 0 36px !important;
  }

  .site-footer .footer-brand{
    grid-template-columns:
      65px 1fr !important;
  }

  .site-footer .footer-logo-link{
    width:65px !important;
  }

  .site-footer .footer-logo{
    width:65px !important;
    height:65px !important;
  }

  .site-footer .footer-bottom{
    width:min(100% - 36px,1180px) !important;

    flex-direction:column !important;

    align-items:flex-start !important;

    gap:7px !important;
  }

}
/* =========================================================
   FOOTER GLOBAL - MÓVIL
   ========================================================= */

@media (max-width: 768px){

    .site-footer{
        padding-top: 44px;
    }

    .footer-grid{
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .footer-grid > *{
        width: 100%;
    }

    .footer-brand img{
        max-width: 70px;
        height: auto;
    }

    .footer-brand h2,
    .footer-brand h3{
        font-size: 20px;
        line-height: 1.2;
    }

    .site-footer h3{
        margin-bottom: 14px;
    }

    .site-footer a{
        line-height: 1.8;
    }

    .footer-bottom{
        margin-top: 34px;
        padding-top: 22px;

        display: flex;
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }
}
/* Evitar desplazamiento lateral accidental en móvil */
html,
body{
    max-width: 100%;
    overflow-x: hidden;
}

img,
svg,
video{
    max-width: 100%;
}
/* =====================================================
   FOOTER - ENLACES LEGALES
   ===================================================== */

.footer-legal-link{
    color:inherit;
    font-size:13px;
    font-weight:500;
    text-decoration:none;

    opacity:.82;

    transition:
        color .2s ease,
        opacity .2s ease;
}

.footer-legal-link:hover{
    color:#d3aa55;
    opacity:1;
    text-decoration:none;
}

.footer-legal-link:focus-visible{
    outline:2px solid #d3aa55;
    outline-offset:4px;
    border-radius:3px;
}
