/* ===================================
   Stili di Base
   - Reset base
   - Font e colori principali
   - Layout di base
=================================== */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    color: #ffffff;
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
    background-color: #1f1f1f; /* Colore di sfondo predefinito se l'immagine non viene caricata */
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-blend-mode: overlay;
    background-color: #00000030;
    filter: blur(3px) brightness(0.7);
    z-index: -1;

    /* Immagine di sfondo default */
    background-image: url('images/background/default/minecraft.png');
}

/* Gestione sfondo per dispositivi mobili */
@media (max-width: 768px) {
    body::before {
        background-attachment: scroll; /* Migliore performance su mobile */
        background-position: center center;
        background-size: auto 100%;
        width: 100vw;
        height: 100vh;
        transform: none;
    }
}

/* Gestione sfondo per schermi molto piccoli */
@media (max-width: 480px) {
    body::before {
        background-size: cover;
        background-position: center;
    }
}

/* Effetto vignetta */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(
        circle at center,
        transparent 0%,
        rgba(0, 0, 0, 0) 45%,
        rgba(0, 0, 0, 0.4) 100%
    );
}

/* Prossimo aggiornamento di Minecraft. Marketing per lo sfondo. */
body.coming-update::before {
    background-color: #fbff0017;
    background-image: url('images/posts/Voidblock/7.3.0/je-26.1-26.2-7.3.1_rc1.png');
}

/* MESI SEASONS (Background che cambiano in mese in mese per riflettere la stagione o il periodo) */

/* Gennaio 1 (SEASONS MESI)*/
body.gennaio1-seasons::before {
    background-color: #8c919730;
    background-image: url('images/background/holiday/seasons/gennaio/snow_taiga.png');
}

/* Gennaio 2 (SEASONS MESI)*/
body.gennaio2-seasons::before {
    background-color: #d0afae30;
    background-image: url('images/background/holiday/seasons/gennaio/icestream.png');
}

/* Febbraio 1 (SEASONS MESI)*/
body.febbraio1-seasons::before {
    background-color: #cbb8d730;
    background-image: url('images/background/holiday/seasons/febbrario/spices.png');
}

/* Febbraio 2 (SEASONS MESI)*/
body.febbraio2-seasons::before {
    background-color: #a04fa030;
    background-image: url('images/background/holiday/seasons/febbrario/love_door.png');
}

/* Marzo 1 (SEASONS MESI)*/
body.marzo1-seasons::before {
    background-color: #28723330;
    background-image: url('images/background/holiday/seasons/marzo/eye_lake.png');
}

/* Marzo 2 (SEASONS MESI)*/
body.marzo2-seasons::before {
    background-color: #a7943730;
    background-image: url('images/background/holiday/seasons/marzo/glow_cave.png');
}

/* Aprile 1 (SEASONS MESI)*/
body.aprile1-seasons::before {
    background-color: #ffd1dc30;
    background-image: url('images/background/holiday/seasons/aprile/mooshroom.png');
}

/* Aprile 2 (SEASONS MESI)*/
body.aprile2-seasons::before {
    background-color: #eae6ca30;
    background-image: url('images/background/holiday/seasons/aprile/frog.png');
}

/* Maggio 1 (SEASONS MESI)*/
body.maggio1-seasons::before {
    background-color: #00bb2d30;
    background-image: url('images/background/holiday/seasons/maggio/river.png');
}

/* Maggio 2 (SEASONS MESI)*/
body.maggio2-seasons::before {
    background-color: #a8477830;
    background-image: url('images/background/holiday/seasons/maggio/flowers.png');
}

/* Giugno 1 (SEASONS MESI)*/
body.giugno1-seasons::before {
    background-color: #99ffcc30;
    background-image: url('images/background/holiday/seasons/giugno/jungle_temple.png');
}

/* Giugno 2 (SEASONS MESI)*/
body.giugno2-seasons::before {
    background-color: #f3f3ea30;
    background-image: url('images/background/holiday/seasons/giugno/village.png');
}

/* Luglio 1 (SEASONS MESI)*/
body.luglio1-seasons::before {
    background-color: #ff990030;
    background-image: url('images/background/holiday/seasons/luglio/rabbit_desert.png');
}

/* Luglio 2 (SEASONS MESI)*/
body.luglio2-seasons::before {
    background-color: #343a9030;
    background-image: url('images/background/holiday/seasons/luglio/badland.png');
}

/* Agosto 1 (SEASONS MESI)*/
body.agosto1-seasons::before {
    background-color: #a6102230;
    background-image: url('images/background/holiday/seasons/agosto/gold_piglin.png');
}

/* Agosto 2 (SEASONS MESI)*/
body.agosto2-seasons::before {
    background-color: #9b8b4530;
    background-image: url('images/background/holiday/seasons/agosto/fortress.png');
}

/* Settembre 1 (SEASONS MESI)*/
body.settembre1-seasons::before {
    background-color: #99672e30;
    background-image: url('images/background/holiday/seasons/settembre/fall.png');
}

/* Settembre 2 (SEASONS MESI)*/
body.settembre2-seasons::before {
    background-color: #83243c30;
    background-image: url('images/background/holiday/seasons/settembre/light_cave.png');
}

/* Ottobre 1 (SEASONS MESI)*/
body.ottobre1-seasons::before {
    background-color: #883d1a30;
    background-image: url('images/background/holiday/seasons/ottobre/eyeblossom.png');
}

/* Ottobre 2 (SEASONS MESI)*/
body.ottobre2-seasons::before {
    background-color: #50000030;
    background-image: url('images/background/holiday/seasons/ottobre/night_moon.png');
}

/* Novembre 1 (SEASONS MESI)*/
body.novembre1-seasons::before {
    background-color: #c1c2be30;
    background-image: url('images/background/holiday/seasons/novembre/rain_forest.png');
}

/* Novembre 2 (SEASONS MESI)*/
body.novembre2-seasons::before {
    background-color: #0e398830;
    background-image: url('images/background/holiday/seasons/novembre/in_night_pillager_outpost.png');
}

/* Dicembre 1 (SEASONS MESI)*/
body.dicembre1-seasons::before {
    background-color: #500b0b30;
    background-image: url('images/background/holiday/seasons/dicembre/snow_mountain.png');
}

/* Dicembre 2 (SEASONS MESI)*/
body.dicembre2-seasons::before {
    background-color: #ffffff30;
    background-image: url('images/background/holiday/seasons/dicembre/snowstorm.png');
}


/* COMPLEANO DI Minecraft */

body.mc-birthday::before {
    background-color: #29692e30;
    background-image: url('images/background/holiday/mc-birthday/nostalgic_hills.png');
}

body.mc-birthday header h1 {
    position: relative;
    padding-left: 5rem;
}

