                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
/* Scroll fluido nativo */
html { scroll-behavior: smooth; }   

/*#overlaymelide{display:none!important;}*/

/***** Navbar *****/
header.flcol.header.orizzontale {
  display: flex;
  justify-content: space-between; /* logo a sinistra, menu a destra */
  align-items: center;            /* centratura verticale */
}

header .head {
  margin-right: auto; /* mantiene il logo allineato a sinistra */
}

header nav.main-nav-cont {
  margin-left: auto; /* spinge il menu a destra */
  margin-right:30px;
}

.fixed .main-nav > div{margin:0; border:none;}

.main-nav .navc a.italic {
    padding: 15px 15px !important;
    margin: 0 0 0 20px;
    color:#CCCCCC;
    border: 2px solid #9e2081;
    background-color:#9e2081;
    border-radius: 30px;
    height:auto!important;
}
.main-nav .navc a:hover.italic {
    color:#ffffff;
    border: 2px solid #9e2081;
    background-color:transparent;
}

.header .main-nav>div>a{text-transform:none!important; /*height:110px!important;*/}

.submenu > div.submenu-content > div > ul > li > ul > li> a{
    padding-top:16px!important; 
    padding-bottom:16px!important;
    
}

.submenu-content > div:nth-of-type(2) { 
  border-right: solid 1px #cccccc;
}
.submenu-content > div:last-of-type {
  padding-left:60px;
}
.submenu > div.submenu-content > div > ul > li > ul > li> a{text-transform: unset!important}
/****** Pulsante *****/
/*
.request_bt{
    background-color:#9e2081; 
    transition: all 0.35s ease-out; 
    border: 2px solid #9e2081; 
    border-radius: 30px;
    padding: 15px 15px!important;
    margin-top:20px!important;
}
.request_bt:hover{background-color:#0f1330; color:#ffffff!important;}
*/

