/* ==========================================================================
   ORBIT — 3D Flip Card
   Real CSS 3D transforms (perspective + rotateY + backface-visibility) —
   the front shows the object, the back shows the actual astronomical data.
   No JS required; hover or keyboard-focus flips the card in 3D space.
   ========================================================================== */

.flip-card {
  perspective: 1400px;
  height: 340px;
  border-radius: var(--radius-md);
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: left;
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transform-style: preserve-3d;
  border-radius: var(--radius-md);
}

.flip-card:hover .flip-card-inner,
.flip-card:focus-within .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--glass-border);
}

.flip-card-front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flip-card-front .label {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: var(--space-4);
  background: linear-gradient(to top, rgba(10,10,15,0.9), transparent);
}
.flip-card-front .label h3 { font-size: var(--fs-base); }
.flip-card-front .label span { font-family: var(--font-data); font-size: var(--fs-xs); color: var(--cosmic-gold); }

.flip-card-back {
  transform: rotateY(180deg);
  background: var(--space-navy);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.flip-card-back .designation { font-family: var(--font-data); font-size: var(--fs-xs); color: var(--cosmic-gold); letter-spacing: 0.08em; margin-bottom: var(--space-3); }
.flip-card-back p { font-size: var(--fs-sm); color: var(--text-secondary); line-height: 1.6; }
.flip-card-back .flip-hint { position: absolute; bottom: var(--space-4); right: var(--space-4); font-size: var(--fs-xs); color: var(--text-muted); }

@media (hover: none) {
  /* Touch devices: tap toggles via :focus-within on the wrapping button/link */
  .flip-card-front::after {
    content: 'Tap for data →';
    position: absolute;
    top: var(--space-3); right: var(--space-3);
    font-size: 10px;
    padding: var(--space-1) var(--space-2);
    background: rgba(10,10,15,0.7);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
  }
}