body.mc-birthday header h1::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 4rem;
    height: 4rem;
    background-image: url('images/background/holiday/mc-birthday/CreeperArtwork.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

/*CHRISTMAS*/

body.christmas::before {
    background-color: #0b253a30;
    background-image: url('images/background/holiday/christmas/draft.png');
    background-blend-mode: normal, screen, screen;
    filter: blur(2px) brightness(1.05);
}

body.christmas::after {
    background:
        radial-gradient(circle at 25% 15%, rgba(255, 255, 255, 0.18) 0%, transparent 22%),
        radial-gradient(circle at 70% 25%, rgba(0, 255, 115, 0.12) 0%, transparent 18%),
        radial-gradient(circle at 45% 75%, rgba(255, 255, 255, 0.08) 0%, transparent 30%),
        radial-gradient(circle at center, transparent 45%, rgba(0, 0, 0, 0.38) 100%);
}

body.christmas header {
    background-color: #0a1f3c;
    border-color: #00bfff;
}

body.christmas #scroll-arrow {
    background: #0d51b1;
}

body.christmas header h1 {
    color: #e6f7ff;
    text-shadow: 0 0 18px rgba(0, 191, 255, 0.75);
}

body.christmas nav a {
    background: linear-gradient(135deg, #0066ff 0%, #00bfff 100%);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    position: relative;
    overflow: hidden;
}

body.christmas nav a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.822) 100%);
    clip-path: polygon(
        0% 50%,
        5% 55%, 10% 52%, 15% 58%, 20% 53%, 25% 60%, 
        30% 55%, 35% 62%, 40% 56%, 45% 65%, 50% 58%,
        55% 65%, 60% 56%, 65% 62%, 70% 55%, 75% 60%,
        80% 53%, 85% 58%, 90% 52%, 95% 55%, 100% 50%,
        100% 0%, 0% 0%
    );
    pointer-events: none;
    z-index: 1;
}

body.christmas nav a:hover {
    background: linear-gradient(135deg, #0052cc 0%, #0099ff 100%);
    border-color: rgba(255, 255, 255, 0.5);
}

body.christmas .hero {
    background-color: rgba(10, 31, 60, 0.95);
    border-color: #00bfff;
    box-shadow: 0 0 40px rgba(0, 191, 255, 0.15);
    position: relative;
    overflow: hidden;
}

body.christmas .hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 35%;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.822) 100%);
    clip-path: polygon(
        0% 50%,
        5% 55%, 10% 52%, 15% 58%, 20% 53%, 25% 60%, 
        30% 55%, 35% 62%, 40% 56%, 45% 65%, 50% 58%,
        55% 65%, 60% 56%, 65% 62%, 70% 55%, 75% 60%,
        80% 53%, 85% 58%, 90% 52%, 95% 55%, 100% 50%,
        100% 0%, 0% 0%
    );
    pointer-events: none;
    z-index: 1;
}

body.christmas .tag-filter {
    background: linear-gradient(135deg, rgba(0, 102, 255, 0.4) 0%, rgba(0, 191, 255, 0.3) 100%);
    color: #ffffff;
    border: 1px solid rgba(0, 191, 255, 0.5);
    position: relative;
    overflow: hidden;
}

body.christmas .tag-filter::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.822) 100%);
    clip-path: polygon(
        0% 50%,
        5% 55%, 10% 52%, 15% 58%, 20% 53%, 25% 60%, 
        30% 55%, 35% 62%, 40% 56%, 45% 65%, 50% 58%,
        55% 65%, 60% 56%, 65% 62%, 70% 55%, 75% 60%,
        80% 53%, 85% 58%, 90% 52%, 95% 55%, 100% 50%,
        100% 0%, 0% 0%
    );
    pointer-events: none;
    z-index: 1;
}

body.christmas .tag-filter::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

body.christmas .tag-filter:hover {
    background: linear-gradient(135deg, #0052cc 0%, #0099ff 100%);
    border-color: rgba(255, 255, 255, 0.7);
}

body.christmas .tag-filter.active {
    background: linear-gradient(135deg, #0066ff 0%, #00bfff 100%);
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(0, 191, 255, 0.5);
}

body.christmas .changelog-list {
    background-color: #0a1f3c;
    border-color: #00bfff;
    position: relative;
    overflow: hidden;
}

body.christmas input#search-changelog {
    background-color: #133e7a;
    border-color: #00bfff;
    color: #ffffff;
}

body.christmas .sidebar {
    background-color: #0a1f3c;
    border-color: #00bfff;
}

body.christmas .sidebar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2%;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.822) 100%);
    clip-path: polygon(
        0% 50%,
        5% 55%, 10% 52%, 15% 58%, 20% 53%, 25% 60%, 
        30% 55%, 35% 62%, 40% 56%, 45% 65%, 50% 58%,
        55% 65%, 60% 56%, 65% 62%, 70% 55%, 75% 60%,
        80% 53%, 85% 58%, 90% 52%, 95% 55%, 100% 50%,
        100% 0%, 0% 0%
    );
    pointer-events: none;
    z-index: 1;
}

body.christmas .discord-section {
    background: linear-gradient(135deg, rgba(0, 102, 255, 0.4) 0%, rgba(0, 191, 255, 0.10) 100%);
    color: #ffffff;
    border: 1px solid rgba(0, 191, 255, 0.5);
    position: relative;
    overflow: hidden;
}

body.christmas .project-links a {
    background: linear-gradient(135deg, rgba(0, 102, 255, 0.4) 0%, rgba(0, 191, 255, 0.3) 100%);
    color: #ffffff;
    border: 1px solid rgba(0, 191, 255, 0.5);
    position: relative;
    overflow: hidden;
}

body.christmas .project-links a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.822) 100%);
    clip-path: polygon(
        0% 50%,
        5% 55%, 10% 52%, 15% 58%, 20% 53%, 25% 60%, 
        30% 55%, 35% 62%, 40% 56%, 45% 65%, 50% 58%,
        55% 65%, 60% 56%, 65% 62%, 70% 55%, 75% 60%,
        80% 53%, 85% 58%, 90% 52%, 95% 55%, 100% 50%,
        100% 0%, 0% 0%
    );
    pointer-events: none;
    z-index: 1;
}



body.christmas .changelog-card {
    background-color: #125083;
}


body.christmas .changelog {
    background-color: #0a1f3c;
    border-color: #00bfff;
}

body.christmas .project-links a:hover {
    background: linear-gradient(135deg, #0052cc 0%, #0099ff 100%);
    border-color: rgba(255, 255, 255, 0.7);
}

body.christmas .social-icon img {
    filter: saturate(1.2) brightness(1.15);
}

body.christmas .calendar-month li {
    position: relative;
    overflow: hidden;
}

body.christmas .calendar-month li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15%;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.822) 100%);
    clip-path: polygon(
        0% 50%,
        5% 55%, 10% 52%, 15% 58%, 20% 53%, 25% 60%, 
        30% 55%, 35% 62%, 40% 56%, 45% 65%, 50% 58%,
        55% 65%, 60% 56%, 65% 62%, 70% 55%, 75% 60%,
        80% 53%, 85% 58%, 90% 52%, 95% 55%, 100% 50%,
        100% 0%, 0% 0%
    );
    pointer-events: none;
    z-index: 1;
}

