/* ==========================================================
   local-navbar-fix.css  –  ifsam, an FNZ company
   ========================================================== */

/* ==========================================================
   IFSAM MASTER GOLD DESIGN TOKENS
   Base RGB: 184, 146, 79  |  Hex: #B8924F
   ONE RGB — opacity defines hierarchy.
   DO NOT introduce other gold/yellow/amber RGB values.
   ========================================================== */
:root {
    /* Raw RGB for composing any rgba() */
    --ifs-gold-rgb:   184, 146, 79;

    /* Opacity scale — backgrounds, glows, decorations */
    --ifs-gold-05:    rgba(184, 146, 79, 0.05);   /* glow, large bg, halo */
    --ifs-gold-08:    rgba(184, 146, 79, 0.08);   /* icon container bg */
    --ifs-gold-10:    rgba(184, 146, 79, 0.10);   /* badge bg, hover bg, gold-pale */
    --ifs-gold-15:    rgba(184, 146, 79, 0.15);   /* card hover, selected soft */
    --ifs-gold-20:    rgba(184, 146, 79, 0.20);   /* glow shadow, divider medium */
    --ifs-gold-25:    rgba(184, 146, 79, 0.25);   /* card border, secondary border */
    --ifs-gold-30:    rgba(184, 146, 79, 0.30);   /* button secondary border */
    --ifs-gold-35:    rgba(184, 146, 79, 0.35);   /* badge border, outline */
    --ifs-gold-40:    rgba(184, 146, 79, 0.40);   /* active border, icon outline */
    --ifs-gold-50:    rgba(184, 146, 79, 0.50);   /* strong border, header login border */
    --ifs-gold-60:    rgba(184, 146, 79, 0.60);   /* hover border, label */
    --ifs-gold-65:    rgba(184, 146, 79, 0.65);   /* eyebrow, badge text muted */
    --ifs-gold-70:    rgba(184, 146, 79, 0.70);   /* micro heading, label */
    --ifs-gold-80:    rgba(184, 146, 79, 0.80);   /* active icon, KPI number */
    --ifs-gold-85:    rgba(184, 146, 79, 0.85);   /* button secondary text, badge text */
    --ifs-gold-90:    rgba(184, 146, 79, 0.90);   /* selected tab text, strong accent */

    /* Solid references */
    --ifs-gold:       rgb(184, 146, 79);           /* CTA primary bg, headline highlight */
    --ifs-gold-solid: #B8924F;                     /* same as above, for contexts needing hex */

    /* Semantic aliases (backward compat) */
    --ifsam-gold:       #B8924F;
    --ifsam-gold-light: rgba(184, 146, 79, 0.80);
    --ifsam-gold-pale:  rgba(184, 146, 79, 0.10);
}

/* ----------------------------------------------------------
   0. DROPDOWN BACKGROUND OVERLAY – blocca il blu trasparente
      che si sovrappone alla hero
   ---------------------------------------------------------- */

