/** ==============================
 * FONTS
 * =============================== */

@font-face {
    font-family: 'DMSans';
    src: url('../../fonts/DMSans-VariableFont_opsz\,wght.ttf') format('woff2');
    font-weight: 100 1000;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DMSans-italic';
    src: url('../../fonts/DMSans-Italic-VariableFont_opsz\,wght.ttf') format('woff2');
    font-weight: 100 1000;
    font-style: normal;
    font-display: swap;
}

/** ==============================
 * VARIABLES
 * =============================== */

:root {
    /* Couleurs (palette réduite pour meilleure cohérence) */
    --primary-color: #010102;
    --secondary-color: #b417e4;
    --secondary-color-hover: rgb(151, 89, 170);
    --title-color: #EDF2F7;
    /* Etat hover explicite */
    --alt-color: #718096;

    /* Font */
    --secondary-font: 'DMSans';

    /* Espacements (système cohérent) */
    /* 8px */
    --espace-xs: 0.5rem;
    /* 16px */
    --espace-s: 1rem;
    /* 24px */
    --espace-m: 1.5rem;
    /* 32px */
    --espace-l: 2rem;
    /* 48px */
    --espace-xl: 3rem;

    /* Transitions */
    --fast-transition: 0.2s ease-in-out;
    --strandart-transition: 0.3s ease;
    --slov-transition: 0.5s ease-in-out;

    /* Rayons de bordure */
    /* 4px */
    --radius-s: 0.25rem;
    /* 8px */
    --radius-m: 0.5rem;
    /* 32px (rounded buttons)*/
    --radius-l: 2rem;

    /* Z-index rationalized */
    --z-normal: 1;
    --z-overlay: 10;
    --z-modal: 100;

    /* Webkit sliders track fix */
    --track-height: 8px;
    --thumb-height: 12px;
    --thumb-width: 12px;
    --slider-value: 0%;

    /* Track-card anim */
    --btn-padding-x: 2rem;
    --btn-padding-y: 1rem;
    --btn-color: #fff;
    --btn-color-hover: #000000;
    --btn-bgcolor: #000;
    --btn-border-radius: 10px;
    --btn-blur: 0px;
    --font-size: 1.35rem;
    --easing: 0.3s ease;
    --bg: #282832;

    /* New vars for the ring/gap */
    --ring-width: 2px;
    --outer-offset: 4px;
    /* gap (2px) + ring (2px) */

}

/** ==============================
 * MAIN STYLES
 * =============================== */
body {
    background: url('../../img/background.jpg');
    background-position: center;
    font-family: var(--secondary-font);
}

main {
    display: flex;
    justify-content: space-around;
    min-height: 100vh;
    min-width: 100vw;
}

section {
    width: 33vw;
}

.music-player {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 33.3vw;
}

#music-player-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 80vh;
    width: 100%;
    border-radius: 15px;
    background-color: rgba(25, 32, 44, 0.2);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(25, 32, 44, 0.4);
}

#player-title-container {
    display: none;
    justify-content: center;
    align-items: center;
    /* ! Placeholder */
    visibility: hidden;
}

h1 {
    background: -webkit-linear-gradient(var(--title-color), var(--secondary-color));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0;
    text-align: center;
}

h2 {
    margin: 0;
}

.song-title-container {
    display: flex;
    width: fit-content;
    /* background: -webkit-linear-gradient(var(--title-color), var(--secondary-color));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; */
    margin-top: 0;
    color: var(--btn-color);
}

.song-title-container.active {
    animation: slide-left 10s linear infinite;
}

.song-title-wrapper {
    width: 300px;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.song-title-wrapper.active {
    justify-content: flex-start;
}

.title-display {
    white-space: nowrap;
    overflow: hidden;
    margin: 0 5px;
    font-size: calc(0.5vw + 12px);
}

@keyframes slide-left {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }

    25% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

#song-title-anim-container {
    display: none;
}

#song-title-anim-container.active {
    display: flex;
    flex-direction: row;
}

.song-timer {
    /* background: -webkit-linear-gradient(var(--title-color), var(--secondary-color));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; */
    color: var(--btn-color);
}

.album-cover {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 4px solid var(--secondary-color);
    margin: 16px 0;
    cursor: default;
    mask: radial-gradient(circle, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 0) 100%);
}

.album-cover-container::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    margin-top: -30px;
    background: var(--title-color);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    mask: radial-gradient(circle, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
}

