* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    font-family: Raleway, Arial, sans-serif;
    background-color: #11172e; /*#0e182f;*/
    color: #fff;
    overflow-x: hidden;
}

/* STyle per menu */

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background: rgba(0, 0, 0, 0.1);
    padding: 15px 15px 15px 15px;
    border-bottom: solid thin #525462;
    transition: background 0.5s ease;
}

    .main-header.fixed {
        background: rgba(0, 0, 0, 0.9); /* opaco */
    }

    .main-header.opaque {
        background: rgba(0, 0, 0, 0.9); /* quasi opaco - mettere 1 invece di 0.9 se lo vuoi completamente opaco */
    }

    .main-header .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.logo-img {
    position: absolute;
    height: 40px;
    transition: opacity 0.6s ease;
    top: 0;
    left: 0;
}

.logo {
    position: relative;
    width: fit-content;
    height: 45px;
    width: 218px; /* o quanto è largo il logo */
}

.logo-img:not(.visible) {
    opacity: 0;
    pointer-events: none;
}

.logo-img.visible {
    opacity: 1;
    pointer-events: auto;
}

.desktop-nav {
    display: flex;
    gap: 32px;
    font-size: 12px; /* prima non c'era, vedere se toglierlo */
    font-weight: 100;
}

    .desktop-nav a {
        color: white;
        text-decoration: none;
        font-weight: 400;
    }

.hamburger {
    display: none;
    font-size: 28px;
    color: white;
    cursor: pointer;
}

.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    background: #001f3f;
    width: 100%;
    height: 100%;
    padding-top: 100px;
    text-align: center;
    z-index: 998;
    flex-direction: column;
    gap: 20px;
}

    .mobile-menu a {
        display: block;
        color: white;
        font-size: 1.5rem;
        padding: 20px 0;
        text-decoration: none;
    }

/* Stile specifico per il pulsante "Supporto" */
a.btn-menu {
    background-color: #336fe1;
    border-radius: 20px;
    padding: 4px 16px;
    margin-top: -4px;
    transition: background-color 0.3s ease;
}

    a.btn-menu:hover {
        background-color: #a6b8dc;
        color: #000000;
    }

.background-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

/* INTRO **************************************************************************************************/
.intro {
    position: relative;
    margin-top: 0px;
    width: 100%;
    height: 58vh; /* puoi regolare l’altezza */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Video di sfondo */
.intro-background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Sfumatura */
.intro-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(17, 23, 46, 0.4) 0%, #11172e 80%);
    z-index: 1;
}

/* Contenuto */
.intro-content {
    display: flex;
    width: 100%;
    height: 100%;
    padding-left: 15vw;
    padding-right: 15vw;
    box-sizing: border-box;
    color: white;
    z-index: 1;
}

    .intro-content h1 {
        font-size: 3.0rem;
        line-height: 5.5vh;
    }

.intro-col.left {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 60px;
}

.intro-col.right {
    flex: 0 0 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 1.9vw;
    line-height: 2.5vh;
    margin-top: 155px;
}

.BigImage {
    background-position: center 0px;
    background-size: cover;
    height: 90vh;
}

.video-caption {
    position: relative;
    left: 0vw;
    width: 100vw;
    height: 90vh;
    z-index: 9;
    box-sizing: border-box;
    text-align: center;
    color: white;
    box-shadow: rgba(0, 0, 0, 0.8) 0px -20px 50px;
}

.ombra {
    height: 50px;
    width: 110vw;
    box-shadow: -5px 10px 18px -10px rgba(0, 0, 0, 0.8) inset;
    opacity: 1;
}

.content-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

/* Colonna principale */
.main-content {
    flex: 2;
    font-size: 1.1rem;
    line-height: 1.6;
    padding-left: 3vw;
}

.related-content {
    flex: 1;
    display: flex;
    padding-left: 5vw;
    flex-direction: column;
    gap: 40px;
}

    .related-content.uno {
        padding-right: 3vw;
        padding-top: 0vh;
        padding-left: 0vw;
    }

/* Box cliccabile */
.related-box {
    position: relative;
    display: block;
    background-size: cover;
    background-position: center;
    border-radius: 30px;
    min-height: 290px;
    overflow: hidden;
    text-decoration: none;
    transition: background-size 0.4s ease;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
}

