.filters {
  width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.btn-filter {
  /* padding: .5rem 1rem; */

  background-color: transparent;
  color: #fff;
  font-size: 1.5rem;
  border: 0px solid transparent;
}
.btn-filter:focus,
.btn-filter:hover,
.btn-filter.active {
  color: var(--accent-color);
  border: 0px solid transparent;
}
.gallery {
  width: 100%;

  padding: 1rem;
  text-align: justify;
  overflow: hidden;
  display: grid; 
  grid-template-columns: repeat(3, 1fr); 

  gap: 1rem;
  /* rotate: -2.5deg; */
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
}

/* .gallery:after {
  content: "";
  display: inline-block;
  width: 100%;
} */

.mix,
.gap {
  display:block;
  /* vertical-align: top; */
  margin: 0.5rem;
}

.mix {
  background: #000;
  position: relative;
  border-radius: 1rem;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  overflow: visible;
}

.mix img {
  width: 100%;
  border-radius: 1rem;
  display: block;
}
.mix img:hover {
  transition: all 0.5s ease-in-out;
}

/* hover mix */

.hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.418);
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  text-align: center;
}

.mix:hover .hover-overlay {
  opacity: 1;
  pointer-events: auto;
}

.fade-down, .fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}

.mix:hover .fade-down {
  opacity: 1;
  transform: translateY(0);
}

.mix:hover .fade-up {
  opacity: 1;
  transform: translateY(-10px);
  transition-delay: 0.2s;
}

@media screen and (max-width: 768px) {
 .hover-overlay{
  padding: 0.5rem;
 }
  .fade-down{
    font-size: 1rem;
  }
  .fade-up
  {
    margin: 0!important;
  }
}
/* mockup */
 .media-wrapper {
  position: relative;
  width: 100%;
  height: auto;
}

.poster {
  display: block;
  width: 100%;
  height: auto;
}

.mockup-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.5s ease;
  z-index: 2;
}

.mix:hover .mockup-overlay {
  opacity: 0;
}


.media-wrapper {
  position: relative;
  overflow: hidden;
}

.media-wrapper video.hover-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none; /* para no interferir con Fancybox click */
}

/* cursor */
#services {
  cursor: none; /* ocultamos cursor nativo en esta secci��n */
}
#services a,
#services button {
  cursor: none !important;
} 
#custom-cursor {
  position: fixed;
  width: 32px;
  height: 32px;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 0.2s ease;
  z-index: 9999;
  background: url('../img/videos/cursor.svg') center center no-repeat;
  display: none; /* por defecto oculto, solo aparece en #services */
}
#custom-cursor {
  position: fixed;
  width: 32px;
  height: 32px;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 0.2s ease;
  z-index: 9999;
  background: url('../img/videos/cursor.svg') center center no-repeat;
  display: none;
}

@media screen and (max-width: 768px) { 
  #custom-cursor {
    display: none !important;
  }
}