:root {
    --theme-primary: #003788;
    --theme-light: #0258bd;
    --theme-dark: #001c52;
    --background-alpha: #48484866;

    --whisper: #E4E4E4;
    --silver: #A9A9A9;
    --white: #FFFFFF;
}

*:focus {
    outline: none;
}

/* fallback */
@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/materialicons.woff2) format('woff2');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
}

@font-face {
    font-family: "Amadeus";
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/amadeus.ttf) format("truetype");
}

@font-face {
    font-family: "Symphony";
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/symphony.ttf) format("truetype");
}

@font-face {
    font-family: "Sevillana";
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/sevillana.ttf) format("truetype");
}

@font-face {
    font-family: "Boogaloo";
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/boogaloo.ttf) format("truetype");
}

* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

::-webkit-scrollbar {
    display: none;
}

body {
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
    position: relative;
    width: 100%;

    user-select: none;
    -webkit-touch-callout: none;
    -webkit-text-size-adjust: none;
    -webkit-user-select: none;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
}

html,
body {
    height: 100%;
    width: 100%;
    margin: 0;
    overflow: hidden;
    overflow-y: scroll;
    /* has to be scroll, not auto */
    -webkit-overflow-scrolling: touch;
    padding: 0;
}

#backgroundVideo {
    bottom: 0;
    min-height: 100%;
    min-width: 100%;
    position: fixed;
    right: 0;
}

.app {
    height: 100%;
    top: 0;
    left: 0;
    position: relative;
    text-align: center;
    width: 100%;
    background-color: var(--background-alpha);


    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* occupe toujours au moins la hauteur de la fenêtre */

}

.appBanner,
.appSection {
    /* width: 100%;
    position: relative;
    display: block;*/
    display: flex;
    align-items: center;
}

/* titre en blanc, sans marge par défaut */
.appBanner h1 {
    font-family: "Symphony", Helvetica, Arial;
    font-size: 2em;

    margin: 0 0 0 12px;
    /* espace à gauche du logo */
    color: #fff;
}

.content {
    display: flex;
    flex-flow: column;
     flex: 1;         /* pousse le footer vers le bas */
    /* height: 100%;  <-- à supprimer */
}

.content .row.appBanner {
    background-color: var(--theme-primary);
    flex: 0 1 80px;
    text-align: left;
}

.content .row.appSection {
    flex: 1 1 auto;
}

.row.appSection.results {
    display: flex;
    /* on reste en flex */
    flex-direction: column;
    /* empile les .song-card */
    align-items: center;
    /* centre horizontalement l’ensemble */
}

#logoContainer,
#titreContainer {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 0;
}

#titreContainer {
    height: 100%;
    line-height: 56px;
}

#logoContainer>img {
    width: 80px;
    height: 80px;
}

#titreContainer h1 {
    color: var(--white);
    font-family: "Symphony", Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: normal;
    text-align: left;
}
/*
.appFooter>span {
    color: var(--white);
    font-family: "Boogaloo", Helvetica, Arial, sans-serif;
    font-size: 12px;
}*/


/* 4. Pousser le footer en bas grâce au margin-top auto */
.appFooter {
    font-family: "Symphony", Helvetica, Arial;
    font-size: 15px;
    color: var(--white);
    margin-top: auto;
    width: 100%;
    /* si besoin, ajoutez un padding ou un background ici */
    text-align: center;
}
.searchBackground,
.search #icon-search,
.icon_section2,
.groups .searchElem,
.slider:before {
    background: -webkit-linear-gradient(left top, var(--theme-light), var(--theme-dark));
    background: -o-linear-gradient(bottom right, var(--theme-light), var(--theme-dark));
    background: -moz-linear-gradient(bottom right, var(--theme-light), var(--theme-dark));
    background: linear-gradient(to bottom right, var(--theme-light), var(--theme-dark));
}

.searchBackground {
    padding: 20px 0;
    position: relative;
    top: 0;
}


.search {
    border-radius: 25px;
    height: 50px;
    margin: auto;
    position: relative;
    width: 100%;
    z-index: 50;
}

.search input {
    font-family: "Boogaloo", Helvetica, Arial, sans-serif;
    background: var(--white);
    border: none;
    border-radius: 25px;
    color: var(--theme-primary);
    display: inline-block;
    font-size: 28px;
    height: 100%;
    padding-left: 12px;
    position: relative;
    vertical-align: top;
    width: calc(80% - 12px);
    z-index: 100;
}

.search #icon-search,
.icon_section2 {
    border: 1px solid var(--silver);
    border-radius: 50%;
    display: inline-block;
    height: 50px;
    position: relative;
    text-align: center;
    width: 50px;
}

.search #icon-search i,
.icon_section2 i {
    color: var(--white);
    font-size: 25px;
    line-height: 50px;
}

.groups {
    margin-left: calc(10% - 19px);
    text-align: left;
    width: 80%
}

.groups .searchElem {
    color: var(--white);
    display: none;
    font-family: "Boogaloo", Helvetica, Arial, sans-serif;
    font-size: 24px;
    margin-top: 10px;
    padding: 5px 15px 5px 15px;
    border-radius: 25px;
    width: fit-content;
}

.section1 {
    display: block;
}

/* Chaque carte se positionne en colonne, titre / notes / bouton */
.song-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5em;
    /* espacement entre les cartes */
    color: #fff;
}

/* Les notes sous forme de liste horizontale */
.song-card ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0.5em 0;
    /* un petit espace au-dessus et en-dessous */
}

/* Affichage des notes affichées*/
.song-card ul li {
    margin: 0 0.5em;
    /* espacement latéral entre chaque note */
    color: var(--white);
    font-family: "Boogaloo", Helvetica, Arial, sans-serif;
    font-size: 1.5em;
}

/* Le bouton Play juste sous les notes */
.play-button {
    margin-top: 2em;
}

/* Boutons de lecture */
.play-button {
    background: transparent;
    border: none;
    padding: 0;
    width: 120px;
    /* ajuste pour matcher ta taille d’IconSearch.png */
    height: 10px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-bottom: 1em;
}

/* Image à l’intérieur du bouton */
.play-button img {
    width: 170px;
    height: auto;
    display: block;
}

/* Cadre bleu autour du nom du chant */
.song-card h3 {
    background-color: #0258bd;
    /* ton bleu principal */
    color: #fff;
    padding: 5px 10px 5px 10px;
    border-radius: 12px;
    border: 2px solid #003788;
    /* bleu plus foncé pour la bordure */
    /* petit espacement sous le cadre */
    font-family: "Symphony", Helvetica, Arial, sans-serif;
    font-size: 1.4em;

}