/* Contenitore del modulo */
#tarocchi-test {
    background: white;
    color: black;
    padding: 1em;
    position: relative;
    overflow: hidden;
    min-height: 400px;
    box-sizing: border-box;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Contenitore carte (il deck) */
#deck {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    overflow-x: hidden;
}

/* Singola Carta (.carta) - Stili di BASE (Desktop First) */
.carta {
    width: 100px;
    height: 180px;
    perspective: 1000px;
    cursor: pointer;
    position: relative;
    transition: transform 0.5s ease-in-out, top 0.5s ease-in-out, left 0.5s ease-in-out;
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    flex-shrink: 1;
    flex-grow: 0;
    flex-basis: auto;
    margin-left: -50px; /* Regola questo valore per la sovrapposizione */
}

/* La prima carta nel deck non deve avere il margine negativo */
.carta:first-child {
    margin-left: 0;
}

/* Strato interno della carta (per l'effetto flip) */
.carta-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transition: transform 0.6s; /* Durata del flip */
    transform-style: preserve-3d;
}

/* Ruota la carta quando la classe 'girata' è presente (JS la applica) */
.carta.girata .carta-inner {
    transform: rotateY(180deg);
}

/* Immagini fronte e retro */
.carta .retro,
.carta .fronte {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    backface-visibility: hidden;
    overflow: hidden;
}

/* Stile specifico per l'immagine del dorso */
.carta .retro img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
    display: block;
}

/* Lato frontale dell'immagine ruotato inizialmente per il flip */
.carta .fronte {
    transform: rotateY(180deg);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    box-sizing: border-box;
    background-color: transparent;
}

/* Stile per l'immagine all'interno del fronte */
.carta .fronte img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Mantiene 'cover' per riempire lo spazio */
    display: block;
    border-radius: 5px;
}

/* Il contenitore della descrizione-carta è ora nascosto via HTML (style="display:none;"),
   quindi non servono stili qui per nasconderlo. */
.carta .descrizione-carta {
    /* Lasciare commentato o rimuovere se non usato */
}


/* --- Contenitori degli Slot --- */
#selected-wrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
    flex-wrap: wrap;
    min-height: 200px;
}

/* Nuovo contenitore per ogni slot e la sua etichetta */
.slot-container {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra orizzontalmente gli elementi (slot e label) */
    gap: 10px;
}

/* Slot per le carte selezionate */
.slot {
    width: 100px;
    height: 180px;
    border: 2px dashed #999;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    padding: 0;
    box-sizing: border-box;
    border-radius: 8px;
    overflow: hidden;
}

/* Stile della carta quando è nello slot */
.slot .carta {
    position: static; /* La carta torna nel flusso normale dello slot */
    width: 100%;
    height: 100%;
    /* Rimuoviamo il !important da transform, top, left, margin qui per dare precedenza al flip dell'inner */
    transform: none;
    top: auto;
    left: auto;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: auto;
}

/* Forza la rotazione dell'inner della carta nello slot se ha la classe .girata */
.slot .carta.girata .carta-inner {
    transform: rotateY(180deg) !important; /* Questo è FONDAMENTALE per il mobile */
    transition: transform 0.6s !important; /* Assicurati che la transizione funzioni anche qui */
}


/* Nuova etichetta sotto lo slot */
.slot-label {
    font-size: 1.1em;
    font-weight: bold;
    color: #333;
    text-align: center;
    width: 100%;
    max-width: 150px; /* Limita la larghezza massima del testo per una migliore estetica */
}

/* --- Blocchi CSS da Rimuovere --- */
/* Rimuovi questa regola, non è più necessaria */
/* .slot:has(.carta) .etichetta { display: none; } */

/* Rimuovi questa regola, è stata sostituita da .slot-label */
/* .etichetta {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1em;
    font-weight: bold;
    color: #666;
    text-align: center;
    z-index: 1;
    pointer-events: none;
} */


/* --- Il popup modale --- */
#popup-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: transparent; /* Se vuoi nessun oscuramento */
    /* background-color: rgba(0, 0, 0, 0.4); */ /* Se vuoi un leggero oscuramento */
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 90%;
    max-width: 500px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-height: 90vh;
    overflow-y: auto;
}

/* Stili per il pulsante di chiusura */
#close-modal {
    background-color: #007bff;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    align-self: center;
    margin-top: 15px;
}

#close-modal:hover {
    background-color: #0056b3;
}

#close-modal:focus {
    /* Correggere questi stili per focus: non sovrascrivere il colore del testo e il cursore. */
    outline: none; /* Rimuove il bordo di focus predefinito del browser */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); /* Aggiunge un focus visibile */
}

#modal-title {
    text-align: center;
    color: #333;
    font-size: 1.8em;
    margin-bottom: 5px;
}

/* Immagine della carta nel popup modale */
#modal-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    width: 150px; /* Larghezza fissa per l'immagine nel popup */
    /* Non usare max-width: 40% insieme a width: 150px; scegli uno o l'altro. */
    /* Se vuoi che sia responsiva, usa solo max-width: 40% (o altra percentuale) */
}

#modal-text {
    text-align: justify;
    color: #555;
    font-size: 1.1em;
    line-height: 1.6;
    flex-grow: 1;
}


/* --- Media Queries per la Responsività --- */
@media (max-width: 767px) {
    /* Regole per la carta nel mazzo su mobile */
    .carta {
        width: 60px;
        height: 108px;
        margin-left: -30px; /* Sovrapposizione su mobile */
    }

    /* Regole per lo slot su mobile */
    .slot {
        width: 60px;
        height: 108px;
    }

    /* Regole per l'immagine nel popup su mobile */
    #modal-img {
        width: 80px; /* Larghezza dell'immagine nel popup su mobile (Regola questo!) */
        /* Oppure, se vuoi che si adatti al contenuto del modal: */
        /* max-width: 80%; */
    }

    /* Regole per l'etichetta su mobile */
    .slot-label {
        font-size: 0.9em;
        max-width: 100px;
    }

    /* Regole generali per il modal-content su schermi piccoli */
    .modal-content {
        width: 95%;
        padding: 15px;
    }

    #modal-title {
        font-size: 1.5em;
    }

    #modal-text {
        font-size: 0.95em;
    }
}