/* Nasconde completamente il backdrop blu che JS anima sotto la navbar */
.js-menu-links-dropdown-background,
.menu-links-dropdown-background {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* L'header NON deve tagliare i dropdown che escono verso il basso */
.js-header,
.header-wrapper,
.absolute-header .js-header,
.sticky-header {
    overflow: visible !important;
}

/* Il contenitore nav non crea contesto overflow che blocca il dropdown */
.menu-unified-btn-parent {
    position: relative !important;
}

/* ----------------------------------------------------------
   1. DROPDOWN MENU – mostra al hover (JS bloccato)
   ---------------------------------------------------------- */
@media (min-width: 1200px) {
    .menu-unified-btn-parent:hover .menu-links-dropdown {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
    .menu-links-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 9999 !important;
        background: #ffffff !important;
        min-width: 320px;
        box-shadow: 0 8px 24px rgba(0,0,0,0.18);
        border-radius: 8px;
        overflow: hidden;
        /* Isola il dropdown dal backdrop-filter della hero */
        isolation: isolate;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    /* Testo descrizioni sempre leggibile e nitido */
    .menu-links-dropdown .menu-links-dropdown-item-title {
        color: #0d111a !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        white-space: nowrap !important;
    }
    .menu-links-dropdown .menu-links-dropdown-item-description {
        color: #525D66 !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
        display: block !important;
        opacity: 1 !important;
        -webkit-font-smoothing: antialiased !important;
        text-rendering: optimizeLegibility !important;
    }
    .menu-links-dropdown .menu-links-dropdown-item svg path,
    .menu-links-dropdown .menu-links-dropdown-item svg polygon,
    .menu-links-dropdown .menu-links-dropdown-item svg polyline,
    .menu-links-dropdown .menu-links-dropdown-item svg rect,
    .menu-links-dropdown .menu-links-dropdown-item svg line {
        stroke: #525D66 !important;
    }
}

/* ----------------------------------------------------------
   1b. HEADER TRASPARENTE – sovrapposto alla hero
   ---------------------------------------------------------- */

/* Posiziona il container sopra la hero (come .absolute-header.active fa il JS) */
.sticky-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    z-index: 10000 !important;
    /* Permette al mouse di passare attraverso le aree trasparenti */
    pointer-events: none !important;
}

/* Ripristina i click solo sui contenuti interattivi */
.sticky-header .header-wrapper,
.sticky-header .header-navbar,
.sticky-header nav,
.sticky-header a,
.sticky-header button,
.sticky-header .menu-unified-btn,
.sticky-header .menu-unified-btn-parent,
.sticky-header .header-top-bar,
.sticky-header .header-bg {
    pointer-events: auto !important;
}

/* Header completamente trasparente */
.absolute-header,
.header-wrapper {
    background: transparent !important;
    height: auto !important;
}

/* Impedisce ad absolute-header di espandersi oltre la navbar */
.absolute-header {
    pointer-events: none !important;
}

/* Menu bianco – visibile su hero scura — SOLO DESKTOP ≥1200px */
@media (min-width: 1200px) {
    .header-wrapper .menu-unified-btn,
    .header-wrapper.dark .menu-unified-btn,
    .header-wrapper.transparent .menu-unified-btn {
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .header-wrapper .menu-unified-btn-parent,
    .header-wrapper.dark .menu-unified-btn-parent,
    .header-wrapper.transparent .menu-unified-btn-parent {
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* ----------------------------------------------------------
   1b. HAMBURGER (TRE LINEE) – visibile su mobile (variante Cel)
       Su header scura il currentColor SVG eredita il colore
       sbagliato; forziamo bianco su tutti i breakpoint < 1200px.
   ---------------------------------------------------------- */
@media (max-width: 1199px) {
    .header-navbar-show-mobile-menu,
    .js-header-navbar-show-mobile-menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        background: none !important;
        border: none !important;
        z-index: 10001 !important;
    }
    /* SVG path fill usa currentColor — forziamo bianco */
    .header-navbar-show-mobile-menu svg,
    .js-header-navbar-show-mobile-menu svg {
        color: #ffffff !important;
        fill: currentColor !important;
    }
    .header-navbar-show-mobile-menu svg path,
    .js-header-navbar-show-mobile-menu svg path {
        fill: #ffffff !important;
    }
}

/* ----------------------------------------------------------
   1c. BOTTONE "APRI UN CONTO" – visibile nella navbar mobile
       Solo su breakpoint < 1200px, tra il Login e l'hamburger.
   ---------------------------------------------------------- */
@media (max-width: 1199px) {
    .header-mobile-open-account-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 36px !important;
        padding: 0 14px !important;
        background: var(--ifs-gold-solid) !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        border-radius: 6px !important;
        border: none !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
        transition: background 0.2s ease !important;
        margin-right: 4px !important;
    }
    .header-mobile-open-account-btn:hover,
    .header-mobile-open-account-btn:active {
        background: rgba(184, 146, 79, 0.85) !important;
        color: #ffffff !important;
        text-decoration: none !important;
    }
}
/* Nasconde il bottone mobile su desktop */
@media (min-width: 1200px) {
    .header-mobile-open-account-btn {
        display: none !important;
    }
}

/* ----------------------------------------------------------
   2. NASCONDI ELEMENTI NON FUNZIONALI IN LOCALE
   ---------------------------------------------------------- */
.open-global-search-btn,
.header-navbar-global-search,
.js-popup-component-open.languageModal,
#languageSwitcher,
.cookies-popup,
#cookie-compliance,
.js-cookie-compliance,
.cookies-bar,
#cookieBar,
.js-cookie-bar,
.informative-popup,
.js-warnings {
    display: none !important;
}

/* ----------------------------------------------------------
   3. LOGO ifsam – SVG trasparente, bianco su header scuro
   ---------------------------------------------------------- */

.header-logo .logo-black,
.header-logo .logo-white {
    height: 64px !important;
    max-height: 64px !important;
    width: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
    opacity: 1 !important;
}
.menu-mobile-header-container-logo {
    height: 48px !important;
    max-height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
}

/* Footer logo */
.overall-footer-logo img,
.overall-footer-top-left > img,
.overall-footer-top-left img {
    height: 80px !important;
    max-height: 80px !important;
    width: auto !important;
    max-width: 220px !important;
    min-width: unset !important;
    object-fit: contain !important;
    object-position: left center !important;
    display: block !important;
}

/* ----------------------------------------------------------
   4. LOGO – un solo logo (logo-black) su tutti gli header
   ---------------------------------------------------------- */

/* Wrapper del logo: nessun bg, padding zero */
.header-logo {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* logo-black visibile su tutti i contesti */
.logo-black {
    display: inline-block !important;
    opacity: 1 !important;
}

/* ----------------------------------------------------------
   5. HEADER SCROLLED – quando header-bg diventa visibile
      il JS espande .header-bg da height:0 a 100%
      e aggiunge .scrolled o rimuove .dark dal header-wrapper
   ---------------------------------------------------------- */
.header-bg {
    background: #05090f !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 2px 24px rgba(0,0,0,0.5) !important;
}


/* ----------------------------------------------------------
   6. HERO – Video background ifsam
      FIX: la sezione hero ha z-index 0 per NON sovrapporsi all'header
   ---------------------------------------------------------- */

/* La sezione hero deve stare SOTTO l'header */
.header-standard-module {
    position: relative !important;
    z-index: 0 !important;
}

/* Wrapper: hero compatta – desktop ≥1200px */
.header-standard-module-wrapper {
    min-height: 480px !important;
    height: 65vh !important;
    height: 65svh !important;
    position: relative !important;
    overflow: hidden !important;
}
/* Laptop 992–1199px */
@media (min-width: 992px) and (max-width: 1199px) {
    .header-standard-module-wrapper {
        height: 68vh !important;
        height: 68svh !important;
    }
}
/* Tablet ≤991px: altezza automatica legata al contenuto */
@media (max-width: 991px) {
    .header-standard-module-wrapper {
        height: auto !important;
        min-height: 72vh !important;
        min-height: 72svh !important;
    }
}
/* Mobile ≤575px: non comprimere il contenuto */
@media (max-width: 575px) {
    .header-standard-module-wrapper {
        height: auto !important;
        min-height: 100vh !important;
        min-height: 100svh !important;
    }
}

/* Immagine: copre tutto, allineata al centro-destra dove c'è l'architettura */
.header-standard-module-image {
    z-index: 0 !important;
    object-fit: cover !important;
    object-position: 65% center !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    image-rendering: auto !important;
}

/* Gradient overlay: rinforza leggibilità testo a sinistra */
.header-standard-module-wrapper::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        to right,
        rgba(4, 14, 28, 0.72) 0%,
        rgba(4, 14, 28, 0.45) 40%,
        rgba(4, 14, 28, 0.10) 70%,
        transparent 100%
    ) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Container testo: sopra l'overlay, allineato a sinistra */
.header-standard-module-container {
    position: relative !important;
    z-index: 2 !important;
    padding-top: 120px !important;
    padding-bottom: 60px !important;
}
@media (max-width: 991px) {
    .header-standard-module-container { padding-top: 90px !important; }
}

/* Heading: bianco puro, peso elevato */
.header-standard-module .foundations-heading {
    color: #ffffff !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.4) !important;
    font-weight: 700 !important;
}

/* Badge tags: stile gold premium in linea con l'immagine */
.header-standard-module .foundations-badge-default-inverted {
    background: var(--ifs-gold-15) !important;
    border: 1px solid var(--ifs-gold-40) !important;
    color: var(--ifs-gold) !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    letter-spacing: 0.04em !important;
    font-size: 11px !important;
    backdrop-filter: blur(4px) !important;
}

/* Bullet list sotto l'heading */
.header-standard-module .foundations-body-inverted-strong p,
.header-standard-module .foundations-body-inverted-strong li {
    color: rgba(255,255,255,0.85) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* Striscia info inferiore — stesso colore del header, testo centrato */
.header-standard-module-additional-info {
    background: #05090f !important;
    position: relative !important;
    z-index: 2 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
    padding: 14px 32px !important;
    /* Sovrascrive Bootstrap .container che limita max-width */
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.header-standard-module-additional-info .container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}
.header-standard-module-additional-info .container::before {
    display: none !important;
}
.header-standard-module-additional-info p,
.header-standard-module-additional-info .foundations-body p {
    color: rgba(255, 255, 255, 0.50) !important;
    font-size: 10.5px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
    width: 100% !important;
}


/* Fallback sfondo scuro se immagine non carica */
.header-standard-module.dark {
    background: linear-gradient(135deg, #040e1c 0%, #071827 60%, #0d1f35 100%) !important;
}

/* ----------------------------------------------------------
   6b. BOTTONE "APRI UN CONTO" — solo hero index (#module9148)
       Colore gold per coerenza con gli altri CTA del sito
   ---------------------------------------------------------- */
#module9148 .foundations-button-primary {
    background: linear-gradient(135deg, var(--ifs-gold) 0%, var(--ifs-gold-70) 100%) !important;
    border: 1px solid var(--ifs-gold-50) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px var(--ifs-gold-35) !important;
    transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.15s ease !important;
}
#module9148 .foundations-button-primary:hover {
    background: linear-gradient(135deg, var(--ifs-gold-90) 0%, var(--ifs-gold-65) 100%) !important;
    box-shadow: 0 6px 28px var(--ifs-gold-50) !important;
    transform: translateY(-1px) !important;
}

/* ----------------------------------------------------------
   7. SLIDER CAROUSEL – layout corretto
   ---------------------------------------------------------- */
.carousel-with-media-module-image-wrapper {
    position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 50% !important;
    height: 100% !important;
}
.carousel-with-media-module-image-wrapper img {
    position: absolute !important;
    bottom: 0 !important; right: 0 !important;
    height: 82% !important;
    width: auto !important;
    max-width: none !important;
}

/* Solo Cybersecurity (#module9084): immagine ritagliata a destra, senza spazio grigio */
#module9084 .carousel-with-media-module-image-wrapper {
    overflow: hidden !important;
}
#module9084 .carousel-with-media-module-image-wrapper img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: right 15% !important;
    max-width: none !important;
}
/* Gradiente fusione: fonde il bordo sinistro dell'immagine con lo sfondo scuro */
#module9084 .carousel-with-media-module-image-wrapper::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background:
        linear-gradient(to right,  #0c1829 0%, #0c1829 5%, transparent 45%),
        linear-gradient(to bottom, #0c1829 0%, transparent 30%),
        linear-gradient(to top,    #0c1829 0%, transparent 20%) !important;
}

/* Solo "Un team a tua disposizione!" (#module10205): stessa logica */
#module10205 .carousel-with-media-module-image-wrapper {
    overflow: hidden !important;
}
#module10205 .carousel-with-media-module-image-wrapper img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: right 10% !important;
    max-width: none !important;
}
#module10205 .carousel-with-media-module-image-wrapper::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background:
        linear-gradient(to right,  #0c1829 0%, #0c1829 5%, transparent 45%),
        linear-gradient(to bottom, #0c1829 0%, transparent 20%),
        linear-gradient(to top,    #0c1829 0%, transparent 15%) !important;
}



/* ----------------------------------------------------------
   Il valore (#module4674) – SVG phone mockup: scala correttamente
   ---------------------------------------------------------- */
#module4674 .foundations-card-small-image-wrapper {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
}
#module4674 .foundations-card-small-image-wrapper > div[aria-hidden="true"] {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    width: 100% !important;
}
#module4674 .foundations-card-small-image-wrapper svg {
    width: 100% !important;
    height: auto !important;
    max-width: 300px !important;
    transform: scale(1.15) translateY(10%) !important;
    transform-origin: bottom center !important;
}

