/* =========================================
   TYPOGRAPHY FOOTER (REAL)
========================================= */

.site-footer *{
  font-family: inherit;
}

.site-footer{
  font-family: "Lexend Deca", sans-serif;
  width: 100%!important;
  max-width: 100%!important;
  
  background:#0A052D;
  color:#fff;

  padding-block: clamp(40px, 6vw, 60px) clamp(24px, 4vw, 40px);

  overflow: hidden; /* evita cualquier desborde residual */
}

/* =========================================
   CONTAINER
========================================= */

.site-footer__container{
  width: 100%;
  max-width: 1280px;

  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 24px);

  box-sizing: border-box;
}


/* =========================================
   GRID TOP
========================================= */

.site-footer__top{
  display: grid;

  grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
  gap: clamp(24px, 4vw, 60px);

  align-items: start;
}


/* =========================================
   TITLES
========================================= */

.site-footer__title{
  font-size: 18px;
  font-weight: 600;
  letter-spacing:.08em;

  margin-bottom: 18px;
  position: relative;
}

.site-footer__title::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  background:rgba(255,255,255,.2);
  margin-top:10px;
}


/* =========================================
   CONTACT GRID
========================================= */

.site-footer__contact-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr);
  gap:20px;
  margin-top:14px;
}

.site-footer__contact-divider{
  background:rgba(255,255,255,.2);
}


/* =========================================
   LINKS
========================================= */

.site-footer__links{
  list-style:none;
  padding:0;
  margin:14px 0 0;

  display:flex;
  flex-direction:column;
  gap:10px;
}

.site-footer__links a,
.site-footer__contact-grid p, .site-footer__contact-grid p a{
  color:#fff;
  text-decoration:none;
  font-size:15px;

  opacity:.8;
  transition:.2s ease;

  word-break: break-word; /* 💥 evita overflow por textos largos */
}

.site-footer__links a:hover, .site-footer__contact-grid p a:hover{
  opacity:1;
  transform:translateX(4px);
}


/* =========================================
   RIGHT COL
========================================= */

.site-footer__col:last-child{
  padding-left: clamp(12px, 2vw, 24px);
  border-left:1px solid rgba(255,255,255,.2);
}


/* =========================================
   BOTTOM
========================================= */

.site-footer__bottom{

  margin-top: clamp(24px, 4vw, 40px);

  padding-top: clamp(16px, 2vw, 20px);

  border-top:1px solid rgba(255,255,255,.1);

  display:flex;

  align-items:center;

  gap:40px;

}

.site-footer__widgets{

  display:flex;

  gap:16px;

  align-items:center;

  flex-wrap:wrap;

  margin-right:auto; /* 👈 empuja a la izquierda */

}

.site-footer__legal{
  display:flex;
  gap: clamp(12px, 2vw, 20px);

  list-style:none;
  padding:0;
  margin:0;

  flex-wrap: wrap;
}

.site-footer__legal a{
  color:#DFB37E;
  text-decoration:none;
  font-size:14px;
}


/* =========================================
   FIX GLOBAL
========================================= */

.site-footer,
.site-footer *{
  min-width:0;
  box-sizing: border-box;
}

.site-footer__lang{
  display:flex;
  gap:10px;
}

.site-footer__lang a{
  font-size:13px;
  opacity:.5;
  text-transform:uppercase;
  letter-spacing:.08em;
  transition:.3s;
}

.site-footer__lang a.is-active{
  opacity:1;
  font-weight:600;
}

.site-footer__lang a:hover{
  opacity:1;
}

/* WIDGETS */
.site-footer__widgets{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}

/* BOTTOM DISTRIBUCIÓN */
.site-footer__bottom{
  margin-top: clamp(24px, 4vw, 40px);
  padding-top: clamp(16px, 2vw, 20px);

  border-top:1px solid rgba(255,255,255,.1);

  display:flex;
  justify-content:space-between; /* 👈 CLAVE */
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}


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

@media (max-width:1100px){

  .site-footer__top{
    grid-template-columns: 1fr;
  }

  .site-footer__col:last-child{
    border-left:none;
    padding-left:0;
  }

  .site-footer__col:last-child .site-footer__links{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:12px 24px;

    list-style:none;
    padding:0;
    margin:0;
  }

  .site-footer__col:last-child .site-footer__links li{
    display:inline-flex;
  }

  .site-footer__bottom{
    justify-content:flex-start;
  }

}


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

@media (max-width:640px){

  .site-footer{
    padding-block: 40px 24px;
  }

  .site-footer__contact-grid{
    grid-template-columns: 1fr;
  }

  .site-footer__contact-divider{
    display:none;
  }

  .site-footer__legal{
    flex-direction:column;
    align-items:flex-start;
  }

}