/* Centrer le contenu et ajuster la taille */
html, body {
    font-family: helvetica, arial, sans-serif;
}
body {
    padding: 2vh;
}
sup {
    font-size: 0.7em;
}

:root  {
    /****** Useful colors *****/
    --red-wood:         #81322e;
    --medium-wood:      #cd924e;
    --light-wood:       #d6b892;
     
    /*******************************************/
}

.container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center; /* Centrage vertical */
    height: 80vh; /* Le bloc prend toute la hauteur de la page */
    padding: 2vh;
    background-color: rgba(0, 0, 0, 0.7); /* Fond noir semi-transparent */
    z-index: 2;
    position: relative;
}

/* Style des éléments */
.left-column, .right-column {
    width: 45%;
}

.left-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.right-column {
    text-align: right;
}

.logo {
    width: 90%;
    max-width: 225px;
    margin: auto;
}

h1, h2, h3 {
    color: white;
    margin: 0;
}
h1 {
    font-weight: bolder;
    font-size: 1.8em;
    text-transform: uppercase;
    margin: auto;
}
h2 {
    font-weight: 400;
    font-size: 1.2em;
    margin: auto;
}
h3 {
    font-weight: 400;
    font-size: 1.4em;
}
.album-container h3 {
    font-size: 1.2em;
    color: var(--light-wood);
}

hr {
    border: 0;
    height: 1px;
    background-color: var(--medium-wood);
    margin: 20px 0;
    opacity: 0.5;
}


.album-container {
    perspective: 1000px; /* Perspective pour l'effet 3D */
    text-align: center;
}

.album-container img {
    width: 150px;
    animation: albumSway 4s infinite alternate; /* Animation de va-et-vient */
}

@keyframes albumSway {
    0% {
        transform: rotateY(22deg); /* Rotation vers la droite */
    }
    100% {
        transform: rotateY(-24deg); /* Rotation vers la gauche */
    }
}

#yt-iframe {
    margin: 10px auto;
    display: block;
    width: 450px;
    height: 253px;
}

.audio-player {
    width: 100%;
    margin: 20px 0;
}
/* Styles pour le lecteur audio */
audio {
    width: 100%;
    height: 45px; /* Ajuste la taille si besoin */
    background-color: var(--red-wood); /* Fond du lecteur */
    border: 0; /* Bordure du lecteur */
    border-radius: 0;
}

/* Pour certains navigateurs, la barre de progression peut être stylisée */
audio::-webkit-media-controls-panel {
    background-color: var(--red-wood);
    border-radius: none;
    border: 0;
}

audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-volume-slider {
    background-color: var(--medium-wood);
    border-radius: 50%;
}

audio::-webkit-media-controls-current-time-display,
audio::-webkit-media-controls-time-remaining-display {
    color: white;
}

/* Firefox prend moins bien en charge la personnalisation du lecteur audio */
audio::-moz-range-track {
    background-color: var(--medium-wood);
}

audio::-moz-range-progress {
    background-color: var(--light-wood);
}

audio::-moz-range-thumb {
    background-color: var(--light-wood);
}


.social-links a {
    position: relative;
    display: inline-block;
    margin: 10px 3px;
    font-size: 14px;
    color: white;
    text-decoration: none;
    background: black;
    padding: 8px;
    max-width:140px;
    text-align: left;
    transition: .3s ease-in-out;
    border-top: 2px solid var(--red-wood);
}

