﻿/* ================= GENERALE SITO ================= */
body {
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    color: #333333;
}
.SitoContenitore {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.SitoRiga {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.SitoLinkAzzurro:link, .SitoLinkAzzurro:visited {
    color: #1e88e5 !important;
}

/* ================= TOP BAR ================= */
.SitoTopBar {
    height: 44px;
    background-color: #ffffff;
    font-size: 0.7em;
    color: #333333;
}

    .SitoTopBar .SitoRiga {
        height: 44px;
    }

.SitoTopBarAzioni {
    display: flex;
    align-items: center;
    font-weight: 600;
    text-transform: uppercase;
}

.SitoSelettoreLingua {
    margin-left: 20px;
}

    .SitoSelettoreLingua a {
        padding: 0 4px;
    }

        .SitoSelettoreLingua a.Attiva {
            color: #1e88e5 !important;
            font-weight: 700;
        }

.SitoCerca {
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid #1e88e5;
    font-size: 1.6em;
    color: #1e88e5 !important;
}

/* ================= HEADER (sopra la hero) ================= */
.SitoHeader {
    position: absolute;
    top: 44px;
    left: 0;
    right: 0;
    z-index: 20;
    padding: 25px 0;
}

.SitoLogo {
    height: 70px;
}

.SitoMenu {
    display: flex;
    gap: 6px;
}

    .SitoMenu a {
        padding: 8px 14px;
        border-radius: 20px;
        font-size: 0.75em;
        font-weight: 600;
        text-transform: uppercase;
        color: #ffffff !important;
        transition: background-color 0.3s ease;
    }

        .SitoMenu a:hover,
        .SitoMenu a.Attiva {
            background-color: #1e88e5;
        }

.SitoMenuToggle {
    display: none;
    background: none;
    border: none;
    color: #ffffff;
    font-size: 2em;
}

/* ================= FOOTER ================= */
.SitoFooter {
    background-color: #ffffff;
    font-size: 0.75em;
    color: #333333;
}

.SitoFooterColonne {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
    padding: 50px 20px;
}

    .SitoFooterColonne a {
        display: block;
        line-height: 22px;
        color: #333333 !important;
    }

        .SitoFooterColonne a:hover {
            color: #1e88e5 !important;
        }

.SitoFooterTitolo {
    font-size: 1.3em;
    font-weight: 700;
    color: #1e88e5;
    margin-bottom: 10px;
}

.SitoSocial {
    display: flex;
    gap: 8px;
}

    .SitoSocial a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border: 1px solid #0a2c52;
        border-radius: 50%;
        font-size: 1.3em;
        color: #0a2c52 !important;
    }

.SitoFooterLoghi {
    border-top: 1px solid #e5e5e5;
    padding: 25px 0;
}

    .SitoFooterLoghi img {
        height: 40px;
    }

.SitoFooterPA {
    max-width: 250px;
}

.SitoFooterCopy {
    padding: 20px;
    text-align: center;
    font-size: 0.9em;
}

/* ================= SEZIONI GENERICHE ================= */
.SitoSezione {
    padding: 90px 20px;
    text-align: center;
}

.SitoContenitoreStretto {
    max-width: 1000px;
    margin: 0 auto;
}

.SitoTitoloSezione {
    margin-bottom: 30px;
    font-size: 2.6em;
    font-weight: 700;
    color: #0a2c52;
}

.SitoTestoSezione {
    margin-bottom: 40px;
    font-size: 0.95em;
    line-height: 1.9;
    text-align: justify;
    text-align-last: center;
    color: #555555;
}

.SitoPulsanteBordo {
    display: inline-block;
    padding: 10px 35px;
    border: 2px solid #1e88e5;
    border-radius: 30px;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

    .SitoPulsanteBordo:link,
    .SitoPulsanteBordo:visited {
        color: #1e88e5 !important;
    }

    .SitoPulsanteBordo:hover {
        background-color: #1e88e5;
        color: #ffffff !important;
    }

/* ================= RICERCA SCIENTIFICA (home) ================= */
.SitoRicerca {
    padding: 110px 0;
    background-color: #f3f3f3;
    background-image: url('/images/sito/ricerca.jpg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
}

.SitoRicercaTesto {
    width: 50%;
    margin-left: auto;
}

.SitoTitoloAzzurro {
    color: #1e88e5;
}

.SitoRicercaTesto .SitoTestoSezione {
    text-align-last: left;
}

.SitoRicercaTesto .TestoDestra {
    text-align: right;
}

/* ================= CAROSELLO PRODOTTI ================= */
.SitoSottotitoloSezione {
    margin: -15px 0 50px 0;
    font-size: 0.95em;
    font-weight: 500;
    color: #333333;
}

.SitoCardProdotto {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 25px 20px 30px 20px;
    border: 1px solid #dddddd;
    background-color: #ffffff;
    text-align: center;
    transition: box-shadow 0.3s ease;
}

.SitoCardProdotto:hover {
    box-shadow: 0 8px 25px rgba(10, 44, 82, 0.12);
}

.SitoCardProdottoFoto {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 220px;
    margin-bottom: 20px;
}

/* Owl forza width:100% sulle img: qui la foto resta proporzionata */
    .SitoCardProdottoFoto img {
        width: auto !important;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

.SitoCardProdottoNome {
    min-height: 40px;
    margin-bottom: 15px;
    font-size: 0.8em;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
    color: #0a2c52;
}

.SitoCardProdottoPrezzo {
    margin-top: auto;
    padding: 6px 18px;
    border-radius: 20px;
    background-color: #1e88e5;
    font-size: 0.85em;
    font-weight: 600;
    color: #ffffff;
}

/* card della stessa altezza dentro Owl */
.SitoCaroselloProdotti .owl-stage {
    display: flex;
}

.SitoCaroselloProdotti .owl-item {
    display: flex;
}

    .SitoCaroselloProdotti .owl-item > div {
        width: calc(100% - 2px);
        height: calc(100% - 2px);
        margin: 1px;
    }
/* pallini a trattino, come lo slider */
.SitoCaroselloProdotti .owl-dots {
    margin-top: 40px !important;
}

.SitoCaroselloProdotti .owl-dots .owl-dot span {
    width: 30px;
    height: 4px;
    margin: 0 4px;
    border-radius: 2px;
    background: #cccccc;
}

.SitoCaroselloProdotti .owl-dots .owl-dot.active span,
.SitoCaroselloProdotti .owl-dots .owl-dot:hover span {
    background: #1e88e5;
}

/* ================= PARTNERSHIP (home) ================= */
.SitoPartnership {
    padding: 90px 0 70px 0;
    background-color: #0a2c52;
    background-image: url('/images/sito/sfondo_partner.jpg');
    background-size: cover;
    background-position: center;
    text-align: center;
}

.SitoTestoPartnership {
    max-width: 1000px;
    margin: 0 auto 60px auto;
    font-size: 0.95em;
    line-height: 1.9;
    color: #ffffff;
}

.SitoMarchio {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
}

    /* Owl forza width:100% sulle img: qui il logo resta proporzionato */
    .SitoMarchio img {
        width: auto !important;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        opacity: 0.9;
        transition: opacity 0.3s ease;
    }

        .SitoMarchio img:hover {
            opacity: 1;
        }

/* pallini a trattino bianchi */
.SitoCaroselloMarchi .owl-dots {
    margin-top: 40px !important;
}

    .SitoCaroselloMarchi .owl-dots .owl-dot span {
        width: 30px;
        height: 4px;
        margin: 0 1px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.4);
    }

    .SitoCaroselloMarchi .owl-dots .owl-dot.active span,
    .SitoCaroselloMarchi .owl-dots .owl-dot:hover span {
        background: #1e88e5;
    }

/* ================= TESTATA PAGINE INTERNE ================= */
.SitoTestata {
    position: relative;
    height: 600px;
    background-size: cover;
    background-position: center;
}

    .SitoTestata::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, rgba(10, 44, 82, 0.75) 0%, rgba(10, 44, 82, 0.45) 100%);
    }

.SitoTestataTesti {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 120px 20px 0 20px; /* spazio per l'header sopra */
    text-align: center;
}

.SitoTestataTitolo {
    margin: 0;
    font-size: 3.5em;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.1;
    color: #1e88e5;
}

/* ================= PAGINA AZIENDA ================= */
.SitoTestoCentrato {
    margin-bottom: 20px;
    text-align: center;
    text-align-last: center;
}

.SitoSettori {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    max-width: 1100px;
    margin: 40px auto 0 auto;
}

.SitoSettore {
    position: relative;
    aspect-ratio: 306 / 344;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

    /* sfumatura blu in basso, sotto la scritta */
    .SitoSettore::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, rgba(10, 44, 82, 0) 50%, rgba(10, 44, 82, 0.85) 100%);
    }

    .SitoSettore span {
        position: absolute;
        left: 10px;
        right: 10px;
        bottom: 25px;
        font-size: 1.05em;
        font-weight: 700;
        text-transform: uppercase;
        text-align: center;
        color: #ffffff;
    }

