/*
Theme Name: Tor Base Theme
Theme URI: https://example.com/
Author: Tor
Author URI: https://example.com/
Description: Esqueleto base de tema WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: tor-base-theme
*/

body{margin:0;font-family:Arial,sans-serif;color:#222}
.container{max-width:1200px;margin:0 auto;padding:20px}

/* ===== FOOTER REMODELADO ===== */

.to-footer__brandHead{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.to-footer__logoWrap{
  width:58px;
  height:58px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  overflow:hidden;
  flex:0 0 58px;
}

.to-footer__logoImg{
  width:40px;
  height:40px;
  object-fit:contain;
  display:block;
}

.to-footer__title{
  color:#fff;
  font-size:1.7rem;
  line-height:1.05;
  font-weight:800;
  letter-spacing:.2px;
}

.to-footer__subtitle{
  margin-top:4px;
  color:rgba(255,255,255,.78);
  font-size:.95rem;
  line-height:1.35;
  font-weight:600;
}

.to-footer__desc{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1.02rem;
  line-height:1.65;
  max-width:420px;
}

/* títulos de columnas */
.to-footer__h{
  font-size:1.18rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.8px;
  color:#fff;
  margin-bottom:16px;
}

/* listas generales */
.to-footer__list{
  list-style:none;
  margin:0;
  padding:0;
}

.to-footer__list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:14px;
  color:rgba(255,255,255,.84);
  line-height:1.5;
}

.to-ico{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:3px;
  color:#9fd0ff;
}

.to-ico svg{
  width:100%;
  height:100%;
  display:block;
}

/* redes sociales */
.to-footer__socials{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding-top:4px;
}

.to-footer__social{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.to-footer__social:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.22);
}

.to-footer__social svg{
  width:22px;
  height:22px;
  display:block;
}

/* soluciones más grande */
.to-footer__col--solutions .to-footer__list li{
  font-size:1.02rem;
}

/* contacto aún más grande */
.to-footer__col--contact .to-footer__list li{
  font-size:1.08rem;
}

.to-footer__col--contact .to-footer__link{
  color:#fff;
  text-decoration:none;
  font-weight:600;
}

.to-footer__col--contact .to-footer__link:hover{
  text-decoration:underline;
}

.to-footer__col--contact .to-ico{
  width:20px;
  height:20px;
  flex:0 0 20px;
}

/* responsive */
@media (max-width: 900px){
  .to-footer__title{
    font-size:1.45rem;
  }

  .to-footer__subtitle{
    font-size:.9rem;
  }

  .to-footer__h{
    font-size:1.05rem;
  }

  .to-footer__col--solutions .to-footer__list li,
  .to-footer__col--contact .to-footer__list li{
    font-size:1rem;
  }
}

@media (max-width: 640px){
  .to-footer__brandHead{
    gap:12px;
  }

  .to-footer__logoWrap{
    width:52px;
    height:52px;
    flex-basis:52px;
  }

  .to-footer__logoImg{
    width:36px;
    height:36px;
  }

  .to-footer__title{
    font-size:1.3rem;
  }

  .to-footer__social{
    width:46px;
    height:46px;
    border-radius:14px;
  }

  .to-footer__social svg{
    width:20px;
    height:20px;
  }
}