/* ----------------------------------------------------------
   REMOVE: Sezione "Notizie di mercato" — nascosta ovunque
   ---------------------------------------------------------- */
#module237, #module3600, #module891,
#module2643, #module1725, #module2097 {
    display: none !important;
}
/* ----------------------------------------------------------
   7b. SWIPER CAROUSEL – fix locale (Swiper.js non disponibile)
       Rende le slide una alla volta con transizione CSS
   ---------------------------------------------------------- */
#module10218 .swiper-container {
    position: relative !important;
    overflow: hidden !important;
}
#module10218 .swiper-wrapper {
    display: flex !important;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
    width: 100% !important;
}
#module10218 .swiper-slide {
    min-width: 100% !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}
/* Pulsanti prev/next */
#module10218 .swiper-button-prev,
#module10218 .swiper-button-next {
    display: flex !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    cursor: pointer !important;
    background: rgba(255,255,255,0.9) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 44px !important; height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15) !important;
}
#module10218 .swiper-button-prev { left: 8px !important; }
#module10218 .swiper-button-next { right: 8px !important; }
/* Pallini paginazione */
#module10218 .swiper-pagination {
    display: flex !important;
    gap: 6px !important;
    justify-content: center !important;
    padding: 12px 0 4px !important;
}
#module10218 .swiper-pagination-bullet {
    width: 8px !important; height: 8px !important;
    border-radius: 50% !important;
    background: #ccc !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
