main {
    margin: 20vh 0;
}

.film {
    background-color:#F2D06E;
    padding-left: 20vw;
    padding-right: 20vw;
    padding-bottom: 10vh;
    padding-top: 0.1px; /* évite la fusion des marges */
    position: relative;
}

.entete {
    display: flex;
    gap: 32px;
    margin-top: -110px;
    align-items: flex-start;
}

.affiche {
    width: 30vw;
    max-width: 300px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

h1 {
    margin-bottom: 24px;
    min-height: 2.5em;
}

.liste-genres {
    margin-top: 48px;
}

.tags-genres {
    background-color: #0083fe5e;
    border: 2px solid #000;
    padding: 8px 16px;
    margin: 16px 16px 16px 0;
    font-size: 1.2rem;
    font-weight: 700;
}

/************************************/
/*     TABLEAU FICHE TECHNIQUE      */
/************************************/

table {
    font-family: 'Courier New', Courier, monospace;
}

.fiche-film {
    width: 100%;
    max-width: 1000px;
    border-collapse: collapse;
    background-color: white;
    border: 2px solid #000;
    margin-top: 48px;
    table-layout: fixed; /* colonnes de même largeur */
}

.fiche-film th, 
.fiche-film td {
    border: 1px solid #000;
    text-align: center;
    color: #000;
}

.fiche-film th {
    background-color: #dedede;
    padding: 8px;
    /* font-size: 0.7rem; */
    letter-spacing: 0.2em;
    font-weight: 900;
}

.labels td {
    padding: 16px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.donnees td {
    padding: 16px;
    font-size: 1.5rem;
    font-weight: 700;
}

/************************************/
/*         CARTE REALISATEUR        */
/************************************/

.real {
    background-color: #fff;
    border: 2px solid #000;
    padding: 64px;
    margin-top: 5vh;
    display: flex;
    flex-direction:column;
    align-items: center;
    position: relative;
}

.icone-real {
    width: 64px;
    position: absolute;
    top: 16px;
    left: 16px;
}

.nom-real {
    font-family: 'Courier New', Courier, monospace;
    font-size: 1.7rem;
    font-weight:700;
    text-transform: uppercase;
}

.bouton-real {
    position: absolute;
    bottom: 16px;
    right: 16px;
}


/************************************/
/*         SECTION CRITIQUES        */
/************************************/

/* FORMULAIRE */

.form-elt {
    margin-bottom: 16px;
}

#form-avis {
    background-color: #fff;
    border: 2px solid #000;
    padding: 16px 32px;
    margin-bottom: 32px;
    flex-direction: column;
    gap: 24px;
}

#form-avis textarea {
    resize: vertical; /* Autorise l'agrandissement uniquement de haut en bas */
    border: 2px solid #000;
    border-radius: 0;
    flex: 1;
}

.form-commentaire {
    display: flex;
    gap: 16px;
}

.masquer {
    display: none;
}

.afficher {
    display: flex;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 8px;
}

.message, .erreur {
    border: 1px solid #000;
    padding: 16px;
    margin-top: 16px;
    font-family: 'Courier New', Courier, monospace;
    display: flex;
    align-items: center;
    gap: 16px;
    line-height: 1.5;
}

.message svg, .erreur svg {
    width: 32px;
}

.message {
    border-left: 8px solid #F2D06E;
}

.erreur {
    border-left: 8px solid #FE4F00;
}

/* AVIS */

.critiques {
    margin: 5vh 20vw; 
}

.entete-critiques {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.carte-avis {
    border: 2px solid #000;
    padding: 24px;
    background-color: #fff;  
    display: grid;
    grid-template-columns: max-content 1fr max-content;
    gap: 16px;
    align-items: center; 
    margin-bottom: 32px;
}

.avis-avatar {
    grid-column: 1;
    grid-row: 1;
    width: 48px;
    height: 48px;
}

.avis-pseudo {
    grid-column: 2;
    grid-row: 1;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1.1rem;
}

.avis-note {
    grid-column: 3;
    grid-row: 1; 
    border: 2px solid #000;
    border-radius: 8px;
    padding: 4px 12px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1.1rem;
}

.avis-texte {
    grid-column: 2 / -1; 
    grid-row: 2;
}

/************************************/
/*        PAGE REALISATEURS         */
/************************************/

.grille-films-real {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin: 5vh 0;
}