.social-links i {
    position:relative;
    margin-right: 10px;
    z-index: 9;
}
.social-links a::before {
    content: " ";
    height: 35px;
    width: 31px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: .3s ease-in-out;
}
.social-links a.site::before {
    background: var(--red-wood);
}
.social-links a.spotify::before {
    background: #1DB954;
}
.social-links a.instagram::before {
    background: #833ab4;
    background: linear-gradient(
    45deg,
    #833ab4,#fd1d1d,#fcb045
    );
}
.social-links a.facebook::before {
    background: #1877f2;
}
.social-links a.bluesky::before {
    background: #156cc7;
}
.social-links a.x-twitter::before,
.social-links a.threads::before {
    background: #000;
}
.social-links a.youtube::before {
    background: #CD201F;
}
.social-links a.amazon::before {
    background: #25d1da;
}
.social-links a.deezer::before {
    background: #a238ff;
}
.social-links a.soundcloud::before {
    background: #ff5500;
    background: linear-gradient(0deg, #ff3a00, #ff7500);
}
.social-links a.apple-music::before {
    background: #fa586a;
    background: linear-gradient(0deg, #fa233e, #fa586a);
}
.social-links a.tiktok::before {
    background: rgb(40,255,255);
    background: linear-gradient(135deg, rgba(40,255,255,1) 20%, rgba(254,45,82,1) 20%);
}
.social-links a.bandcamp::before {
    background: #1DA0C3;
}

.social-links a:hover,
.social-links a:active,
.social-links a:focus,
.social-links a:hover::before,
.social-links a:active::before,
.social-links a:focus::before {
    background: var(--red-wood);
}


.next-concert {

}
.next-concert img {
    display: inline-block;
    /*max-height: 150px;*/
    vertical-align: middle;
    margin-right: 10px;
    width: calc( 15% - 10px );
}
.next-concert .concert-details {
    display: inline-block;
    color: white;
    vertical-align: middle;
    text-align: left;
    width: 85%;
}
.next-concert i.fa {
    color: var(--light-wood);
}
.next-concert a {
    color: var(--light-wood);
}

.coffee-button {
    background-color: var(--light-wood);
    color: black;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
    margin-top: 50px;
}

.coffee-button i {
    margin-right: 10px;
}

.coffee-button:hover,.coffee-button:active,.coffee-button:focus,
.press-button:hover,.press-button:active,.press-button:focus {
    background-color: var(--medium-wood);
}


/* Style pour la section de l'espace presse */
.press-section {
    margin-top: 20px;
}

/* Style du bouton "Espace Presse" */
.press-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--light-wood);
    color: black;
    text-decoration: none;
    transition: background-color 0.3s ease;
}



/* Vidéo en fond */
.background-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.background-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Pied de page */
footer {
    position:relative;
    background: rgba(0,0,0,0.7);
    text-align: center;
    padding-bottom:20px;
}
footer img {
    max-width: 50px;
    margin-bottom: 5px;
}
footer p {
    color: rgba(255,255,255,0.5);
    font-size:0.8em;
}
footer p a {
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    transition: .3s ease-in-out;
}
footer p a:hover,
footer p a:active,
footer p a:focus {
    color: rgba(255,255,255,0.8);
    text-decoration: underline;
}

/* Responsiveness */
@media (max-width: 1024px) {
    .left-column {
        width: 25%;
    }
    .right-column {
        width: 60%;
    }
}
@media (max-width: 840px) {
    .container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        height: auto;
    }

    .left-column, .right-column {
        width: 100%;
    }

    .logo {
        margin: auto;
    }
    hr {
        width: 80%;
        margin: 50px auto;
    }
    audio {
        margin-bottom: 35px;
    }

    .right-column {
        text-align: center;
    }

    .social-links {
       text-align: center;
    }
    .social-links a {
        padding: 12px;
        margin: 8px 10px;
    }

    .social-links a::before {
        height: 43px;
        width: 36px;
    }
    .next-concert img {
        max-height: none;
        width:20%;
        margin-right:2%;
    }
    .next-concert .concert-details {
        width: 78%;
    }
    .coffee-button,.press-button {
        margin-right: auto;
        margin-left: auto;
    }
    .press-button {
        margin-bottom: 30px;
    }
}

@media (max-width: 540px) {
    #yt-iframe {
        width: 300px;
        height: 169px;
        margin-bottom: 30px;
    }
    .social-links a {
        font-size: 20px;
        width: 90%;
        max-width: 90%;
        text-align: center;
    }
    .social-links a::before {
        height: 48px;
        width: 48px;
    }
    .social-links i {
        position: absolute;
        left: 15px;
        top: 15px;
    }

    .next-concert img {
        display: block;
        max-height: auto;
        margin: 0 auto 20px;
        width: auto;
    }
}

@media (max-width: 480px) {
    
}

@media (max-width: 360px) {
    .social-links a {
        max-width: 67%;
        text-align: left;
        padding-left: 60px;
    }
}