/* Force la page à occuper toute la hauteur de l'écran */
html, body {
    height: 100vh;
    margin: 0;
    overflow: hidden; /* Empêche le défilement global de la page */
    /*background: radial-gradient(circle, #ffd800 90%, #eb6724 100%);
    background-attachment: fixed;
    background-size: cover;*/
    color: white;
}

body {
    background-image: url('../img/phone.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    body {
        background-image: url('../img/tab.jpg');
    }
}

@media screen and (min-width: 1025px) {
    body {
        background-image: url('../img/desktop.jpg');
    }
}

/* Conteneur principal Flexbox */
.wrapper {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

/* Header : 30vh */
header {
    height: 20vh;
    flex-shrink: 0;
}

/* Conteneur du logo pour limiter sa taille au reste de l'espace */
.logo-container {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* Évite tout débordement accidentel */
    padding: 0px; /* Marge interne pour que le logo ne colle pas aux bords */
}

/* L'image s'adapte strictement à la hauteur du conteneur parent */
.logo-responsive {
    max-height: 100%;
    width: auto;
    object-fit: contain; /* Conserve les proportions de l'image */
}

/* Contenu : 50vh, défilable (scrollable) */
main {
    height: 75vh;
    overflow-y: auto; /* Active la barre de défilement verticale */
    flex-grow: 1;
}

.card {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(35px);
    -webkit-backdrop-filter: blur(8px);
    max-width: 600px;
    width: 100%;
    text-align: center;
    /*color: #2f378b;*/
    border: none;
    padding: 2rem;
}
.card-header {
    font-size: 2rem;
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    margin-bottom: 0;
    color: var(--bs-card-cap-color);
    background-color: unset;
    border-bottom: none;
}
.card-footer {
    padding: 0;
    background: none;
}
.card-footer p {
    padding: 0;
    margin: 0;
}
div:has(>#enfants)   {
    display: none;
}

.nav-link   {
    background-color: #c6b48f;
    color:#9b6e26;
}

/* Footer : 20vh */
footer {
    height: 5vh;
    flex-shrink: 0;
}


/* ESPACE PARTICIPANT */
.menu-admin .nav-link.active {
    background-color: #0d6efd;
    color: white;
    font-weight: bold;
}

.menu-admin .nav-link {
	background-color: #000;
	color: #951;
}

.menu-admin .nav-link:hover {
	background-color: #555;
	color: rgb(223, 151, 16);
}