body.christmas .christmas-snow {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9998;
    overflow: hidden;
}

body.christmas .christmas-snowflake {
    position: absolute;
    top: -10px;
    background: #ffffff;
    border-radius: 50%;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.9));
    animation-name: christmas-snow-fall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes christmas-snow-fall {
    0% {
        transform: translateY(0) translateX(0);
        opacity: 0.7;
    }
    100% {
        transform: translateY(110vh) translateX(20px);
        opacity: 0.1;
    }
}

/*APRIL FOOLS*/

body.april-fools::before {
    background-color: #14122a30;
    background-image: url('images/background/holiday/april_fools/april_fools2026.png');
    background-size: cover;
    background-blend-mode: screen, screen, screen;
    filter: blur(2px) brightness(1.08);
}

body.april-fools::after {
    background:
        radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.14) 0%, transparent 18%),
        radial-gradient(circle at 80% 20%, rgba(255, 118, 218, 0.14) 0%, transparent 20%),
        radial-gradient(circle at 50% 85%, rgba(255, 255, 255, 0.08) 0%, transparent 32%),
        radial-gradient(circle at center, transparent 45%, rgba(0, 0, 0, 0.38) 100%);
}

body.april-fools header {
    background-color: #4e007b;
    border-color: #ffb300;
}

body.april-fools header h1 {
    color: #fff5a8;
    text-shadow: 0 0 18px #ffb700;
}

body.april-fools nav a {
    background-color: #4b0082;
    color: #ffffff;
    border: 1px solid #ffffff;
}

body.april-fools nav a:hover {
    background-color: #53119f;
}

body.april-fools .hero {
    border: 1px dashed #ffe599;
    box-shadow: 0 0 40px #ff4081;
}

body.april-fools input#search-changelog {
    border-color: #ff56c2;
    background-color: #2b0048;
    color: #ffffff;
}

body.april-fools .tag-filter {
    background-color: #51167f;
    color: #ffffff;
    border: 1px solid #ae3bc7;
}

body.april-fools .tag-filter:hover {
    background-color: #6d2bba;
}

body.april-fools .tag-filter.active {
    background-color: #ff4081;
    color: #ffffff;
    box-shadow: none;
}

body.april-fools footer {
    background-color: #120025;
    border-top: 4px solid #ff4081;
}

body.april-fools .footer-content {
    border-top: none;
}

body.april-fools .sidebar {
    background-color: #1f002e;
    border-color: #7e27d9;
}

body.april-fools .project-links a {
    background-color: #2a0040;
    color: #f8f2ff;
    border: 1px solid #8d4dc4;
}

body.april-fools .project-links a:hover {
    background-color: #39005f;
}

body.april-fools .tag-filters {
    background-color: #3c0055;
    padding: 0.4rem 0.6rem;
    border-radius: 28px;
    border: 1px solid #bf54d3;
}

body.april-fools .changelog-card {
    background-color: #1f002e;
}

body.april-fools .changelog-controls {
    background-color: #37004e;
    border: 1px solid #ff48ab;
    border-radius: 18px;
    padding: 1rem;
}

body.april-fools .changelog-list {
    background-color: #2d003f;
    border-color: #d54fb2;
}

body.april-fools .main-content,
body.april-fools .sidebar {
    background-color: #210032;
}

body.april-fools .sidebar h1 {
    color: #8e5aca;
}
body.april-fools .footer-content h3 {
    color: #6f40a5;
}
body.april-fools .changelog h1 {
    color: #a97cdb;
}
body.april-fools .project-links a {
    color: #926bbe;
}

body.april-fools .tag-filter {
    color: #b07deb;
}

body.april-fools .sidebar h1 {
    border-color: #ff4081;
}

body.april-fools .hero {
    background-color: #3f007b;
    border-color: #ffb300;
}

body.april-fools .social-icon img {
    filter: saturate(1.25) brightness(1.1);
}

body.april-fools .features,
body.april-fools .hero,
body.april-fools .changelog,
body.april-fools .discord-section {
    background-color: #210032;
    border-color: #8d4dc4;
}

body.april-fools .features li,
body.april-fools .calendar-month li,
body.april-fools .post-date {
    border-color: #9f44d2;
}

body.april-fools .calendar-year .year-title,
body.april-fools .calendar-month .month-title,
body.april-fools .post-title {
    color: #f8d8ff;
}

body.april-fools .calendar-month li {
    background-color: #2d003f;
}

body.april-fools .calendar-month li:hover {
    background-color: #3f0068;
}

body.april-fools .calendar-month a,
body.april-fools .calendar-month .date {
    color: #ffd7ff;
}

body.april-fools .calendar-month a:hover {
    color: #ffffff;
}

body.april-fools .post-date {
    background-color: #3f005d;
    color: #f0d8ff;
}

body.april-fools .discord-button,
body.april-fools .discord-button.alt {
    background-color: #a139d4;
}

body.april-fools .discord-button:hover,
body.april-fools .discord-button.alt:hover {
    background-color: #7a1f8d;
}

body.april-fools .footer-content,
body.april-fools .footer-content h3,
body.april-fools .footer-content p,
body.april-fools .footer-content nav a {
    color: #f8f2ff;
}

body.april-fools .footer-content {
    border-top-color: #ff4081;
}

body.april-fools .april-fools-confetti {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    overflow: hidden;
}

body.april-fools .april-fools-confetti span {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    opacity: 0.85;
    animation: april-fools-confetti 2.5s ease-out forwards;
}

@keyframes april-fools-confetti {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(110vh) translateX(20px) rotate(360deg);
        opacity: 0;
    }
}

