/* =========================
   FULL-WIDTH HEADER / LOGO
========================= */
.container-header, .header, .navbar, .logo, .site-title {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.container-header .navbar-brand, .logo img, .site-title img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1200px !important; /* grande su desktop */
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
}

/* Responsive logo */
@media (max-width: 992px) {
    .container-header .navbar-brand, .logo img, .site-title img {
        max-width: 800px !important;
    }
}
@media (max-width: 576px) {
    .container-header .navbar-brand, .logo img, .site-title img {
        max-width: 250px !important;
        padding: 0 10px !important;
    }
}

/* =========================
   MENU DESKTOP E MOBILE
========================= */
.container-header .navbar-nav {
    display: flex !important;
    justify-content: center !important; /* centrato desktop */
    width: 100% !important;
    padding-left: 50px !important;
    padding-right: 30px !important;
    margin: 0 !important;
}

.container-header .nav-item {
    margin: 0 15px !important; 
}

.container-header .nav-link {
    color: #fff !important;
    font-weight: 500;
}

.container-header .nav-link:hover {
    color: #c7a84f !important; /* hover dorato */
}

/* Menu mobile e dropdown leggibili */
@media (max-width: 992px) {
    /* Contenitore dropdown mobile */
    .mod-menu__sub {
        background-color: white !important;  /* sfondo sottomenu */
    }

    /* Voci del sottomenu mobile */
    .mod-menu__sub li a {
        color: darkblue !important;          /* testo leggibile */
        font-size: 1rem !important;          /* dimensione uniforme */
        padding: 10px 20px !important;
        text-align: center !important;
    }

    .mod-menu__sub li a:hover,
    .mod-menu__sub li a:focus {
        color: navy !important;              /* hover contrastato */
        background-color: #f0f0f0 !important; /* leggero grigio hover */
    }
}
}

/* =========================
   SLIDE / MAIN-TOP FULL WIDTH
========================= */
.main-top, .moduletable.main-top {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}

.main-top img, .main-top .carousel, .main-top .slider {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border: none !important;
}
}

/* Opzione posizione slide */
.main-top {
    position: relative !important; /* se vuoi spostarla con top/left */
}

/* =========================
   BOX MODULI
========================= */
.moduletable, .moduletable-box, .moduletable.custom, .card, .box {
    border: none !important;
    box-shadow: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 50px !important;
    padding-right: 30px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    border-radius: 6px;
}

/* Box alternati */
.box-white {
    background: #ffffff !important;
    color: #222 !important;
}

.box-blue {
    background: #EAF1F6 !important; /* ripristinato */
    color: #002b5c !important;
}

/* =========================
   TITOLI MODULI CENTRATI CON LINEA ORO
========================= */
.module-title {
    text-align: center !important;
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    color: #002b5c !important;
    margin: 0 0 20px 0 !important;
    padding: 15px 0 !important;
    position: relative;
}

.module-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 3px;
    background-color: #c7a84f;
    margin: 12px auto 0 auto;
}
/* =========================
   MODULO BIANCO CON BORDO SUPERIORE
========================= */

.box-trasparent {
    background-color: #ffffff !important;
    border-top: 2px solid #273B73 !important;
    padding: 10px 10px !important;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Titolo centrato elegante */
.box-trasparent .module-title {
    text-align: center !important;
    color: #273B73 !important;
    font-weight: 600;
    position: relative;
    margin-bottom: 15px;
}

/* Linea dorata sotto il titolo */
.box-trasparent .module-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    background-color: #c7a84f;
    margin: 10px auto 0 auto;
}
}


/* =========================
   FOOTER FULL WIDTH
========================= */
.footer {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #3F5487 !important; /* ripristinato */
    color: #fff !important;
    padding: 20px 30px !important;
    box-sizing: border-box;
    text-align: center !important;
}

.footer a {
    color: #fff !important;
    transition: 0.3s ease;
}

.footer a:hover {
    color: #ff9900 !important;
}

/* =========================
   CORPO PRINCIPALE
========================= */
main, .container, .container-fluid {
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box;
}
/* Logo mobile leggermente più grande */
@media (max-width: 576px) {
    .container-header .navbar-brand, 
    .logo img, 
    .site-title img {
        max-width: 90% !important;   /* occupa più spazio disponibile */
        height: auto !important;
        margin: 0 auto !important;
        padding: 10px 0 !important;
        display: block !important;
    }
}
/* Slide mobile più proporzionata */
@media (max-width: 576px) {
    .main-top img, 
    .main-top .carousel, 
    .main-top .slider {
        max-height: 300px !important;   /* limita altezza */
        width: 100% !important;
        height: auto !important;
        object-fit: cover;              /* mantiene proporzioni */
    }
}