/**
 * Irreverens — Carrusel 3D circular para el feed del hero
 * Convierte la grilla .hero-feed-grid en un anillo 3D (coverflow).
 * Activado por js/cards-3d.js, que agrega la clase .carousel-3d.
 */

.hero-feed-grid.carousel-3d {
  display: block !important;
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0;
  perspective: 1400px;
  perspective-origin: 50% 42%;
  touch-action: pan-y;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

.hero-feed-grid.carousel-3d.is-grabbing { cursor: grabbing; }

/* Anillo que rota; los hijos viven en su espacio 3D */
.carousel-3d-ring {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  transform-style: preserve-3d;
  will-change: transform;
}

/* Cada card pasa a posición absoluta; el transform lo controla el JS */
.hero-feed-grid.carousel-3d .feed-card {
  position: absolute;
  top: 50%;
  left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: opacity .45s ease, filter .45s ease, box-shadow .45s ease;
}

/* La imagen llena el alto disponible; el meta queda abajo */
.hero-feed-grid.carousel-3d .feed-card-img {
  flex: 1 1 auto;
  height: auto;
  aspect-ratio: auto;
}
.hero-feed-grid.carousel-3d .feed-card-meta {
  flex: 0 0 auto;
}

/* Card que mira al frente: resaltada en dorado */
.hero-feed-grid.carousel-3d .feed-card.is-front {
  box-shadow: 0 22px 60px -15px rgba(227, 178, 35, 0.45);
  border-color: var(--amp-border-hover);
}
.hero-feed-grid.carousel-3d .feed-card:not(.is-front) {
  opacity: .5;
  filter: saturate(.85) brightness(.62);
}

/* Controles prev / next */
.carousel-3d-nav {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  z-index: 5;
}
.carousel-3d-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid var(--amp-border);
  background: var(--amp-bg-card);
  color: var(--amp-text);
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.carousel-3d-btn:hover {
  background: var(--amp-primary);
  color: #000;
  border-color: var(--amp-primary);
  transform: translateY(-2px);
}
.carousel-3d-btn:active { transform: translateY(0); }