.SitoSviluppo {
    background-color: #d9e4ea;
    background-image: url('/images/sito/sviluppo.jpg'), linear-gradient(to right, #d6dfe6, #d9e4ea);
}

/* pulsante a bordo blu scuro (Mission) */
.SitoPulsanteBlu {
    border-color: #0a2c52;
}

    .SitoPulsanteBlu:link,
    .SitoPulsanteBlu:visited {
        color: #0a2c52 !important;
    }

    .SitoPulsanteBlu:hover {
        background-color: #0a2c52;
        color: #ffffff !important;
    }

/* ================= CATALOGO: GRIGLIA CATEGORIE ================= */
.SitoGrigliaCategorie {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    max-width: 1100px;
    margin: 50px auto 0 auto;
}

.SitoTileCategoria {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 163 / 227;
    padding: 20px;
    background-color: #0a2c52;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

    /* velo blu sopra la foto */
    .SitoTileCategoria::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: rgba(10, 44, 82, 0.6);
        transition: background-color 0.3s ease;
    }

    /* al passaggio del mouse il velo diventa azzurro, come "Consumabili" nel mockup */
    .SitoTileCategoria:hover::before {
        background-color: rgba(30, 136, 229, 0.85);
    }

    .SitoTileCategoria span {
        position: relative;
        font-size: 1.05em;
        font-weight: 500;
        line-height: 1.2;
        text-transform: uppercase;
        text-align: center;
        color: #ffffff;
    }

    .SitoTileCategoria:hover span {
        font-weight: 700;
    }


/* ================= PAGINA CATEGORIA ================= */
.SitoPaginaCategoria {
    padding: 0 20px 80px 20px;
}

/* breadcrumb disegnato dal SitoLayout, uguale in tutte le pagine */
.SitoBreadcrumbRiga {
    padding-top: 30px;
}

.SitoBreadcrumb {
    margin-bottom: 35px;
    font-size: 0.75em;
    text-align: left;
    color: #555555;
}

    .SitoBreadcrumb a {
        color: #555555 !important;
    }

        .SitoBreadcrumb a:hover {
            color: #1e88e5 !important;
        }

    .SitoBreadcrumb strong {
        font-weight: 700;
        text-transform: uppercase;
        color: #0a2c52;
    }

.SitoCategoriaRiga {
    display: flex;
    align-items: flex-start;
    gap: 45px;
}

/* ---- menu categorie a sinistra ---- */
.SitoMenuCategorie {
    flex: 0 0 250px;
}

.SitoMenuCategorieTitolo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    margin-bottom: 20px;
    border-radius: 25px;
    background-color: #0a2c52;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
}

    .SitoMenuCategorieTitolo:link,
    .SitoMenuCategorieTitolo:visited {
        color: #ffffff !important;
    }

    .SitoMenuCategorieTitolo i {
        font-size: 0.7em;
    }

