/* Motion on hover for overlay catalog preview cards (create, dashboard, home) */

.fc-concept-3d [class*="overlay-concept"],
.fc-concept-fit [class*="overlay-concept"],
.overlay-card-preview-content [class*="overlay-concept"],
.fc-concept-3d .opm-sport-preview,
.fc-concept-fit .opm-sport-preview,
.overlay-card-preview-content .opm-sport-preview {
    pointer-events: auto;
}

/* --- Packs deportivos (GC Fútbol, Super Pack, GC Voleibol) --- */
.type-card-preview:hover .opm-sport-score,
.overlay-card-preview:hover .opm-sport-score,
.opm-sport-preview:hover .opm-sport-score {
    animation: opm-sport-score-drop 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .opm-sport-lt,
.overlay-card-preview:hover .opm-sport-lt,
.opm-sport-preview:hover .opm-sport-lt {
    animation: opm-sport-lt-slide 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .opm-sport-tag,
.overlay-card-preview:hover .opm-sport-tag,
.opm-sport-preview:hover .opm-sport-tag {
    animation: opm-sport-tag-flash 0.85s ease;
}

.type-card-preview:hover .opm-sport-goals,
.overlay-card-preview:hover .opm-sport-goals,
.opm-sport-preview:hover .opm-sport-goals {
    animation: opm-sport-goals-pop 0.7s ease;
}

.type-card-preview:hover .opm-spf-scorebar,
.overlay-card-preview:hover .opm-spf-scorebar,
.opm-sport-preview--spf:hover .opm-spf-scorebar {
    animation: opm-sport-score-drop 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .opm-spf-logo--home,
.overlay-card-preview:hover .opm-spf-logo--home,
.opm-sport-preview--spf:hover .opm-spf-logo--home {
    animation: opm-spf-logo-in 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .opm-spf-logo--away,
.overlay-card-preview:hover .opm-spf-logo--away,
.opm-sport-preview--spf:hover .opm-spf-logo--away {
    animation: opm-spf-logo-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}

.type-card-preview:hover .opm-spf-digit,
.overlay-card-preview:hover .opm-spf-digit,
.opm-sport-preview--spf:hover .opm-spf-digit {
    animation: opm-sport-goals-pop 0.72s ease both;
}

.type-card-preview:hover .opm-spf-digit:nth-child(4),
.overlay-card-preview:hover .opm-spf-digit:nth-child(4) { animation-delay: 0.12s; }
.type-card-preview:hover .opm-spf-digit:nth-child(5),
.overlay-card-preview:hover .opm-spf-digit:nth-child(5) { animation-delay: 0.2s; }

.type-card-preview:hover .opm-spf-clock,
.overlay-card-preview:hover .opm-spf-clock,
.opm-sport-preview--spf:hover .opm-spf-clock {
    animation: opm-spf-clock-pulse 0.8s ease 0.15s;
}

.type-card-preview:hover .opm-spf-card--back,
.overlay-card-preview:hover .opm-spf-card--back,
.opm-sport-preview--spf:hover .opm-spf-card--back {
    animation: opm-spf-card-rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

.type-card-preview:hover .opm-spf-card--front,
.overlay-card-preview:hover .opm-spf-card--front,
.opm-sport-preview--spf:hover .opm-spf-card--front {
    animation: opm-spf-card-rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
}

.type-card-preview:hover .opm-spf-lt,
.overlay-card-preview:hover .opm-spf-lt,
.opm-sport-preview--spf:hover .opm-spf-lt {
    animation: opm-sport-lt-slide 0.78s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both;
}

.type-card-preview:hover .opm-sport-score--pgv,
.overlay-card-preview:hover .opm-sport-score--pgv,
.opm-sport-preview--pgv:hover .opm-sport-score--pgv {
    animation: opm-sport-pgv-rise 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Lower third --- */
.type-card-preview:hover .overlay-concept-lt,
.overlay-card-preview:hover .overlay-concept-lt,
.overlay-concept-lt:hover {
    animation: opm-lt-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Scorebug --- */
.type-card-preview:hover .overlay-concept-sb,
.overlay-card-preview:hover .overlay-concept-sb,
.overlay-concept-sb:hover {
    animation: opm-sb-pop 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .overlay-concept-sb-score,
.overlay-card-preview:hover .overlay-concept-sb-score,
.overlay-concept-sb:hover .overlay-concept-sb-score {
    animation: opm-score-flash 0.75s ease;
}

/* --- Countdown --- */
.type-card-preview:hover .overlay-concept-cd,
.overlay-card-preview:hover .overlay-concept-cd,
.overlay-concept-cd:hover {
    animation: opm-cd-pop 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .overlay-concept-cd-time,
.overlay-card-preview:hover .overlay-concept-cd-time,
.overlay-concept-cd:hover .overlay-concept-cd-time {
    animation: opm-cd-tick 0.85s ease;
}

.type-card-preview:hover .overlay-concept-cd-bar-fill,
.overlay-card-preview:hover .overlay-concept-cd-bar-fill,
.overlay-concept-cd:hover .overlay-concept-cd-bar-fill {
    animation: opm-cd-drain 1.1s ease forwards;
}

/* --- News / social ticker --- */
.type-card-preview:hover .overlay-concept-nt-track,
.overlay-card-preview:hover .overlay-concept-nt-track,
.overlay-concept-nt:hover .overlay-concept-nt-track {
    animation: opm-ticker-scroll 1.6s linear;
}

/* --- Ruleta --- */
.type-card-preview:hover .overlay-concept-rf-wheel,
.overlay-card-preview:hover .overlay-concept-rf-wheel,
.overlay-concept-rf:hover .overlay-concept-rf-wheel {
    animation: opm-wheel-spin 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Cumpleaños --- */
.type-card-preview:hover .overlay-concept-bd-icon,
.overlay-card-preview:hover .overlay-concept-bd-icon,
.overlay-concept-bd:hover .overlay-concept-bd-icon {
    animation: opm-bd-bounce 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Reloj --- */
.type-card-preview:hover .overlay-concept-ck-time,
.overlay-card-preview:hover .overlay-concept-ck-time,
.overlay-concept-ck:hover .overlay-concept-ck-time {
    animation: opm-ck-pulse 0.85s ease;
}

/* --- Horario / menú --- */
.type-card-preview:hover .overlay-concept-sh-item,
.overlay-card-preview:hover .overlay-concept-sh-item,
.overlay-concept-sh:hover .overlay-concept-sh-item {
    animation: opm-item-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.type-card-preview:hover .overlay-concept-sh-item:nth-child(2),
.overlay-card-preview:hover .overlay-concept-sh-item:nth-child(2) { animation-delay: 0.06s; }
.type-card-preview:hover .overlay-concept-sh-item:nth-child(3),
.overlay-card-preview:hover .overlay-concept-sh-item:nth-child(3) { animation-delay: 0.12s; }

.type-card-preview:hover .overlay-concept-mn-time,
.overlay-card-preview:hover .overlay-concept-mn-time,
.overlay-concept-mn:hover .overlay-concept-mn-time {
    animation: opm-item-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.type-card-preview:hover .overlay-concept-mn-dishes,
.overlay-card-preview:hover .overlay-concept-mn-dishes,
.overlay-concept-mn:hover .overlay-concept-mn-dishes {
    animation: opm-item-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.type-card-preview:hover .overlay-concept-mn-time:nth-of-type(2),
.overlay-card-preview:hover .overlay-concept-mn-time:nth-of-type(2),
.type-card-preview:hover .overlay-concept-mn-dishes:nth-of-type(2),
.overlay-card-preview:hover .overlay-concept-mn-dishes:nth-of-type(2) { animation-delay: 0.1s; }

/* --- Aviso --- */
.type-card-preview:hover .overlay-concept-ntc,
.overlay-card-preview:hover .overlay-concept-ntc,
.overlay-concept-ntc:hover {
    animation: opm-ntc-pop 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Alineación --- */
.type-card-preview:hover .overlay-concept-lu,
.overlay-card-preview:hover .overlay-concept-lu,
.overlay-concept-lu:hover {
    animation: opm-lu-rise 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Tragamonedas --- */
.type-card-preview:hover .opm-sl-reel,
.overlay-card-preview:hover .opm-sl-reel,
.overlay-concept-sl:hover .opm-sl-reel {
    animation: opm-sl-reel 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.type-card-preview:hover .opm-sl-reel:nth-child(2),
.overlay-card-preview:hover .opm-sl-reel:nth-child(2) { animation-delay: 0.08s; }
.type-card-preview:hover .opm-sl-reel:nth-child(3),
.overlay-card-preview:hover .opm-sl-reel:nth-child(3) { animation-delay: 0.16s; }

/* --- Dados (también al hover del contenedor padre) --- */
.type-card-preview:hover .overlay-concept-vd .vd-preview-spin,
.overlay-card-preview:hover .overlay-concept-vd .vd-preview-spin,
.overlay-concept-vd:hover .vd-preview-spin {
    animation: vdPreviewSpin 0.95s cubic-bezier(0.22, 1, 0.36, 1) var(--vd-delay, 0s);
}

.type-card-preview:hover .overlay-concept-vd .vd-preview-shadow,
.overlay-card-preview:hover .overlay-concept-vd .vd-preview-shadow,
.overlay-concept-vd:hover .vd-preview-shadow {
    transform: translateX(-50%) scale(0.72);
    opacity: 0.55;
}

/* --- Timer bug (punto en vivo) --- */
.type-card-preview:hover .opm-live-dot,
.overlay-card-preview:hover .opm-live-dot {
    animation: opm-live-pulse 0.9s ease;
}

/* --- Previews genéricos (deportes, títulos, social, etc.) --- */
.type-card-preview:hover .fc-concept-3d > div:not([class*="overlay-concept"]),
.type-card-preview:hover .fc-concept-fit > div:not([class*="overlay-concept"]),
.type-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview),
.overlay-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) {
    animation: opm-rise 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.type-card-preview:hover .fc-concept-3d > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *,
.type-card-preview:hover .fc-concept-fit > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *,
.type-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *,
.overlay-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > * {
    animation: opm-piece-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.type-card-preview:hover .fc-concept-3d > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(2),
.type-card-preview:hover .fc-concept-fit > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(2),
.type-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(2),
.overlay-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(2) { animation-delay: 0.07s; }
.type-card-preview:hover .fc-concept-3d > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(3),
.type-card-preview:hover .fc-concept-fit > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(3),
.type-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(3),
.overlay-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(3) { animation-delay: 0.14s; }
.type-card-preview:hover .fc-concept-3d > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(4),
.type-card-preview:hover .fc-concept-fit > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(4),
.type-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(4),
.overlay-card-preview:hover .overlay-card-preview-content > div:not([class*="overlay-concept"]):not(.opm-sport-preview) > *:nth-child(4) { animation-delay: 0.21s; }

@keyframes opm-lt-enter {
    0% { opacity: 0.55; transform: translateX(-28px); }
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes opm-sb-pop {
    0%, 100% { transform: translateX(-50%) scale(1); }
    45% { transform: translateX(-50%) scale(1.07); }
}

@keyframes opm-score-flash {
    0%, 100% { color: rgba(255, 255, 255, 0.9); transform: scale(1); }
    40% { color: #f5c400; transform: scale(1.18); }
}

@keyframes opm-cd-pop {
    0% { opacity: 0.7; transform: translateX(-50%) scale(0.94); }
    100% { opacity: 1; transform: translateX(-50%) scale(1); }
}

@keyframes opm-cd-tick {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(1.12); color: #22d3ee; }
}

@keyframes opm-cd-drain {
    0% { width: 65%; }
    100% { width: 18%; }
}

@keyframes opm-ticker-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-38%); }
}

@keyframes opm-wheel-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(540deg); }
}

@keyframes opm-bd-bounce {
    0%, 100% { transform: scale(1) rotate(0deg); }
    35% { transform: scale(1.22) rotate(-8deg); }
    65% { transform: scale(1.08) rotate(6deg); }
}

@keyframes opm-ck-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.08); opacity: 0.82; }
}

@keyframes opm-item-rise {
    0% { opacity: 0.35; transform: translateY(6px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes opm-ntc-pop {
    0% { opacity: 0.65; transform: scale(0.92); }
    55% { transform: scale(1.05); }
    100% { opacity: 1; transform: scale(1); }
}

@keyframes opm-lu-rise {
    0% { opacity: 0.6; transform: scale(0.72) translateY(10px); }
    100% { opacity: 1; transform: scale(0.72) translateY(0); }
}

@keyframes opm-sl-reel {
    0% { transform: translateY(0); }
    35% { transform: translateY(-55%); }
    70% { transform: translateY(8%); }
    100% { transform: translateY(0); }
}

@keyframes opm-rise {
    0% { opacity: 0.55; filter: brightness(0.88); }
    45% { filter: brightness(1.06); }
    100% { opacity: 1; filter: brightness(1); }
}

@keyframes opm-piece-in {
    0% { opacity: 0.4; transform: translateY(5px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes opm-live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.5); }
    50% { opacity: 0.45; transform: scale(0.85); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0); }
}

@keyframes opm-sport-score-drop {
    0% { opacity: 0.35; transform: translateY(-22px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes opm-sport-lt-slide {
    0% { opacity: 0.4; transform: translateX(-36px); }
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes opm-sport-tag-flash {
    0%, 100% { opacity: 0.25; filter: brightness(1); }
    35% { opacity: 1; filter: brightness(1.35) drop-shadow(0 0 10px rgba(245, 196, 0, 0.45)); color: #f5c400; }
    60% { opacity: 0.45; filter: brightness(1.1); }
}

@keyframes opm-sport-goals-pop {
    0%, 100% { transform: scale(1); }
    40% { transform: scale(1.22); color: #f5c400; }
}

@keyframes opm-spf-logo-in {
    0% { opacity: 0; transform: scale(0.4); }
    100% { opacity: 1; transform: scale(1); }
}

@keyframes opm-spf-clock-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); filter: brightness(1.15); }
}

@keyframes opm-spf-card-rise {
    0% { opacity: 0.3; transform: translateY(14px) scale(0.94); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes opm-sport-pgv-rise {
    0% { opacity: 0.45; transform: translateX(-50%) translateY(18px); }
    100% { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .type-card-preview:hover *,
    .overlay-card-preview:hover * {
        animation: none !important;
        transition: none !important;
    }
}
