/* =========================
   TOPBAR (BISONTT) - CSS
========================= */

.topbar{
  background:#fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  font-family: "Montserrat", system-ui, Arial, sans-serif;
  color:#111;
}

.topbar-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 18px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
}

/* ====== IZQUIERDA: contacto ====== */
.topbar-left{ display:flex; align-items:center; }

.topbar-contact{
  display:flex;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .2px;
  color: rgba(0,0,0,.70);
}

.topbar-contact span,
.topbar-contact a{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  text-decoration:none;
  color: inherit;
  white-space: nowrap;
}

.topbar-contact a:hover{
  color:#111;
}

.topbar-contact svg{
  width: 16px;
  height: 16px;
  opacity: .9;
}

/* separador */
.topbar-contact .sep{
  width: 1px;
  height: 16px;
  background: rgba(0,0,0,.15);
  display:inline-block;
}

/* ====== DERECHA: social ====== */
.topbar-right{
  display:flex;
  align-items:center;
  gap: 10px;
}

.example-2{
  list-style: none;
  display:flex;
  align-items:center;
  gap: 10px;
  margin:0;
  padding:0;
}

/* Item */
.example-2 .icon-content{
  position: relative;
}

/* Tooltip */
.example-2 .icon-content .tooltip{
  position:absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  background: rgba(0,0,0,.86);
  color:#fff;
  padding: 2px 10px;
  border-radius: 8px;
  font-size: 10px;
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
  white-space: nowrap;
  z-index: 10050;
}

.example-2 .icon-content:hover .tooltip{
  opacity:1;
  transform: translateX(-50%) translateY(0);
}

/* Botón social */
.example-2 .icon-content a{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 100px;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  text-decoration:none;
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.example-2 .icon-content a:hover{
  transform: translateY(-2px);
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.14);
}

.example-2 .icon-content a svg{
  width: 20px;
  height: 20px;
  color:#111;
  opacity: .9;
  z-index: 2;
}

/* capa “filled” */
.example-2 .icon-content .filled{
  position:absolute;
  inset:0;
  opacity:0;
  transform: translateY(100%);
  transition: transform .22s ease, opacity .22s ease;
  z-index: 1;
}

.example-2 .icon-content:hover .filled{
  opacity:1;
  transform: translateY(0);
}

/* Colores por red */
.icon-content.instagram .filled{ background: linear-gradient(135deg,#f58529,#dd2a7b,#8134af); }
.icon-content.facebook  .filled{ background: #1877F2; }
.icon-content.whatsapp  .filled{ background: #25D366; }
.icon-content.youtube   .filled{ background: #FF0000; }
.icon-content.tiktok    .filled{ background: #111; }

/* texto/icono blanco cuando se llena */
.example-2 .icon-content:hover a svg{
  color:#fff;
  opacity: 1;
}

/* =========================
   DARK MODE
========================= */
body.dark .topbar{
  background: #101010;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
}

body.dark .topbar-contact{
  color: rgba(255,255,255,.70);
}

body.dark .topbar-contact a:hover{
  color: #fff;
}

body.dark .topbar-contact .sep{
  background: rgba(255,255,255,.18);
}

body.dark .example-2 .icon-content a{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}

body.dark .example-2 .icon-content a svg{
  color: #fff;
  opacity: .85;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 900px){
  .topbar-inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .topbar-right{
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 520px){
  .topbar-inner{
    padding: 10px 12px;
  }

  .topbar-contact{
    font-size: 12px;
    gap: 10px;
  }

  .example-2 .icon-content a{
    width: 36px;
    height: 36px;
    border-radius: 12px;
  }
  .example-2 .icon-content a svg{
    width: 18px;
    height: 18px;
  }
}