.album-cover-container::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
    height: 15px;
    margin-top: -30px;
    background: var(--primary-color);
    border-radius: 50%;
    z-index: 2;
}

.album-cover.active {
    animation: rotate 20s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.player-logic {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logic-button {
    cursor: pointer;
}

.logic-button:hover {
    transform: scale(1.06);
}

.tracklist-title-button {
    display: flex;
}

.tooltip {
    color: var(--title-color);
    font-size: calc(0.75vw + 6px);
    background-color: #090b0f;
    border-radius: 4px;
    padding: 4px 8px;
    position: absolute;
    margin-top: calc(-1.5vw + -20px);
    visibility: hidden;
}

.button-container:hover .tooltip {
    visibility: visible;
}

/** ==============================
 * PROGRESS-BAR
 * =============================== */

.progress-bar-container {
    display: flex;
    align-items: center;
    margin: 6px;
    margin-left: -18px;
}

.progress-timer-container {
    display: flex;
    align-items: center;
    margin-right: -48px;
}

.counts-container {
    display: flex;
    justify-content: center;
    min-width: 50px;
    margin: 0 5px;
}

.progress-bar {
    width: 300px;
}

/** ==============================
 * VOLUME-BAR
 * =============================== */

.volume-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-top: -70px;
}

.volume-bar-container {
    display: inline-block;
    position: absolute;
    margin-top: -160px;
    width: 30px;
    height: 150px;
    visibility: hidden;
    transition: visibility var(--fast-transition);
}

.volume-bar {
    width: 150px;
    height: 20px;
    position: relative;
    left: 35%;
    transform: translateX(-50%);
    margin: 0;
    transform-origin: 75px 75px;
    transform: rotate(-90deg);
}

.volume-container:hover .volume-bar-container {
    visibility: visible;
}

/** ==============================
 * SLIDERS STYLES
 * =============================== */

input[type="range"] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background: var(--primary-color);
    border-radius: 3px;
    height: 8px;
}

input[type="range"]::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
            var(--secondary-color) 0%,
            var(--secondary-color) var(--slider-value, 0%),
            var(--alt-color) var(--slider-value, 0%),
            var(--alt-color) 100%);
    height: 0.5rem;
    border-radius: 3px;
}

input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    background: var(--secondary-color);
    border-radius: 50%;
    width: var(--thumb-width);
    height: var(--thumb-height);
    margin-top: calc((var(--track-height) / 2) - (var(--thumb-height) / 2));

}

input[type="range"]::-moz-range-track {
    background: var(--alt-color);
    height: 0.5rem;
    border-radius: 3px;
}

input[type="range"]::-moz-range-progress {
    background: var(--secondary-color);
    height: 0.5rem;
    border-radius: 3px;
}

input[type="range"]::-moz-range-thumb {
    appearance: none;
    background: var(--secondary-color);
    border: none;
    width: var(--thumb-width);
    height: var(--thumb-height);
    border-radius: 50%;
}

input[type="range"]:focus {
    outline: none;
}

/** ==============================
 * PLAYLISTS
 * =============================== */

.playlists {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 33.3vw;
}

.playlists-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 8px;
}

#infos-title-container {
    justify-content: center;
}

.playlists-container h2 {
    background: -webkit-linear-gradient(var(--title-color), var(--secondary-color));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.playlist-title {
    color: var(--secondary-color);
    font-weight: 500;
}

.playlist-container {
    display: flex;
    flex-direction: column;
    background: linear-gradient(var(--alt-color, 0, var(--title-color), 100));
    border-radius: 4px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.playlist-container img {
    width: 50px;
    height: 50px;
}

.playlist-card {
    display: flex;
    align-items: center;
    background-color: #2e3a4e;
    border-radius: 4px;
    height: 45px;
    margin: 4px 8px 4px 8px;
    padding: 10px;
    cursor: pointer;
    white-space: nowrap;

    &:hover {
        background-color: var(--alt-color);
    }
}

.playlist-card:first-child {
    margin-top: 8px;
}

.playlist-card:last-child {
    margin-top: 4px;
    margin-bottom: 8px;
}

.playlist-card span {
    display: flex;
    flex-wrap: wrap;
    margin-left: 8px;
}

/** ==============================
 * LIBRARY
 * =============================== */

.library {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 33.3vw;
}

.library-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* padding: 0 8px; */
}

.title-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 4px 10px;
    margin: 4px;
    border-radius: 15px;
    background-color: rgba(25, 32, 44, 0.2);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(25, 32, 44, 0.4);
}