.SitoMenuCategorie ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.SitoMenuCategorie li a {
    display: block;
    padding: 9px 5px;
    border-bottom: 1px solid #eeeeee;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
    color: #333333 !important;
}

    .SitoMenuCategorie li a:hover,
    .SitoMenuCategorie li.Aperta > a {
        color: #1e88e5 !important;
    }

/* sottocategorie: rientro, pallino azzurro, testo più leggero */
.SitoMenuCategorie li.Livello2 a,
.SitoMenuCategorie li.Livello3 a,
.SitoMenuCategorie li.Livello4 a {
    position: relative;
    font-weight: 400;
}

.SitoMenuCategorie li.Livello2 a {
    padding-left: 22px;
}

.SitoMenuCategorie li.Livello3 a {
    padding-left: 38px;
}

.SitoMenuCategorie li.Livello4 a {
    padding-left: 54px;
}

    .SitoMenuCategorie li.Livello2 a::before,
    .SitoMenuCategorie li.Livello3 a::before,
    .SitoMenuCategorie li.Livello4 a::before {
        content: "";
        position: absolute;
        top: 50%;
        width: 4px;
        height: 4px;
        margin-top: -2px;
        border-radius: 50%;
        background-color: #1e88e5;
    }

.SitoMenuCategorie li.Livello2 a::before {
    left: 8px;
}

.SitoMenuCategorie li.Livello3 a::before {
    left: 24px;
}

.SitoMenuCategorie li.Livello4 a::before {
    left: 40px;
}

/* ---- prodotti ---- */
.SitoCategoriaProdotti {
    flex: 1;
    min-width: 0;
}

.SitoGrigliaProdotti {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

/* ---- paginazione ---- */
.SitoPaginazione {
    margin: 15px 0;
    font-size: 0.8em;
    text-align: right;
    color: #999999;
}

    .SitoPaginazione a {
        padding: 0 3px;
        color: #666666 !important;
    }

        .SitoPaginazione a:hover {
            color: #1e88e5 !important;
        }

.SitoPaginazioneSeparatore {
    padding: 0 4px;
}

.SitoPaginazioneCorrente {
    padding: 0 3px;
    font-weight: 700;
    color: #1e88e5;
}

/* ================= SCHEDA PRODOTTO ================= */

/* fascia scura sotto il menu, nelle pagine senza testata con foto */
.SitoFasciaHeader {
    height: 120px;
    background-color: #0a2c52;
}

.SitoPaginaProdotto {
    padding: 0 20px 70px 20px;
}

.SitoProdottoRiga {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

/* ---- galleria ---- */
.SitoGalleria {
    flex: 1;
    display: flex;
    gap: 25px;
    min-width: 0;
}

.SitoGalleriaMiniature {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 0 0 80px;
}

    .SitoGalleriaMiniature img {
        width: 80px;
        height: 80px;
        padding: 5px;
        border: 1px solid #dddddd;
        object-fit: contain;
        cursor: pointer;
    }

        .SitoGalleriaMiniature img.Attiva,
        .SitoGalleriaMiniature img:hover {
            border-color: #1e88e5;
        }

.SitoGalleriaPrincipale {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 380px;
}

    .SitoGalleriaPrincipale img {
        max-width: 100%;
        max-height: 420px;
        object-fit: contain;
        cursor: zoom-in;
    }

.SitoGalleriaZoom {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.2em;
    color: #333333;
    cursor: pointer;
}

/* ---- dati ---- */
.SitoProdottoDati {
    flex: 1;
    min-width: 0;
}

.SitoProdottoCodice {
    margin-bottom: 8px;
    font-size: 0.75em;
    color: #333333;
}

.SitoProdottoNome {
    margin: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #dddddd;
    font-size: 1.8em;
    font-weight: 600;
    text-transform: uppercase;
    color: #0a2c52;
}

.SitoProdottoPrezzo {
    padding: 15px 0;
    border-bottom: 1px solid #dddddd;
    font-size: 1.9em;
    font-weight: 700;
    color: #1e88e5;
}

    .SitoProdottoPrezzo span {
        font-size: 0.5em;
        font-weight: 500;
        text-transform: uppercase;
    }

.SitoProdottoTesto {
    padding: 20px 0;
    border-bottom: 1px solid #dddddd;
    font-size: 0.85em;
    line-height: 1.7;
    color: #333333;
}

/* ---- quantità, variante, carrello ---- */
.SitoProdottoAcquisto {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    padding-top: 25px;
}

.SitoProdottoQuantita {
    width: 55px;
    height: 42px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    text-align: center;
}

.SitoProdottoVariante {
    height: 42px;
    padding: 0 20px;
    border: 1px solid #333333;
    border-radius: 21px;
    background-color: #ffffff;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
}

.SitoPulsantePieno {
    margin-left: auto;
    padding: 11px 35px;
    border: none;
    border-radius: 25px;
    background-color: #1e88e5;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    color: #ffffff;
    transition: background-color 0.3s ease;
}

    .SitoPulsantePieno:hover {
        background-color: #0a2c52;
    }

/* ---- zoom a schermo intero ---- */
.SitoZoom {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background-color: rgba(0, 0, 0, 0.85);
    cursor: zoom-out;
}

    .SitoZoom img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        background-color: #ffffff;
    }

    .SitoZoom i {
        position: absolute;
        top: 20px;
        right: 25px;
        font-size: 1.6em;
        color: #ffffff;
    }


/* ================= MOBILE ================= */
@media screen and (max-width: 991px) {

    .SitoTopBarDati {
        display: none;
    }

    .SitoMenuToggle {
        display: block;
    }

    .SitoMenu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background-color: #0a2c52;
        padding: 10px 20px;
    }

        .SitoMenu.Aperto {
            display: flex;
        }

    .SitoFooterLoghi .SitoRiga {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .SitoSlide {
        height: 500px;
    }

    .SitoSlideTitolo {
        font-size: 2em;
    }

    .SitoSlideSottotitolo {
        font-size: 1.4em;
    }

    .SitoSezione {
        padding: 50px 20px;
    }

    .SitoTitoloSezione {
        font-size: 1.8em;
    }

    .SitoRicerca {
        padding: 50px 0;
        background-image: linear-gradient(rgba(243, 243, 243, 0.85), rgba(243, 243, 243, 0.85)), url('/images/sito/ricerca.jpg');
        background-size: cover;
    }

    .SitoRicercaTesto {
        width: 100%;
    }

    .SitoPartnership {
        padding: 50px 0 40px 0;
    }

    .SitoTestata {
        height: 400px;
    }

    .SitoTestataTitolo {
        font-size: 2em;
    }

    .SitoSettori {
        grid-template-columns: repeat(2, 1fr);
    }

    .SitoSviluppo {
        background-image: linear-gradient(rgba(243, 243, 243, 0.85), rgba(243, 243, 243, 0.85)), url('/images/sito/sviluppo.jpg');
    }

    .SitoGrigliaCategorie {
        grid-template-columns: repeat(2, 1fr);
    }

    .SitoCategoriaRiga {
        flex-direction: column;
        gap: 30px;
    }

    .SitoMenuCategorie {
        flex: none;
        width: 100%;
    }

    .SitoGrigliaProdotti {
        grid-template-columns: repeat(2, 1fr);
    }

    .SitoFasciaHeader {
        height: 100px;
    }

    .SitoProdottoRiga {
        flex-direction: column;
        gap: 30px;
    }

    .SitoGalleria {
        flex-direction: column-reverse;
        width: 100%;
    }

    .SitoGalleriaMiniature {
        flex-direction: row;
        flex: none;
    }

    .SitoGalleriaPrincipale {
        min-height: 260px;
    }

    .SitoPulsantePieno {
        width: 100%;
        margin-left: 0;
    }

}

/* ================= SLIDER HEADER (home) ================= */
.SitoSlider {
    position: relative;
}

.SitoSlide {
    position: relative;
    height: 750px;
    background-size: cover;
    background-position: center;
}

    /* velo blu sopra la foto, come nel mockup */
    .SitoSlide::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, rgba(10, 44, 82, 0.75) 0%, rgba(10, 44, 82, 0.45) 100%);
    }

