@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@600&family=Inter:wght@400;500&display=swap');

.jg-audio-placeholder-e007d955 {
    background: #0F172A;
    border: 3px solid #334155;
    color: #94A3B8;
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.jg-audio-container-e007d955 {
    width: 100%;
    margin: 0 auto;
}

.jg-audio-title-e007d955 {
    font-family: 'Fredoka', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #FFFFFF;
    margin-bottom: 8px;
}

.jg-audio-card-e007d955 {
    display: flex;
    align-items: center;
    background-color: #0F172A;
    border: 3px solid #334155;
    border-radius: 16px;
    padding: 10px 14px;
    gap: 16px;
    transition: border-color 0.25s ease, transform 0.25s ease;
    user-select: none;
    box-sizing: border-box;
}

.jg-audio-card-e007d955:not(.jg-coming-soon-card-e007d955):hover {
    border-color: #38BDF8;
    transform: translateY(-2px);
}

/* Coming Soon Mode Styles */
.jg-coming-soon-card-e007d955 {
    opacity: 0.45;
    border-color: #1E293B;
    cursor: default;
}

.jg-coming-soon-label-e007d955 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    color: #94A3B8;
    white-space: nowrap;
}

/* Play/Pause Button - Force strict circular sizing to prevent oval shape */
.jg-audio-play-btn-e007d955 {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    border-radius: 50% !important;
    background-color: #38BDF8;
    border: 3px solid #FFFFFF !important;
    color: #0F172A;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    padding: 0 !important;
    transition: background-color 0.2s ease, transform 0.1s ease;
    outline: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    position: relative;
    z-index: 10;
    box-sizing: border-box !important;
}

.jg-audio-play-btn-e007d955:not(:disabled):hover {
    background-color: #F59E0B;
}

.jg-audio-play-btn-e007d955:active:not(:disabled) {
    transform: scale(0.95);
}

.jg-audio-play-btn-e007d955 svg {
    width: 18px !important;
    height: 18px !important;
    display: none; /* Controlled purely by parent class state */
    fill: #0F172A !important;
    color: #0F172A !important;
    stroke: none !important;
}

/* Perfect centering nudge for the play triangle */
.jg-audio-play-btn-e007d955 svg.jg-play-svg-e007d955 {
    transform: translateX(1.5px);
}

/* Toggle visibility cleanly via parent CSS class */
.jg-audio-card-e007d955:not(.playing) svg.jg-play-svg-e007d955 {
    display: block !important;
}

.jg-audio-card-e007d955.playing svg.jg-pause-svg-e007d955 {
    display: block !important;
}

/* Waveform container */
.jg-audio-waveform-e007d955 {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-grow: 1;
    height: 32px;
    overflow: hidden;
}

.jg-wave-bar-e007d955 {
    width: 3px;
    height: var(--h, 50%);
    background-color: #475569;
    border-radius: 1.5px;
    transition: background-color 0.3s ease, height 0.3s ease;
}

/* Highlighted (played) waveform bars */
.jg-wave-bar-e007d955.jg-bar-active-e007d955 {
    background-color: #38BDF8;
}

/* Equalizer bouncing only for active bars during playback */
.jg-audio-card-e007d955.playing .jg-wave-bar-e007d955.jg-bar-active-e007d955 {
    animation: jg-bounce-e007d955 1.2s ease-in-out infinite alternate;
    animation-delay: var(--d, 0s);
}

@keyframes jg-bounce-e007d955 {
    0% {
        height: 25%;
    }
    100% {
        height: 100%;
    }
}

/* Time info */
.jg-audio-time-e007d955 {
    flex-shrink: 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #94A3B8;
    min-width: 40px;
    text-align: right;
}
