@charset "utf-8";
/* CSS Document */

/* === INIZIO Stili del LAYOUT GRID (da grid_layout.css) === */
.main-content-area {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

h1 {
    text-align: center;
    margin-bottom: 40px;
    color: #333;
    font-size: 2.5em;
}

.grid-container {
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 0px;
    box-sizing: border-box;
    align-items: start; /* <--- AGGIUNTA/MODIFICATA QUESTA RIGA */
}

.grid-item {
    background-color: #f9f9f9;
    border: 3px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 5px 10px 15px rgba(0,0,0,0.1);
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-sizing: border-box;
}

.grid-item h2 {
    font-size: 1.4em;
    color: #530D0D;
    margin-top: 0;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    flex-shrink: 0;
}

.grid-item-img {
    max-width: 100%;
    height: 100px;
    width: 215px;
    object-fit: cover;
    border-radius: 5px;
    margin-bottom: 15px;
    display: block;
    flex-shrink: 0;
}

.grid-item ul {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
    flex-grow: 1;
}

.grid-item ul li {
    margin-bottom: 5px;
    font-size: 0.9em;
    color: #530D0D;
}

/* === FINE Stili del LAYOUT GRID === */


/* === INIZIO Stili dei POPUP (da popup.css) === */

/* Stili per gli elementi della lista delle preghiere cliccabili */
.prayer-item-clickable {
    cursor: pointer;
    /*padding: 0px 0;*/
    transition: background-color 0.2s ease;
}

.prayer-item-clickable:hover {
    background-color: #e0e0e0;
    border-radius: 3px;
}
/* NUOVE REGOLE: Stili per i link nelle liste (che aprono pagine) */
.page-link {
    display: block; /* Fa in modo che il link occupi tutta la larghezza del <li> */
    color: #530D0D; /* Colore del testo, puoi cambiarlo */
    text-decoration: none; /* Rimuove la sottolineatura di default */
    cursor: pointer;
    padding: 0px 0; /* Stesso padding di prayer-item-clickable per coerenza */
    transition: background-color 0.2s ease;
}

.page-link:hover {
    background-color: #e0e0e0; /* Stesso effetto hover di prayer-item-clickable */
    border-radius: 3px;
    color: #333; /* Cambia colore del testo al hover se vuoi */
}

/* Stili per l'overlay (lo sfondo scuro che copre la pagina) */
.popup-modal {
    display: none; /* QUESTA É LA RIGA CHIAVE: NASCONDE IL POPUP DI DEFAULT */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* IMPORTANTE: Permette lo scroll dell'overlay se necessario */
    background-color: rgba(0,0,0,0.7);
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* Quando il popup è attivo (mostrato) */
.popup-modal.active {
    display: flex; /* Lo rende visibile quando il JS aggiunge la classe 'active' */
}

/* Stili per il contenitore del contenuto del popup */
.popup-content {
    background-color: #fefefe;
    margin: auto;
    padding: 30px;
    border: 1px solid #888;
    border-radius: 10px;
    width: 90%;
    max-width: 800px;
    position: relative;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    animation-name: animatetop;
    animation-duration: 0.8s;
    /* ASSICURATI CHE QUESTE SIANO PRESENTI E NON SOVRASCRITTE */
    max-height: 90vh; /* Altezza massima, ad esempio il 90% dell'altezza della viewport */
    overflow-y: auto; /* Abilita lo scorrimento verticale se il contenuto supera la max-height */
}

/* Stili per il pulsante di chiusura (la 'x') */
.close-popup {
    color: #aaa;
    position: absolute;
    top: 15px;
    right: 25px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.close-popup:hover,
.close-popup:focus {
    color: #333;
    text-decoration: none;
}

.avviso-nascosto {
    display: none; /* Viene mostrato dal JS solo quando serve */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fdf5e6;
    border: 2px solid #530D0D;
    padding: 20px;
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    border-radius: 10px;
    text-align: center;
}

/* Classe che il JS aggiungerà per mostrare l'avviso */
.avviso-visibile {
    display: block !important;
}
/* Stili per le preghiere in italiano e latino (disposte su due colonne) */
.prayer-languages {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.prayer-text {
    flex: 1;
    min-width: 250px;
    padding: 10px;
    background-color: #eee;
    border-radius: 5px;
}

.prayer-text h3 {
    margin-top: 0;
    color: #555;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.prayer-text p {
    font-size: 1.05em;
    line-height: 1.7;
    color: #444;
    white-space: pre-wrap;
}

/* Animazione per l'apertura del popup */
@keyframes animatetop {
    from {top: -300px; opacity: 0}
    to {top: 0; opacity: 1}
}

/* === FINE Stili dei POPUP === */


/* === INIZIO Media Queries per la Responsiveness (da grid_layout.css e popup.css) === */

/* Per tablet (fino a 768px di larghezza) */
@media (max-width: 768px) {
    .main-content-area {
        padding: 15px;
    }

    .grid-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    h1 {
        font-size: 2em;
        margin-bottom: 30px;
    }

    .grid-item h2 {
        font-size: 1.3em;
    }
    /* Media query per popup */
    .popup-content {
        width: 95%;
        padding: 20px;
        /* RICONFERMA LE PROPRIETÀ DI SCROLL ANCHE QUI */
        max-height: 90vh; /* Mantieni o adatta l'altezza massima */
        overflow-y: auto; /* Mantieni lo scroll verticale */
    }
    .prayer-languages {
        flex-direction: column;
    }
    .prayer-text {
        min-width: unset;
    }
}

/* Per smartphone (fino a 480px di larghezza) */
@media (max-width: 480px) {
    .main-content-area {
        padding: 10px;
    }

    .grid-container {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    h1 {
        font-size: 1.8em;
        margin-bottom: 25px;
    }

    .grid-item {
        padding: 15px;
        min-height: auto;
    }

    .grid-item h2 {
        font-size: 1.2em;
    }

    .grid-item p, .grid-item ul li {
        font-size: 0.9em;
    }
    /* Media query per popup */
    .popup-content {
        padding: 15px;
        /* RICONFERMA LE PROPRIETÀ DI SCROLL ANCHE QUI */
        max-height: 90vh; /* Mantieni o adatta l'altezza massima */
        overflow-y: auto; /* Mantieni lo scroll verticale */
    }
    .close-popup {
        font-size: 24px;
        top: 10px;
        right: 15px;
    }
}
/* === FINE Media Queries === */