/* components/swipe-hint.css */

/* Cartel de "hace swipe para leer" (una sola vez, mobile)
   ============================================================ */

.swipe-hint-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
  animation: swipe-hint-fade-in 0.4s ease;
}

.swipe-hint-character {
  display: block;
  width: min(116px, 29vw);
  max-height: 120px;
  object-fit: contain;
}

.swipe-hint-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  max-width: 100%;
}

.swipe-hint-hand {
  display: block;
  width: min(78px, 20vw);
  height: auto;
  object-fit: contain;
  animation: swipe-hand-gesture 2s ease-in-out 0.35s 3;
}

.swipe-hint-text {
  margin: 0;
  width: 100%;
  padding: 0.12em 0.05em;
  color: var(--cta-primary);
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 6vw, 2.2rem);
  line-height: 1.2;
  text-align: center;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .swipe-hint-text {
    background-image: var(--display-text-gradient);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}

@keyframes swipe-hint-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes swipe-hand-gesture {
  0%, 100% {
    transform: translateX(0);
  }
  35% {
    transform: translateX(18px);
  }
  70% {
    transform: translateX(-18px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .swipe-hint-overlay,
  .swipe-hint-hand {
    animation: none;
  }
}

@media (min-width: 641px) {
  .swipe-hint-overlay {
    display: none;
  }
}