.SitoSlideTesti {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 120px 20px 0 20px; /* spazio per l'header sopra */
    text-align: center;
}

.SitoSlideTitolo {
    font-size: 3.5em;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.1;
    color: #1e88e5;
}

.SitoSlideSottotitolo {
    font-size: 2.3em;
    font-weight: 300;
    color: #ffffff;
}

.SitoSlideFirma {
    margin-top: 10px;
    font-size: 1.3em;
    font-style: italic;
    color: #1e88e5;
}

/* rende cliccabile tutta la slide */
.SitoSlideLink {
    position: absolute;
    inset: 0;
    z-index: 2;
}

/* pallini a trattino in basso */
.SitoSlider .owl-dots {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: 0 !important;
}

    .SitoSlider .owl-dots .owl-dot span {
        width: 40px;
        height: 4px;
        margin: 0 4px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.5);
    }

    .SitoSlider .owl-dots .owl-dot.active span,
    .SitoSlider .owl-dots .owl-dot:hover span {
        background: #1e88e5;
    }

/* =====================================================================
   E-COMMERCE E AREA CLIENTI
   ===================================================================== */

/* ================= TOP BAR: UTENTE E CARRELLO ================= */
.SitoTopBarUtente {
    color: #0a2c52;
    text-transform: none;
}

    .SitoTopBarUtente i {
        color: #1e88e5;
    }

/* pulsante che sembra un link (Esci, Modifica...) */
.SitoLinkPulsante {
    padding: 0;
    border: none;
    background: none;
    font-weight: 600;
    text-transform: uppercase;
    color: #1e88e5;
    cursor: pointer;
}

    .SitoLinkPulsante:hover {
        color: #0a2c52;
    }

.SitoIconaCarrello {
    position: relative;
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid #1e88e5;
    font-size: 1.6em;
}

    .SitoIconaCarrello:link,
    .SitoIconaCarrello:visited {
        color: #1e88e5 !important;
    }

.SitoBadgeCarrello {
    position: absolute;
    top: -6px;
    right: -12px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background-color: #0a2c52;
    font-size: 0.5em;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    color: #ffffff;
}

/* ================= PAGINE DI SERVIZIO (carrello, login, ricerca...) ================= */
.SitoPaginaServizio {
    padding: 10px 20px 80px 20px;
}

.SitoTitoloPagina {
    margin: 0 0 30px 0;
    font-size: 2em;
    font-weight: 700;
    color: #0a2c52;
}