/* ===================================
   TEMPLATE TEMA - GUIDA COMPLETA PER CREARE UN NUOVO TEMA
   
   ISTRUZIONI DI BASE:
   1. Copiare questo template
   2. Sostituire "nome-tema" con il nome del tema (es: halloween, pasqua, estate)
   3. Sostituire i placeholder con valori reali seguendo gli esempi sottostanti
   4. Aggiungere l'immagine di sfondo in images/background/tema/nome-tema/
   5. Testare il tema aggiungendo la classe al body tramite JavaScript
   
   PLACEHOLDER E VALORI COMUNI:
   - #COLORE_SFONDO: Colore esadecimale di base (es: #0b3a0f per tema verde)
   - #COLORE_HEADER: Colore header leggermente più scuro del tema (es: #10220e)
   - #COLORE_BORDO: Colore bordi (es: #3e8e44, solitamente una variante del colore principale)
   - #COLORE_TESTO: Colore testo (preferibilmente #ffffff o variazioni chiare come #eef5e4)
   - #COLORE_ATTIVO: Colore per elementi selezionati (es: #2d7b2f, versione scura del tema)
   - #COLORE_PULSANTE: Colore pulsanti principali (es: #a139d4 per April Fools)
   - #COLORE_HOVER: Colore hover pulsanti (versione più scura, es: #7a1f8d)
   - VALORE_PX: Pixel per blur e shadow (es: 3, 18, 40)
   - VALORE (brightness): Moltiplicatore luminosità (es: 0.7, 1.05, 1.15)
   - OPACITA: Valore alpha (es: 0.08, 0.14, 0.18, 0.38)
   - POSIZIONE: Posizione gradiente (es: 25% 15%, 70% 25%, 45% 75%)
   - PERCENTUALE: Raggio gradiente (es: 18%, 20%, 22%, 30%, 45%)
   - VALORE_REM: Padding/margin in rem (es: 1rem, 1.5rem, 0.8rem)
   - VALORE (saturate): Saturazione colori (1.0 = normale, 1.2 = +20%, 0.8 = -20%)
   
   BACKGROUND DEL TEMA:
   body.nome-tema::before {
       background-color: #COLORE_SFONDO 30 di Alpha sempre;
       background-image: url('images/background/tema/nome-immagine.png');
       background-blend-mode: normal, screen, screen;
       filter: blur(VALORE_PX) brightness(VALORE);
   }
   Colore di base dello sfondo: usa un colore che richiama il tema
   Esempio: #0b3a0f (verde scuro per tema verde), #14122a (blu scuro per april fools)
   Percorso immagine sfondo: la cartella deve esistere in images/background/
   Esempio: url('images/background/holiday/snows/snowstorm.png') per Natale
   Modalità fusione: normal = nessun effetto | screen = schiarisce | multiply = scurisce
   Consiglio: usare 'screen' per immagini scure, 'normal' per immagini brillanti
   Sfocatura (blur) e luminosità dell'intera immagine
   Esempio: blur(3px) brightness(0.7) oppure blur(2px) brightness(1.05)
   blur: 2-5px (più alto = più sfocato) | brightness: 0.5-1.5 (0.7 = più scuro, 1.1 = più luminoso)
   
   EFFETTI VISIVI AGGIUNTIVI - Vignetta e gradienti radiali:
   body.nome-tema::after {
       background:
           radial-gradient(circle at POSIZIONE, rgba(COLORE, OPACITA) 0%, transparent PERCENTUALE%),
           radial-gradient(circle at POSIZIONE, rgba(COLORE, OPACITA) 0%, transparent PERCENTUALE%),
           radial-gradient(circle at center, transparent PERCENTUALE%, rgba(COLORE, OPACITA) 100%);
   }
   Crea effetti di luce/ombra radiali per dare profondità alla pagina
   Primo gradiente: luci in alto a sinistra (25%, 15%) con opacità 0.18
   Secondo gradiente: effetto di colore in alto a destra (70%, 25%)
   Terzo gradiente: vignetta scura ai bordi e centro luminoso
   Esempio completo:
   background:
       radial-gradient(circle at 25% 15%, rgba(255, 255, 255, 0.18) 0%, transparent 22%),
       radial-gradient(circle at 70% 25%, rgba(0, 255, 115, 0.12) 0%, transparent 18%),
       radial-gradient(circle at center, transparent 45%, rgba(0, 0, 0, 0.38) 100%);
   
   HEADER DEL TEMA - Colore e bordo dell'intestazione principale:
   body.nome-tema header {
       background-color: #COLORE_HEADER;
       border-color: #COLORE_BORDO;
   }
   Esempio: #10220e (più scuro rispetto al background), #3e8e44 (colore accent del tema)
   
   TITOLO HEADER - Testo principale con effetto di luminosità:
   body.nome-tema header h1 {
       color: #COLORE_TESTO;
       text-shadow: 0 0 VALORE_PX rgba(COLORE, OPACITA);
   }
   Colore testo: #f3f9e6 (bianco crema per contrasto)
   Text-shadow: 0 0 18px rgba(120, 221, 123, 0.75)
   Il text-shadow crea un "glow" attorno al titolo che riflette il colore tematico
   
   LINK NAVIGAZIONE - Pulsanti del menu:
   body.nome-tema nav a {
       background-color: rgba(COLORE, OPACITA);
       color: #COLORE_TESTO;
       border: 1px solid rgba(COLORE, OPACITA);
   }
   Esempio: rgba(255, 255, 255, 0.08) per semi-trasparente
   Testo: #eef5e4 (testo chiaro), bordo: rgba(255, 255, 255, 0.18)
   
   HOVER NAVIGAZIONE:
   body.nome-tema nav a:hover {
       background-color: rgba(COLORE, OPACITA);
   }
   Usa rgba(255, 255, 255, 0.16) versione più opaca
   
   SEZIONE HERO:
   body.nome-tema .hero {
       background-color: rgba(COLORE, OPACITA);
       border-color: #COLORE_BORDO;
       box-shadow: 0 0 VALORE_PX rgba(COLORE, OPACITA);
   }
   Esempio: rgba(12, 28, 13, 0.95), #3e8e44, 0 0 40px rgba(62, 142, 68, 0.20)
   
   FILTRI TAG - Bottoni per filtrare il changelog:
   body.nome-tema .tag-filter {
       background-color: rgba(COLORE, OPACITA);
       color: #COLORE_TESTO;
       border: 1px solid rgba(COLORE, OPACITA);
   }
   Esempio: rgba(255, 255, 255, 0.08), #edf7e6, rgba(255, 255, 255, 0.14)
   
   HOVER FILTRI TAG:
   body.nome-tema .tag-filter:hover {
       background-color: rgba(COLORE, OPACITA);
   }
   Aumenta opacità: rgba(255, 255, 255, 0.14)
   
   TAG ATTIVO - Stile quando il filtro è selezionato:
   body.nome-tema .tag-filter.active {
       background-color: #COLORE_ATTIVO;
       color: #COLORE_TESTO;
       box-shadow: 0 0 0 2px rgba(COLORE, OPACITA);
   }
   Colore più vivido e scuro: #2d7b2f
   Box-shadow: 0 0 0 2px rgba(110, 194, 100, 0.35)
   
   FOOTER - Linea di separazione decorativa:
   body.nome-tema .footer-content {
       border-top: 4px solid rgba(COLORE, OPACITA);
   }
   Esempio: rgba(62, 142, 68, 0.75)
   
   SIDEBAR - Barra laterale con progetti:
   body.nome-tema .sidebar {
       background-color: rgba(COLORE, OPACITA);
       border-color: #COLORE_BORDO;
   }
   Esempio: rgba(8, 23, 11, 0.98), #2b6b24
   
   LINK PROGETTI - Bottoni dei progetti nella sidebar:
   body.nome-tema .project-links a {
       background-color: rgba(COLORE, OPACITA);
       color: #COLORE_TESTO;
       border: 1px solid rgba(COLORE, OPACITA);
   }
   Esempio: rgba(255, 255, 255, 0.08), #edf7e6, rgba(255, 255, 255, 0.14)
   
   HOVER LINK PROGETTI:
   body.nome-tema .project-links a:hover {
       background-color: rgba(COLORE, OPACITA);
   }
   Usa rgba(255, 255, 255, 0.16)
   
   ICONE SOCIAL - Filtri per le icone social nel footer:
   body.nome-tema .social-icon img {
       filter: saturate(VALORE) brightness(VALORE);
   }
   Esempio: saturate(1.2) brightness(1.15)
   saturate: 1.0 = normale | 1.2 = +20% colore | 0.8 = -20% colore
   brightness: 1.0 = normale | 1.2 = +20% luminoso | 0.8 = -20% luminoso
   
   CONTROLLI CHANGELOG - Contenitore della ricerca e filtri:
   body.nome-tema .changelog-controls {
       background-color: rgba(COLORE, OPACITA);
       border: 1px solid rgba(COLORE, OPACITA);
       border-radius: VALORE_PX;
       padding: VALORE_REM;
   }
   Esempio: rgba(37, 4, 78, 0.95), 1px solid rgba(255, 72, 171, 0.5), 18px, 1rem
   
   LISTA CHANGELOG - Sfondo della sezione changelog:
   body.nome-tema .changelog-list {
       background-color: rgba(COLORE, OPACITA);
       border-color: #COLORE_BORDO;
   }
   Esempio: rgba(45, 0, 63, 0.95), #d54fb2
   
   CONTENUTO PRINCIPALE E SIDEBAR - Sfondo generale pagine interne:
   body.nome-tema .main-content, body.nome-tema .sidebar {
       background-color: rgba(COLORE, OPACITA);
   }
   Esempio: rgba(33, 0, 50, 0.98)
   
   TITOLI SIDEBAR:
   body.nome-tema .sidebar h1 {
       color: #COLORE_TESTO;
       border-color: #COLORE_BORDO;
   }
   Esempio: #8e5aca (viola pallido), #ff4081 (colore accent)
   
   TITOLI FOOTER:
   body.nome-tema .footer-content h3 {
       color: #COLORE_TESTO;
   }
   Esempio: #6f40a5
   
   TITOLI CHANGELOG:
   body.nome-tema .changelog h1 {
       color: #COLORE_TESTO;
   }
   Esempio: #a97cdb
   
   TITOLI POST:
   body.nome-tema .post-title {
       color: #COLORE_TESTO;
   }
   Esempio: #f8d8ff
   
   FEATURES, HERO, CHANGELOG, DISCORD - Aree principali della pagina:
   body.nome-tema .features, body.nome-tema .hero, body.nome-tema .changelog,
   body.nome-tema .discord-section {
       background-color: rgba(COLORE, OPACITA);
       border-color: #COLORE_BORDO;
   }
   Esempio: rgba(33, 0, 50, 0.98), #8d4dc4
   
   BORDI ELEMENTI - Linee di separazione in liste:
   body.nome-tema .features li, body.nome-tema .calendar-month li,
   body.nome-tema .post-date {
       border-color: #COLORE_BORDO;
   }
   Esempio: #9f44d2
   
   TITOLI CALENDARIO:
   body.nome-tema .calendar-year .year-title, body.nome-tema .calendar-month .month-title,
   body.nome-tema .post-title {
       color: #COLORE_TESTO;
   }
   Esempio: #f8d8ff
   
   ELEMENTI CALENDARIO - Sfondo celle:
   body.nome-tema .calendar-month li {
       background-color: rgba(COLORE, OPACITA);
   }
   Esempio: rgba(45, 0, 63, 0.95)
   
   HOVER CALENDARIO - Effetto mouse su celle:
   body.nome-tema .calendar-month li:hover {
       background-color: rgba(COLORE, OPACITA);
   }
   Usa versione più scura: rgba(63, 0, 104, 0.95)
   
   LINK E DATE CALENDARIO:
   body.nome-tema .calendar-month a, body.nome-tema .calendar-month .date {
       color: #COLORE_TESTO;
   }
   Esempio: #ffd7ff
   
   HOVER LINK CALENDARIO:
   body.nome-tema .calendar-month a:hover {
       color: #COLORE_TESTO;
   }
   Usa colore più chiaro: #ffffff
   
   DATE POST - Badge con data del post:
   body.nome-tema .post-date {
       background-color: rgba(COLORE, OPACITA);
       color: #COLORE_TESTO;
   }
   Esempio: rgba(63, 0, 93, 0.95), #f0d8ff
   
   PULSANTI DISCORD - Bottoni principali:
   body.nome-tema .discord-button, body.nome-tema .discord-button.alt {
       background-color: #COLORE_PULSANTE;
   }
   Esempio: #a139d4 (colore vibrante)
   
   HOVER PULSANTI DISCORD:
   body.nome-tema .discord-button:hover, body.nome-tema .discord-button.alt:hover {
       background-color: #COLORE_HOVER;
   }
   Usa versione più scura: #7a1f8d
   
   CONTENUTO FOOTER COMPLETO - Testo footer e link:
   body.nome-tema .footer-content, body.nome-tema .footer-content h3,
   body.nome-tema .footer-content p, body.nome-tema .footer-content nav a {
       color: #COLORE_TESTO;
   }
   Esempio: #f8f2ff
   
   BORDO TOP FOOTER:
   body.nome-tema .footer-content {
       border-top-color: #COLORE_BORDO;
   }
   Esempio: #ff4081
   
   CONSIGLI PER LA CREAZIONE DI TEMI ARMONICI:
   
   1. SCELTA COLORI:
      - Scegliere 1-2 colori primari (es: verde per tema "Minecraft Birthday")
      - Creare varianti scure (header, border) e chiare (accenti)
      - Testare il contrasto con testo bianco per accessibilità
   
   2. OPACITA':
      - UI elements: 0.08-0.16 (semi-trasparente)
      - Sezioni principali: 0.95-0.98 (quasi opaco)
      - Accenti/vignette: 0.18-0.38 (moderato)
   
   3. BLUR E BRIGHTNESS:
      - blur: 2-3px per immagini ad alta risoluzione, 0-1px per sfondi soft
      - brightness: 0.7 per immagini molto luminose, 1.0-1.05 per immagini scure
   
   4. GRADIENTE VIGNETTA:
      - Mantenere sempre un'ombra sui bordi per leggibilità
      - Aggiungere luci secondarie (25% 15%, 70% 25%) per profondità
      - Center gradient: (transparent 45%, rgba(0,0,0,0.38) 100%)
   
   5. RESPONSIVE:
      - I temi funzionano su tutti i dispositivi automaticamente
      - Testare su mobile per verificare visibilità testo
=================================== */

