/* ==========================================================
   Calendario Eventi Custom — Stili
   ========================================================== */
   
.ce-wrapper { display: flex; gap: 5%; align-items: flex-start; justify-content: space-between; font-family: inherit; }
.ce-colonna-calendario { flex: 0 0 350px; }
.ce-colonna-griglia { flex: 1 1 500px; }
.ce-nav-mese { font-size: 24px; font-weight: 700; margin-bottom: 16px; letter-spacing: 1px; }
.ce-nav-mese a { text-decoration: none; color: inherit; padding: 0 10px; }
.ce-dropdown-mese { position: relative; display: inline-block; }
.ce-dropdown-trigger {
    font-size: 24px; font-weight: 700; letter-spacing: 1px;
    border: none; background: transparent; cursor: pointer;
    padding: 0 4px; text-transform: uppercase; color: inherit;
    font-family: inherit;
}
.ce-dropdown-trigger:hover { opacity: 0.7; }
.ce-dropdown-lista {
    position: absolute; top: 100%; left: 0; z-index: 10;
    list-style: none; margin: 4px 0 0; padding: 4px 0;
    background: #fff; color: #000;
    border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    min-width: 160px; max-height: 240px; overflow-y: auto; list-style-type: none !important; padding: 0 0 23px 0 !important;
}
.ce-dropdown-lista li {
    padding: 6px 14px; font-size: 16px; font-weight: 400;
    cursor: pointer; white-space: nowrap;
}
.ce-dropdown-lista li:hover { background: rgba(0,0,0,0.06); }
.ce-dropdown-lista li.ce-dropdown-attivo { font-weight: 700; }
.ce-tabella-calendario { border: 0px !important; border-collapse: collapse; }
.ce-tabella-calendario th { text-align: left; font-weight: 500 !Important; color: #000 !Important; padding: 6px 8px !Important; }
.ce-tabella-calendario td { padding: 6px 8px !Important; position: relative; }
.ce-giorno-evidenziato {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%;
    color: #000; font-weight: 600;
    text-decoration: none; cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ce-giorno-evidenziato:hover { transform: scale(1.1); }
.ce-giorno-attivo { box-shadow: 0 0 0 3px rgba(0,0,0,0.15); }
.ce-giorno-categoria-altro { color: #fff; }
.ce-titolo-sezione {
    font-size: 1.1em; font-weight: 700; margin-bottom: 14px;
    display: flex; align-items: center; gap: 14px;
}
.ce-reset {
    font-size: 20px; font-weight: 400; opacity: 0.8; text-decoration: none; color: inherit;
}
.ce-reset:hover { opacity: 1; }
.ce-griglia {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.ce-card {
    aspect-ratio: 4 / 4;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
}
.ce-card-icona svg { width: 40px; height: 40px;}

.ce-card-link { cursor: pointer; }
.ce-card-testo, .ce-card-icona { position: relative; z-index: 2; }
.ce-card-hover-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.25s ease;
    z-index: 1;
}
.ce-card-link:hover .ce-card-hover-img { opacity: 1; }
.ce-card-con-immagine .ce-card-testo,
.ce-card-con-immagine .ce-card-icona {
    transition: opacity 0.25s ease;
}


.ce-card-con-immagine:hover .ce-card-testo,
.ce-card-con-immagine:hover .ce-card-icona {
    opacity: 0;
}


.ce-card .ce-card-icona {
   transition: 0.25s ease;
}

.ce-card:hover .ce-card-icona {
   transform: scale(1.3);
}

.ce-card-data, .ce-card-ora { font-weight: 700; text-transform: uppercase; font-size: 15px; color:#000; }
.ce-card-titolo { font-weight: 700; font-size: 20px; line-height: 1.3; color:#000; margin-top: 10px; }
.ce-card-categoria-altro .ce-card-data,
.ce-card-categoria-altro .ce-card-ora,
.ce-card-categoria-altro .ce-card-titolo {
    color: #fff;
}
.ce-card-icona { align-self: flex-end; }
.ce-nessun-evento {     
    aspect-ratio: 4 / 4;
    border-radius: 10px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    background: #FFF;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
    color: #000;
    text-decoration: none;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
}
.ce-cards-wrapper { display: flex; gap: 12px; }
.ce-cards-wrapper .ce-card { width: 260px; flex: 0 0 auto; }


@media (max-width: 1200px) {
 .ce-griglia { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
.ce-wrapper { display: block;}
.ce-colonna-calendario { padding-bottom: 5%; }
}

@media (max-width: 480px) {
.ce-griglia { grid-template-columns: repeat(1, 1fr); }
}