.SitoTestoAttesa,
.SitoTestoRisultati {
    font-size: 0.9em;
    color: #555555;
}

.SitoVuoto {
    padding: 60px 20px;
    text-align: center;
    color: #555555;
}

    .SitoVuoto i {
        display: block;
        margin-bottom: 15px;
        font-size: 3.5em;
        color: #cccccc;
    }

.SitoLinkIndietro {
    display: inline-block;
    margin-top: 25px;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
}

    .SitoLinkIndietro:link,
    .SitoLinkIndietro:visited {
        color: #1e88e5 !important;
    }

/* ================= MODULI ================= */
.SitoModulo {
    margin-top: 10px;
}

.SitoGrigliaCampi {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 20px;
}

.SitoCampo {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.SitoGrigliaCampi .SitoCampo {
    margin-bottom: 0;
}

.SitoCampoIntero {
    grid-column: 1 / -1;
}

    .SitoCampo label {
        margin-bottom: 6px;
        font-size: 0.75em;
        font-weight: 600;
        text-transform: uppercase;
        color: #0a2c52;
    }

    .SitoCampo input,
    .SitoCampo select,
    .SitoCampo textarea {
        width: 100%;
        padding: 10px 14px;
        border: 1px solid #cccccc;
        border-radius: 8px;
        background-color: #ffffff;
        font-family: inherit;
        font-size: 0.9em;
        color: #333333;
    }

    .SitoCampo input,
    .SitoCampo select {
        height: 44px;
    }

        .SitoCampo input:focus,
        .SitoCampo select:focus,
        .SitoCampo textarea:focus {
            border-color: #1e88e5;
            outline: none;
            box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.15);
        }

    .SitoCampo small {
        margin-top: 4px;
        font-size: 0.7em;
        color: #888888;
    }

/* indirizzo: via larga + civico stretto, CAP stretto + città larga */
@supports (display: grid) {
    .SitoGrigliaCampi {
        grid-template-columns: repeat(6, 1fr);
    }

        .SitoGrigliaCampi .SitoCampo {
            grid-column: span 3;
        }

        .SitoGrigliaCampi .SitoCampoIntero {
            grid-column: 1 / -1;
        }

        .SitoGrigliaCampi .SitoCampoLargo {
            grid-column: span 4;
        }

        .SitoGrigliaCampi .SitoCampoStretto {
            grid-column: span 2;
        }
}

.SitoTitoloGruppo {
    margin: 30px 0 15px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #dddddd;
    font-size: 0.85em;
    font-weight: 700;
    text-transform: uppercase;
    color: #1e88e5;
}

.SitoIntroModulo {
    margin-bottom: 25px;
    font-size: 0.9em;
    line-height: 1.7;
    color: #555555;
}

.SitoSpunta {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0 0 0;
    font-size: 0.8em;
    line-height: 1.5;
    cursor: pointer;
}

    .SitoSpunta input {
        margin-top: 3px;
        accent-color: #1e88e5;
    }

    .SitoSpunta a:link,
    .SitoSpunta a:visited {
        color: #1e88e5 !important;
        text-decoration: underline;
    }

.SitoPulsanteModulo {
    margin-top: 25px;
    margin-left: 0;
}

.SitoPulsanteLargo {
    display: block;
    width: 100%;
    margin: 20px 0 0 0;
    text-align: center;
}

a.SitoPulsantePieno:link,
a.SitoPulsantePieno:visited {
    color: #ffffff !important;
}

.SitoPulsantePieno:disabled {
    opacity: 0.6;
    cursor: default;
}

/* il pulsante a bordo usato come <button> */
button.SitoPulsanteBordo {
    background-color: transparent;
    color: #1e88e5;
    cursor: pointer;
}

    button.SitoPulsanteBordo:hover {
        background-color: #1e88e5;
        color: #ffffff;
    }

