/* Galería 3D Coverflow — estilos base (versión simplificada:
   sin fondos, sin textos de marca, sin sombra/borde en tarjetas). */

.g3d-root{
  --g3d-ink:#2b2b2b;
  --g3d-ink-dim:#8a8a8a;
  --g3d-persp:1500px;

  box-sizing:border-box;
  font-family: system-ui, -apple-system, sans-serif;
  color: var(--g3d-ink);
  width:100%;
}
.g3d-root *{ box-sizing:border-box; }

.g3d-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: clamp(14px, 2.4vw, 26px);
  width:100%;
}

.g3d-stage{
  position:relative;
  width:100%;
  max-width:1400px;
  overflow:hidden;         /* nada se sale del contenedor */
  perspective: var(--g3d-persp);
  perspective-origin: 50% 50%;
  touch-action: pan-y;
  cursor:grab;
}
.g3d-stage.g3d-dragging{ cursor:grabbing; }

.g3d-ring{
  position:absolute;
  top:50%; left:50%;
  width:0; height:0;
  transform-style:preserve-3d;
  will-change:transform;
}

.g3d-card{
  position:absolute;
  top:50%; left:50%;
  transform-style:preserve-3d;
  overflow:hidden;
  cursor:pointer;
  user-select:none;
  -webkit-user-drag:none;
}
.g3d-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  -webkit-user-drag:none;
}

.g3d-controls{ display:flex; align-items:center; gap:16px; }
.g3d-ctrl-btn{
  width:40px; height:40px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.15);
  background:rgba(0,0,0,.02);
  color: var(--g3d-ink);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition: background .2s, border-color .2s, transform .2s;
  flex-shrink:0;
}
.g3d-ctrl-btn:hover{ background:rgba(0,0,0,.06); border-color:rgba(0,0,0,.3); }
.g3d-ctrl-btn:active{ transform:scale(.92); }
.g3d-ctrl-btn svg{ width:16px; height:16px; }

.g3d-hint{ font-size:11px; color: var(--g3d-ink-dim); letter-spacing:.03em; text-align:center; }

@media (prefers-reduced-motion: reduce){ .g3d-ring{ transition:none !important; } }
