.grid-encarts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 20px;
    padding: 8%; /* reduire les fiches */
    padding-top: 20px;
}

.machine {
  font-family: "Courier New", Courier, monospace;
}

.lector {
    font-family: 'Chewy', cursive;
    font-size: 1.5rem;       /* ajuste la taille */
    color: #000 !important;          /* exemple : rouge pop */
    text-align: center;      /* bien centré sous l'image */
    margin: 10px !important;
}

.lecteur-pistes {
    background-color: #4a8da8;
    color: #fff;
    padding: 10px;
    border-radius: 15px;
    border: 2px solid black;
}


.bienvenue {
    display:block;
    position: relative;
    margin-left: 400px;
    margin-top: 0; 
    line-height: 0.1;
    z-index: 9999;
}

.white {
    color: #f3f1ed;
}

.encart {
    display: flex;
    flex-direction: column;
    background: linear-gradient(145deg, #f3f1ed, #ffffff);
    border-radius: 15px;
    border: 20px solid rgb(251,250,249);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.encart:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.encart img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Mise en page interne de la fiche */
.encart-content {
  /* existant: padding: 50px; */
  display: grid;
  align-items: start;
  gap: 14px;                 /* espace régulier entre titre, album, ville, texte, liste, bouton */
  text-align: left;
}

/* .artiste {
  margin: 10px;
  line-height: 1.2;
  color: #000;
} */

.artiste {
  font-family: 'Chewy', cursive;
  font-size: 3.5rem;       /* ajuste la taille */
  color: var(--red) !important;          /* exemple : rouge pop */
  text-align: center;      /* bien centré sous l'image */
  margin: 10px !important;
}


.album {
  margin: 0;                 /* colle le sous-titre au h2 */
  color: #666;
  font-weight: 600;
}

.ville {
  display: block;
  color: #777;
}

/* Le bloc description (tu as déjà le scroll élégant) */
.description {
  /* existants : height, padding, justify, scrollbar… */
  margin: 0;                 /* assure-toi qu'il n'ajoute pas d'espace parasite */
}

/* Titre(s) de l'album : liste bien alignée */
.titres-alb {
  margin: 0;                 /* enlève l'espace au-dessus de la liste */
}

/* Liste numérotée propre et compacte */
.titres-alb ol.alb {
  margin: 0;
  padding-left: 1.25rem;     /* indentation standard, même bord gauche que le texte */
  list-style-position: inside;
}

.titres-alb li {
  /*margin: 0 0 .35rem;*/
  line-height: 1.4;
  text-align: left;
  margin: 0 0 .4rem;
}

.titres-alb .estjoue {
  opacity: .7;
  font-style: italic;
  margin-left: .25rem;
}

.alignright {
      display: flex;
      justify-content: flex-end; /* pousse tout le contenu à droite */
}

/* Option: liste en 2 colonnes sur écran large (désactive si tu préfères une seule colonne) */
@media (min-width: 992px) {
  .titres-alb ol.alb {
    column-count: 1;
    column-gap: 2rem;
    list-style-position: inside;
    margin-left: 20px;
  }
}

/* Bouton aligné au bord gauche de la fiche */
.encart .btn-more {
  justify-self: start;       /* grâce au display:grid de .encart-content */
}


.encart-icon {
    font-size: 2rem;
    margin-bottom: 10px;
}

.encart h2 {
    margin: 0 0 10px;
    color: #285466;
}

.encart p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
}

.btn-more {
    background-color: var(--red);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 25px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}

.btn-more:hover {
    background-color: rgb(229, 229, 22);
}


/* Boutons top homepage */
.top-actions {
    display: none;
    justify-content: flex-end;
    gap: 15px;
    padding: 0;
    height: 10px;                 /* hauteur fixe */
    width: 90%;                  /* largeur totale */
    background-color: var(--red);
    margin-left: 0;
    z-index: 20;
    position: relative;
}

.btn-top {
    background-color: var(--rose);
    color: #fff;
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 25px;
    font-size: 0.95em;
    transition: background-color 0.3s ease;
    white-space: nowrap;
}

.btn-top:hover {
    color: #fff;
}


/* Thème (modifiable) */
:root {
  --sb-track: #f1f1f1;
  --sb-thumb: #c1c1c1;
  --sb-thumb-hover: #a1a1a1;
}

@media (prefers-color-scheme: dark) {
  :root {
    --sb-track: #1f1f1f;
    --sb-thumb: #555;
    --sb-thumb-hover: #777;
  }
}

/* Ta zone à scroller */
.description {
  width: 100%;
  height: 300px;
  padding: 15px;
  text-align: justify;
  overflow-y: auto;              /* mets 'scroll' si tu veux l'afficher en permanence */
  scrollbar-gutter: stable;      /* évite le décalage du contenu quand la barre apparaît (navigateurs récents) */

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: var(--red) var(--sb-track);
}

/* Chrome / Edge / Safari */
.description::-webkit-scrollbar {
  width: 10px;                   /* largeur de l’ascenseur */
}

.description::-webkit-scrollbar-track {
  background: var(--sb-track);
  border-radius: 999px;          /* piste arrondie */
}

.description::-webkit-scrollbar-thumb {
  background: var(--sb-thumb);
  border-radius: 999px;          /* poignée arrondie (style "pill") */
  border: 2px solid var(--sb-track); /* crée un espace visuel entre la poignée et la piste */
}

.description::-webkit-scrollbar-thumb:hover {
  background: var(--sb-thumb-hover);
}

.description::-webkit-scrollbar-corner {
  background: var(--sb-track);
}




/* MOBILES */
@media screen and (max-width: 768px) {

  .bienvenue {
    display:none;
    position: relative;
    margin-left: 400px;
    margin-top: 0; 
    line-height: 0.1;
    z-index: 9999;
}

    /* Boutons top homepage */
.top-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    background-color: var(--rose);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    text-align: center;
    z-index: 20;
    position: relative;
}

.btn-top {
    background-color: var(--rose);
    color: #fff;
    text-decoration: none;
    border-radius: 25px;
    font-size: 0.95em;
    transition: background-color 0.3s ease;
    white-space: nowrap;
}

.btn-top:hover {
    color: #fff;
}

}