/* Overlay testo */
.related-overlay {
    color: white;
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

    .related-overlay h3 {
        margin: 0 0 5px;
        font-size: 1.1rem;
    }

    .related-overlay p {
        margin: 0;
        font-size: 0.9rem;
    }

/* Hover effect: ingrandisce solo lo sfondo */
.related-box:hover {
    background-size: 110%;
}

/* Corpo della pagina interna */
.page-body {
    position: relative;
    margin-top: 0px; /* per lasciare spazio al menu fisso */
    padding: 10vh 12vw 5vh 12vw; /* top right bottom left */
    margin-left: auto;
    margin-right: auto;
    font-family: 'raleway', sans-serif;
    color: white;
    line-height: 1.3;
    background-color: #f5f8fc;
    /* background: linear-gradient(0deg,rgba(8, 12, 24, 1) 0%, rgba(17, 23, 46, 0) 15%, rgba(17, 23, 46, 1) 85%, rgba(8, 12, 24, 1) 100%);*/
    z-index: 8;
}

    .page-body h2 {
        line-height: 1.1;
        margin-bottom: 4vh;
        color: #090c18;
        font-size: 3rem;
    }

    .page-body p {
        font-size: 1rem;
        line-height: 1.3;
        margin-bottom: 4vh;
    }

.elencoInterno {
    font-size: 1rem;
    line-height: 1.3;
    margin-top: -15px;
    list-style-type: none;
}

.RigaElencoInterno {
    padding-bottom: 10px;
}

.section-box-unico {
    padding: 10vh 15vw 20px 15vw;
    /* background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.4) 100%);  ombra bassa presente */
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0) 100%, rgba(0, 0, 0, 0.0) 100%); /* */
}

.box-arrotondato-standalone {
    padding: 5vw;
    border-radius: 30px;
    /*background: #b1b8c4;*/
    /*background: linear-gradient(162deg,rgba(177, 184, 196, 1) 0%, rgba(8, 8, 64, 1) 100%);*/
    box-shadow: 0 1px 26px rgba(0, 0, 0, 0.9);
}

/* Posizionamento personalizzato all'interno di video-caption */
.share-button {
    position: absolute;
    top: -14px; /* metà della sua altezza per uscire del 50% */
    right: 17vw;
    z-index: 20;
}

/* Icona di condivisione */
.share-icon {
    width: 16px;
    height: 16px;
    fill: white;
}

.social-icon {
    width: 16px;
    height: 16px;
    fill: black;
}

