:root{
  --fa-bg:#000;
  --fa-white:#fff;
  --fa-grey:#d3d7dd;
  --fa-accent:#c7352d;
  --fa-carbon:#111;
  --fa-shadow:0 10px 22px rgba(0,0,0,.35);
}

/* ===== Footer premium – FitAccesorios ===== */
.fa-footer{
  background:var(--fa-bg);
  color:var(--fa-white);
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  padding:70px 0 30px;
}

/* Contenedor principal */
.fa-footer__container{
  width:100%;
  max-width:1240px;
  margin:0 auto 40px;
  padding:0 16px;              /* margencito lateral en móvil */
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(4, minmax(220px,1fr));
  gap:40px;
}
@media (max-width:1080px){
  .fa-footer__container{
    grid-template-columns:repeat(2, minmax(220px,1fr));
  }
}
@media (max-width:600px){
  .fa-footer__container{
    grid-template-columns:1fr;
  }
}

/* Col 1: logo + texto + enlaces */
.fa-footer__logo{
  display:block;
  width:220px;
  height:auto;
  margin:0 0 18px 0;
}
.fa-footer__col h3,
.fa-footer__col h4{
  font-weight:800;
  font-size:22px;
  margin:0 0 16px 0;
  color:var(--fa-white);
}
.fa-footer__col p{
  color:var(--fa-grey);
  margin:0 0 10px 0;
  font-size:15px;
  line-height:1.6;
}
.fa-footer__col a{
  display:block;
  color:var(--fa-white);
  text-decoration:none !important;
  font-size:15px;
  margin:6px 0;
  transition:opacity .2s ease, transform .2s ease;
}
.fa-footer__col a:hover{
  opacity:.85;
  transform:translateX(3px);
}

/* Social */
.fa-footer__social{
  display:flex;
  gap:14px;
  margin-top:14px;
}
.fa-footer__social a{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#181818;
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  box-shadow:var(--fa-shadow);
  text-decoration:none !important;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.fa-footer__social a:hover{
  transform:translateY(-3px);
  background:#1f1f1f;
  border-color:#ffffff33;
}

/* Newsletter */
.fa-footer__form{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.fa-footer__form input{
  flex:1;
  height:44px;
  padding:0 14px;
  border:none;
  border-radius:6px;
  outline:none;
  background:#1a1a1a;
  color:var(--fa-white);
}
.fa-footer__form button{
  height:44px;
  background:var(--fa-accent);
  color:#fff;
  border:none;
  border-radius:6px;
  padding:0 18px;
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease;
  text-transform:uppercase;
}
.fa-footer__form button:hover{
  opacity:.92;
  transform:translateY(-1px);
}
@media (max-width:600px){
  .fa-footer__form{
    flex-direction:column;
  }
  .fa-footer__form button{
    width:100%;
  }
}

/* Línea divisoria */
.fa-footer__divider{
  width:100%;
  max-width:1240px;
  height:1px;
  margin:8px auto 18px;
  background:rgba(255,255,255,.12);
  border:0;
}

/* Barra inferior */
.fa-footer__bottom{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 16px;
  box-sizing:border-box;
  display:flex;
  flex-wrap:wrap;              /* IMPORTANTE: deja que se apile */
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* Copy */
.fa-footer__copy{
  font-size:14px;
  color:var(--fa-grey);
  margin:0;
}
.fa-footer__copy strong{
  color:#fff;
}

/* Métodos de pago */
.fa-pay{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.fa-pay__item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:28px;
  padding:0 10px;
  background:#fff;
  color:#000;
  border-radius:6px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.fa-pay__item svg{
  display:block;
  height:18px;
  width:auto;
}

/* Links legales */
.fa-footer__links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}
.fa-footer__links a{
  color:var(--fa-grey);
  text-decoration:none !important;
  font-size:14px;
}
.fa-footer__links a:hover{
  color:#fff;
}

/* Responsivo bottom */
@media (max-width:900px){
  .fa-footer__bottom{
    justify-content:center;
    text-align:center;
  }
  .fa-footer__links{
    justify-content:center;
  }
}
@media (max-width:600px){
  .fa-footer__copy{ font-size:13px; }
  .fa-footer__links a{ font-size:13px; }
}

/* ===== FIX FINAL FOOTER – TEXTO SIN CORTES ===== */

/* Contenedores del footer: 100% ancho reales */
.fa-footer,
.fa-footer__container,
.fa-footer__bottom {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Barra inferior flexible y sin recortes */
.fa-footer__bottom {
  display: flex;
  flex-wrap: wrap !important;          /* permitir que todo se apile */
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow: visible !important;        /* que no corte contenido */
}

/* Texto copy: que pueda bajar de línea y no se recorte */
.fa-footer__copy {
  white-space: normal !important;      /* quitar cualquier nowrap viejo */
  overflow: visible !important;
  text-align: center;
  width: 100%;
  margin: 0;
}

/* Enlaces legales también en bloque, centrados */
.fa-footer__links {
  display: flex;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 12px;
  white-space: normal !important;
  overflow: visible !important;
}

/* Métodos de pago centrados y sin scroll raro */
.fa-pay {
  display: flex;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 8px;
  overflow: visible !important;
}

/* En escritorio se reparte mejor, pero sin cortar texto */
@media (min-width: 1024px) {
  .fa-footer__bottom {
    justify-content: space-between;
  }
  .fa-footer__copy {
    width: auto;
    text-align: left;
  }
  .fa-footer__links {
    justify-content: flex-end;
  }
}
