/* =============================================================================
   secret-card.css — sección "Tarjeta secreta" 3D (García Studio)
   Cárgalo DESPUÉS de styles.css. Todo va namespaced bajo .secret-card para no
   chocar con nada existente.
   ========================================================================== */

.secret-card{
  position: relative;
  width: 100%;
  min-height: 100vh;               /* ajusta a tu gusto: 90vh, 720px, etc. */
  display: grid;
  place-items: center;
  overflow: hidden;
  cursor: none;                    /* ocultamos el cursor del SO SOLO en esta sección */
}
/* En móvil/táctil devolvemos el cursor normal (no hay efecto WebGL ahí) */
@media (max-width: 920px), (pointer: coarse){
  .secret-card{ cursor: auto; min-height: 60vh; }
}

/* Lienzo WebGL: ocupa la sección */
.secret-card .sc-stage{
  position: relative;
  width: min(1100px, 94vw);
  aspect-ratio: 3 / 2;
  max-height: 86vh;
}
.secret-card .sc-canvas{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
}

/* Imagen de respaldo (se ve antes de cargar el WebGL y SIEMPRE en móvil) */
.secret-card .sc-fallback{
  position: absolute; inset: 0;
  margin: auto;
  max-width: 78%; max-height: 88%;
  width: auto; height: auto;
  object-fit: contain;
  border-radius: 3px;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.45);
  display: block;                  /* el JS lo oculta al montar el WebGL en escritorio */
}

/* Texto DEBAJO de la card (nombre + rol). La OPACIDAD la pone el JS, sincronizada
   con la sombra (NO uses transition CSS aquí: el JS la gobierna fotograma a fotograma). */
.secret-card .sc-label{
  position: absolute;
  left: 31%; bottom: 5%;        /* DEBAJO de la foto y un pelín a la IZQUIERDA (como OMEGA) */
  transform: none;
  z-index: 5;
  text-align: left;
  pointer-events: none;
  opacity: 0;
  will-change: opacity;
}
.secret-card .sc-title{
  margin: 0;
  font-size: clamp(16px, 1.7vw, 22px);
  font-weight: 700;
  letter-spacing: .2px;
  color: #1c1c1c;
}
.secret-card .sc-sub{
  font-size: clamp(12px, 1.2vw, 15px);
  color: #9a9a9a;
}

/* Cursor personalizado "+" (DOM, fixed; el JS lo mueve con translate()) */
.secret-card .sc-cursor{
  position: fixed; top: 0; left: 0;
  width: 46px; height: 46px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: 0 6px 18px -6px rgba(0,0,0,.4);
  color: #222; font-size: 22px; font-weight: 300; line-height: 1;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
  will-change: transform, opacity;
}
.secret-card .sc-cursor.show{ opacity: 1; }

/* Puntos selectores de estancia */
.secret-card .sc-dots{
  position: absolute;
  left: 50%; bottom: -34px;
  transform: translateX(-50%);
  display: flex; gap: 10px;
  z-index: 6;
}
.secret-card .sc-dots:empty{ display: none; }
.secret-card .sc-dot{
  width: 9px; height: 9px; padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.35);
  background: transparent;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.secret-card .sc-dot.active{ background: #1c1c1c; border-color: #1c1c1c; transform: scale(1.15); }
@media (max-width: 920px), (pointer: coarse){
  .secret-card .sc-dots{ bottom: 10px; }
}

/* Respeto a "reducir movimiento": sin cursor propio ni transiciones largas */
@media (prefers-reduced-motion: reduce){
  .secret-card{ cursor: auto; }
  .secret-card .sc-cursor{ display: none; }
  .secret-card .sc-label{ transition: none; }
}
