.video-player-container .hidden {
    display: none;
}

.video-controls-overlay {
    cursor: pointer;
}

.video-player-container:hover .video-controls-overlay:not(.playing) {
    opacity: 1;
}

.video-controls-overlay.playing:not(:hover) {
    opacity: 0;
}

#close-modal-btn {
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
}

#video-modal.hidden {
    display: none;
}

#video-modal {
    display: flex;
}

.viral-tabs__contents video {
    width: 100%;
    height: 100%;
}

/* Mobile Accordion Styles */
@media (max-width: 1023px) {
    .viral-tabs__content--mobile {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
    }

    .viral-tabs__item.is-active .viral-tabs__content--mobile {
        max-height: 500px; /* Adjust as needed */
        transition: max-height 0.5s ease-in;
    }

    .viral-tabs__button {
        transition: background-color 0.2s ease;
    }

    .viral-tabs__item.is-active .viral-tabs__button {
        border-color: #4f46e5; /* Indigo-600 */
        background-color: rgba(79, 70, 229, 0.1);
    }
}

/* Desktop Tabs Enhancements for "How It Works" section */
@media (min-width: 1024px) {
    .viral-tabs__button.is-active {
        background-color: #111827; /* bg-gray-900, same as video container */
        border-color: #4f46e5; /* Indigo-600 */
        color: #FFFFFF; /* text-white */
        border-right-color: transparent;
        margin-right: -1px;
        position: relative;
    }

    .viral-tabs__contents {
       border-radius: 0 0.5rem 0.5rem 0;
       position: relative;
       background: linear-gradient(90deg, rgba(155, 135, 245, 0.05) 0%, transparent 20%);
    }

    /* Tab arrows - default state: hidden */
    .tab-arrow {
        opacity: 0;
        visibility: hidden;
        color: #6b7280; /* gray-500 */
        font-size: 1.25rem; /* text-xl */
        font-weight: normal;
        transition: opacity 0.2s ease, visibility 0.2s ease, color 0.2s ease, transform 0.2s ease;
        text-shadow: 0 0 8px rgba(155, 135, 245, 0.3);
    }

    /* Tab arrows - active state: visible and styled */
    .viral-tabs__button.is-active .tab-arrow {
        opacity: 1;
        visibility: visible;
        color: #9b87f5; /* purple-400 */
        transform: scale(1.1);
        text-shadow: 0 0 12px rgba(155, 135, 245, 0.6);
    }

    /* Hover state for non-active buttons */
    .viral-tabs__button:hover .tab-arrow {
        opacity: 1;
        visibility: visible;
        color: #9ca3af; /* gray-400 */
    }
}
