@font-face {
    font-family: 'VT323-Regular';
    src: url(Fonts/VT323-Regular.ttf);
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    min-height: 100vh;
    margin: 0;
    color: white;
    font-family: 'VT323-Regular', monospace;
    background-image: url("SfondoPiedi.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}

/* ======= FONT BASE ======= */
h1 { font-family: 'VT323-Regular'; font-size: 8em; margin: 0; color: white;
     text-shadow: 0 0 10px #ffffff, 0 0 30px #ffffff66; }
h2 { font-family: 'VT323-Regular'; font-size: 4em; margin: 0; color: white;
     text-shadow: 0 0 8px #ffffff88; }
h3 { font-family: 'VT323-Regular'; font-size: 2.5em; color: white; margin: 0 0 15px 0; }
p  { font-family: 'VT323-Regular'; font-size: 1.8em; text-align: left; margin: 8px 0; }
li { font-family: 'VT323-Regular'; font-size: 1.8em; }

/* ======= RIQUADRO ======= */
.riquadro {
    background-color: rgba(0, 0, 0, 0.75);
    border: 2px solid white;
    border-radius: 12px;
    box-shadow: 0 0 8px #ffffff, 0 0 20px #ffffff44;
    padding: 20px;
    color: white;
}

/* ======= PAGE WRAPPER ======= */
.page-wrapper {
    max-width: 900px;
    margin: 0 auto;
    padding: 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ======= BOTTONE BACK ======= */
.btn-back {
    position: fixed;
    top: 20px;
    left: 20px;
    color: white;
    text-decoration: none;
    font-family: 'VT323-Regular';
    font-size: 1.8em;
    background: rgba(0,0,0,0.6);
    border: 2px solid white;
    border-radius: 8px;
    padding: 6px 14px;
    box-shadow: 0 0 8px #ffffff;
    transition: transform 0.2s;
    z-index: 999;
}

.btn-back:hover {
    transform: translateX(-4px);
    color: #ffcc00;
}


/* ======= ACCORDION ======= */
.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin: 0;
    user-select: none;
}

.accordion-header:hover {
    opacity: 0.8;
}

.accordion-arrow {
    font-size: 0.8em;
    transition: transform 0.3s;
    flex-shrink: 0;
}

.accordion-arrow.aperto {
    transform: rotate(180deg);
}

.accordion-content {
    display: none;
    margin-top: 15px;
}

.accordion-content.aperto {
    display: block;
    
    
/* ======= MOBILE ======= */
@media (max-width: 768px) {

    h1 { font-size: 3.5em; }
    h2 { font-size: 2.2em; }
    h3 { font-size: 2em; }
    p, li { font-size: 1.5em; }

    .page-wrapper { padding: 20px 16px; }

    /* Fix sfondo mobile (iOS Safari non supporta fixed) */
    body {
        background-attachment: scroll;
        background-size: cover;
        min-height: 100dvh;    /* dvh funziona meglio su mobile rispetto a vh */
    }
}