.tabs {
  width: 100%;
  margin-top: 20px;
  --tabs-bg: rgba(255, 255, 255, 0.6);
  --tabs-border: rgba(0, 0, 0, 0.08);
  --tabs-hover: rgba(0, 0, 0, 0.06);
  --tabs-radius: 12px;
  --tabs-indicador: var(--color-primary);
}

/* Barra superior */
.tabs .tabs-botones {
  position: relative;
  backdrop-filter: blur(12px);
  background: var(--tabs-bg);
  border-bottom: 1px solid var(--tabs-border);
  border-radius: var(--tabs-radius) var(--tabs-radius) 0 0;
  padding: 0 10px;
}

/* Botones */
.tabs .tab-boton {
  background: none;
  border: none;
  padding: 14px 22px;
  font-size: 1rem;
  cursor: pointer;
  color: var(--color-dark);
  position: relative;
  transition: color 0.25s ease;
  border-radius: 8px;
}

.tabs .tab-boton:hover {
  background: var(--tabs-hover);
}

/* Indicador animado */
.tabs .tab-boton.activo {
  color: var(--color-primary);
  font-weight: bold;
}

.tabs .tab-boton.activo::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: -1px;
  height: 3px;
  background: var(--tabs-indicador);
  border-radius: 3px;
  animation: indicador 0.25s ease;
}

@keyframes indicador {
  from {
    transform: scaleX(0);
    opacity: 0;
  }

  to {
    transform: scaleX(1);
    opacity: 1;
  }
}

/* Contenido */
.tabs .tabs-contenido {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(6px);
  padding: 20px ;
  border: 1px solid var(--tabs-border);
  border-top: none;
  border-radius: 0 0 var(--tabs-radius) var(--tabs-radius);
}

.tabs .tab-contenido {
  display: none;
  animation: fade 0.3s ease;
}

.tabs .tab-contenido.activo {
  display: block;
}

@keyframes fade {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
    .tabs .tabs-contenido { padding: 0px 20px 0px 20px; }
}