#module10218 .swiper-pagination-bullet-active {
    background: #333 !important;
}

/* ----------------------------------------------------------
   8. CARD IFS CREDIT LINE – stile premium navy/oro
   ---------------------------------------------------------- */
.foundations-card-big.foundations-card-inverted {
    background: linear-gradient(135deg, #071827 0%, #0B1F33 50%, #1E242B 100%) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid var(--ifs-gold-15) !important;
    box-shadow: 0 24px 64px rgba(0,0,0,0.5), inset 0 1px 0 rgba(184,146,79,0.1) !important;
}
.foundations-card-big.foundations-card-inverted::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(
        -55deg, transparent, transparent 40px,
        rgba(184,146,79,0.04) 40px, rgba(184,146,79,0.04) 41px
    );
    pointer-events: none;
    z-index: 0;
}
.foundations-card-big.foundations-card-inverted .foundations-heading-inverted {
    color: #F5F7FA !important; font-weight: 700 !important;
    position: relative; z-index: 1;
}
.foundations-card-big.foundations-card-inverted .foundations-body-inverted p {
    color: rgba(245,247,250,0.75) !important;
    position: relative; z-index: 1;
}
.foundations-card-big.foundations-card-inverted .foundations-button {
    color: var(--ifs-gold) !important; font-weight: 600 !important;
    position: relative; z-index: 1;
}
.foundations-card-big.foundations-card-inverted .foundations-button:hover { color: var(--ifs-gold-80) !important; }
.foundations-card-big.foundations-card-inverted .foundations-card-big-image-wrapper {
    display: flex !important; align-items: center !important;
    justify-content: center !important; position: relative; z-index: 1;
}
.foundations-card-big.foundations-card-inverted .foundations-card-big-image {
    filter: drop-shadow(-8px 12px 32px rgba(0,0,0,0.6)) !important;
    transition: transform 0.4s ease !important;
}
.foundations-card-big.foundations-card-inverted:hover .foundations-card-big-image {
    transform: translateY(-4px) rotate(-1deg) !important;
}

/* ----------------------------------------------------------
   9. STATS GRID
   ---------------------------------------------------------- */
@media (min-width: 768px) {
    .foundations-grid-3.foundations-grid-3-2 {
        display: flex !important; flex-direction: row !important;
        flex-wrap: nowrap !important; justify-content: space-between !important;
        gap: 15px !important;
    }
    .foundations-grid-3.foundations-grid-3-2 > .foundations-ghost {
        flex: 1 1 0 !important; min-width: 0 !important; padding-right: 10px;
    }
    .foundations-grid-3.foundations-grid-3-2 .foundations-heading {
        font-size: 1.5rem !important; white-space: nowrap !important;
    }
    .foundations-grid-3.foundations-grid-3-2 .foundations-body p {
        font-size: 0.85rem !important;
    }
}

/* ----------------------------------------------------------
   10. VARIE
   ---------------------------------------------------------- */