.share-panel {
    position: absolute;
    top: 0;
    left: -377%;
    height: 110%;
    background: white;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    border-top-right-radius: 25px;
    transform: translateX(20px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 1;
}

.share-button.active .share-panel {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

.phone-icon {
    width: 16px;
    height: 16px;
    stroke: white;
}

.pulse-circle-language {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    border: 2px solid #0071e3;
    border-radius: 50%;
    background-color: #0071e3;
    animation: pulse 1.8s ease-in-out infinite;
    flex-shrink: 0;
    cursor: pointer;
    transition: transform 0.3s;
    z-index: 20;
}

.language-button {
    position: absolute;
    top: -14px; /* metà della sua altezza per uscire del 50% */
    right: 15vw;
    z-index: 20;
}

/* Icona di condivisione */
.language-icon {
    width: 16px;
    height: 16px;
    fill: white;
}

.language-panel {
    position: absolute;
    top: 0;
    left: -267%;
    height: 111%;
    background: white;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    border-top-right-radius: 25px;
    transform: translateX(20px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 1;
}

.language-button.active .language-panel {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

/* Animazione pulse */
@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(51, 111, 225, 0.6);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(51, 111, 225, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(51, 111, 225, 0);
    }
}

/* Pulsante animato */
.pulse-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    border: 2px solid #0071e3;
    border-radius: 50%;
    background-color: #336fe1;
    animation: pulse 1.5s ease-in-out infinite;
    flex-shrink: 0;
    cursor: pointer;
    transition: transform 0.3s;
    z-index: 20;
}

.gallery-box {
    border-radius: 2rem;
    padding: 2vw 2vw 0.5vw 2vw;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    background-color: #020304;
    position: relative;
}


/* Background separato */
.gallery-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.4s ease, filter 0.4s ease;
    z-index: 0;
}

/* Contenuto testuale */
.gallery-text {
    position: relative;
    z-index: 1;
    color: white;
}

    .gallery-text p {
        padding-top: 140px;
        text-shadow: 0 0 5px rgba(0,0,0,1);
    }

    .gallery-text h3 {
        text-shadow: 0 0 5px rgba(0,0,0,1);
    }

/* Effetti su hover/touch: SOLO sullo sfondo */
.gallery-box:hover .gallery-bg,
.gallery-box.touch-active .gallery-bg {
    transform: scale(1.05);
    filter: brightness(0.8); /* con valori sopra 1 aumenta la luminosità */
}

.TitoloAreaArgomentiCorrelati {
    font-size: 0.8em;
    opacity: 0.8;
    color: white;
}

/* CAROUSEL GALLERY BOX */
.gallery-box-carousel {
    position: relative;
    overflow: hidden;
    border-radius: 2rem;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    background-color: #020304;
    padding: 2vw;
    height: 350px; /* Altezza fissa, puoi regolare */
}

/* Ogni item */
.gallery-carousel-item {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    border-radius: 2rem;
}

    .gallery-carousel-item.active {
        opacity: 1;
        z-index: 1;
    }

/* Background */
.gallery-carousel-bg {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform 0.4s ease, filter 0.4s ease;
    border-radius: 2rem;
    z-index: 0;
}

/* Testo */
.gallery-carousel-text {
    position: relative;
    z-index: 1;
    color: white;
    padding: 2rem;
}

    .gallery-carousel-text h3 {
        text-shadow: 0 0 5px rgba(0,0,0,1);
    }

    .gallery-carousel-text p {
        text-shadow: 0 0 5px rgba(0,0,0,1);
        margin-top: 170px;
        font-size: 0.8rem
    }

/* Effetto hover */
.gallery-carousel-item:hover .gallery-carousel-bg {
    transform: scale(1.05);
    filter: brightness(0.8);
}

/* Frecce */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.0);
    border: none;
    color: white;
    font-size: 2rem;
    padding: 0.5rem 1rem;
    cursor: pointer;
    z-index: 2;
}

    .carousel-btn.prev {
        left: 1rem;
    }

    .carousel-btn.next {
        right: 1rem;
    }

.carousel-indicators {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 3;
}

    .carousel-indicators .indicator {
        width: 8px;
        height: 8px;
        background: rgba(255,255,255,0.5);
        border-radius: 50%;
        cursor: pointer;
        transition: background 0.3s;
    }

        .carousel-indicators .indicator.active {
            background: white;
        }
/* FINE CAROUSEL GALLERY BOX */

/* LAYER CONTATTI ***************************************************************************** */

/* Div nascosto fuori dalla viewport */
.box_contatti {
    position: fixed;
    top: 76px;
    right: -100vw; /* parte fuori dalla viewport a destra */
    width: 98vw;
    height: 78px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: right 0.4s ease;
    z-index: 1000;
    color: black;
    border-bottom-left-radius: 25px;
    border-top-left-radius: 25px;
}

    /* Stato attivo: il div entra */
    .box_contatti.active {
        right: 0;
    }

    /* Testo */
    .box_contatti p {
        margin: 0;
        font-size: 18px;
        font-weight: 500;
    }

    .box_contatti_contenuto_mobile {
        display: none;
    }

/* Pulsante chiusura */
.close-btn {
    position: absolute;
    right: 20px;
    font-size: 22px;
    cursor: pointer;
    user-select: none;
}

/* Frecce rosse a sinistra */
.arrows {
    position: absolute;
    left: 30px;
    font-size: 36px;
    color: red;
    font-weight: bold;
    animation: blink 1.5s infinite;
}

/* Effetto lampeggiante */
@keyframes blink {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.2;
    }
}

/* Link di apertura */
.nav {
    padding: 20px;
    background: #eee;
}

    .nav a {
        cursor: pointer;
        color: #333;
        text-decoration: none;
        font-weight: bold;
    }

/* FINE LAYER CONTATTI ***************************************************************************** */

/* Stato iniziale (invisibile e spostato in basso) */
.fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s ease, transform 1s ease;
}

    /* Stato finale (visibile e in posizione normale) */
    .fade-up.show {
        opacity: 1;
        transform: translateY(0);
    }

.footer {
    position: relative;
    color: #ffffff;
    overflow: hidden;
    font-size: 15px;
    height: 40vh;
}

/* Sfumatura */
.footer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: linear-gradient(to top, rgba(17, 23, 46, 0.4) 0%, #11172e 80%);
    z-index: 1;
}