.rc-anchor-dark.rc-anchor-normal, .rc-anchor-dark.rc-anchor-compact {
    border: 1px solid #ff0000!important;}

.request_bt{
    background-color:#0f1330;
    transition: all 0.35s ease-out; 
    border: 2px solid #9e2081; 
    border-radius: 30px;
    min-height:20px!important;
    padding: 15px 15px!important;
    margin-top:20px!important;
}
.request_bt:hover{background-color:#9e2081; color:#ffffff!important;}

/***** Icona *****/
/* Lista con icona SVG, testo invariato */
.icon-list{ list-style:none; margin:0 0 1rem; padding:0; }
.icon-list li{
  display:flex;               /* icona e testo allineati al centro verticale */
  align-items:center;
  gap:1rem;
  margin:0 0 1rem;
}

/* icona: colore fisso #882c73, bordo più sottile (stroke 1) */
.icon-list li::before{
  content:"";
  flex:0 0 1.15em;
  width:1.15em; height:1.15em;
  background-color:#882c73;   /* solo l’icona: il testo NON cambia colore */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='2' y='2' width='20' height='20' rx='6' ry='6' stroke='black' stroke-width='1'/%3E%3Cpath d='M7 12.5l3 3 7-7' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='2' y='2' width='20' height='20' rx='6' ry='6' stroke='black' stroke-width='1'/%3E%3Cpath d='M7 12.5l3 3 7-7' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

/***** Modulo 5 - Eccezioni Carousel *****/

[data-moduloid="139"] .mod01 h2{max-height:68px; overflow:hidden;}
[data-moduloid="139"] .was_a_link picture{width:100%;}

/****** Frecce ******/
[data-moduloid="139"] .was_a_link{
  display:flex;             /* già coerente col layout */
  width:100%;
  height:100%;
  text-decoration:none;
  color:inherit;
}
[data-moduloid="139"] a.was_a_link:link,
[data-moduloid="139"] a.was_a_link:visited,
[data-moduloid="139"] a.was_a_link:hover,
[data-moduloid="139"] a.was_a_link:active{
  text-decoration:none;
  color:inherit;
}

/* FRECCIA ASSOLUTA: non occupa spazio nel flex */
[data-moduloid="139"] .has-arrow .sfondo_tes{
  position:relative;            /* contesto per ::after */
  display:flex;
  align-items:center;
  /* niente space-between: lasciamo che il testo occupi tutto */
  justify-content:flex-start;
  padding-right:56px;           /* spazio “di sicurezza” per la freccia */
}

[data-moduloid="139"] .has-arrow .sfondo_tes::after{
  content:"›";
  position:absolute;
  right:16px;                   /* freccia a destra, fuori dal flusso */
  top:50%;
  transform:translateY(-50%);
  font-size:30px;               /* 65: 30px; 139: 40px se vuoi differenziare */
  color:#fff;
  font-weight:100;
  line-height:1;
  pointer-events:none;
  transition:color .3s ease;
}
[data-moduloid="139"] .has-arrow:hover .sfondo_tes::after{
  color:#9e2081;
}

/* EVITA shrink del testo: usa flex, non percentuali rigide */
[data-moduloid="139"] .sfondo_tes.des-larg-testo-75{
  width:100%;        /* override dei tuoi 79/85% */
  flex:1 1 auto;     /* lascia al testo tutto lo spazio disponibile */
}

/* (Opzionale) forza stile dell’hr per evitare variazioni da <a> */
[data-moduloid="139"] .was_a_link .med-par-slide hr{
  border:0;
  border-bottom:2px solid #ffffff !important; /* o currentColor */
  opacity:1;
}


/***** Media Screen *****/

/* Desktop */
@media screen and (min-width: 990px) {
    .orizzontale .menumobile {height: 100%;}
    .orizzontale .main-nav, .orizzontale .side-menu {margin-left:0px;}
    .orizzontale .main-nav > div {padding: 0 10px;}
    .orizzontale.fixed #logo {margin-left: 40px;}
    /*nav .submenu {margin-top:-33px !important}*/
    .submenuindustries {height:100% !important;}
    .submenucases{height:100% !important;}
    .zindex100{z-index:100 !important; height:auto!important;}

    /* quando l’header è fixed/compattato */
    .header.fixed .main-nav > .navc > a:not(.italic){
      display:flex;            /* per centrare il testo */
      align-items:center;
      height:134px!important;
      transition: height .2s ease;
    }
    
    /* il CTA resta libero (altezza auto) */
    .header.fixed .main-nav > .navc > a.italic{
      height:auto!important;
    }
}

/* Mobile */
/*Logo*/
@media (min-width: 1366px) {
    .head> a > picture, .head> a > picture > img {
        height: 86px!important;
    }
}

@media (min-width: 1366px) {
    .fixed .head > a > picture, .fixed .head > a > picture > img {
        height: 70px!important;
    }
}

@media (max-width: 1366px) and (min-width: 990px) {
    .head> a >picture, .head> a >picture > img {
        height: 70px!important;
    }
}

@media (max-width: 1366px) and (min-width: 990px) {
    .fixed .head > a > picture, .fixed .head > a > picture > img {
        height: 56px!important;
    }
}

@media (max-width: 990px) and (min-width: 1px) {
    .head> a >picture, .head> a >picture > img {
        height: 56px!important;
    }
}

@media (max-width: 990px) and (min-width: 1px) {
    .fixed .head > a > picture, .fixed .head > a > picture > img {
        height: 45px!important;
    }
}

@media (max-width: 991px){
  header .head{
    display:flex;            /* nel dubbio */
    align-items:center;
    justify-content:center;  /* centra il contenuto */
    margin-right:0;          /* sovrascrive l’auto */
    width:100%;
  }
  header .head #logo{ margin:0 auto; }
  
  .main-nav .navc a.italic {
    padding:1em 0px 1em 10px;
    margin: 0;
    color:#9e2081;
    border:none;
    background-color:transparent;
    border-radius:0px;
    }
    
    .modid102{max-width:85% !important}
    
    div:hover>.submenu {width: 93vw;}
    #overlaymelide {background-color:transparent;}
    header nav.main-nav-cont{margin-left:auto; margin-right:auto;}
}

@media screen and (min-width: 1px) and (max-width: 767px) {
    
    /***** Modulo 2 - Eccezione su Larghezza principale blocco e Font Size Testo *****/
    .modid99, .modid102{max-width:85% !important}
    .modid99 .testo-default, 
    .modid102 .testo-default{font-size:15px}
}


@media screen and (min-width: 1px) and (max-width: 990px) {
    
    /***** Menu Mobile *****/
    .submenu > div.submenu-content > div img {
        max-width: 50%; 
        margin: 0px;
        width: 50%;
    }
    .fixed.header .main-nav>div>a, .header .main-nav>div>a {
        padding: 1.1em 0px 1.1em 40px!important;
    }
    
    .menumobile {
        width: calc(100vw - 59px);
        height:auto;
        top: 0px;
        background-color:rgba(15, 19, 48,0.9)!important;
        border:none;
    }
    
    .chiudimenu
         {
            top: 25px;
            left: 15px;
        }
    .header .main-nav>div>a {
        font-size: 25px!important;
        font-weight: 400!important;

    }
    
    .header .main-nav>div>a {
        /*padding: 0px 15px !important;*/

    }
    
    .main-nav .navc a.italic{padding: 1.1em 0px 1.1em 40px!important;}
    .submenuindustries .submenu-content,
    .submenucases .submenu-content{
        width: calc(93vw);
        padding:4vw 10vw 4vw 10vw;
    }
    
    .submenuindustries .submenu-content,
    .submenucases .submenu-content{
        background:transparent;
        background-color:rgba(15, 19, 48,0.9);
        /*background-color:#3b0149;*/
    }
    /*div:hover>.submenu{
        height:calc(var(--vh, 1vh) * 75);
    }*/
    
    div:hover>.submenu {
    width: 100vw;
    }
    .submenu-content {background-color:rgba(15, 19, 48,0.9);}
    .submenu > div.submenu-content > div > ul > li > ul > li> a{font-size:25px; font-weight:400!important;}
    .submenu-content{overflow-y: auto;}
    .submenu>div>a:first-child.mobile-only.back-1st{
         font-size:25px; 
         padding:20px 0;
         margin-bottom: 40px;
    }
 
    .request_bt{
        width:200px!important;
    }
 
    /* Back più lento + centraggio icona+testo */
    a.back-1st {
      display: flex;                   /* <— da inline-flex a flex */
      align-items: center;             /* centra verticalmente freccia + testo */
      gap: .5rem;                      /* spazio tra freccia e testo */
      line-height: 1;                  /* evita disallineamenti con icon-font */
      transform: translateX(0);
      opacity: 1;
      transition:
        transform 700ms cubic-bezier(.22,.61,.36,1),
        opacity   680ms cubic-bezier(.22,.61,.36,1);
      will-change: transform, opacity;
    }
    
    /* uscita verso SINISTRA */
    a.back-1st.exiting {
      transform: translateX(-120%);    /* sinistra */
      opacity: 0;
    }
    
    /* freccia: stessa durata del blocco + normalizzazione box */
    a.back-1st i.medula-freccia-dx,
    a.back-1st i.medula-freccia-dx::before {
      display: inline-block;
      line-height: 1;
      transition: transform 700ms cubic-bezier(.22,.61,.36,1);
      transform-origin: 50% 50%;
      will-change: transform;
    }
    
    /* micro-fix verticale del glifo (tuning se serve) */
    a.back-1st i.medula-freccia-dx::before {
      position: relative;
      top: 0.02em;                     /* aumenta/diminuisci se lo vedi alto/basso */
    }
    
    /* rotazione su hover/focus (desktop/tastiera) */
    a.back-1st:hover i.medula-freccia-dx,
    a.back-1st:hover i.medula-freccia-dx::before,
    a.back-1st:focus-visible i.medula-freccia-dx,
    a.back-1st:focus-visible i.medula-freccia-dx::before {
      transform: rotate(-180deg);
    }
    
    /* rotazione durante lo slide di uscita */
    a.back-1st.exiting i.medula-freccia-dx,
    a.back-1st.exiting i.medula-freccia-dx::before {
      transform: translateX(-6px) rotate(-180deg);
    }
    
    /* reduced motion gestita da JS */
    .reduce-motion a.back-1st,
    .reduce-motion a.back-1st i.medula-freccia-dx,
    .reduce-motion a.back-1st i.medula-freccia-dx::before {
      transition: none !important;
    }
    
    /* --- opzionale: centra l'intero link Back anche orizzontalmente nella riga --- */
    /*
    .submenu .submenu-content a.back-1st {
      width: 100%;
      justify-content: center;
      text-align: center;
    }
    */
    .submenu-content > div:nth-of-type(2) { 
      border-right: none;
    }
    .submenu-content > div:last-of-type {
      padding-left:0px;
    }
}

@media screen and (min-width: 990px) and (max-width: 1024px) {
    .submenuindustries .submenu-content>div {margin: 0 20px;}
    .submenucases .submenu-content>div {margin: 0 20px;}
    .submenu-content>div ul {gap:10px;}
    .submenucases .submenu > div.submenu-content > div > ul > li > ul > li> a{min-height:40px;}
}