.header-logo { cursor: pointer; }
.menu-mobile-accordion-btn.active + .menu-mobile-accordion-content {
    display: block !important;
}

/* ----------------------------------------------------------
   10b. FAQ ACCORDION – foundations-accordion
   ---------------------------------------------------------- */

/* Contenuto: collassato di default */
.collapse-content {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.3s ease;
}

/* Contenuto aperto */
.collapse-container.is-open .collapse-content {
    opacity: 1;
    /* max-height impostato via JS inline */
}

/* Pulsante header: layout flex */
.collapse-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: none !important;
    border: none !important;
    text-align: left !important;
    cursor: pointer !important;
    padding: 6px 0 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0f1215 !important;
}

/* Freccia SVG: ruota quando aperto */
.collapse-container.is-open .collapse-header svg {
    transform: rotate(180deg) !important;
    transition: transform 0.3s ease !important;
}
.collapse-header svg {
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
}

/* Separatore tra item */
.collapse-container {
    border-bottom: 1px solid #e8eaed !important;
}
.collapse-container:first-child {
    border-top: 1px solid #e8eaed !important;
}

/* Testo risposta */
.collapse-content .foundations-body p {
    color: #525D66 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    padding-bottom: 16px !important;
    margin: 0 !important;
}


/* ----------------------------------------------------------
   11. SFONDO PAGINA – solo body bianco per eliminare strisce
       scure tra le sezioni. Nessuna modifica agli stili interni.
   ---------------------------------------------------------- */
body,
body.it {
    background-color: #ffffff !important;
}

/* Striscia blackBox: nascosta */
#module4611,
section[data-module="blackBoxListWithElementsModule"] {
    display: none !important;
}

/* Footer: spaziatura verticale compatta */
footer.overall-footer {
    margin-top: 0 !important;
    padding-top: 40px !important;
    padding-bottom: 36px !important;
}

/* Gap logo → menu: 32px */
.overall-footer-top {
    margin-bottom: 32px !important;
}

/* Gap menu footer (ifn-nav) → blocco legale */
#pareto-footer-nav {
    margin-bottom: 36px !important;
}

/* ── Blocco legale ── */
.ifsam-footer-legal {
    margin-top: 0;
}

/* Paragrafi disclaimer: compatti con 15px tra di loro */
.ifsam-footer-legal .overall-footer-notes {
    font-size: 11.5px !important;
    line-height: 1.65 !important;
    color: rgba(13,17,26,0.55) !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
}

/* Ultimo disclaimer → copyright: 20px */
.ifsam-footer-legal .overall-footer-copyright {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
}

/* Copyright row layout */
.overall-footer-copyright {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 4px !important;
    font-size: 11.5px !important;
    color: rgba(13,17,26,0.5) !important;
    margin-top: 14px !important;
}

/* Link legali nel copyright */
.overall-footer-copyright a.ifsam-footer-cookie-policy-lnk {
    font-size: 11.5px !important;
    color: rgba(13,17,26,0.5) !important;
    text-decoration: none !important;
}
.overall-footer-copyright a.ifsam-footer-cookie-policy-lnk:hover {
    color: #b8924f !important;
    text-decoration: underline !important;
}

/* Bottone impostazioni cookie nel copyright */
.overall-footer-copyright .js-cookies-btn,
.overall-footer-copyright .cookiesPopup {
    font-size: 11.5px !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    color: rgba(13,17,26,0.5) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}
.overall-footer-copyright .js-cookies-btn:hover {
    color: #b8924f !important;
    text-decoration: underline !important;
}

/* ── Mobile footer ── */
@media (max-width: 767px) {
    footer.overall-footer {
        padding-top: 32px !important;
        padding-bottom: 28px !important;
    }
    .overall-footer-top {
        margin-bottom: 24px !important;
    }
    #pareto-footer-nav {
        margin-bottom: 28px !important;
    }
    .ifsam-footer-legal .overall-footer-notes {
        font-size: 11px !important;
    }
    .overall-footer-copyright {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    .overall-footer-copyright span[class=""] {
        display: none !important;  /* hide bullet separators on mobile */
    }
}

/* Card piccole: stesse dimensioni immagine per Gestione/Il valore */
#module4674 .foundations-card-wrapper-small .foundations-card-image-wrapper,
#module4674 .foundations-card-wrapper-small .foundations-card-small-image-wrapper {
    height: 280px !important;
    max-height: 280px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 16px !important;
}
#module4674 .foundations-card-wrapper-small .foundations-card-image {
    height: 280px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}
/* SVG inline del telefono */
#module4674 .foundations-card-small-image-wrapper svg {
    width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    display: block !important;
}


/* ----------------------------------------------------------
   Card grande IFS Credit Line (#module4674)
   ---------------------------------------------------------- */
#module4674 .foundations-card-big {
    max-height: 300px !important;
    overflow: hidden !important;
}









/* ----------------------------------------------------------
   12. VISIBILITÀ GLOBALE – forza opacity:1 su tutti gli
       elementi nascosti da animazioni JS mancanti
   ---------------------------------------------------------- */

/* Swiper slides: senza JS rimangono invisibili */
.swiper-wrapper,
.swiper-slide,
.swiper-container {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
}

