html {
	height: 100%;
	min-height: 100%;
	font-family: "Roboto", sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	background-color: #000;
	font-size: 16px;
}
body {
	max-width: 960px;
	margin: 0 auto;
	background-color: #fff;
}
main {
	padding: 0 20px 20px 20px;
}

hr {
	border-style: outset;
}

header {
	display: block;
}
#banner {
	width: 100%;
}

#date {
	margin-top: 3px;
	margin-bottom: 8px;
}

#legende {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin: 5px 0 5px 0;
}

#films {
    width: 100%;
    box-sizing: border-box;
    /* overflow-wrap: break-word; /* casse les mots trop longs */
    /* word-break: break-word;    /* casse les mots si nécessaire */
    white-space: normal;       /* permet les retours à la ligne */
}

@media (min-width: 900px) {
	#legende {
  	  	display: flex;
		flex-direction: row !important;
    	justify-content: space-between !important;
    	align-items: flex-start;
    	width: 100%;
  	}	
}

.legende-container {
    display: flex;
    flex-wrap: wrap; /* Permet le retour à la ligne */
    gap: 5px;
}

p.textlegende {
    background-color: #eee;
    color: #000;
    padding: 5px 5px;
    margin: 5px 0;
    width: 100%;
    box-sizing: border-box;
    border-radius: 4px;	
    word-wrap: break-word; /* permet de couper les mots trop longs */
    white-space: normal;   /* assure que le texte peut aller à la ligne */
}

.textlegende {
    white-space: nowrap;       /* ← empêche le retour à la ligne */
    overflow: hidden;          /* ← masque le débordement */
    font-size: 14px;
    padding: 2px 2px;
    margin: 0 0;
    box-sizing: border-box;
    border-radius: 4px;
	width: auto;
}

.badge {
	background-color: #eee;
	color: #666;
	padding: 2px 5px;
	margin-right: 5px;
}

.description {
    background-color: transparent;
    color: #000;
    margin-left: 5px;
}

.card {
	position: relative;
	display: flex;
	flex-direction: row;
	border-top: solid 1px #777;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 10px 0;
}

.poster {
	width: 135px;               /* largeur immuable */
  	padding: 5px 15px 0 0;
	display: flex;
  	flex-direction: column;
  	align-items: center;
}

.poster > img {
  	width: 125px;           
}

/* Icône de classification fixe à 125px */
.classification-image {
	display: block;
    margin-top: 10px;
	margin-bottom: 10px;
    max-width: 125px;
	/* max-height: 60px; */
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    float: left; /* Alignement à gauche */
  	image-rendering: auto;      /* lissé pour photo/détail */
  	-ms-interpolation-mode: bicubic; /* fallback IE */
}

h1 {
	font-size: clamp(24px, 5vw, 32px); /* taille fluide entre 24px et 32px */
    margin: 0 5px 0 0; /* haut, droite, bas, gauche */
}

.rating {
	font-weight: bold;
}
.rating,
.content {
	font-size: 14px;	
    margin-top: 5px;
    margin-bottom: 12px;
}

.classification-details {
  font-size: 12px;
  padding: 5px;
  padding-left: 1px;
  border-radius: 1px;
  color: #000;
  margin-top: 12px;
  margin-bottom: 5px;
  font-weight: normal;
  text-align: justify;
}

/* 🧱 Conteneur du synopsis */
.synopsis-container {
  position: relative;
  width: 100%;
  text-align: justify;
  padding-bottom: 1px; /* espace pour la flèche */
  will-change: transform;
  transform: translateZ(0);
  display: flex;
  flex-direction: column;
}

/* 📄 Paragraphe principal */
.synopsis-text {
  font-size: 12px;
  text-align: justify;
  overflow: visible;
  max-height: none;
  margin-bottom: 0px;
}

.synopsis-text strong {
  font-size: 13px;
  font-weight: bold;
  color: #222;
}

/* Troncage uniquement sur petit écran */
@media screen and (max-width: 600px) {
  .synopsis-text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: all 0.3s ease;
  }

  .synopsis.expanded .synopsis-text {
    -webkit-line-clamp: unset;
  }
}

/* Texte mis en évidence extrait de **...** */
.synopsis-highlight {
  /* font-weight: bold; */
  font-size: 14px;
  color: #222;
  margin-top: 10px;
  margin-bottom: 1px;
}

/* Par défaut : cacher la flèche sur les grands écrans */
.toggle-arrow {
  line-height: 1;
  display: none;
}

.synopsis-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4px; /* réduit l'espace entre le texte et la flèche */
}

/* Flèche visible uniquement sur petit écran */
@media screen and (max-width: 600px) {
  .toggle-arrow {
    display: inline-block;
    cursor: pointer;
    font-size: 1.2em;
    user-select: none;
    color: #666;
    margin-top: 0px; /* réduit l'espace vertical */
  }
}

.seances {
	display: flex;
	margin-top: 5px;
	flex-direction: column;
	gap: 10px;
}

.jour-label {
	font-weight: bold;
	color: #000;
	margin-top: 5px;
	margin-bottom: 5px;
}

.jour-label.aujourd-hui {
  display: inline-block;
  background-color: #f3fff3;           /* vert très pâle, presque blanc */
  border-left: 5px solid #8bcf9e;      /* vert doux, plus clair */
  border-right: 5px solid #8bcf9e;
  padding: 4px 8px;
  font-weight: bold;
  border-radius: 4px;
}

.horaires {
	display: flex;
	align-items: center; /* ✅ centre verticalement */
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
}

/*.seance-label {
	display: inline-block;
	background-color: #ccc;
	color: #666;
	padding: 5px 10px;
    vertical-align: middle;	
}*/

.seance-label {
    display: inline-block;
    background-color: #ccc;
    color: #666;
    padding: 5px 10px;
    vertical-align: middle;
    position: relative; /* nécessaire pour positionner la tooltip */
    border-radius: 4px;
    overflow: visible; /* s'assurer que la tooltip ne soit pas coupée */
}

.seance-label .tooltip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 5px 8px;
    border-radius: 4px;
    white-space: nowrap;
    font-size: 0.85em;
    z-index: 10;
    transition: opacity 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    pointer-events: none; /* évite les conflits de survol */
}

.seance-label:hover .tooltip {
    visibility: visible;
    opacity: 1;
}

.attributs-label {
	display: inline-block;
	white-space: break-spaces;
	background-color: #eee;
	color: #666;
	padding: 5px 5px;
	border-radius: 0; /* coins carrés */
	vertical-align: middle;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal-content {
  position: relative;
  padding: 1rem;
  background-color: #000;
  border-radius: 10px;
}

.close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 2rem;
  color: white;
  cursor: pointer;
  z-index: 1001;
}

.video-wrapper {
  width: 90vw;
  max-width: 960px;
  aspect-ratio: 16 / 9;
  margin: auto;
}

#trailerFrame {
  width: 100%;
  height: 100%;
  border-radius: 8px;
}

.bientot-affiche-banner {
  display: inline-block;
  background-color: #eee;           /* gris clair */
  border-left: 5px solid #666;         /* gris moyen */
  border-right: 5px solid #666;
  padding: 4px 8px;
  font-weight: bold;
  border-radius: 4px;
  color: #000;                         /* texte noir */
  white-space: nowrap;                /* empêche le retour à la ligne */
  margin: 10px 0 0 0;                 /* top: 10px, bottom: 0, left/right: 0 */
  max-width: max-content;  
}

.banner-text {
  display: inline-block;
  vertical-align: middle;
  text-align: left;
}

.places-info {
  font-size: 0.9em;
  color: #666;
}



































































































































































































