/* CSS du header - nav  -------------------------------------------- */
/*
header
    .header-left-nav
        .header-left
        nav
            ul
                li a
    .header-right
*/

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px dashed rgb(189, 189, 189);
  font-weight: bold;
  padding: 3px 0px 3px 0px;
}

header .header-left-nav {
  display: flex;
}

header .header-right {
  margin-right: 0.5rem;
}

header .header-left {
  padding-left: 1.5rem;
  text-align: left;
  margin: 0px;
}

header .header-left .artiste {
  font-size: 1.4rem; /* augmente la taille */
  color: #222; /* couleur au choix */
}

header .header-left .dessin-contemporain {
  font-weight: normal; /* au lieu de bold */
  font-size: calc(var(--nav-font-size) * 0.9); /* plus petit */
  font-size: 1.15rem; /* diminue la taille */
  margin-bottom: 10px;
}

/* style des drapeaux */
header .header-left .flag.active {
  opacity: 0.6; /* Lee drapeau non sélectionnée est semi-transparents */
  cursor: none; /* Pas cliquable */
  height: 0.8rem;
}

header .header-left .flag.non-active {
  opacity: 0.3; /* Le drapeau sélectionné est plus opaque */
  cursor: pointer; /* Montre que c'est cliquable */
  height: 0.8rem;
  transition: all 0.3s ease; /* transition fluide pour tout changement */
}

header .header-left .flag.non-active:hover {
  opacity: 0.6;
  transform: scale(1.2); /* zoom léger global (image + texte) */
}

header .header-right .nav-logo {
  height: calc(var(--nav-font-size) * 5); /* plus grand : le logo */
  float: right; /* le logo à droite */
}

header nav {
  display: flex;
  align-items: center;
}

header nav ul {
  display: flex;
  align-items: center;
  gap: 5em; /* Espacement entre les liens */
  list-style: none; /* Supprime les puces */
  padding: 0;
  margin: 0;
}

header a {
  text-decoration: none;
  color: black;
  display: inline-block; /* ← essentiel pour que transform fonctionne */
  _transition: transform 0.3s ease-in-out; /* Transition douce */
  transition: all 0.3s ease; /* transition fluide pour tout changement */
}
body.body-lang-fr a.lang-fr,
body.body-lang-aus a.lang-aus {
  display: inline-block;
  transition: all 0.3s ease;
}

/* pour l'ancien monde en anglais */

header a:hover { 
  transform: scale(1.3); /* Zoom léger */
}
header .artiste a:hover { 
  transform: scale(1.2); /* Zoom léger */
}

body.body-lang-fr a.lang-fr:hover,
body.body-lang-aus a.lang-aus:hover {
  transform: scale(1.25);
}


header nav a {
  color: #444;
  font-size: 1.3rem;
  font-weight: 600;
}

/* ==== Centrage fiable du nav entre left et right ==== */

/* Le wrapper gauche occupe l'espace disponible entre left et right */
header .header-left-nav {
  display: flex;
  align-items: center; /* centrage vertical */
  flex: 1 1 0%; /* prend l'espace disponible entre left et right */
  gap: 2rem; /* espace entre header-left et nav */
  min-width: 0; /* important pour empêcher le débordement */
}

/* Le bloc "header-left" garde sa taille naturelle (ne s'étire pas) */
header .header-left {
  flex: 0 0 auto; /* n'occupe que sa largeur intrinsèque */
  min-width: 0;
}

/* Le nav prend le reste de l'espace à l'intérieur de .header-left-nav
   et centre ses liens horizontalement */
header nav {
  flex: 1 1 0%; /* prend l'espace restant à l'intérieur du wrapper gauche */
  display: flex;
  justify-content: center; /* centre horizontalement le contenu du nav */
  align-items: center;
  min-width: 0; /* évite les problèmes de débordement en flex */
}

/* On centre le ul à l'intérieur du nav ; gap gère l'écartement */
header nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5em; /* conserve ton espacement desktop */
  margin: 0;
  padding: 0;
  list-style: none;
}

.flag-wrapper {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.flag-wrapper::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: -1.8em;
  left: 0;
  background: rgba(65, 50, 50, 0.497);
  color: #fff;
  font-size: 0.8rem;
  padding: 4px 6px;
  border-radius: 4px;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  transform: translateY(-3px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 10;
}

.flag-wrapper:hover::after {
  opacity: 1;
  transform: translateY(0);
}

/* ========== Responsive : format mobile ============================================= */
@media (max-width: 768px) {
  /* Structure principale : le header reste horizontal */
  header {
    align-items: flex-start; /* permet à la gauche de s'empiler proprement */
    border-bottom: 2px solid #555;
    padding-bottom: 0;
  }

  /* À gauche : la section header-left-nav s’empile verticalement */
  header .header-left-nav {
    flex-direction: column; /* empile header-left et nav */
    align-items: flex-start; /* aligne le contenu à gauche */
    gap: 0rem; /* espace entre titre/sous-titre et nav */
    margin-left: 1.5rem; /* marge à gauche demandée */
    margin-top: 0.3rem;
  }

  /* Le bloc titre reste collé à gauche */
  header .header-left {
    padding-left: 0; /* supprime le padding desktop */
  }

  /* Le nav passe à la verticale et s’aligne à gauche */
  header nav {
    justify-content: flex-start;
    width: 100%;
    _padding-top: 0rem;
    _padding-bottom: 0rem;
  }

  /* Liste des liens : on empile avec un écart plus grand */
  header nav ul {
    justify-content: space-between; /* Répartit l’espace également entre les éléments */
    align-items: center; /* Aligne verticalement au centre */
    width: 100%; /* Occupe toute la largeur disponible */
  }

  header nav ul li {
    font-style: italic;
    padding-right: 0.5rem; /* Espacement léger si tu veux */
    white-space: nowrap; /* Empêche le retour à la ligne à l’intérieur d’un li */
  }

  /* Le logo reste à droite, hauteur un peu réduite si besoin */
  header .header-right .nav-logo {
    height: calc(var(--nav-font-size) * 4.2);
  }

  header .header-left .dessin-contemporain {
    margin-bottom: 0px;
  }
  .flags {
    margin-top: 0.3rem;
    margin-left: 0.1rem;
  }
}

/* ===== Désactivation des infobulles sur mobile (tous navigateurs) ===== */
@media (hover: none) and (pointer: coarse), (max-width: 768px) {
  .flag-wrapper::after {
    display: none !important;
    content: none !important;
  }
}
