@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/barlow-v13-latin-regular.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/barlow-v13-latin-700.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/noto-sans-v42-latin-regular.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/noto-sans-v42-latin-700.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/noto-sans-v42-latin-500.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/noto-sans-v42-latin-600.woff2') format('woff2');
    font-display: swap;
}

:root {
    --font-heading: 'Barlow', Helvetica, Arial, sans-serif;
    --font-body: 'Barlow', Helvetica, Arial, sans-serif;
    --blue-deep: #004489;
    --blue-light: #00a0d1;
    /*--black-deep: #221F1F;*/
    --black-deep: #818283;
    /*--gray-light: #818283;*/
    --gray-light: #DDDDDE;
}
body {
    font-family: var(--font-body);
    background-image:url("/assets/img/sfondo-foto.png");  background-repeat: no-repeat; background-attachment: fixed; background-position: center; background-size: cover;
}

.navbar-brand {
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: 1px;
}

p{font-family: var(--font-body); font-size:16px; line-height:20px; font-weight:400;}

    
.l-header { display: none; }

/* --- REGOLE STRUTTURALI --- */
.container-custom {
    max-width: 1280px;
    margin: 30px auto 0 auto;
    background-color:#FFFFFF;
}

.row-custom-gutter {
    --bs-gutter-x: 30px !important;
    --bs-gutter-y: 30px;
}

/* --- STILI TEMPORANEI (PLACEHOLDER) --- */
.box-placeholder {
    /*padding: 20px;*/
    padding: 30px;
    border-radius: 0px;
}
.box-placeholder img { width: 100%; }