.library-container h2 {
    background: -webkit-linear-gradient(var(--title-color), var(--secondary-color));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* TODO: Rotate image
#tracklist-return-button {
    /* transform: rotate(180deg); */
/* } */

.track-title {
    color: var(--title-color);
    font-weight: 400;
    margin: 3px;
}

.library-tracks-container {
    display: flex;
    flex-direction: column;
    border-radius: 15px;
    height: 80vh;
    width: 300px;
    scroll-behavior: smooth;
    overflow: auto;
    scrollbar-width: none;
    background-color: rgba(25, 32, 44, 0.2);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(25, 32, 44, 0.4);
}

.library-tracks-container::-webkit-scrollbar {
    display: none;
}

.library-tracks-container img {
    width: 50px;
    height: 50px;
    margin-right: 4px;
}

.track-card {
    display: flex;
    align-items: center;
    background-color: rgba(24, 30, 41, 0.2);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(25, 32, 44, 0.4);
    border-radius: 4px;
    height: 45px;
    margin: 4px 8px 4px 8px;
    padding: 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--easing), background-color var(--easing);
}

.track-card.playing {
    /* Test anim */

    /* color: var(--btn-color); */
    border: 0 none;
    cursor: pointer;
    position: relative;

    &.small {
        padding: calc(var(--btn-padding-y) / 1.4) calc(var(--btn-padding-x) / 1.4);
        font-size: calc(var(--font-size) / 1.4);
    }

    &.rounded {
        border-radius: var(--btn-border-radius);
    }

    &.pill {
        border-radius: 500px;
    }

    &:hover:before {
        filter: blur(var(--btn-blur));
    }

    /* Blurred gradient background */
    &:before {
        content: '';
        position: absolute;
        inset: -4px;
        z-index: -2;
        background: linear-gradient(160deg,
                #ffffff00 0%,
                #ffffff 15%,
                #b417e4 20%,
                #800080 25%,
                #ffffff00 35%,
                #ffffff00 40%,
                #ffffff 55%,
                #b417e4 60%,
                #800080 65%,
                #ffffff00 75%,
                #ffffff00 80%,
                #ffffff 95%,
                #b417e4 100%);
        background-size: 300% 300%;
        filter: blur(0px);
        border-radius: inherit;
        opacity: 1;
        transition: opacity var(--easing), filter var(--easing), background-position var(--easing);
        animation: gradientMove 3s linear infinite;
    }

    /* Mask layer to create the gap */
    &:after {
        content: '';
        position: absolute;
        inset: -2px;
        z-index: -1;
        background: var(--bg);
        /* Match body background */
        border-radius: inherit;
        opacity: 1;
        transition: opacity var(--easing);
    }
}

.track-card.hover-anim {
    background-color: var(--alt-color);
}

@keyframes gradientMove {
    0% {
        background-position: 15% 15%;
    }

    100% {
        background-position: 75% 75%;
    }
}

.track-card img {
    border-radius: 50%;
}

.track-card:first-child {
    margin-top: 8px;
}

.track-card:last-child {
    margin-top: 4px;
    margin-bottom: 8px;
}

.track-title-wrapper {
    display: flex;
    align-items: center;
    width: 300px;
    height: 100%;
    margin-left: 8px;
    overflow: hidden;
}

.track-title-container {
    display: flex;
    width: fit-content;
}

.track-card span {
    display: flex;
    white-space: nowrap;
    overflow: hidden;
    width: auto;
}

.track-card.active .track-title-container {
    animation: library-slide 10s linear infinite;
}

@keyframes library-slide {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }

    25% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

/** ==============================
 * INFOS
 * =============================== */

.infos-cover-container {
    height: 300px;
    width: 100%;
}

.infos-cover-container img {
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

.infos-title-container {
    padding: 0 16px;
    color: var(--title-color)
}

h4 {
    margin: 0;
}

.infos-author {
    color: var(--btn-color);
}

.infos-genre {
    color: var(--btn-color);
}

/** ==============================
 * MEDIA QUERIES - RESPONSIVE
 * =============================== */

/* Tablettes et écrans moyens (1200px et moins) */
@media only screen and (max-width: 1200px) {
    body {
        background-size: cover;
    }

    main {
        flex-direction: column;
        align-items: center;
        min-height: auto;
        /* padding: 0.5rem; */
        gap: 2rem;
    }

    section {
        width: 90vw;
        max-width: 600px;
    }

    /* Player au centre */
    .music-player {
        width: 90vw;
        max-width: 600px;
        order: 1;
    }

    #music-player-container {
        height: auto;
        padding: 2rem 1.5rem;
    }

    /* Libraries de chaque côté en colonne */
    .library {
        width: 90vw;
        max-width: 600px;
    }

    .library:first-child {
        order: 2;
    }

    .library:last-child {
        order: 3;
    }

    .library-container {
        width: 100%;
    }

    .library-tracks-container {
        width: 100%;
        height: 50vh;
        max-height: 500px;
    }

    /* Section infos plus grande */
    .library:last-child .library-tracks-container {
        height: 60vh;
        max-height: 600px;
    }

    /* Ajustements titre */
    .title-container {
        width: 100%;
        padding: 0.5rem 1rem;
    }

    .infos-cover-container {
        height: 150px;
    }
}

/* Tablettes portrait (768px et moins) */
@media only screen and (max-width: 768px) {
    main {
        padding: 0.5rem;
    }

    h1 {
        font-size: 1.5rem;
    }

    h2 {
        font-size: 1.2rem;
    }

    /* Album cover réduit */
    .album-cover {
        width: 220px;
        height: 220px;
        margin: 12px 0;
    }

    /* Pseudo-éléments du lecteur - correction position */
    .album-cover-container::before {
        display: none;
    }

    .album-cover-container::after {
        display: none;
    }

    /* Song title */
    .song-title-wrapper {
        width: 280px;
    }

    .title-display {
        font-size: 0.95rem;
    }

    /* Player controls */
    .player-logic {
        gap: 12px;
    }

    .logic-button {
        width: 36px;
        height: 36px;
    }

    #play-button {
        width: 44px;
        height: 44px;
    }

    /* Progress bar ET volume - refonte complète */
    .progress-bar-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        margin: 1rem 0;
        margin-left: 0;
    }

    .progress-timer-container {
        display: flex;
        align-items: center;
        width: 100%;
        justify-content: center;
        margin-right: 0;
    }

    .progress-bar {
        width: 220px;
    }

    .song-timer {
        font-size: 0.9rem;
    }

    /* Volume - nouvelle disposition verticale */
    .volume-container {
        display: flex;
        flex-direction: row;
        transform: translateX(-15px);
        align-items: center;
        margin-top: 0;
        gap: 0.5rem;
        position: relative;
    }

    .volume-bar-container {
        position: relative;
        margin-top: 0;
        width: 220px;
        height: auto;
        visibility: visible;
        display: block;
    }

    .volume-bar {
        width: 220px;
        height: 8px;
        transform: none;
        left: 0;
        margin: 0;
        position: relative;
    }

    #volume-button {
        order: -1;
        width: 22px;
        height: 22px;
    }

    /* Library tracks */
    .library-tracks-container {
        height: 45vh;
        max-height: 400px;
    }

    /* Section infos plus grande */
    .library:last-child .library-tracks-container {
        height: 55vh;
        max-height: 550px;
    }

    .track-card,
    .playlist-card {
        height: 55px;
        padding: 8px;
        margin: 3px 6px;
    }

    .track-card img,
    .playlist-card img {
        width: 45px;
        height: 45px;
    }

    .track-title-wrapper {
        width: calc(100% - 60px);
    }

    .track-title {
        font-size: 0.9rem;
    }

    /* Infos section */
    .infos-title-container {
        padding: 0 12px;
    }

    .infos-title,
    .infos-author {
        font-size: 0.95rem;
    }

    .infos-genre,
    .infos-lore {
        font-size: 0.85rem;
    }

    .infos-lore {
        line-height: 1.5;
    }
}