/* ===================================
   Header e Navigazione
   - Layout header
   - Stile titolo
   - Menu di navigazione
   - Effetti hover
=================================== */
header {
    background-color: #1a1a1a;
    padding: 2rem;
    text-align: center;
    border-bottom: 4px solid #2d2d2d;
}

header h1 {
    cursor: pointer;
    font-size: 2.5rem;
    margin: 0;
    color: #ffffff;
    text-shadow: 2px 2px #000000;
}

header h1:hover {
    color: #ddd;
}

nav {
    margin-top: 1.5rem;
}

nav a {
    background-color: #2d2d2d;
    color: #ffffff;
    text-decoration: none;
    padding: 0.8rem 1.5rem;
    border-radius: 4px;
    transition: background-color 0.3s;
    border: none;
}

nav a:hover {
    background-color: #3d3d3d;
    color: #ffffff;
}

/* ===================================
   Contenuto Principale
   - Container principale
   - Sezione hero
   - Sezione features
   - Liste e elementi interni
=================================== */
main {
    max-width: 1000px;
    margin: 2rem auto;
    padding: 0 1rem;
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.hero {
    background-color: #1a1a1a;
    padding: 3rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    border: 2px solid #2d2d2d;
}

.features {
    background-color: #1a1a1a;
    padding: 2rem;
    border-radius: 8px;
    border: 2px solid #2d2d2d;
}

.features ul {
    list-style: none;
    padding: 0;
}

.features li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #2d2d2d;
}

