/* ===============================
   ANDEUM PARTNERS – FOOTER
   Prefijo: ap-footer
================================ */

.ap-footer{
  width:100%;
  color:#FFFFFF;
  background: linear-gradient(180deg, #011077 0%, #001a66 100%);
}

/* Layout */
.ap-footer__wrap{
  max-width:1400px;
  margin:0 auto;
  padding:56px 70px 36px;

  display:grid;
  grid-template-columns: 1.55fr 0.85fr 1fr;
  gap:46px;
  align-items:start;
}

.ap-footer__col{ min-width:0; }

/* LEFT */
.ap-footer__brand{ margin-bottom:12px; }

.ap-footer__logo{
  display:block;
  width:100%;
  max-width:360px;
  height:auto;
}

.ap-footer__desc{
  margin:10px 0 18px;
  font-size:18px;
  font-weight:500;
  opacity:.95;
  line-height:1.35;
}

.ap-footer__title{
  margin:12px 0 16px;
  font-size:32px;
  font-weight:900;
}
.ap-footer__title--social{
  font-size:30px;
  margin-top:18px;
}

/* ===============================
   REDES – EFECTO expand + texto
================================ */

.ap-footer__social{
  width:350px;
  height:60px;
  padding:5px;
  display:flex;
  justify-content:space-around;
  align-items:center;
  border-radius:10px;
}

/* Botón base */
.ap-footer__socialBtn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;

  width:50px;
  height:45px;
  border-radius:50px;

  background:#FFFFFF;
  color:#011077;
  text-decoration:none;
  overflow:hidden;

  transition:all .3s ease;
  box-shadow:0 0 6px rgba(0,0,0,.2);
  border:1px solid #ccc;
}