.SitoPulsantiRiga {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

    .SitoPulsantiRiga .SitoPulsantePieno {
        margin-left: 0;
    }

.SitoPulsanteIcona {
    padding: 6px 10px;
    border: none;
    background: none;
    font-size: 1.1em;
    color: #999999;
    cursor: pointer;
}

    .SitoPulsanteIcona:hover {
        color: #d32f2f;
    }

/* ================= AVVISI ================= */
.SitoAvviso {
    margin: 20px 0 0 0;
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 0.85em;
    line-height: 1.6;
}

.SitoAvvisoOk {
    border: 1px solid #b7dfc0;
    background-color: #eef8f0;
    color: #1e6b33;
}

.SitoAvvisoErrore {
    border: 1px solid #f1c0c0;
    background-color: #fdf0f0;
    color: #a12626;
}

.SitoAvvisoLink {
    display: inline-block;
    margin-left: 8px;
    font-weight: 700;
    text-decoration: underline;
}

    .SitoAvvisoLink:link,
    .SitoAvvisoLink:visited {
        color: inherit !important;
    }

/* ================= SCHEDA PRODOTTO: AGGIUNTE ================= */
.SitoProdottoSuRichiesta {
    font-size: 1.2em;
    text-transform: uppercase;
    color: #0a2c52;
}

.SitoProdottoRichiesta {
    margin-top: 25px;
}

/* ================= LOGIN / REGISTRAZIONE ================= */
.SitoBoxAccesso {
    max-width: 460px;
    margin: 0 auto;
}

.SitoBoxModulo {
    max-width: 820px;
    margin: 0 auto;
}

.SitoAccessoLink {
    margin-top: 18px;
    font-size: 0.8em;
    text-align: center;
}

    .SitoAccessoLink a:link,
    .SitoAccessoLink a:visited {
        color: #1e88e5 !important;
        font-weight: 600;
    }

.SitoAccessoNuovo {
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid #dddddd;
    text-align: center;
    font-size: 0.85em;
}

.SitoSceltaTipo {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
}

    .SitoSceltaTipo button {
        flex: 1;
        padding: 14px;
        border: 2px solid #dddddd;
        border-radius: 10px;
        background-color: #ffffff;
        font-size: 0.8em;
        font-weight: 600;
        text-transform: uppercase;
        color: #555555;
        cursor: pointer;
        transition: all 0.2s ease;
    }

        .SitoSceltaTipo button.Attiva {
            border-color: #1e88e5;
            background-color: #eef6fd;
            color: #1e88e5;
        }

/* ================= CARRELLO ================= */
.SitoCarrelloRiga {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.SitoCarrelloElenco {
    flex: 1;
    min-width: 0;
}

.SitoCarrelloIntestazione,
.SitoCarrelloVoce {
    display: flex;
    align-items: center;
    gap: 15px;
}

.SitoCarrelloIntestazione {
    padding: 0 0 10px 0;
    border-bottom: 2px solid #0a2c52;
    font-size: 0.7em;
    font-weight: 700;
    text-transform: uppercase;
    color: #0a2c52;
}

.SitoCarrelloVoce {
    padding: 18px 0;
    border-bottom: 1px solid #eeeeee;
    font-size: 0.85em;
}

.SitoColProdotto {
    flex: 1;
    min-width: 0;
}

.SitoColPrezzo,
.SitoColTotale {
    flex: 0 0 110px;
    text-align: right;
}

.SitoColQuantita {
    flex: 0 0 80px;
    text-align: center;
}

.SitoColElimina {
    flex: 0 0 40px;
    text-align: right;
}

.SitoCarrelloProdotto {
    display: flex;
    align-items: center;
    gap: 15px;
}

.SitoCarrelloFoto {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 80px;
    height: 80px;
    border: 1px solid #eeeeee;
    background-color: #ffffff;
}

    .SitoCarrelloFoto img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

.SitoCarrelloNome {
    font-weight: 600;
    text-transform: uppercase;
}

    .SitoCarrelloNome:link,
    .SitoCarrelloNome:visited {
        color: #0a2c52 !important;
    }

        .SitoCarrelloNome:hover {
            color: #1e88e5 !important;
        }

.SitoCarrelloDettaglio {
    margin-top: 3px;
    font-size: 0.85em;
    color: #777777;
}

.SitoEtichettaMobile {
    display: none;
}

/* ================= RIEPILOGO (carrello e checkout) ================= */
.SitoRiepilogo {
    position: sticky;
    top: 20px;
    flex: 0 0 340px;
    padding: 25px;
    border-radius: 12px;
    background-color: #f3f6f9;
}

.SitoRiepilogoTitolo {
    margin-bottom: 15px;
    font-size: 0.9em;
    font-weight: 700;
    text-transform: uppercase;
    color: #0a2c52;
}

.SitoRiepilogoVoce {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid #dde3ea;
    font-size: 0.85em;
}

    .SitoRiepilogoVoce small {
        color: #888888;
    }

.SitoRiepilogoTotale {
    border-bottom: none;
    padding-top: 15px;
    font-size: 1.15em;
    font-weight: 700;
    color: #1e88e5;
}

.SitoRiepilogoNota {
    margin: 15px 0 0 0;
    font-size: 0.72em;
    line-height: 1.5;
    color: #777777;
}

/* ================= CHECKOUT ================= */
.SitoBloccoCheckout {
    margin-bottom: 25px;
    padding: 25px;
    border: 1px solid #e3e7ec;
    border-radius: 12px;
    background-color: #ffffff;
}

.SitoBloccoTitolo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    font-size: 0.9em;
    font-weight: 700;
    text-transform: uppercase;
    color: #0a2c52;
}

    .SitoBloccoTitolo .SitoLinkPulsante {
        margin-left: auto;
        font-size: 0.85em;
    }

    .SitoBloccoTitolo a.SitoLinkPulsante:link,
    .SitoBloccoTitolo a.SitoLinkPulsante:visited {
        color: #1e88e5 !important;
    }

.SitoBloccoNumero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #1e88e5;
    font-size: 0.85em;
    color: #ffffff;
}

.SitoIndirizzo {
    font-size: 0.85em;
    line-height: 1.7;
    color: #333333;
}

