body {
    margin: 0;
    padding: 20px;
    background-color: #111;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100vh;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #fff;
    box-sizing: border-box;
}

/* 1. Finestra del dipinto (Superiore) */
.canvas-container {
    width: 90vw;
    height: 80vh; /* Occupa il 80% dell'altezza della pagina */
    overflow: hidden;
    position: relative;
    border: 2px solid #333;
    background-color: #000;
    border-radius: 8px;
    margin-bottom: 20px; /* Spazio prima della sezione inferiore */
	position: relative; /* Fondamentale per posizionare la crocetta */
}

#painting {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    /* AGGIUNTO 'opacity' alla transizione per ammorbidire il cambio di file */
    transition: transform 2s ease-in-out, transform-origin 2s ease-in-out, opacity 0.3s ease; 
}

/* 2. Area Inferiore (Contenitore orizzontale) */
.bottom-content {
    display: flex;
    width: 90vw;
    height: 10vh; /* Spazio verticale per i controlli e il testo */
    gap: 10px;
    align-items: center;
}

/* Box del testo (Spazio predominante a sinistra) */
.description-container {
    flex: 3; /* Prende il 30% dello spazio in basso */
    height: 100%;
    display: flex;
    align-items: center;
    padding: 15px 25px;
    background-color: #1a1a1a;
    border-radius: 8px;
    border: 1px solid #222;
    box-sizing: border-box;
    overflow-y: auto; /* Se il testo è lungo, compare una barra di scorrimento interna */
}

#description-text {
    font-size: 1rem;
    line-height: 1.5;
    color: #e0e0e0;
    margin: 0;
    transition: opacity 0.5s ease-in-out; 
}

/* Box dell'audio (A destra) */
.audio-container {
    flex: 7; /* Prende il 70% dello spazio in basso */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    background-color: #1a1a1a;
    border-radius: 8px;
    border: 1px solid #222;
    padding: 10px;
    box-sizing: border-box;
}

/* Rende il player audio nativo largo quanto il suo box */
audio {
    width: 100%;
}

/* Contenitore dei bottoni capitolo */
#chapters-container {
    width: 90vw;
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap; /* Se i bottoni sono tanti, vanno a capo automaticamente */
    gap: 10px;       /* Spazio tra un bottone e l'altro */
    justify-content: center;
}

/* Stile del singolo bottone */
.chapter-btn {
    background-color: #222;
    color: #e0e0e0;
    border: 1px solid #444;
    padding: 8px 16px;
    font-size: 0.9rem;
    border-radius: 20px; /* Bordi arrotondati stile pillola */
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

/* Effetto quando si passa il mouse sopra il bottone */
.chapter-btn:hover {
    background-color: red; /* Diventa rosso come la crocetta */
    color: #fff;
    border-color: red;
    transform: scale(1.05); /* Si ingrandisce leggermente */
}

/* Effetto quando il bottone viene cliccato */

/* Stile per il bottone del capitolo attualmente in riproduzione */
.chapter-btn.active {
    background-color: #ffcc00; /* Colore oro/giallo di forte contrasto */
    color: #111;               /* Testo scuro per massima leggibilità */
    border-color: #ffcc00;
    font-weight: bold;
    transform: scale(1.05);    /* Rimane leggermente più grande */
}