/* Icono */
.ap-footer__socialIc{
  width:54px;
  height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ap-footer__socialIc img{
  width:18px;
  height:18px;
  display:block;
  filter:brightness(0);
}

/* Texto */
.ap-footer__socialTx{
  position:absolute;
  left:60px;
  font-size:13px;
  font-weight:800;
  color:#011077;
  opacity:0;
  pointer-events:none;
  white-space:nowrap;

  transition:opacity .3s ease, transform .3s ease, color .3s ease;
}

/* Hover */
.ap-footer__socialBtn:hover{
  width:140px;
  justify-content:flex-start;
  padding-left:14px;
  background:rgba(1,16,119,.75);
  color:#FFFFFF;

  border-color:transparent;
  transform:scale(1.05);
}

.ap-footer__socialBtn:hover .ap-footer__socialTx{
  opacity:1;
  transform:translateX(6px);
  color:#FFFFFF;
}

.ap-footer__socialBtn:hover .ap-footer__socialIc img{
  filter:brightness(0) invert(1);
}

/* Glows */
.ap-footer__socialBtn--ig:hover{
  box-shadow:0 0 15px #E1306C, 0 0 35px #E1306C;
}
.ap-footer__socialBtn--fb:hover{
  box-shadow:0 0 15px #1877F2, 0 0 35px #1877F2;
}
.ap-footer__socialBtn--x:hover{
  box-shadow:0 0 15px rgba(255,255,255,.55), 0 0 35px rgba(255,255,255,.35);
}
.ap-footer__socialBtn--in:hover{
  box-shadow:0 0 15px #0A66C2, 0 0 35px #0A66C2;
}

/* Email */
.ap-footer__email{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#FFFFFF;
  text-decoration:none;
  font-size:18px;
  font-weight:700;
  opacity:.95;
}

/* MID */
.ap-footer__links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.ap-footer__link{
  color:#FFFFFF;
  text-decoration:none;
  font-size:22px;
  font-weight:800;
  letter-spacing:.8px;
}

/* RIGHT */
.ap-footer__col--right{ text-align:center; }

.ap-footer__sch-label,
.ap-footer__sch-time{
  font-size:18px;
  font-weight:700;
  opacity:.95;
}

.ap-footer__phone{
  margin-top:30px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:20px;
  font-weight:800;
}

.ap-footer__phone-link{
  color:#FFFFFF;
  text-decoration:none;
}

/* Bottom */
.ap-footer__bottom{
  background: linear-gradient(180deg, #011077 0%, #001a66 100%);
  padding:18px 16px;
  text-align:center;
}

.ap-footer__bottom-text{
  margin:0;
  font-size:16px;
  font-weight:700;
  opacity:.95;
}
/* ===============================
   RESPONSIVE MEJORADO
   (pegar al final del CSS)
================================ */

/* Tablet / laptop pequeña */
@media (max-width: 1100px){
  .ap-footer__wrap{
    grid-template-columns: 1fr;
    padding: 48px 22px 30px;
    gap: 30px;
  }

  .ap-footer__col--right{
    text-align: left;
  }

  .ap-footer__logo{
    max-width: 300px;
  }

  .ap-footer__social{
    width: 100%;
    max-width: 420px;
  }
}

/* Móvil */
@media (max-width: 700px){
  .ap-footer__wrap{
    padding: 42px 16px 26px;
    gap: 26px;
    text-align: center;
  }

  .ap-footer__brand{
    display:flex;
    justify-content:center;
  }

  .ap-footer__logo{
    max-width: 240px;
    margin: 0 auto;
  }

  .ap-footer__desc{
    margin: 14px auto 18px;
    max-width: 520px;
    line-height: 1.55;
    
  }

  .ap-footer__links{
    align-items: center;
    gap: 16px; /* un poco más compacto */
  }

  .ap-footer__link{
    font-size: 20px;
    letter-spacing: .4px;
  }

  .ap-footer__col--right{
    text-align: center;
  }

  .ap-footer__phone{
    justify-content: center;
    margin-top: 18px;
    flex-wrap: wrap; /* evita desbordes */
    gap: 10px;
  }

  .ap-footer__email{
    justify-content: center;
    flex-wrap: wrap; /* evita desbordes */
    gap: 10px;
  }

  /* Redes: evita que se choquen */
  .ap-footer__social{
    margin: 0 auto 16px;
    width: 100%;
    max-width: 360px;
    justify-content: center;
    gap: 10px;
    height: auto;         /* mejor que fijo */
    padding: 6px;
    flex-wrap: wrap;      /* permite 2 filas si hace falta */
  }

  /* En móvil: sin “expand hover” (touch) */
  .ap-footer__socialBtn{
    width: 52px;
    height: 52px;
    border-radius: 999px;
  }
  .ap-footer__socialIc{
    width: 52px;
    height: 52px;
  }

  .ap-footer__socialTx{
    display:none; /* en touch el texto no aparece bien */
  }

  .ap-footer__socialBtn:hover{
    width: 52px;
    padding-left: 0;
    justify-content: center;
    transform: none;
    background: #FFFFFF;
    color:#011077;
  }

  .ap-footer__socialBtn:hover .ap-footer__socialIc img{
    filter: brightness(0);
  }
}

/* Móvil pequeño */
@media (max-width: 420px){
  .ap-footer__wrap{
    padding: 38px 14px 24px;
  }

  .ap-footer__title{
    font-size: 28px;
  }

  .ap-footer__title--social{
    font-size: 26px;
  }

  .ap-footer__link{
    font-size: 18px;
  }

  .ap-footer__desc{
    font-size: 16px;
  }

  .ap-footer__bottom-text{
    font-size: 14px;
  }

  .ap-footer__social{
    gap: 8px;
    max-width: 320px;
  }

  .ap-footer__socialBtn,
  .ap-footer__socialIc{
    width: 48px;
    height: 48px;
  }
}

/* BONUS: si el dispositivo no tiene hover (touch), desactiva expansión */
@media (hover: none){
  .ap-footer__socialTx{ display:none; }

  .ap-footer__socialBtn:hover{
    width: 50px;
    padding-left: 0;
    justify-content: center;
    transform: none;
    background: #FFFFFF;
    color:#011077;
  }

  .ap-footer__socialBtn:hover .ap-footer__socialIc img{
    filter: brightness(0);
  }
}
