/* Styles pour les pages de texte (instructions, about, credits) */
.text-page {
    background-color: #FFFFFF;
    color: #000000;
}
.text-page .main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    padding: 20px;
    box-sizing: border-box;
}
.text-page .content {
    max-width: 800px;
    width: 60%;
    margin-bottom: 20px;
}
.text-page .text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(12px, 2.5vw, 14px);			    /* font-size: clamp(12px, 2.5vw, 16px); */
    color: #333333;
    line-height: 1.6;
    text-align: justify;
}
.text-page .text2 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(12px, 2.5vw, 16px);
    color: #333333;
    line-height: 2.0;						    /* line-height: 1.6; */
    text-align: center;
}
.text-page .bar {
    width: 100%;
}


/* Styles pour les pages de pays */
.country-page {
    background-color: #FFFFFF;
    color: #000000;
    text-align: center;
}
.country-page .main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    padding: 20px;
}
.country-page .top {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(15px, 4vw, 20px);			  	     /* font-size: clamp(16px, 4vw, 20px); */
    color: #666666;
    margin-bottom: 25px;
}
.country-page .somewhere {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #999999;
    font-weight: bold;
    margin-top: 25px;
}
.country-page .country-image {
    max-width: 100%;
    height: auto;
    								    /* margin-bottom: 20px; */
}



/* Styles pour la page de la carte */
.map-page {
    background-color: #000000;
}
.map-page .main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}
.map-page .bar-map {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.map-page .bar-map a {
    color: #888888;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
}



/* Styles pour le calendrier */
.calendar-page {
    background-color: #FFFFFF;
    color: #000000;
}
.calendar-page .main-container.calendar-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 80vh;
    padding: 20px;
    gap: 5px;							 /* gap: 1vh; */
}
.calendar-page a,
.calendar-page span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(12px, 2.5vw, 14px);	                 /* font-size: clamp(11px, 2.5vw, 12px); */
    font-style: normal;
								 /* font-weight: bold; */
    color: #CCCCCC;
								/* text-decoration: underline; */
    line-height: 1.5; /* Espace vertical */
}
.calendar-page a {
    color: #0000ff;
    text-decoration: underline;
}
.calendar-page .small {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #999999;
								 /* font-weight: bold; */
}



/* Styles pour la navigation */
/* ===== Conteneur général de la barre ===== */
.bar-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

/* ===== Barre de liens ===== */
.bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
}

.bar a {
    color: #666666;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(10px, 2vw, 12px);
    font-weight: bold;
    text-align: center;
    padding: 5px 8px;
    white-space: nowrap;
}

/* ===== Hamburger (bouton mobile) ===== */
.hamburger {
    display: none;          /* invisible sur PC */
    font-size: 24px;
    cursor: pointer;
    user-select: none;
    margin-top: 20px;
}
.map-page .hamburger {
    color: #888888;
}


/* Styles divers */
.flexible-image {
    max-width: 100%;
    height: auto;
}
.somewhere {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(10px, 2vw, 12px);		                  /* font-size: clamp(10px, 2vw, 11px); */
    color: #999999;
    font-weight: bold;
    font-style: normal;
}
.verysmall {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 6px;
    color: #000000;
}
.titlewhite {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #666666;
}
.copy {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #999999;
    font-weight: bold;
}
.title {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: clamp(16px, 4vw, 18px);
    font-weight: bold;
    color: #999999;
}


/* ===== Mobile (<768px) ===== */
@media screen and (max-width: 768px) {
    .bar {
        display: none;          /* cache le menu horizontal par défaut */
        flex-direction: column; /* lien vertical */
        gap: 5px;
        width: 100%;
        align-items: center;
    }
    .hamburger {
        display: block;         /* affiche le bouton hamburger */
    }
}

/* ===== Sécurité : pas de scroll horizontal ===== */
html, body {
    overflow-x: hidden;
}