/* Stili specifici per la pagina keepcalm.html */

/* Stili per il link del titolo nell'header (riuso da style.css per coerenza) */
.header-app-title-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease-in-out;
}

.header-app-title-link:hover {
    opacity: 0.8;
}

#calm-exercises-section {
    background: #ffffff;
    padding: 1.5em;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    margin-top: 2em;
    text-align: center;
    max-width: 600px; /* Rendi questa sezione leggermente più ampia */
    margin-left: auto;
    margin-right: auto;
    display: flex; /* Utilizza flexbox per layout interno */
    flex-direction: column; /* Colonna per titolo, esercizio, bottoni */
    align-items: center; /* Centra orizzontalmente gli elementi */
}

#calm-exercises-section h2 {
    color: #6EC1E4; /* Blu per il titolo della sezione */
    margin-top: 0;
    margin-bottom: 0.5em;
    font-size: 1.8em;
}

.intro-text { /* Paragrafo introduttivo */
    font-size: 1.1em;
    color: #555;
    margin-bottom: 2em;
}

.exercise-display-area {
    width: 100%; /* Occupa tutta la larghezza disponibile */
    min-height: 250px; /* Altezza minima per contenere gli esercizi */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2em;
    box-sizing: border-box; /* Include padding nel width */
}

.exercise-item {
    background: #f9f9f9;
    border: 1px solid #eee;
    padding: 1em;
    border-radius: 8px;
    text-align: left;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    width: 100%; /* L'item riempie l'area di display */
    box-sizing: border-box;
    /* Animazione di entrata/uscita */
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    position: relative; /* Per le animazioni */
}

/* Stili per l'animazione di uscita/entrata */
.exercise-item.leaving-left {
    opacity: 0;
    transform: translateX(-100%);
}
.exercise-item.leaving-right {
    opacity: 0;
    transform: translateX(100%);
}
.exercise-item.entering-right {
    opacity: 0;
    transform: translateX(100%);
}
.exercise-item.entering-left {
    opacity: 0;
    transform: translateX(-100%);
}
.exercise-item.active { /* Per mostrare l'item corrente */
    opacity: 1;
    transform: translateX(0);
}


.exercise-item h3 {
    color: #4CAF50;
    margin-top: 0;
    margin-bottom: 0.8em;
    font-size: 1.4em;
    display: flex;
    align-items: center;
    gap: 10px;
}

.exercise-item p {
    font-size: 1.15em; /* Aumentato leggermente da 1em */
    line-height: 1.6; /* Aumentato per migliore leggibilità */
    color: #222; /* Reso più scuro da #333 */
    font-weight: 500; /* Reso leggermente più in grassetto */
}

.exercise-img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin-bottom: 1em;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.exercise-navigation-buttons {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 400px; /* Limita la larghezza dei bottoni di navigazione */
    margin-top: 1.5em;
    margin-bottom: 1em;
}

.exercise-navigation-buttons button {
    background-color: #6EC1E4; /* Blu del tema */
    color: white;
    border: none;
    padding: 0.8em 1.5em;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    flex-grow: 1; /* Permette ai bottoni di espandersi */
    margin: 0 0.5em; /* Spazio tra i bottoni e i bordi */
}

.exercise-navigation-buttons button:hover {
    background-color: #5AAAD0;
}

#exercise-counter {
    font-size: 0.9em;
    color: #777;
    margin-top: 0.5em;
    font-weight: bold;
}


/* Stili per la sezione di navigazione (per il pulsante "Torna") */
.navigation-section {
    margin-top: 2em;
    text-align: center;
}

#back-to-main-btn {
    background-color: #6EC1E4;
    color: white;
    border: none;
    padding: 0.8em 1.5em;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

#back-to-main-btn:hover {
    background-color: #5AAAD0;
}


/* Media Queries per schermi più piccoli */
@media (max-width: 600px) {
    #calm-exercises-section {
        padding: 1em;
        margin-top: 1.5em;
    }

    .intro-text {
        font-size: 1em;
        margin-bottom: 1.5em;
    }

    .exercise-item {
        padding: 0.8em;
    }

    .exercise-item h3 {
        font-size: 1.2em;
    }

    .exercise-item p {
        font-size: 1.05em; /* Lievemente più grande di 0.9em per mobile */
    }

    .exercise-navigation-buttons {
        flex-direction: column;
        gap: 0.8em;
        margin-top: 1em;
        margin-bottom: 0.5em;
    }

    .exercise-navigation-buttons button {
        margin: 0;
    }
}