/* Smartphones portrait (480px et moins) */
@media only screen and (max-width: 480px) {
    main {
        padding: 0.25rem;
        gap: 1rem;
    }

    section {
        width: 95vw;
    }

    .music-player,
    .library {
        width: 95vw;
    }

    #music-player-container {
        padding: 1.5rem 1rem;
    }

    h1 {
        font-size: 1.3rem;
        margin-bottom: 0.5rem;
    }

    h2 {
        font-size: 1rem;
    }

    /* Album cover encore plus petit */
    .album-cover {
        width: 180px;
        height: 180px;
        margin: 10px 0;
    }

    /* Pseudo-éléments - correction position */
    .album-cover-container::before {
        width: 55px;
        height: 55px;
        margin-top: 0;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .album-cover-container::after {
        width: 11px;
        height: 11px;
        margin-top: 0;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    /* Song title */
    .song-title-wrapper {
        width: 240px;
    }

    .title-display {
        font-size: 0.85rem;
    }

    /* Player controls compacts */
    .player-logic {
        gap: 8px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .logic-button {
        width: 32px;
        height: 32px;
    }

    #play-button {
        width: 40px;
        height: 40px;
    }

    /* Progress bar */
    .progress-bar {
        width: 180px;
    }

    .counts-container {
        min-width: 40px;
    }

    .song-timer {
        font-size: 0.8rem;
    }

    /* Volume */
    .volume-bar-container {
        width: 180px;
    }

    .volume-bar {
        width: 180px;
    }

    /* Library */
    .library-tracks-container {
        height: 40vh;
        max-height: 350px;
    }

    /* Section infos plus grande */
    .library:last-child .library-tracks-container {
        height: 50vh;
        max-height: 500px;
    }

    .track-card,
    .playlist-card {
        height: 50px;
        padding: 6px;
        margin: 2px 4px;
    }

    .track-card img,
    .playlist-card img {
        width: 40px;
        height: 40px;
    }

    .track-title-wrapper {
        width: calc(100% - 50px);
        margin-left: 6px;
    }

    .track-title {
        font-size: 0.85rem;
    }

    /* Infos */
    .infos-cover-container {
        height: 125px;
    }

    .infos-title-container {
        padding: 0 10px;
    }

    .infos-title {
        font-size: 0.9rem;
    }

    .infos-author,
    .infos-genre {
        font-size: 0.8rem;
    }

    .infos-lore {
        font-size: 0.75rem;
        line-height: 1.4;
    }

    /* Tooltips cachés sur mobile */
    .tooltip {
        display: none;
    }

    /* Title container compact */
    .title-container {
        padding: 0.4rem 0.8rem;
    }

    #tracklist-return-button,
    #sort-down-button {
        width: 20px;
        height: 20px;
    }
}