/* ===================================
   Changelog
   - Layout changelog
   - Stili intestazioni
   - Liste e bullet points
   - Grid e cards
   - Effetti hover
=================================== */
.changelog {
    background-color: #1a1a1a;
    padding: 2rem;
    border-radius: 8px;
    margin-top: 4rem;
    border: 2px solid #2d2d2d;
    width: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.changelog code,
.changelog tt {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    background-color: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    padding: 0.08em 0.16em;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    white-space: pre-wrap;
    word-break: break-word;
}

.changelog pre {
    background-color: rgba(255, 255, 255, 0.06);
    border: 1px solid #2d2d2d;
    padding: 1rem;
    border-radius: 10px;
    overflow-x: auto;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #e8e8e8;
    margin: 1.5rem 0;
}

.changelog pre code {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* Gestione responsive dei video */
.changelog video {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1rem auto;
}

/* Contenitore responsivo per video incorporati */
.changelog .video-container {
    position: relative;
    padding-bottom: 56.25%; /* Rapporto 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    margin: 1rem 0;
}

.changelog .video-container iframe,
.changelog .video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.changelog h1 {
    text-align: center;
    margin-bottom: 2rem;
}

.changelog h3 {
    /* tertiary headings should be smaller than h2 and visually distinct */
    color: #ffffff;
    font-size: 0.90em;
    border-bottom: 1px solid #2d2d2d;
    padding-bottom: 0.5rem;
    margin-top: 2rem;
    transition: color 0.5s;
}

.changelog h3:hover {
    color: #bebebe;
}

.changelog ul {
    list-style: none;
    padding-left: 1rem;
}

.changelog ul li {
    position: relative;
    padding: 0.5rem 0;
    padding-left: 1.5rem;
}

.changelog ul li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: #666;
    line-height: 24px; /* Aggiunto per centrare verticalmente */
    top: 50%; /* Aggiunto per centrare verticalmente */
    transform: translateY(-50%); /* Aggiunto per centrare verticalmente */
}

/* Aggiungere questi stili specifici per elenchi con trattini */
.changelog ul li.dash:before {
    content: "-";
    top: 45%; /* Regolato per allineare meglio i trattini */
}

.featured-post-section {
    margin: 2rem 0 0;
}

.featured-post-card {
    display: block;
    background: linear-gradient(135deg, rgba(45, 45, 45, 0.97), rgba(24, 24, 24, 0.97));
    border: 4px solid #7c4dff;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
    position: relative;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.featured-post-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 42px rgba(124, 77, 255, 0.24);
}

.featured-badge {
    display: inline-block;
    margin-bottom: 1rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(124, 77, 255, 0.18);
    color: #f4e8ff;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.featured-post-content {
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.featured-post-image {
    flex: 0 0 220px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.featured-post-image img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.featured-post-info {
    flex: 1;
    text-align: left;
}

.featured-post-info h3 {
    margin: 0 0 0.6rem;
    font-size: 1.25rem;
    color: #ffffff;
}

.featured-post-date {
    margin: 0 0 0.6rem;
    color: #d8c7ff;
    font-weight: 600;
}

.featured-post-description {
    margin: 0 0 1rem;
    color: #ffffff;
    line-height: 1.5;
    font-style: italic;
}

.featured-post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.featured-post-cta {
    margin: 0;
    color: #bbbbbb;
    font-weight: 700;
}

.changelog-list {
    background-color: #1a1a1a;
    padding: 2rem;
    border-radius: 8px;
    margin-top: 4rem;
    border: 2px solid #2d2d2d;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.changelog-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
}

.changelog-card {
    background-color: #2d2d2d;
    padding: 1.5rem;
    border-radius: 6px;
    text-decoration: none;
    color: white;
    transition: transform 0.2s;
    width: 300px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    margin: 0;
}

.changelog-card:hover {
    transform: translateY(-5px);
    background-color: #3d3d3d;
}

.changelog-card h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0.5rem 0;
    font-size: 1.1rem;
}

.changelog-card p {
    margin: 0;
    color: #999;
}


/* Stili per le versioni di manutenzione */
.maintenance-versions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #3d3d3d;
}

.maintenance-header {
    font-size: 0.9rem;
    color: #999;
    margin-bottom: 0.5rem;
}

.maintenance-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.maintenance-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.8rem;
    background: #1a1a1a;
    border-radius: 4px;
    font-size: 0.85rem;
}

.maintenance-item .version {
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 70%;
}

.maintenance-item .date {
    color: #999;
    font-size: 0.8rem;
}

.maintenance-item.more-versions {
    color: #999;
    text-align: center;
    justify-content: center;
    background: transparent;
    font-size: 0.8rem;
}

/* Stili per il pulsante home nei changelog */
.home-button-container {
    text-align: center;
    margin: 3rem 0;
}

.home-button {
    display: inline-block;
    padding: 1rem 2rem;
    background-color: #2d2d2d;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s, transform 0.2s;
    font-size: 1.1rem;
}

.home-button:hover {
    background-color: #3d3d3d;
    transform: translateY(-2px);
}

/* Stili per i controlli dei changelog */
.changelog-controls {
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#search-changelog {
    padding: 0.8rem 1rem;
    border: none;
    border-radius: 4px;
    background: #2d2d2d;
    color: #ffffff;
    width: 100%;
    max-width: 400px;
}