/* Carousel with media: card e contenuti */
.carousel-with-media-module-slide,
.foundations-card.swiper-slide,
.foundations-card-big,
.foundations-card-wrapper,
.foundations-card-wrapper-small {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Testo e body delle card */
.foundations-card-text,
.foundations-card-big-text,
.foundations-card-body,
.foundations-card-big-body,
.foundations-card-big-heading,
.js-carousel-with-media-module-header-text {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Ghost text e sezioni fade-in */
.foundations-ghost,
.foundations-ghost-text,
.foundations-ghost-media,
.foundations-ghost-image,
.foundations-ghost-icon {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Video fallback — mostra immagine statica */
.foundations-video-fallback-image {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
.foundations-video {
    opacity: 1 !important;
}

/* Boxes con scroll animation */
.boxes-with-scroll-animation-and-kv-module-text,
.boxes-with-scroll-animation-and-kv-module-image {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Immagini slider App */
.slider-with-animation-and-kv-module-item-img {
    opacity: 1 !important;
}
.slider-with-animation-and-kv-module-item-bottom-text {
    opacity: 1 !important;
    max-height: 500px !important;
}

/* Lazy images */
img[data-src],
img[data-srcset],
img.lazyload,
img.lazyloading {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Tabs chevron wrappers */
.foundations-tabs-chevron-wrapper-left,
.foundations-tabs-chevron-wrapper-right {
    opacity: 1 !important;
}

/* Immagine carousel: mostra la prima */
.carousel-with-media-module-image-wrapper img:first-child {
    opacity: 1 !important;
    display: block !important;
}

/* Instruments table */
.js-ab-instruments-table-module table,
.instruments-table-module table {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Company news cards */
.company-news-module-card,
.foundations-card-news {
    opacity: 1 !important;
    transform: none !important;
}

/* ----------------------------------------------------------
   13. SLIDER-WITH-ANIMATION-AND-KV-MODULE
       Fix: le immagini dei telefoni (KV panel) sono posizionate
       absolute dal JS e si sovrappongono al testo senza JS.
       Soluzione: nasconde il pannello KV animato e usa
       un layout a due colonne mostrando le img inline.
   ---------------------------------------------------------- */

/* Layout: wrapper a due colonne – testo a sinistra, kv a destra */
.slider-with-animation-and-kv-module-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
    position: relative !important;
}

/* Colonna testo (steps) – prende 55% */
.slider-with-animation-and-kv-module-slides {
    flex: 0 0 55% !important;
    max-width: 55% !important;
    position: relative !important;
}

/* Pannello KV animato (immagini sovrapposte) – nascondi */
.slider-with-animation-and-kv-module-kv {
    display: none !important;
}

/* Ogni step: layout a riga (icona+testo a sx, img a dx) */
.slider-with-animation-and-kv-module-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 16px 0 !important;
    position: static !important;
}

/* Wrapper dell'immagine inline: mostrata accanto al testo */
.slider-with-animation-and-kv-module-item-img-wrapper {
    flex-shrink: 0 !important;
    width: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.slider-with-animation-and-kv-module-item-img-wrapper img {
    width: 120px !important;
    height: auto !important;
    max-width: 120px !important;
    display: block !important;
    opacity: 1 !important;
}

/* Parte superiore (icona + titolo) e inferiore (descrizione) */
.slider-with-animation-and-kv-module-item-top,
.slider-with-animation-and-kv-module-item-bottom {
    display: block !important;
    opacity: 1 !important;
    max-height: none !important;
    visibility: visible !important;
}

/* Testo degli step sempre visibile */
.slider-with-animation-and-kv-module-item-bottom-text {
    opacity: 1 !important;
    max-height: none !important;
    visibility: visible !important;
}

/* Swiper wrapper: colonna verticale per gli step */
.slider-with-animation-and-kv-module .swiper-wrapper {
    display: flex !important;
    flex-direction: column !important;
    transform: none !important;
    gap: 0 !important;
}

/* Mobile: tutto in una colonna */
@media (max-width: 991px) {
    .slider-with-animation-and-kv-module-wrapper {
        flex-direction: column !important;
    }
    .slider-with-animation-and-kv-module-slides {
        flex: 1 1 auto !important;
        max-width: 100% !important;
    }
    .slider-with-animation-and-kv-module-item-img-wrapper {
        width: 80px !important;
    }
    .slider-with-animation-and-kv-module-item-img-wrapper img {
        width: 80px !important;
        max-width: 80px !important;
    }
}


/* ==========================================================
   MOBILE RESPONSIVE FIX – carousel-with-media-module
   Aggiunto qui per massima priorità (dopo tutte le regole desktop)
   ========================================================== */

/* --- MOBILE < 768px --- */
@media (max-width: 767px) {

    /* La card grande diventa flex colonna: testo sopra, immagine sotto */
    .js-carousel-with-media-module .foundations-card-big,
    .carousel-with-media-module .foundations-card-big {
        display: flex !important;
        flex-direction: column !important;
        position: relative !important;
        overflow: hidden !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
    }

    /* L'heading (testo) resta in cima */
    .js-carousel-with-media-module .foundations-card-big-heading,
    .carousel-with-media-module .foundations-card-big-heading {
        position: relative !important;
        width: 100% !important;
        z-index: 2 !important;
        padding: 24px 20px 16px !important;
        order: 1 !important;
    }

    /* L'image-wrapper torna nel flusso (non più absolute) e va sotto */
    .js-carousel-with-media-module .carousel-with-media-module-image-wrapper,
    .carousel-with-media-module .carousel-with-media-module-image-wrapper,
    .carousel-with-media-module .foundations-card-big-image-wrapper {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        height: 200px !important;
        overflow: hidden !important;
        order: 2 !important;
        flex-shrink: 0 !important;
    }

    /* Immagine dentro il wrapper: object-fit cover */
    .js-carousel-with-media-module .carousel-with-media-module-image-wrapper img,
    .carousel-with-media-module .carousel-with-media-module-image-wrapper img,
    .carousel-with-media-module .foundations-card-big-image-wrapper img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center 20% !important;
    }

    /* Cybersecurity – immagine a destra */
    #module9084 .carousel-with-media-module-image-wrapper img {
        object-position: right 15% !important;
    }

    /* Supporto dedicato – immagine centrata */
    #module10205 .carousel-with-media-module-image-wrapper img {
        object-position: center 10% !important;
    }

    /* Gradiente su mobile più leggero */
    #module9084 .carousel-with-media-module-image-wrapper::before,
    #module10205 .carousel-with-media-module-image-wrapper::before {
        background: linear-gradient(to top, rgba(12,24,41,0.85) 0%, rgba(12,24,41,0.2) 60%, transparent 100%) !important;
    }

    /* Scroll globale – ridondante ma sicuro */
    html, body {
        overflow-y: scroll !important;
        overflow-x: hidden !important;
        height: auto !important;
        max-height: none !important;
    }
}

/* --- TABLET 768–1023px --- */
@media (min-width: 768px) and (max-width: 1023px) {

    .carousel-with-media-module-image-wrapper {
        width: 44% !important;
    }

    .carousel-with-media-module-image-wrapper img {
        height: 88% !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* ================================================================
   HEADER CTA — NAVY / GOLD SYSTEM
   Modifica ESCLUSIVAMENTE i due pulsanti desktop Login + Apri conto
   nell'area .open-account-desktop (>=992px).
   Non altera nulla al di fuori di questo scope.
   ================================================================ */

/* --- Divider --- */
.open-account-desktop .open-account-desktop-divider {
    display: inline-block !important;
    width: 1px !important;
    height: 22px !important;
    background: rgba(255,255,255,0.10) !important;
    margin-right: 18px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

/* --- Gap compatto tra Login e Apri conto --- */
.open-account-desktop {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

/* ---- LOGIN CTA ---- */
.open-account-desktop .header-login-cta {
    background: transparent !important;
    border: 1px solid var(--ifs-gold-65) !important;
    color: var(--ifs-gold) !important;
    border-radius: 7px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    height: 40px !important;
    padding: 0 20px !important;
    line-height: 40px !important;
    letter-spacing: 0.01em !important;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease !important;
    box-shadow: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Hover Login */
.open-account-desktop .header-login-cta:hover,
.open-account-desktop .header-login-cta.header-login-cta--hover {
    background: var(--ifs-gold-05) !important;
    border-color: var(--ifs-gold-90) !important;
    color: var(--ifs-gold-80) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ---- WRAPPER "APRI CONTO" ---- */
.header-open-account-wrap {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
}

/* ---- "APRI CONTO" CTA ---- */
.header-open-account-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: var(--ifs-gold) !important;
    color: #07111B !important;
    border: none !important;
    border-radius: 7px !important;
    height: 40px !important;
    min-width: 128px !important;
    padding: 0 18px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    line-height: 40px !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 180ms ease, color 180ms ease !important;
    box-shadow: none !important;
}

.header-open-account-cta:hover {
    background: var(--ifs-gold-80) !important;
    color: #07111B !important;
    text-decoration: none !important;
}

/* Arrow centrata verticalmente */
.header-cta-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

/* ---- RESPONSIVE: visibile solo desktop >=992px ---- */
@media (max-width: 991.98px) {
    .header-open-account-wrap {
        display: none !important;
    }
}


/* ══ ALTERNATIVE ASSETS HUB — dropdown items ══ */
.aa-hub-separator {
    padding: 18px 16px 8px !important;
    cursor: default !important;
    pointer-events: none !important;
    list-style: none !important;
}
.aa-hub-separator-line {
    height: 1px;
    background: rgba(255,255,255,0.08);
    margin-bottom: 12px;
}
.aa-hub-label {
    display: block;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(184,146,79,0.85) !important;
    padding: 0 2px !important;
    line-height: 1 !important;
}
.aa-hub-item .menu-links-dropdown-item {
    border-left: 2px solid transparent !important;
    transition: border-color 0.2s ease !important;
}
.aa-hub-item .menu-links-dropdown-item:hover {


/* ══ ALTERNATIVE ASSETS HUB — dropdown items ══ */
.aa-hub-separator {
    padding: 18px 16px 8px !important;
    cursor: default !important;
    pointer-events: none !important;
    list-style: none !important;
}
.aa-hub-separator-line {
    height: 1px;
    background: rgba(255,255,255,0.08);
    margin-bottom: 12px;
}
.aa-hub-label {
    display: block;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(184,146,79,0.85) !important;
    padding: 0 2px !important;
    line-height: 1 !important;
}
.aa-hub-item .menu-links-dropdown-item {
    border-left: 2px solid transparent !important;
    transition: border-color 0.2s ease !important;
}
.aa-hub-item .menu-links-dropdown-item:hover {
    border-left-color: rgba(184,146,79,0.5) !important;
}
.aa-hub-item .menu-links-dropdown-item-title {
    color: #0d111a !important;
}
.aa-hub-item .menu-links-dropdown-item-description {
    color: rgba(184,146,79,0.72) !important;
    font-size: 11px !important;
}

/* ==========================================================
   MOBILE MENU FIX – visibilità testo e logo sul pannello bianco
   Root cause: .header-wrapper .menu-unified-btn { color:#fff }
   eredita il colore bianco anche sul pannello mobile bianco.
   Soluzione: override scoped a .js-menu-mobile.open
   Desktop (≥1200px) non è toccato.
   ========================================================== */

/* ── Pannello aperto: testo scuro su background bianco ── */
.js-menu-mobile.open .menu-unified-btn,
.js-menu-mobile.open .menu-unified-btn-parent,
.js-menu-mobile .menu-unified-btn {
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    opacity: 1 !important;
}

/* ── Voci principali: navy, peso adeguato ── */
.js-menu-mobile .menu-unified-btn.menu-mobile-accordion-btn,
.js-menu-mobile .menu-mobile-accordion-btn {
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 16px 20px !important;
    background: none !important;
    border: none !important;
    text-align: left !important;
    cursor: pointer !important;
    justify-content: space-between !important;
}

/* ── Icona freccia dropdown: visibile e allineata ── */
.js-menu-mobile .menu-unified-btn-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}
.js-menu-mobile .menu-unified-btn-icon img {
    opacity: 0.6 !important;
    filter: invert(1) brightness(0) !important; /* trasforma in nero per background bianco */
}

/* ── Voce senza dropdown (link diretto) ── */
.js-menu-mobile .menu-unified-btn:not(.menu-mobile-accordion-btn) {
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* ── Area voce genitore: separatore ── */
.js-menu-mobile .menu-unified-btn-parent {
    color: #0d111a !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}
.js-menu-mobile .menu-unified-btn-parent:first-child {
    border-top: 1px solid rgba(0,0,0,0.07) !important;
}

/* ── Sottomenu / dropdown aperto ── */
.js-menu-mobile .menu-links-dropdown .menu-links-dropdown-item-title {
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}
.js-menu-mobile .menu-links-dropdown .menu-links-dropdown-item-description {
    color: rgba(13,17,26,0.55) !important;
    -webkit-text-fill-color: rgba(13,17,26,0.55) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    display: block !important;
    opacity: 1 !important;
}
.js-menu-mobile .menu-links-dropdown-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 20px !important;
    text-decoration: none !important;
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}
.js-menu-mobile .menu-links-dropdown-item svg path,
.js-menu-mobile .menu-links-dropdown-item svg polygon,
.js-menu-mobile .menu-links-dropdown-item svg polyline,
.js-menu-mobile .menu-links-dropdown-item svg rect,
.js-menu-mobile .menu-links-dropdown-item svg line {
    stroke: #525D66 !important;
    fill: #525D66 !important;
}

/* ── Header mobile: contenitore logo + X ── */
.js-menu-mobile .menu-mobile-header {
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    background: #fff !important;
}
.js-menu-mobile .menu-mobile-header-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

/* ── Pulsante chiudi X: visibile e cliccabile ── */
.js-menu-mobile .menu-mobile-hide-btn,
.js-menu-mobile .js-menu-mobile-hide-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 100001 !important;
    position: relative !important;
    min-width: 40px !important;
    min-height: 40px !important;
}
/* Icona X: scura su sfondo bianco */
.js-menu-mobile .menu-mobile-hide-btn img,
.js-menu-mobile .js-menu-mobile-hide-btn img {
    filter: invert(1) brightness(0) !important;
    opacity: 1 !important;
    width: 22px !important;
    height: 22px !important;
}

/* ── Scroll del pannello ── */
.js-menu-mobile.open {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* ── Link login mobile ── */
.js-menu-mobile .js-login-co-aa {
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}

/* ── Language switcher text ── */
.js-menu-mobile .menu-mobile-language-switcher-text {
    color: #0d111a !important;
    -webkit-text-fill-color: #0d111a !important;
    padding: 12px 20px !important;
    font-size: 13px !important;
}

/* ── Desktop: le regole sopra NON devono interferire ── */
@media (min-width: 1200px) {
    .js-menu-mobile .menu-unified-btn,
    .js-menu-mobile .menu-unified-btn-parent,
    .js-menu-mobile .menu-mobile-accordion-btn {
        /* Reset: sul desktop il menu mobile non è visibile */
        color: inherit !important;
        -webkit-text-fill-color: unset !important;
    }
}

/* ══════════════════════════════════════════════════════════
   Fix: nascondi toggler collapse XTB non utilizzato su Pareto
   Il componente .component-disclaimer-toggler-dark appartiene
   al sistema XTB/IFS e su mobile riceve background:#000 + display:flex
   dal CSS CDN, generando un artefatto grafico scuro.
   Il toggler non è funzionale su Pareto (JS XTB non presente).
   ══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .component-disclaimer-toggler {
        display: none !important;
    }
}
