/*
 * KURS AUDIO UI — ONE COMPONENT, THREE PALETTES.
 * Geometry is independent of the selected cabinet theme.
 * Colors live in the palette sections below. No JavaScript or media URLs are modified.
 */
.kurs-audio-player {
    --audio-bg: #f7f2ea;
    --audio-border: #d8d0c5;
    --audio-text: #173b55;
    --audio-muted: #6c6660;
    --audio-track: #d8d2ca;
    --audio-accent: #a73542;
    --audio-navy: #06364d;
    --audio-play-bg: #06364d;
    --audio-play-ink: #fffdf8;
    --audio-play-border: #0d506b;
    --audio-play-hover: #09243a;

    display: grid;
    grid-template-columns: var(--kurs-player-play-size) max-content minmax(0, 1fr) 28px 90px;
    align-items: center;
    column-gap: var(--kurs-player-gap);
    width: 100%;
    min-width: 0;
    margin: 6px 0 0;
    padding: var(--kurs-player-padding);
    border: 2px solid var(--audio-border);
    border-radius: var(--kurs-player-radius);
    box-sizing: border-box;
    background: var(--audio-bg);
    color: var(--audio-text);
    font-family: var(--kurs-font-ui);
    font-size: var(--kurs-player-time-size);
    line-height: 1.2;
    overflow: hidden;
}
.kurs-audio-player .kurs-audio-native { display: none; }
.kurs-audio-player .kurs-audio-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--kurs-player-play-size);
    height: var(--kurs-player-play-size);
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 1px solid var(--audio-play-border);
    border-radius: var(--kurs-control-radius);
    box-shadow: none;
    background: var(--audio-play-bg);
    color: var(--audio-play-ink);
    cursor: pointer;
    font: inherit;
}
.kurs-audio-player .kurs-audio-play:hover { background: var(--audio-play-hover); }
.kurs-audio-player .kurs-audio-play-icon {
    display: block;
    margin-left: 2px;
    font-size: 17px;
    line-height: 1;
}
.kurs-audio-player :is(.kurs-audio-time, .home-podcast-time) {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
    color: var(--audio-text);
    font-family: var(--kurs-font-ui);
    font-size: var(--kurs-player-time-size);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.kurs-audio-player :is(.kurs-audio-time-separator, .kurs-audio-duration) { color: var(--audio-muted); }
.kurs-audio-player :is(.kurs-audio-progress, .kurs-audio-volume) {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    height: 14px;
    min-height: 0;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    box-sizing: border-box;
}
.kurs-audio-player :is(.kurs-audio-progress, .kurs-audio-volume)::-webkit-slider-runnable-track {
    height: var(--kurs-player-track-height);
    border-radius: 999px;
    background: linear-gradient(to right,
        var(--audio-accent) 0%, var(--audio-accent) var(--range-progress, 0%),
        var(--audio-track) var(--range-progress, 0%), var(--audio-track) 100%);
}
.kurs-audio-player :is(.kurs-audio-progress, .kurs-audio-volume)::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    width: var(--kurs-player-thumb-size);
    height: var(--kurs-player-thumb-size);
    margin-top: calc((var(--kurs-player-track-height) - var(--kurs-player-thumb-size)) / 2);
    border: 0;
    border-radius: 50%;
    background: var(--audio-navy);
}
.kurs-audio-player :is(.kurs-audio-progress, .kurs-audio-volume)::-moz-range-track {
    height: var(--kurs-player-track-height);
    border: 0;
    border-radius: 999px;
    background: var(--audio-track);
}
.kurs-audio-player :is(.kurs-audio-progress, .kurs-audio-volume)::-moz-range-progress {
    height: var(--kurs-player-track-height);
    border-radius: 999px;
    background: var(--audio-accent);
}
.kurs-audio-player :is(.kurs-audio-progress, .kurs-audio-volume)::-moz-range-thumb {
    width: var(--kurs-player-thumb-size);
    height: var(--kurs-player-thumb-size);
    border: 0;
    border-radius: 50%;
    background: var(--audio-navy);
}
.kurs-audio-player :is(.kurs-audio-mute, .kurs-audio-more) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 32px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--audio-text);
    font: inherit;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
}
.kurs-audio-player :is(.kurs-audio-play, .kurs-audio-mute, .kurs-audio-more, .kurs-audio-progress, .kurs-audio-volume):focus-visible {
    outline: 2px solid var(--audio-accent);
    outline-offset: 2px;
}
/* Three-track players (home widgets / cabinet sidebar) use the same compact geometry. */
.kurs-audio-player:is(.home-podcast-player, .kurs-audio-player--compact),
.kurs-audio-player:not(:has(.kurs-audio-mute, .kurs-audio-volume)) {
    --kurs-player-play-size: var(--kurs-player-play-compact);
    --kurs-player-time-size: 11px;
    grid-template-columns: var(--kurs-player-play-size) max-content minmax(0, 1fr);
    gap: 7px;
    padding: 4px 7px;
}
.kurs-audio-player:is(.home-podcast-player, .kurs-audio-player--compact) :is(.kurs-audio-mute, .kurs-audio-volume) {
    display: none;
}
.kurs-podcast-body .kurs-podcast-player { margin-top: auto; }
/* Home dashboard has three separate columns; preserve the player placement. */
.dashboard-top-content .portal-podcasts .home-podcast-player {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
}
@media (max-width: 760px) {
    .dashboard-top-content .portal-podcasts .home-podcast-player {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 2px;
    }
}
/* Theme palettes — only colors, never padding/height/fonts/border width. */
.cabinet-theme-dark .kurs-audio-player,
body.theme-dark .kurs-audio-player,
body[data-theme="dark"] .kurs-audio-player,
html[data-theme="dark"] .kurs-audio-player {
    --audio-bg: #130b09;
    --audio-border: #18e4e8;
    --audio-text: #fffaf4;
    --audio-muted: #d3ccc6;
    --audio-track: #16474d;
    --audio-accent: #ff2f86;
    --audio-navy: #18e4e8;
    --audio-play-bg: #18e4e8;
    --audio-play-ink: #071414;
    --audio-play-border: #42ffff;
    --audio-play-hover: #3cf4f2;
}
.cabinet-theme-joyfull .kurs-audio-player {
    --audio-bg: #f0fffb;
    --audio-border: #a9eee0;
    --audio-text: #2d2940;
    --audio-muted: #756e82;
    --audio-track: #e6edf8;
    --audio-accent: #f44fa1;
    --audio-navy: #2d2940;
    --audio-play-bg: #ffe16a;
    --audio-play-ink: #2d2940;
    --audio-play-border: #ebc223;
    --audio-play-hover: #ffdb4e;
}
/* Size adaptations are global: all themes get exactly the same geometry. */
@media (max-width: 700px) {
    .kurs-audio-player:not(.home-podcast-player):not(.kurs-audio-player--compact) {
        grid-template-columns: var(--kurs-player-play-size) max-content minmax(0, 1fr);
        gap: 8px;
        padding: 7px 10px;
    }
    .kurs-audio-player:not(.home-podcast-player):not(.kurs-audio-player--compact) :is(.kurs-audio-mute, .kurs-audio-volume, .kurs-audio-more) {
        display: none;
    }
    .kurs-audio-player:not(.home-podcast-player):not(.kurs-audio-player--compact) { --kurs-player-play-size: 42px; }
}
@media (max-width: 380px) {
    .kurs-audio-player { --kurs-player-time-size: 12px; }
    .kurs-audio-player:is(.home-podcast-player, .kurs-audio-player--compact) { --kurs-player-time-size: 10px; }
}
