/* Corpo del documento */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    background-color: #f8f8f8;
    color: #333;
}

/* Header layout */
header {
    text-align: center;
    padding: 20px 15px;
    margin-bottom: 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Rimosso l'arrotondamento */
}

/* Testo solo per screen-reader */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}


/* Centrare il logo */
#logo {
    display: flex;
    justify-content: center; /* Centrare orizzontalmente */
    align-items: center;    /* Centrare verticalmente */
    margin-bottom: 10px;    /* Spazio sotto il logo */
}

#logo img {
    max-width: 200px;       /* Limita la larghezza massima del logo */
    height: auto;
}

/* Sezioni */
section {
    padding: 20px;
    margin-bottom: 20px;
    background-color: white;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

/* Titoli */
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    margin: 10px 0;
    line-height: 1.2;
    color: inherit;
    text-align: center; /* Centratura dei titoli */
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.75rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

h5 {
    font-size: 1rem;
}

h6 {
    font-size: 0.875rem;
}

/* Paragrafi */
p {
    margin: 10px 0 15px 0;
    font-size: 1rem;
}

/* Liste */
ul, ol {
    margin: 10px 0 15px 20px;
    padding: 0;
}

ul li, ol li {
    margin: 5px 0;
    line-height: 1.5;
}

/* Elenco puntato personalizzato */
.custom-bullet-list {
    list-style: none; /* Rimuove il punto elenco predefinito */
    padding: 0;
    margin: 0;
}

.custom-bullet-list li {
    position: relative;
    padding-left: 30px; /* Spazio per il punto elenco personalizzato */
    margin-bottom: 10px;
    font-size: 1rem;
    line-height: 1.5;
}

.custom-bullet-list li::before {
    content: '✔'; /* Icona per il punto elenco */
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2rem; /* Dimensione dell'icona */
    color: #ffcc00; /* Colore dell'icona */
}


/* Immagini */
img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 10px 0;
}

/* Language Switcher */
#language-switcher {
    display: flex;
    justify-content: center; /* Centra le bandiere orizzontalmente */
    gap: 10px; /* Spazio tra le bandiere */
    margin: 10px 0;
}

#language-switcher img {
    width: 50px; /* Dimensione uniforme delle bandiere */
    height: auto;
    cursor: pointer;
    transition: transform 0.3s ease; /* Animazione su hover */
}

#language-switcher img:hover {
    transform: scale(1.1); /* Leggero ingrandimento su hover */
}

/* Centrare le immagini della galleria */
#image-gallery {
    display: flex;
    flex-wrap: wrap;        /* Permette il ritorno a capo per le immagini */
    justify-content: center; /* Centrare le immagini */
    gap: 15px;              /* Spazio tra le immagini */
}

#image-gallery img {
    max-width: 250px;       /* Limita la dimensione delle immagini */
    height: auto;
    border-radius: 8px;     /* Aggiunge angoli arrotondati */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Aggiunge un'ombra */
    transition: transform 0.3s ease; /* Animazione su hover */
}

#image-gallery img:hover {
    transform: scale(1.05); /* Ingrandimento leggero su hover */
}

/* Pulsanti */
button {
    display: inline-block; /* Garantisce che i pulsanti rimangano centrati */
    border: none;
    padding: 12px 20px;
    margin: 10px auto; /* Centrato orizzontalmente */
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Contenitore pulsanti */
section#contact {
    text-align: center; /* Centratura dei pulsanti */
}

/* Tabelle */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
}

th, td {
    text-align: left;
    padding: 10px;
    border: 1px solid #ddd;
}

/* Link */
a {
    color: #004080;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Media query per dispositivi più grandi */
@media (min-width: 768px) {
    body {
        font-size: 16px;
    }

    header {
        padding: 30px 20px;
    }

    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    #logo img {
        max-width: 400px;       /* Limita la larghezza massima del logo */
        height: auto;
    }

    #image-gallery img {
        max-width: 800px;       /* Limita la dimensione delle immagini */
    }
    
}