/* Très petits écrans (360px et moins) */
@media only screen and (max-width: 360px) {
    .album-cover {
        width: 150px;
        height: 150px;
    }

    .album-cover-container::before {
        width: 45px;
        height: 45px;
        margin-top: 0;
    }

    .album-cover-container::after {
        width: 9px;
        height: 9px;
        margin-top: 0;
    }

    .song-title-wrapper {
        width: 200px;
    }

    .progress-bar,
    .volume-bar {
        width: 160px;
    }

    .volume-bar-container {
        width: 160px;
    }

    .library-tracks-container {
        height: 35vh;
    }

    /* Section infos */
    .library:last-child .library-tracks-container {
        height: 45vh;
    }

    .track-title-wrapper {
        width: calc(100% - 45px);
    }
}

/* Mode paysage sur smartphone */
@media only screen and (max-height: 600px) and (orientation: landscape) {
    main {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-around;
        padding: 0.5rem;
    }

    .music-player {
        width: 45vw;
        order: 2;
    }

    .library:first-child {
        width: 25vw;
        order: 1;
    }

    .library:last-child {
        width: 25vw;
        order: 3;
    }

    #music-player-container {
        padding: 1rem;
    }

    .album-cover {
        width: 140px;
        height: 140px;
    }

    .album-cover-container::before {
        margin-top: 0;
    }

    .album-cover-container::after {
        margin-top: 0;
    }

    .library-tracks-container {
        height: 70vh;
    }

    /* Section infos en paysage */
    .library:last-child .library-tracks-container {
        height: 75vh;
    }

    .player-logic {
        gap: 10px;
    }

    /* Progress et volume en paysage */
    .progress-bar-container {
        flex-direction: row;
        gap: 1.5rem;
    }

    .volume-container {
        flex-direction: row;
        gap: 0.5rem;
    }

    #volume-button {
        order: 0;
    }

    .volume-bar-container {
        width: 100px;
    }

    .volume-bar {
        width: 100px;
    }
}

/* TODO : Add touch support for volume button
/* TODO : Add mouseover event for track cards