:root {
    --neon-cyan: #00F2FF;
    --neon-purple: #8A2BE2;
}

body {
    -webkit-font-smoothing: antialiased;
}

.text-glow-cyan {
    text-shadow: 0 0 10px rgba(0, 242, 255, 0.5), 0 0 20px rgba(0, 242, 255, 0.3);
}

.text-glow-purple {
    text-shadow: 0 0 10px rgba(138, 43, 226, 0.5), 0 0 20px rgba(138, 43, 226, 0.3);
}

.btn-glow:hover {
    box-shadow: 0 0 20px rgba(0, 242, 255, 0.6);
}

.mobile-link {
    @apply transition-colors hover:text-cyan-400;
}

@keyframes slow-zoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.15); }
}

.animate-slow-zoom {
    animation: slow-zoom 30s linear infinite alternate;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #000;
}

::-webkit-scrollbar-thumb {
    background: #222;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--neon-cyan);
}

/* Review Cards Hover Effect */
.review-card {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.3s ease;
}

.review-card:hover {
    transform: translateY(-10px);
    border-color: var(--neon-purple);
}

/* Utility for text strokes/hollow text on large titles if needed */
.text-outline {
    -webkit-text-stroke: 1px rgba(255,255,255,0.3);
    color: transparent;
}

/* ===== CARRUSEL ===== */
.carousel-track {
    width: max-content;
    display: flex;
    animation: scroll 25s linear infinite;
}

@keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.carousel-track:hover {
    animation-play-state: paused;
}

/* ===== CARDS ===== */
.coach-card {
    position: relative;
    min-width: 80%;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.4s ease;
}

@media (min-width: 768px) {
    .coach-card { min-width: 40%; }
}

@media (min-width: 1024px) {
    .coach-card { min-width: 25%; }
}

.coach-card {
    min-width: 220px; /* controla tamaño real */
    max-width: 220px;
}

.coach-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: top;
}

/* glow */
.coach-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px;
    box-shadow: 0 0 0px transparent;
    transition: 0.4s;
}

.coach-card:hover::after {
    box-shadow: 0 0 25px rgba(34,211,238,0.6),
                0 0 40px rgba(168,85,247,0.4);
}

/* overlay */
.overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, black 20%, transparent 80%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    opacity: 0;
    transition: 0.4s;
}

.coach-card:hover .overlay {
    opacity: 1;
}

.overlay h4 {
    font-family: 'Bebas Neue';
    font-size: 28px;
}

.overlay p {
    font-size: 14px;
    color: #ccc;
}

.overlay span {
    font-size: 12px;
    color: #22d3ee;
}