/* Video di sfondo del footer */
.footer-background-video {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    top: 3vh;
    transform: scaleY(-1); /* Capovolge il video orizzontalmente */
}

.footer-container {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 20px 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.footer-col {
    flex: 1;
    min-width: 250px;
    align-self: flex-end;
    padding-top: 20px;
}

    .footer-col.large {
        flex: 2;
        min-width: 300px;
        align-self: flex-end;
    }

    .footer-col p {
        margin: 10px 0;
        align-self: flex-end;
    }

.logo-footer {
    max-width: 190px;
    margin-bottom: 20px;
    opacity: 1;
}

.logo-small {
    max-width: 270px;
    margin-bottom: -7px;
}

.certificazioni {
    gap: 20px;
    margin-top: 0px;
    text-align: center;
}

    .certificazioni img {
        height: 30px;
    }



.footer-links {
    list-style: none;
    padding: 0;
}

    .footer-links li {
        margin-bottom: 8px;
    }

    .footer-links a {
        color: #bbbbbb;
        text-decoration: underline;
    }

/* Responsive */
@media (max-width: 768px) {
    .desktop-nav {
        display: none;
    }

    .hamburger {
        position: absolute;
        display: block;
        /*margin-right: auto; Spinge tutto a destra */
        z-index: 999;
    }

        .hamburger .icon-close {
            display: none;
            margin-left: 80vw;
        }

        .hamburger .icon-open {
            display: block;
            margin-left: 80vw;
        }

    .mobile-menu.open + .hamburger .icon-open {
        display: inline;
    }

    .mobile-menu.open + .hamburger .icon-close {
        display: inline;
    }

    #cookies-panel {
        font-size: 11px;
        width: 100vw;
    }

    .box_contatti {
        height: 378px;
    }

    .box_contatti_contenuto {
        display: none;
    }

    .box_contatti_contenuto_mobile {
        display: block;
    }

    /* INIZIO INTRO ********************************************************************************* */
    .intro {
        height: 90vh; /* puoi regolare l’altezza */
    }

    .intro-content {
        flex-direction: column;
        padding-left: 5vh;
        padding-right: 5vh;
        text-align: center;
    }

        .intro-content h1 {
            font-size: 1.9rem;
            font-weight: bold;
            line-height: 1.9rem;
        }

    .intro-col.left {
        flex: 0 0 100%;
        justify-content: normal;
        margin-top: 120px;
    }

    .intro-col.right {
        flex: 0 0 100%;
        justify-content: center;
        margin-top: -90vh;
    }
    /* FINE INTRO ********************************************************************************* */

    .testo {
        margin-top: 3vh;
        font-size: 0.9rem;
    }

    .BigImage {
        height: 90vh;
        background-size: auto 110%;
        background-repeat: no-repeat;
    }

    .video-caption {
        min-height: none;
        /*background: linear-gradient(0deg,rgba(2, 3, 4, 1) 40%, rgba(2, 3, 4, 0.2) 90%);  prima era 0.7 */
    }

    .share-button {
        right: 25vw;
    }

    .page-body {
        padding: 4vh 10vw 4vh 10vw; /* top right bottom left */
    }

        .page-body h2 {
            font-size: 2.0rem;
            font-weight: bold;
            line-height: 4.0vh;
        }

        .page-body p {
            font-size: 0.9rem;
            line-height: 1.2;
        }

    .content-grid {
        flex-direction: column;
    }

    .main-content {
        padding-left: 0vw;
    }

    .related-content.uno {
        padding-right: 0vw;
        padding-left: 0vw;
        padding-top: 0vh;
    }

    .gallery-text p {
        margin-top: -40px;
    }

    .footer {
        font-size: 11px;
    }

    .footer-container {
        padding: 10px 10px 10px 0px;
        flex-direction: row;
        align-items: center;
        text-align: center;
        display: flex;
    }

    .footer-col {
        margin-bottom: 0px;
        padding-top: 5px;
    }

    .logo-footer {
        margin-top: 20px;
        margin-bottom: 8px;
        opacity: 1;
    }

    .logo-small {
        visibility: hidden;
    }

    .certificazioni {
        justify-content: center;
        flex-wrap: wrap;
    }

        .certificazioni img {
            height: 25px;
            gap: 10px;
        }

    .copyright {
        margin-top: 10px;
    }
}

/* ----------------------------------------- INIZIO SEZIONE GALLERIA */