.SitoScelta {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
    padding: 14px 16px;
    border: 1px solid #dddddd;
    border-radius: 10px;
    font-size: 0.85em;
    line-height: 1.6;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

    .SitoScelta.Attiva {
        border-color: #1e88e5;
        background-color: #f5faff;
    }

    .SitoScelta input {
        margin-top: 4px;
        accent-color: #1e88e5;
    }

.SitoSceltaDettaglio {
    display: block;
    margin-top: 8px;
    font-size: 0.95em;
    color: #555555;
}

.SitoModuloRientrato {
    margin: 0 0 15px 0;
    padding: 20px;
    border-radius: 10px;
    background-color: #f7f9fb;
}

.SitoCheckoutArticolo {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #eeeeee;
    font-size: 0.85em;
}

    .SitoCheckoutArticolo:last-child {
        border-bottom: none;
    }

.SitoCheckoutQuantita {
    flex: 0 0 45px;
    font-weight: 700;
    color: #1e88e5;
}

.SitoCheckoutNome {
    flex: 1;
    min-width: 0;
}

    .SitoCheckoutNome small {
        display: block;
        color: #777777;
    }

.SitoCheckoutImporto {
    font-weight: 600;
    white-space: nowrap;
}

/* ================= RICERCA ================= */
.SitoBarraRicerca {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
}

    .SitoBarraRicerca input {
        flex: 1;
        min-width: 0;
        height: 46px;
        padding: 0 20px;
        border: 1px solid #cccccc;
        border-radius: 23px;
        font-family: inherit;
        font-size: 0.9em;
    }

        .SitoBarraRicerca input:focus {
            border-color: #1e88e5;
            outline: none;
        }

    .SitoBarraRicerca .SitoPulsantePieno {
        margin-left: 0;
    }

.SitoGrigliaQuattro {
    grid-template-columns: repeat(4, 1fr);
}

/* ================= CONTATTI ================= */
.SitoContattiRiga {
    display: flex;
    gap: 50px;
    max-width: 1100px;
    margin: 20px auto 0 auto;
    text-align: left;
}

.SitoContattiDati {
    flex: 0 0 320px;
}

.SitoContattiVoce {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    font-size: 0.85em;
    line-height: 1.7;
}

    .SitoContattiVoce i {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        height: 44px;
        border-radius: 50%;
        background-color: #eef6fd;
        font-size: 1.2em;
        color: #1e88e5;
    }

    .SitoContattiVoce a:link,
    .SitoContattiVoce a:visited {
        color: #0a2c52 !important;
    }

.SitoContattiModulo {
    flex: 1;
    min-width: 0;
}

/* ================= NEWS ================= */
.SitoGrigliaNews {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.SitoCardNews {
    display: flex;
    flex-direction: column;
    border: 1px solid #e3e7ec;
    background-color: #ffffff;
    transition: box-shadow 0.3s ease;
}

    .SitoCardNews:hover {
        box-shadow: 0 8px 25px rgba(10, 44, 82, 0.12);
    }

.SitoCardNewsFoto {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 210px;
    background-color: #f3f6f9;
    overflow: hidden;
}

    .SitoCardNewsFoto img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

        .SitoCardNewsFoto img.SitoCardNewsLogo {
            width: 50%;
            height: auto;
            object-fit: contain;
            opacity: 0.4;
        }

.SitoCardNewsTesti {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px;
}

.SitoCardNewsData {
    margin-bottom: 8px;
    font-size: 0.72em;
    font-weight: 600;
    text-transform: uppercase;
    color: #1e88e5;
}

.SitoCardNewsTitolo {
    margin-bottom: 10px;
    font-size: 1em;
    font-weight: 700;
    line-height: 1.35;
    color: #0a2c52;
}

.SitoCardNewsAnteprima {
    margin-bottom: 15px;
    font-size: 0.8em;
    line-height: 1.6;
    color: #555555;
}

.SitoCardNewsLeggi {
    margin-top: auto;
    font-size: 0.72em;
    font-weight: 700;
    text-transform: uppercase;
    color: #1e88e5;
}

.SitoNewsDettaglio {
    max-width: 900px;
}

.SitoNewsFoto {
    display: block;
    max-width: 100%;
    margin: 0 0 30px 0;
}

/* testi liberi (news, pagine istituzionali) */
.SitoTestoLibero {
    font-size: 0.95em;
    line-height: 1.9;
    text-align: left;
    color: #444444;
}

    .SitoTestoLibero h2,
    .SitoTestoLibero h3 {
        margin: 30px 0 15px 0;
        font-weight: 700;
        color: #0a2c52;
    }

    .SitoTestoLibero a:link,
    .SitoTestoLibero a:visited {
        color: #1e88e5 !important;
        text-decoration: underline;
    }

    .SitoTestoLibero img {
        max-width: 100%;
        height: auto;
    }

/* ================= MOBILE: E-COMMERCE ================= */
@media screen and (max-width: 991px) {

    .SitoIconaCarrello {
        margin-left: 12px;
        padding-left: 12px;
    }

    .SitoCerca {
        margin-left: 12px;
        padding-left: 12px;
    }

    .SitoGrigliaCampi .SitoCampo,
    .SitoGrigliaCampi .SitoCampoLargo,
    .SitoGrigliaCampi .SitoCampoStretto {
        grid-column: 1 / -1;
    }

    .SitoCarrelloRiga {
        flex-direction: column;
        gap: 30px;
    }

    .SitoRiepilogo {
        position: static;
        flex: none;
        width: 100%;
    }

    .SitoCarrelloIntestazione {
        display: none;
    }

    .SitoCarrelloVoce {
        flex-wrap: wrap;
        position: relative;
    }

    .SitoColProdotto {
        flex: 0 0 100%;
        padding-right: 40px;
    }

    .SitoColPrezzo,
    .SitoColTotale,
    .SitoColQuantita {
        flex: 1;
        text-align: left;
    }

    .SitoColElimina {
        position: absolute;
        top: 18px;
        right: 0;
    }

    .SitoEtichettaMobile {
        display: inline;
        color: #777777;
    }

    .SitoBloccoCheckout {
        padding: 18px;
    }

    .SitoGrigliaQuattro {
        grid-template-columns: repeat(2, 1fr);
    }

    .SitoContattiRiga {
        flex-direction: column;
        gap: 20px;
    }

    .SitoContattiDati {
        flex: none;
    }

    .SitoGrigliaNews {
        grid-template-columns: 1fr;
    }

    .SitoTitoloPagina {
        font-size: 1.5em;
    }
}

@media screen and (max-width: 575px) {

    .SitoTopBarAzioni {
        font-size: 0.95em;
    }

    .SitoSelettoreLingua {
        margin-left: 10px;
    }

    .SitoBarraRicerca {
        flex-direction: column;
    }

    .SitoSceltaTipo {
        flex-direction: column;
    }

    .SitoGrigliaProdotti,
    .SitoGrigliaQuattro {
        grid-template-columns: 1fr;
    }
}


/* =====================================================================
   PAGINE ISTITUZIONALI
   ===================================================================== */

.SitoSezioneGrigia {
    background-color: #f3f6f9;
}

.SitoSottotitolo {
    margin: 40px 0 15px 0;
    font-size: 1.4em;
    font-weight: 700;
    text-align: left;
    color: #0a2c52;
}

/* menu interno della pagina (Ricerca scientifica) */
.SitoMenuInterno {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 10px;
}

    .SitoMenuInterno a {
        padding: 8px 22px;
        border: 2px solid #1e88e5;
        border-radius: 25px;
        font-size: 0.75em;
        font-weight: 600;
        text-transform: uppercase;
        transition: all 0.3s ease;
    }

        .SitoMenuInterno a:link,
        .SitoMenuInterno a:visited {
            color: #1e88e5 !important;
        }

        .SitoMenuInterno a:hover {
            background-color: #1e88e5;
            color: #ffffff !important;
        }

/* logo centrato tra due blocchi di testo */
.SitoLogoCentrato {
    display: block;
    margin: 30px auto;
    text-align: center;
}

    .SitoLogoCentrato img {
        max-width: 100%;
        max-height: 110px;
    }

/* elenco dei processi (Know how) */
.SitoBloccoProcessi {
    margin: 10px 0 35px 0;
    padding: 25px 30px;
    border-radius: 12px;
    background-color: #ffffff;
    text-align: left;
}

    .SitoBloccoProcessi h3 {
        margin: 0 0 15px 0;
        font-size: 1em;
        font-weight: 700;
        text-transform: uppercase;
        color: #1e88e5;
    }

    .SitoBloccoProcessi ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px 20px;
        margin: 0;
        padding: 0;
        list-style: none;
        font-size: 0.9em;
    }

    .SitoBloccoProcessi strong {
        color: #0a2c52;
    }

/* testo affiancato a una foto, alternato */
.SitoTestoFoto {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-bottom: 35px;
}

    .SitoTestoFoto .SitoTestoLibero {
        flex: 1;
    }

    .SitoTestoFoto img {
        flex: 0 0 40%;
        max-width: 40%;
        height: auto;
        border-radius: 10px;
    }

.SitoTestoFotoInverso {
    flex-direction: row-reverse;
}

/* progetti */
.SitoProgettoGrande {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e3e7ec;
}

    .SitoProgettoGrande img {
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 15px;
    }

.SitoProgetto {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e3e7ec;
}

    .SitoProgetto:last-child {
        border-bottom: none;
    }

.SitoProgettoLogo {
    flex: 0 0 200px;
    text-align: center;
}

    .SitoProgettoLogo img {
        max-width: 100%;
        height: auto;
    }

.SitoLinkDownload {
    display: inline-block;
    margin: 0 20px 5px 0;
    font-size: 0.85em;
    font-weight: 600;
}

    .SitoLinkDownload:link,
    .SitoLinkDownload:visited {
        color: #1e88e5 !important;
    }

/* griglia di loghi con link (Link utili) */
.SitoGrigliaLoghi {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 20px auto 0 auto;
}

.SitoLogoLink {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 140px;
    padding: 20px;
    border: 1px solid #e3e7ec;
    background-color: #ffffff;
    transition: box-shadow 0.3s ease;
}

    .SitoLogoLink:hover {
        box-shadow: 0 8px 25px rgba(10, 44, 82, 0.12);
    }

    .SitoLogoLink img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

/* modulo Jobs: campi allineati a sinistra dentro una sezione centrata */
.SitoModuloSinistra {
    text-align: left;
}

.SitoCampo .SitoCampoFile {
    height: auto;
    padding: 9px 14px;
}

/* ================= MOBILE: PAGINE ISTITUZIONALI ================= */
@media screen and (max-width: 991px) {

    .SitoBloccoProcessi ul {
        grid-template-columns: repeat(2, 1fr);
    }

    .SitoTestoFoto,
    .SitoTestoFotoInverso {
        flex-direction: column;
        gap: 20px;
    }

        .SitoTestoFoto img {
            flex: none;
            max-width: 100%;
        }

    .SitoProgetto {
        flex-direction: column;
        gap: 15px;
    }

    .SitoProgettoLogo {
        flex: none;
        max-width: 220px;
    }

    .SitoGrigliaLoghi {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ================= AREA DOWNLOAD ================= */
.SitoElencoDownload {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}

.SitoDocumento {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 20px;
    border: 1px solid #e3e7ec;
    border-radius: 10px;
    background-color: #ffffff;
    font-size: 0.9em;
    font-weight: 600;
    transition: all 0.3s ease;
}

    .SitoDocumento:link,
    .SitoDocumento:visited {
        color: #0a2c52 !important;
    }

    .SitoDocumento:hover {
        border-color: #1e88e5;
        box-shadow: 0 6px 20px rgba(10, 44, 82, 0.1);
    }

    .SitoDocumento .bi-file-earmark-pdf {
        font-size: 1.6em;
        color: #d32f2f;
    }

    .SitoDocumento span {
        flex: 1;
    }

.SitoDocumentoScarica {
    font-size: 1.2em;
    color: #1e88e5;
}


/* ================= ORDINE COMPLETATO ================= */
.SitoOrdineCompletato {
    text-align: center;
}

.SitoIconaOk {
    display: block;
    margin-bottom: 10px;
    font-size: 4em;
    color: #2e7d32;
}

.SitoNumeroOrdine {
    font-size: 1.1em;
    color: #0a2c52;
}

.SitoCoordinateBonifico {
    margin-top: 25px;
    font-size: 0.9em;
    line-height: 1.8;
    text-align: left;
}