.box-logo {
    /*background: radial-gradient(circle at bottom right,var(--gray-light) 0%,var(--black-deep) 69%);*/
    background: radial-gradient(circle at bottom right,var(--gray-light) 0%,var(--black-deep) 73%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
}

.box-hero {
    /* Andrea 09072026 */
    background-color: rgba(0,0,0,.05);
    /*background-color: #0b5394;*/
    /* Fine ANdrea 09072026 */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
}

.box-sidebar-menu {
    border-bottom: 0px solid #ddd;
    padding-bottom: 0px;
    margin-bottom: 30px;
}

.box-banner {
    margin-bottom: 30px;
    display: flex;
    align-items: stretch;
    padding: 0px;
    cursor: pointer;
}

.box-img-bg {
    width: 66.6666%;
}

.box-logo-int {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 33.3333%;
    aspect-ratio: 1 / 1;
    position: relative;
}
/*.box-logo-int img {min-width: 80%;}*/

.btn-bottom-custom {
    position: absolute;
    bottom: 30px;
    left: 30px;
    width: calc(100% - 60px);
    border-radius: 0 !important;
}

/* --- STILI FOOTER --- */
.box-footer {
    padding: 30px 0;
    margin-top: 0;
}

.box-footer .footer-row {
    background-color: #F5F5F5;
    margin-right: 0;
    margin-left: 0;
}

.logo-footer-mobile{display:none;}

.footer-row {
    --bs-gutter-y: 0 !important;
    --bs-gutter-x: 30px;
}

.footer-col-left {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 30px !important;
}

.footer-col-right {
    padding-right: 30px !important;
}

.bn-img {
    filter: grayscale(100%);
    transition: 0.8s ease;
    cursor: pointer;
}

/* Modifica Hover */
.box-banner:hover .bn-img,
.bn-img:hover {
    /*filter: grayscale(0%);*/
}

.visore-header-completo {
    background-image: url("/assets/img/gruppo-new.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    cursor: default !important;
}

h2 {font-family: var(--font-heading) !important;color:#004489 !important;font-weight: 700 !important; font-size:22px !important;}
h3 {font-family: var(--font-heading) !important;color:#004489 !important;font-weight: 700 !important; font-size:22px !important; margin-left:15px !important;}

.sgr-consultinvest {
    background-image: url("/assets/img/consultinvest-sgr.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
}

.sgr-consultinvest-logo {
    min-height: 300px;
    background: radial-gradient(circle at bottom right,var(--blue-deep) 0%,var(--blue-light) 69%);
}



.sim-consultinvest {
    background-image: url("/assets/img/immagine-blocco-sim-colori.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
}

.sim-consultinvest-logo {
    min-height: 300px;
    background: radial-gradient(circle at bottom right,var(--blue-light) 0%,var(--blue-deep) 69%);
}

.sgr-consultinvest-logo img{padding-left:30px; padding-right:30px; width:100%;}
.sim-consultinvest-logo img{padding-left:30px; padding-right:30px; width:100%;}

.gradient-wrapper {overflow:hidden;display: flex;position:relative;}

.sfumatura-interattiva {
    display: block;
    width: 100%;
    height: auto;
}

.gradient-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    opacity: 1;
    filter: blur(100px);
    transform: scale(1.1);
    display: none;
}

.btn-bottom-custom {font-size:16px; font-weight:700;line-height: 1.2!important; padding-top:0.3rem; padding-bottom:0.3rem;}
.btn-bottom-custom:hover {color:#00A0D1;}

.menu-sx li {border-bottom:1px solid #818283; padding-top:0.2rem; padding-bottom:0.2rem;}
.menu-sx a {text-decoration:none; color:#221F1F;font-family: Barlow,sans-serif;}
.menu-sx a:hover {font-weight:700;}

/* --- IMMAIGNE DI SFONDO --- */
.bg-image-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* --- OVERLAY HOVER BANNER --- */
.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 40px; 
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    
    opacity: 1; 
    transform: translateX(100%); 
    
    transition: transform 0.35s cubic-bezier(0.1, 0.9, 0.2, 1); 
    
    z-index: 10;
    overflow: hidden; 
}

/* --- STILI PER IL TESTO --- */
.banner-overlay h4,
.banner-overlay p {
    opacity: 1;
    transition: none;
}

/* --- HOVER TRIGGER SUL BOX --- */
.box-banner:hover .banner-overlay {
    transform: translateX(0);
}

.box-banner:hover .banner-overlay h4,
.box-banner:hover .banner-overlay p {
    opacity: 1;
}

.banner-overlay h4 {
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 20px;
    color: #ffffff;
}

.banner-overlay p {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 0;
}

.overlay-sgr { background-color: var(--blue-light); }
.overlay-sim { background-color: var(--blue-deep); }

.btn-grigio {
    font-size: 1em;
    line-height: normal;
    font-weight: 400;
    color: #818283;
    background-color: #ffffff;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid #818283;
    display: block;
    text-align: center;
    padding: 10px 20px;
    margin-top: 40px;
    transition: all .3s;
}
.btn-grigio:hover {
     font-size: 1em;
     line-height: normal;
     font-weight: 400;
     color: #ffffff;
    background-color: #818283;
     text-transform: uppercase;
     text-decoration: none;
     border: 1px solid #818283;
     display: block;
     text-align: center;
     padding: 10px 20px;
     margin-top: 40px;
 }
.box-modello { margin-bottom: 30px; }
.img-organigramma img { width: 100%; }

.mobile-accordions { display: none !important; }


/* --- REGOLE STICKY HEADER E RESPONSIVE FLUIDO --- */
@media (min-width: 991px) {
    .container-custom {
        max-width: 1280px !important;
        width: calc(100% - 60px) !important;
        /* MODIFICATO: Forza il margine alto a 0 per far toccare al box bianco il top della pagina */
        margin-top: 0 !important;
    }

    .header-desktop {
        position: fixed;
        top: 0;
        left: 30px !important;
        right: 30px !important;
        width: auto !important;
        max-width: 1280px !important;
        z-index: 999;
        background-color: #ffffff;
        --bs-gutter-y: 0 !important;
        padding-left:15px;
        padding-right:15px;
		margin-left:0px !important;
		margin-right:0px !important;
    }

    .contenuti{padding-left:3px; padding-right:3px; margin-right: 0 !important; margin-left: 0 !important;}
    .box-il-gruppo { display: none; }
    .box-privati-desktop { display: block; }
    .box-privati-mobile { display: none;}
    .box-banner-mobile{ display: none;}
    .box-banner{ display: flex;}


}

@media (min-width: 1340px) {
    .container-custom {
        max-width: 1280px !important;
    }
    .header-desktop {
        left: 0;
        right: 0;
        margin: 0 auto !important;
        width: 100%;
        max-width: 1280px;
    }
}

.box-hero {
    position: relative;
    overflow: hidden;
}

.visore-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}

.box-hero h1 {
    color: #FFFFFF;
    font-family: var(--font-heading);
    letter-spacing: 0.2em;
    font-weight: 400;
    font-size: 18px;
    text-transform: uppercase;
    text-align: center;
    position: relative;
    z-index: 100;
}

.sticky-sidebar-inner {
    position: relative;
}

/* --- STILI MOBILE --- */
@media (max-width: 990px) {
    body {background-image:none;  background-repeat: no-repeat; background-attachment: fixed; background-position: center; background-color:#FFFFFF;}

    /* Andrea 09072026 */
    /*.box-banner{display:none !important;}*/
    /* Fine Andrea */

    .bn-img {
    filter: grayscale(100%);
    transition: 0.8s ease;
    cursor: pointer;
    }

    .box-il-gruppo { margin-bottom: 30px; }
    .box-privati-desktop { display: none; }
    .box-privati-mobile { display: block; }

    .header-desktop .col-md-3 { display: none; }
    .col-md-3.colonna-sx { display: none; }
    .box-hero{height:300px !important;}
    .box-hero h1{margin-top:35%;}
    .visore-header-completo{height:300px;}

    body.lock-mobile-scroll { overflow: hidden !important; }

    .l-header {
        display: flex;
        position: sticky;
        top: 0;
        z-index: 1000;
        background-color: #ffffff;
        padding: 30px;
        margin: 0;
    }

    .main-container-header-menu {
        width: 100%;
        position: relative;
        border-top: 2px solid transparent;
        border-left: 2px solid transparent;
        border-right: 2px solid transparent;
        box-sizing: border-box;
    }

    .container-header-mobile {
        background: radial-gradient(circle at bottom right,var(--gray-light) 0%,var(--black-deep) 69%);
        padding: 20px 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .ush_image_1 { padding-left: 30px; height: auto; display: flex; align-items: center; }
    .ush_image_1 img { max-height: 35px; width: auto; }

    .ush_menu_1 .w-nav-control { display: flex; text-decoration: none; cursor: pointer; }

    /* --- CONTESTO DI POSIZIONAMENTO --- */
    .container-header-mobile {
        position: relative;
        z-index: 1;
    }

    /* --- DISSOLVENZA SFONDO --- */
    .container-header-mobile::after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: #FFFFFF !important;
        z-index: -1;
        opacity: 0;
        transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
    }

    #page-header.menu-mobile-open .container-header-mobile::after {
        opacity: 1;
    }

    /* --- GESTIONE OMBRA HEADER --- */
    #page-header {
        transition: box-shadow 0.4s ease !important;
    }
    #page-header.menu-mobile-open {
        box-shadow: 0 0 0 rgba(0, 0, 0, 0) !important;
    }

    #page-header .ush_menu_1 { margin-right: 15px !important; }

    /* --- TRANSIZIONE LOGO --- */
    #page-header .ush_image_1 img {
        filter: brightness(0) invert(1);
        transition: filter 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
    }
    #page-header.menu-mobile-open .ush_image_1 img {
        filter: none;
    }

    /* --- EFFECT MORPHING --- */
    .ush_menu_1 .w-nav-control .fa-ellipsis-v,
    .ush_menu_1 .w-nav-control .fa-times {
        display: none !important;
    }

    .ush_menu_1 .w-nav-control .w-nav-icon {
        position: relative;
        width: 24px;
        height: 24px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    .ush_menu_1 .w-nav-control .w-nav-icon::before {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        background-color: #FFFFFF;
        box-shadow:
            0 -9px 0 0 #FFFFFF,
            0  9px 0 0 #FFFFFF,
            0    0 0 0 transparent,
            0    0 0 0 transparent;
    }

    #page-header.menu-mobile-open .ush_menu_1 .w-nav-control .w-nav-icon::before {
        background-color: #00A0D1;
        box-shadow:
            -9px -9px 0 0 #00A0D1,
             9px -9px 0 0 #00A0D1,
            -9px  9px 0 0 #00A0D1,
             9px  9px 0 0 #00A0D1;
        transform: rotate(90deg);
    }

    /* --- MENU LIST & TENDINA --- */
    .w-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #FFFFFF;
        z-index: 999;

        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: all 0.4s ease-in-out;
    }

    #page-header.menu-mobile-open .w-nav-list {
        max-height: 600px;
        opacity: 1;
    }

    .menu-princ-mobile ul { padding-top:30px; padding-bottom:30px; }
    .menu-princ-mobile li a {
        display:block;
        text-transform:uppercase;
        margin-left:30px !important;
        margin-right:30px !important;
        border-bottom:1px solid #e3e7f0;
        padding-top:0.3rem !important;
        padding-bottom:0.3rem !important;
        color: #221F1F;
        text-decoration: none;
    }

    .menu-princ-mobile li.expanded { font-weight:700; padding-bottom:0rem !important; }
    .menu-princ-mobile li.current-menu-item { font-weight:700; }
    .menu-princ-mobile li.current-category-ancestor a { font-weight:700; }
    .menu-princ-mobile li.current-post-ancestor a { font-weight:700; }
    .menu-princ-mobile li.current-menu-ancestor > a { font-weight:700; }

    .menu-princ-mobile .sub-menu { padding-left:0rem !important;margin-left: 0rem !important;padding-top: 0rem !important;border-top:1px solid #818283;margin-top: 0.3rem; }
    .menu-princ-mobile .sub-menu li { padding-left:4rem; }
    .menu-princ-mobile .sub-menu li:last-child { border-bottom:0 solid #818283; }

    /* --- CORNICE AZZURRA --- */
    #page-header.menu-mobile-open .main-container-header-menu {
        border-top-color: #00A0D1;
        border-left-color: #00A0D1;
        border-right-color: #00A0D1;
    }

    #page-header.menu-mobile-open .menu-princ-mobile ul.level_1 {
        border-left: 2px solid #00A0D1;
        border-right: 2px solid #00A0D1;
        border-bottom: 2px solid #00A0D1;
        box-sizing: border-box;
        width: calc(100% + 4px);
        left: -2px;
    }

    .container.container-custom {
        /* Andrea 09072026 */
        margin: 0;
        padding: 0 30px 30px 30px;
        width: 100%;
        /* Fine Andrea 09072026 */
        /*
        margin: 0 auto 0 auto;
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 60px);
         */
        max-width: 100%;
    }

    .box-banner{ display: none;}
    .box-banner-mobile{ display: block; position: relative; transition: all .3s; margin-bottom: 30px;}
    .box-banner-mobile .box-img-bg { width: 100%; height: 100%; overflow: visible; position: absolute; top: 0; left: 0; z-index: 0;
        background: radial-gradient(circle at bottom right, var(--blue-deep) 0%, var(--blue-light) 69%);
    }
    .box-banner-mobile .box-img-bg .overlay-sgr { position: relative; overflow: visible; }
    .box-banner-mobile:hover .box-sgr, .box-banner-mobile:hover .box-sim { visibility: visible; transition: all .3s; }
    .box-banner-mobile:hover .box-sgr { visibility: hidden; z-index: 1 }
    .box-banner-mobile:hover .box-sim { visibility: hidden; z-index: 1 }
    .box-banner-mobile .banner-overlay { transform: none;}

    .sfumatura-interattiva {
        /* Andrea 09072026 */
        display: flex;
        justify-content: center;
        align-items: center;
        /* Fine Andrea 09072026*/

        /*display: block; width: 100%;  height: 250px;*/
    }
    /* Andrea 09072026 */
    .box-hero h1 { margin-top: 0 }
    /* Fine Andrea 09072026*/
    .box-logo-int{width:100%;}
    .footer-col-right{padding-left:30px !important; padding-right:30px; padding-bottom:30px !important;}

    /* =========================================================
       INIZIO: STILI NUOVI ACCORDION MOBILE (SGR / SIM)
       ========================================================= */
    .mobile-accordions {
        display: none;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .accordion-mobile {
        /* Andrea 09072026*/
        display: none;
        /* Fine Andrea 09072026*/
        margin-bottom: 30px;
    }

    .accordion-content ul li a:hover{font-weight:700;}

    .accordion-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 30px;
        cursor: pointer;
        position: relative;
        z-index: 10;
        min-height: 100px !important;
        height: auto;
    }

    .accordion-header .acc-logo {
        max-height: 40px;
        width: auto;
        filter: brightness(0) invert(1);
    }

    .acc-icon-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .custom-burger-icon {
        position: relative;
        width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .custom-burger-icon::before {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        background-color: #FFFFFF;
        box-shadow:
            0 -9px 0 0 #FFFFFF,
            0  9px 0 0 #FFFFFF,
            0    0 0 0 transparent,
            0    0 0 0 transparent;
    }

    .accordion-mobile.is-open .custom-burger-icon::before {
        background-color: #FFFFFF;
        box-shadow:
            -9px -9px 0 0 #FFFFFF,
             9px -9px 0 0 #FFFFFF,
            -9px  9px 0 0 #FFFFFF,
             9px  9px 0 0 #FFFFFF;
        transform: rotate(90deg);
    }

    .accordion-content {
        display: none;
        background: #FFFFFF;
    }

    .accordion-mobile.sgr-acc .accordion-content {
        border-left: 2px solid var(--blue-light);
        border-right: 2px solid var(--blue-light);
        border-bottom: 2px solid var(--blue-light);
    }

    .accordion-mobile.sim-acc .accordion-content {
        border-left: 2px solid var(--blue-deep);
        border-right: 2px solid var(--blue-deep);
        border-bottom: 2px solid var(--blue-deep);
    }

    .accordion-content ul {
        list-style: none;
        padding: 15px 0;
        margin: 0;
    }

    .accordion-content li a {
        display: block;
        text-transform: uppercase;
        margin-left: 30px;
        margin-right: 30px;
        border-bottom: 1px solid #818283;
        padding-top: 0.3rem;
        padding-bottom: 0.3rem;
        color: #221F1F;
        text-decoration: none;
        font-family: var(--font-body);
        font-size: 15px;
    }

    .accordion-content li:last-child a {
        border-bottom: none;
    }
	
	

} /* Chiude max-width: 990px */

    .footer-row .col-md-3{width:25%;padding-right: 0px;} 
	.footer-row .col-md-3 img{width:100%;}
	.footer-row .col-md-9{width:75%;padding-top: 30px;padding-bottom: 30px;} 

@media(min-width:768px) and (max-width:990px){
	.header-desktop .col-md-9{width:100%;}
	.contenuti .col-md-9.testi{width:100%;}
	
	
	.box-logo-int{aspect-ratio: 20/9;}
	.sgr-consultinvest-logo img{width:65%;}
	.sim-consultinvest-logo img{width:65%;}
	.box-logo-int .btn{font-size:16px;}
}

@media(max-width:768px){
.footer-row{display: flex;flex-direction: column;aspect-ratio: 1 / 1; position: relative;}
.col-md-3.footer-col-left{display:none;}
.col-md-9.footer-col-right{width:100%;aspect-ratio: 1 / 1;position: relative; display: flex; flex-direction: column; justify-content: space-between;font-size:16px !important; padding: 30px !important;}
.col-md-9.footer-col-right p{font-size:16px !important;}
.logo-footer-mobile{display:block; margin-top:1rem !important;}
.logo-footer-mobile img{width:75%;}
}