/* Carrusel de fotografías dentro de "Ganadores 2027".
   Mismo lenguaje que el carrusel de participantes (flechas redondas a los lados,
   riel con scroll-snap), pero sobre el fondo navy de la sección: bordes claros
   en vez de sombras, y azul de marca como único acento. Al tocar una foto se
   abre en grande con el visor compartido (visor.css / visor.js). */

.ganadores-galeria {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-8);
  text-align: left;
}

.ganadores-galeria__track {
  position: relative; /* offsetLeft de las fotos se mide contra el riel */
  display: flex;
  flex: 1;
  gap: var(--space-2);
  min-width: 0;
  /* El padding da espacio al brillo del hover, que si no se recorta con el overflow. */
  padding-block: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ganadores-galeria__track::-webkit-scrollbar { display: none; }

.ganadores-galeria__item {
  flex: 0 0 clamp(150px, 15vw, 215px);
  aspect-ratio: 3 / 2;
  scroll-snap-align: start;
}

.ganadores-galeria__foto {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-lg);
  background: var(--color-navy-800);
  overflow: hidden;
  cursor: zoom-in;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.ganadores-galeria__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.22, 0.68, 0.24, 1);
}

/* Indicio de que la foto se amplía: lupa que aparece al señalarla. */
.ganadores-galeria__foto::after {
  content: '';
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(11, 23, 47, 0.78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cline x1='15' y1='15' x2='20' y2='20'/%3E%3Cline x1='10.5' y1='8' x2='10.5' y2='13'/%3E%3Cline x1='8' y1='10.5' x2='13' y2='10.5'/%3E%3C/svg%3E") center / 20px no-repeat;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.ganadores-galeria__foto:hover,
.ganadores-galeria__foto:focus-visible {
  border-color: var(--color-blue-400);
  box-shadow: 0 0 0 1px var(--color-blue-400), 0 10px 30px rgba(5, 73, 179, 0.55);
}
.ganadores-galeria__foto:hover img,
.ganadores-galeria__foto:focus-visible img { transform: scale(1.06); }
.ganadores-galeria__foto:hover::after,
.ganadores-galeria__foto:focus-visible::after { opacity: 1; transform: none; }
.ganadores-galeria__foto:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* En táctil no hay hover: la lupa queda visible para que se note que se puede tocar. */
@media (hover: none) {
  .ganadores-galeria__foto::after { opacity: 1; transform: none; }
}

.ganadores-galeria__btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--color-blue-400);
  border-radius: 50%;
  background: rgba(11, 23, 47, 0.55);
  color: var(--color-text-light);
  transition: background 0.25s ease, border-color 0.25s ease;
}
.ganadores-galeria__btn:hover { background: var(--color-blue-600); border-color: #fff; }
.ganadores-galeria__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 599.98px) {
  /* En el teléfono se desliza con el dedo; las flechas estorban. */
  .ganadores-galeria__btn { display: none; }
  .ganadores-galeria__item { flex-basis: 46%; }
}

@media (prefers-reduced-motion: reduce) {
  .ganadores-galeria__track { scroll-behavior: auto; }
  .ganadores-galeria__foto,
  .ganadores-galeria__foto img,
  .ganadores-galeria__foto::after { transition: none; }
  .ganadores-galeria__foto:hover img,
  .ganadores-galeria__foto:focus-visible img { transform: none; }
}
