body{
    padding-top: 80px;
}

#top_header {
    background-color: white;
}


/* Espace gauche/droite autour du contenu de page (pas le header) */
main > .container-fluid {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}


a {
    text-decoration: none;
    color:red;
}

/*Pour que les fichiers audio restent dans le cadre dans la page de vocabulaire */
audio.audioVisibility {
  width: 100%;
}

/*test　*/
/*TB Mega Menu */

.tbm {
    background-color: inherit;
    }

.tbm-item.level-1 {
    border-right: none;
    text-transform: uppercase;
    font-size: 15px;
  }

  .tbm-item.level-2 {
    text-transform: none;
  }


.tbm-link-container a {
    text-decoration: none;
   /* text-transform: none; */
}

.tbm-left > .tbm-submenu {
    left: auto; /*pour centrer une unique colonne sous son menu */
  }





/* On cible les images à l'intérieur du carrousel */
.carousel-item img {
  height: 500px;        /* Définissez la hauteur fixe de votre choix */
  object-fit: cover;    /* L'image remplit la zone et est recadrée si nécessaire */
  object-position: center; /* Centre le recadrage (on peut mettre 'top' pour les portraits) */
}

@media (max-width: 768px) {
  .carousel-item img {
    height: 300px; /* Plus petit sur mobile */
  }
}

.carousel {
    margin-bottom: 4rem;
}

/* Image de décomposition SVG */
.svgstrokeimg
{
   height: 100px; 
   width: 100px; 
}


/* Carte des caractères */
.charCard{
   border:lightgray 1px solid; 
   border-radius: 15px; 
   padding:5px;
   margin: 5px;
}

.etymology {
  text-align:center;
}

.etymology table {
  max-width:700px;
}

.etymology table td {
  font-size: 4em;
  line-height: 1em;
  font-style: normal;
  color: #46453d;
}


/* ============================================================
   TB Mega Menu - correctif mobile + tablettes
   Breakpoint TB Megamenu configuré à 1024px
   ============================================================ */

/* === MODE HAMBURGER (tout ce qui est < 1024px : mobiles + iPads) === */
@media (max-width: 1023.98px) {

  /* Pousser le bouton hamburger à droite */
  #top_header .region-nav-main {
    margin-left: auto;
    display: flex;
    align-items: center;
    position: static;       /* annule le position:absolute du bloc grand écran */
    pointer-events: auto;
  }

  #top_header .region-nav-main .block-tb-megamenu,
  #top_header .region-nav-main .block-inner {
    display: flex;
    align-items: center;
  }

  #top_header .region-nav-main nav.tbm {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
  }

  /* Menu déroulant : pleine largeur, fixe sous la navbar */
  #top_header nav.tbm--mobile .tbm-collapse {
    position: fixed;
    top: 80px;
    left: 0;
    width: 100%;
    z-index: 1050;
    background-color: #F0FFFF;
    overflow-y: auto;
    max-height: calc(100vh - 80px);
  }
}

/* === MODE DESKTOP (> 1024px : menu horizontal centré) === */
@media (min-width: 1024px) {

  #top_header .container-fluid {
    position: relative;
  }

  #top_header .region-nav-main {
    position: absolute;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    /* Réserve de l'espace pour le logo à gauche */
    padding-left: 200px;
    padding-right: 200px;
  }

  #top_header .region-nav-main .block-tb-megamenu {
    pointer-events: auto;
  }
}