.audio-section {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(139, 74, 156, 0.12), transparent 35%),
        radial-gradient(circle at bottom right, rgba(212, 175, 55, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(245, 245, 220, 0.9));
    overflow: hidden;
}

.audio-card {
    height: 100%;
}

.audio-card-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 280px) 1fr;
    gap: 1.75rem;
    align-items: center;
    height: 100%;
    padding: 1.75rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(139, 74, 156, 0.12);
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(85, 50, 20, 0.12);
    backdrop-filter: blur(8px);
}

.audio-visual-shell {
    position: relative;
    min-height: 220px;
    border-radius: 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.9), rgba(177, 171, 94, 0.08) 55%, rgba(139, 74, 156, 0.18));
}

.audio-visualizer {
    display: block;
    width: 100%;
    height: 220px;
}

.audio-core-glow,
.audio-ornament {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.audio-core-glow {
    inset: 50% auto auto 50%;
    width: 84px;
    height: 84px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255, 255, 255, 0.92), rgba(212, 175, 55, 0.22), transparent 72%);
    filter: blur(2px);
    opacity: 0.88;
}

.audio-ornament-a {
    top: 24px;
    right: 26px;
    width: 68px;
    height: 68px;
    border: 1px solid rgba(139, 74, 156, 0.2);
}

.audio-ornament-b {
    bottom: 22px;
    left: 24px;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(177, 171, 94, 0.35);
}

.audio-variation-label {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: rgba(85, 50, 20, 0.72);
    color: #fff;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.audio-title {
    margin-bottom: 0.9rem;
    color: var(--secondary-color);
    font-size: 1.75rem;
}

.audio-description {
    margin-bottom: 1.25rem;
    color: var(--text-light);
}

.audio-player-wrap {
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(177, 171, 94, 0.12), rgba(139, 74, 156, 0.06));
}

.audio-player {
    width: 100%;
}

.audio-card.is-playing .audio-card-inner {
    box-shadow: 0 25px 55px rgba(139, 74, 156, 0.22);
    transform: translateY(-2px);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.audio-card[data-variation="mandala"] .audio-visual-shell {
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.94), rgba(212, 175, 55, 0.1) 45%, rgba(139, 74, 156, 0.22));
}

.audio-card[data-variation="petalas"] .audio-visual-shell {
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.92), rgba(255, 214, 220, 0.22) 40%, rgba(177, 171, 94, 0.18));
}

.audio-card[data-variation="aurora"] .audio-visual-shell {
    background: linear-gradient(160deg, rgba(7, 35, 48, 0.9), rgba(42, 77, 84, 0.8), rgba(139, 74, 156, 0.45));
}

@media (max-width: 991px) {
    .audio-card-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .audio-card-inner {
        padding: 1.2rem;
    }

    .audio-title {
        font-size: 1.45rem;
    }
}