/* Stili per i tag */
.changelog-tags {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.tag {
    font-size: 0.8rem;
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    color: white;
    background: #3d3d3d;
}

/* Colori specifici per tipo di tag */

.tag.lts {
    background: #c78b2b; /* Tag per LTS */
}

.tag.stable {
    background: #28c413; /* Tag per gli Stable */
}

.tag.maintenance {
    background: #19b48e; /* Tag per le Versioni di Manutenzione */
}

.tag.release-candidate {
    background: #ba08ba; /* Tag per le Release Candidate */
}

.tag.pre-release {
    background: #95a5a6; /* Tag per le Pre-Release */
}

.tag.building {
    background: #b80f0f; /* Tag per le Building */
}

.tag.drafts {
    background: #000000; /* Tag per le Bozze */
}

.tag.website {
    background: #6d4bc8; /* Tag per gli aggiornamenti al sito web o altro */
}

.tag.minecraft-news {
    background: #0b589c; /* Tag per gli aggiornamenti del mondo di Minecraft */
}

.tag.more-tags {
    background: #4a4a4a;
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
}

/* Stili per i filtri tag */
.tag-filters {
    margin: 1rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.tag-filter {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 20px;
    background: #2d2d2d;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0.9rem;
}

.tag-filter:hover {
    background: #3d3d3d;
}

.tag-filter.active {
    background: #4a9eff;
}

/* ===================================
   Immagini e Media
   - Thumbnails
   - Immagini responsive
   - Effetti hover
   - Contenimento immagini
=================================== */
.changelog-image {
    width: 100%;
    height: 160px;
    overflow: hidden;
    border-radius: 4px;
    margin-bottom: 1rem;
    background-color: #1a1a1a;
}

.changelog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

.changelog-card:hover .changelog-image img {
    transform: scale(1.05);
}

.changelog img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1rem auto;
    border-radius: 4px;
    object-fit: contain;
    width: auto;
}

.changelog a {
    color: #4a9eff;
    text-decoration: none;
}

.changelog a:hover {
    text-decoration: underline;
}

.changelog blockquote {
    border-left: 4px solid #2d2d2d;
    margin: 1rem 0;
    padding: 0.5rem 1rem;
    background: #1a1a1a;
}

/* Titoli Markdown h1 (solo all'interno dei changelog) */
.changelog h1 {
    /* Highlights principale: grande, centrato, evidente */
    font-size: 2.0em; /* slightly reduced size */
    margin-top: 1.2em;
    margin-bottom: 0.8em;
    color: #ffffff;
    border-bottom: 2px solid #2d2d2d;
    padding-bottom: 0.3rem;
    transition: color 0.2s;
}

/* Titoli Markdown h2 */
.changelog h2 {
    font-size: 1.20em;
    margin-top: 1em;
    margin-bottom: 1em;
}

/* ===================================
   Footer
   - Layout footer
   - Icone social
   - Copyright
   - Effetti hover
=================================== */
footer {
    text-align: center;
    padding: 2rem;
    background-color: #1a1a1a;
    border-top: 4px solid #2d2d2d;
}

.copilot-badge {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1400;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    background: rgba(12, 12, 12, 0.9);
    color: #ffffff;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(8px);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.copilot-badge:hover,
.copilot-badge:focus-visible {
    transform: translateY(-2px);
    background: rgba(24, 24, 24, 0.96);
    outline: none;
}

.copilot-badge_text {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .copilot-badge {
        right: 0.75rem;
        bottom: 0.75rem;
        padding: 0.65rem 0.8rem;
        font-size: 0.85rem;
    }
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.footer-content .social-icons {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 1rem;
    width: 100%;
    box-sizing: border-box;
    max-width: 600px;
    margin: 0 auto;
}

.footer-content .social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;     /* Dimensione fissa del contenitore */
    height: 32px;    /* Dimensione fissa del contenitore */
    opacity: 0.8;
    transition: opacity 0.3s, transform 0.3s;
    text-decoration: none;  /* Aggiunto per nascondere la sottolineatura del link */
}

.footer-content .social-icon:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.footer-content .social-icon:focus {
    outline: 2px solid #4a9eff;
    border-radius: 4px;
}

.footer-content .social-icon img {
    width: 24px;      /* Dimensione fissa dell'icona */
    height: 24px;     /* Dimensione fissa dell'icona */
    object-fit: contain;  /* Mantiene le proporzioni */
}

.footer-content p {
    margin: 0;
    color: #999;
}

.footer-content h3 {
    color: #ffffff;
    font-size: 1.2rem;
    margin: 0 0 1rem 0;
    text-align: center;
}

/* ===================================
   Componenti UI
   - Bottoni
   - Cards
   - Messaggi di errore
   - Stati hover e focus
=================================== */
/* Stili post singolo */
.post-header {
    text-align: center;
    margin-bottom: 2rem;
}

.post-thumbnail {
    max-width: 800px;
    margin: 0 auto 1.5rem;
    border-radius: 8px;
    overflow: hidden;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.post-title {
    font-size: 2.5rem;
    margin: 1rem 0;
    color: #ffffff;
    text-shadow: 2px 2px #000000;
}

.post-date {
    display: inline-block;
    background-color: #272727;
    color: #ffffff;
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    margin: 1rem 0 2rem;
    border: 1px solid #3d3d3d;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}


.error-message {
    text-align: center;
    padding: 2rem;
    background-color: #2d2d2d;
    border-radius: 8px;
    margin-top: 2rem;
}

.error-message img {
    width: 150px;
    height: 150px;
    margin-bottom: 1rem;
}

.error-message h1 {
    color: #ff0000;
    border-bottom: none;
    margin-bottom: 1rem;
}

.error-button {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.8rem 1.5rem;
    background-color: #3d3d3d;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.error-button:hover {
    background-color: #4d4d4d;
}

/* Stili per il layout con sidebar */
.container {
    display: flex;
    gap: 2rem;
    max-width: 1400px;
    margin: 2rem auto;
    padding: 0 1rem;
}

.main-content {
    flex: 1;
    min-width: 0; /* Previene overflow su flex items */
}

.sidebar {
    width: 300px;
    flex-shrink: 0;
    background-color: #1a1a1a;
    border-radius: 8px;
    border: 2px solid #2d2d2d;
    padding: 1.5rem;
    height: fit-content;
    position: sticky;
    top: 2rem;
    box-sizing: border-box;
    overflow: hidden;
}

.sidebar h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #2d2d2d;
}

.project-links {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.project-links li {
    margin-bottom: 1rem;
    width: 100%;
}

.project-links a {
    display: block;
    padding: 0.8rem;
    background-color: #2d2d2d;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    box-sizing: border-box;
}

.project-links a:hover {
    background-color: #3d3d3d;
    transform: translateX(5px);
}

/* Media query per rendere il layout responsive */
@media (max-width: 1024px) {
    .container {
        flex-direction: column;
        padding: 0 1rem;
    }
    
    .sidebar {
        width: 100%;
        position: static;
        margin-top: 2rem;
        max-width: 100%;
    }

    .project-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1rem;
    }

    .project-links li {
        margin-bottom: 0;
    }
}

@media (max-width: 768px) {
    .container {
        padding: 0 0.5rem;
    }

    .sidebar {
        padding: 1rem;
    }

    .project-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 0.25rem;
    }

    .sidebar {
        margin-top: 1rem;
    }

    .project-links a {
        padding: 0.6rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    main {
        padding: 0 0.5rem;
    }

    .changelog {
        padding: 1rem;
    }

    .changelog img {
        max-width: 100%;
        width: auto;
        height: auto;
    }

    .post-title {
        font-size: 1.8rem;
    }

    .post-thumbnail {
        margin: 0 -0.5rem 1.5rem;
        border-radius: 0;
    }
    
    header {
        padding: 1rem;
    }

    header h2 {
        font-size: 2rem;
    }

    .featured-post-card {
        padding: 1rem;
    }

    .featured-post-content {
        flex-direction: column;
        align-items: stretch;
    }

    .featured-post-image {
        flex-basis: auto;
    }

    .featured-post-image img {
        height: 160px;
    }

    .changelog-list {
        padding: 1rem;
        margin-top: 2rem;
    }

    .changelog-grid {
        gap: 1.5rem;
        margin-top: 1rem;
    }

    .changelog-card {
        width: 280px;
    }


    .changelog-image {
        height: 140px;
    }
}

@media (max-width: 480px) {
    .featured-post-card {
        padding: 0.9rem;
    }

    .featured-post-info h3 {
        font-size: 1.1rem;
    }

    .changelog-list {
        padding: 0.5rem;
    }

    .changelog-grid {
        gap: 1rem;
    }

    .changelog-card {
        width: 260px;
    }
}

@media (max-width: 480px) {
    .changelog-card {
        padding: 1rem;
    }

    .changelog-image {
        height: 120px;
    }

    .changelog-card h3 {
        font-size: 1rem;
    }

    .changelog-controls {
        padding: 0 0.5rem;
    }
}

/* Stili per il calendario dei changelog */
.changelog-calendar {
    /* Stili generali per il calendario */
    margin-top: 1rem;
}

/* Correzione commento tronco */
.calendar-year {
    margin-bottom: 2rem;
}

.calendar-year .year-title {
    font-size: 1.4rem;
    color: #ffffff;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #2d2d2d;
}

.calendar-month {
    margin-bottom: 1.5rem;
    margin-left: 1rem;
}

.calendar-month .month-title {
    font-size: 1.1rem;
    color: #ffffff;
    margin-bottom: 0.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid #2d2d2d;
}

.calendar-month ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.calendar-month li {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    background-color: #2d2d2d;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.calendar-month li:hover {
    background-color: #3d3d3d;
}

.calendar-month .date {
    font-size: 0.9rem;
    color: #999;
    min-width: 20px;
}

.calendar-month a {
    color: #ffffff;
    text-decoration: none;
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-month a:hover {
    text-decoration: underline;
}

/* Stili per le versioni di manutenzione */
.maintenance-versions {
    margin-top: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid #2d2d2d;
    font-size: 0.9rem;
}

.maintenance-versions small {
    color: #999;
    display: block;
    margin-bottom: 0.5rem;
}

.maintenance-versions ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.maintenance-versions li {
    color: #999;
    margin-bottom: 0.3rem;
    padding-left: 1rem;
    position: relative;
}

.maintenance-versions li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: #666;
}

/* Stili aggiornati per le versioni di manutenzione */
.maintenance-versions {
    margin-top: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid #2d2d2d;
}

.maintenance-header {
    color: #999;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.maintenance-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.maintenance-item {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem;
    background: #1a1a1a;
    border-radius: 4px;
    color: #999;
    font-size: 0.9rem;
}

.maintenance-item .version {
    color: #4a9eff;
}

.maintenance-item .date {
    color: #666;
}

/* Stili aggiornati per le versioni di manutenzione */
.maintenance-versions {
    margin-top: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid #2d2d2d;
}

.maintenance-header {
    color: #999;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.maintenance-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.maintenance-link {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem;
    background: #1a1a1a;
    border-radius: 4px;
    text-decoration: none;
    color: #999;
    font-size: 0.9rem;
    transition: background-color 0.3s, transform 0.2s;
}

.maintenance-link:hover {
    background: #3d3d3d;
    transform: translateX(5px);
}

.maintenance-link .version {
    color: #4a9eff;
}

.maintenance-link .date {
    color: #666;
}

/* Stili aggiornati per le versioni di manutenzione nel changelog */
.changelog .maintenance-versions {
    margin-top: 3rem;
    padding-top: 1rem;
    border-top: 2px solid #2d2d2d;
}

.changelog .maintenance-versions h3 {
    color: #999;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    border-bottom: none;
}

.changelog .maintenance-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.changelog .maintenance-item {
    display: flex;
    justify-content: space-between;
    padding: 0.8rem;
    background: #2d2d2d;
    border-radius: 4px;
    color: #999;
    font-size: 0.9rem;
}

.changelog .maintenance-item .version {
    color: #4a9eff;
    font-weight: bold;
}

.changelog .maintenance-item .date {
    color: #666;
}

/* Stile per l'indicatore delle versioni aggiuntive */
.maintenance-item.more-versions {
    background: #2d2d2d;
    text-align: center;
    font-size: 0.8rem;
    color: #666;
}

.maintenance-item.more-versions:hover {
    background: #3d3d3d;
}

/* Separatore tra versioni di manutenzione */
.maintenance-separator {
    margin: 3rem 0;
    border: none;
    border-top: 2px solid #2d2d2d;
    width: 100%;
}

.discord-button.alt {
    background-color: #5865F2;
    margin-top: 10px;
    transition: background-color 0.3s ease;
}

.discord-button.alt:hover {
    background-color: #4752C4;
}

.discord-section {
    text-align: center;
    padding: 3rem 1rem;
    background-color: rgba(26, 26, 26, 0.9);
    margin: 2rem 0;
}

.discord-container {
    max-width: 600px;
    margin: 0 auto;
}

.discord-button {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 2rem;
    background-color: #4758c4;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-size: 1.2rem;
    transition: background-color 0.3s ease;
    margin-top: 1.5rem;
}

.discord-button img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    opacity: 0.9;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.discord-button:hover {
    background-color: #0e1ba5;
}

.discord-button:hover img {
    transform: scale(1.2);
    opacity: 1;
}

/* Scroll arrow styles (usato in view-changelog.html) */
#scroll-arrow {
    position: fixed;
    right: 90px;
    bottom: 30%;
    width: 56px;
    height: 56px;
    background: rgba(32, 32, 32, 0.7);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.30);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(12px);
    transition: opacity 180ms ease, transform 180ms ease, background-color 160ms ease;
    z-index: 1000;
    text-decoration: none;
}
#scroll-arrow.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}
#scroll-arrow svg { width: 22px; height: 22px; fill: currentColor; }
@media (max-width: 1024px) {
    /* Su tablet riduciamo leggermente la distanza dal bordo */
    #scroll-arrow { right: 90px; }
}
@media (max-width: 720px) {
    /* Su mobile più compatto: posizionamento vicino al bordo destro del viewport */
    #scroll-arrow { right: 12px; bottom: 18%; width: 48px; height: 48px; }
    #scroll-arrow svg { width: 20px; height: 20px; }
}

/* Override posizione per la sola pagina index: evita sovrapposizioni con elementi della pagina */
.index-page #scroll-arrow {
    right: 60px;    /* più vicino al bordo destro su index */
    bottom: 30%;
    z-index: 1200;  /* assicurati sia sopra gli altri elementi */
}