.gallery-wrapper {
    position: relative;
    width: 45vw;
    overflow: hidden;
    touch-action: pan-y;
}

.gallery-container {
    display: flex;
    gap: 5vw;
    transition: transform 0.4s ease;
}

.gallery-item {
    flex: 0 0 45vw;
    border-radius: 30px;
    /*background-color: #0e182f;
    background: linear-gradient(180deg,rgba(177, 184, 196, 0.15) 0%, rgba(14, 24, 47, 1) 85%);*/
    padding-left: 2vw;
    padding-right: 10vw;
    min-height: 580px;
    color: #0e182f;
    /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);*/
}

.H3-inPagina {
    line-height: 25px;
}

.P-after-H3 {
    margin-top: -35px
}

.h2GalleryItem {
    color: #090c18;
    font-size: 3rem;
}

.arrow-buttons {
    display: flex;
    justify-content: right;
    margin-right: 10vw;
    gap: 2rem;
}

.arrow {
    font-size: 2rem;
    background: none;
    border: none;
    cursor: pointer;
    user-select: none;
    opacity: 1;
    transition: opacity 0.2s;
    color: white;
}

    .arrow:disabled {
        opacity: 0.3;
        cursor: not-allowed;
    }
/* ----------------------------------------- FINE SEZIONE GALLERIA */

/* Fine Style per menu */

.apple-button-3 {
    bottom: 0vh;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    color: white;
    text-decoration: none;
    border-radius: 2rem;
    background-color: #2e2e30;
    opacity: 0.9;
    /*pointer-events: none;*/
    white-space: nowrap;
}

.apple-button-3-intro {
    bottom: 0vh;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    color: white;
    text-decoration: none;
    border-radius: 2rem;
    background-color: #2e2e30;
    opacity: 0.9;
    /*pointer-events: none;*/
    white-space: nowrap;
    width: 200px;
}

/* Div Cookies basso a destra */
#cookies-fixed-div {
    position: fixed;
    top: 20px;
    right: 0;
    background-color: black;
    color: white;
    padding: 8px 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom-left-radius: 15px;
    border-top-left-radius: 15px;
    font-size: 12px;
    cursor: default;
    z-index: 10;
}

    #cookies-fixed-div span {
        cursor: pointer;
    }

.separator {
    color: white;
    cursor: none;
}

/* Nascondi icona cookie per default */
.cookie-icon {
    display: none;
    color: white;
}

/* Mobile: mostra solo cerchio con icona e posizionalo leggermente distanziato */
@media (max-width: 768px) {
    #cookies-fixed-div {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        padding: 0;
        justify-content: center;
        top: 650px;
        right: 15px;
        box-shadow: 0 0px 3px #ffffff;
    }

        #cookies-fixed-div span:not(.cookie-icon),
        .separator {
            display: none;
        }

    .cookie-icon {
        display: block;
        font-size: 20px;
        cursor: pointer;
        z-index: 1000;
    }

    .gallery-wrapper {
        width: 80vw;
    }

    .gallery-container {
        gap: 0vw;
    }

    .gallery-item {
        flex: 0 0 80vw;
        padding: 7.8vw;
    }

    .gallery-text {
        padding: 0vw 5vw 0.5vw 5vw;
    }

    .arrow-buttons {
        margin-top: 0px;
    }

    .TitoloAreaArgomentiCorrelati {
        padding: 0vw 5vw 0 5vw;
        color: white;
    }
}
/* Pannello a scomparsa */
#cookies-panel {
    position: fixed;
    top: 80px;
    right: -150%;
    width: 400px;
    background-color: white;
    color: black;
    padding: 20px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    transition: right 0.4s ease;
    font-family: 'Raleway', sans-serif;
    z-index: 10;
    border-bottom-left-radius: 15px;
    border-top-left-radius: 15px;
}

    #cookies-panel.active {
        right: 0;
    }

#cookies-confirm-btn {
    display: block;
    margin: 20px auto 0;
    padding: 8px 16px;
    font-family: 'Raleway', sans-serif;
    background-color: black;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}

#language-panel {
    position: fixed;
    top: 55px;
    right: 70px;
    width: 30px;
    background-color: white;
    color: black;
    padding: 8px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    transition: right 0.4s ease;
    font-family: 'Raleway', sans-serif;
    z-index: 10;
    border-radius: 5px;
    font-size: 11px;
    visibility: hidden;
}
