.testa {
  background-color: #f7f5e9;
  padding-top: .7rem;
  padding-bottom: .7rem;
}

.grandeProfessionista {
  width: 50%;
}

.altezzaEuroPrivacy {
  height: 70px;
  margin-top: 1rem;
}

.contenutoTestuale img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.headerCentrale {
  background-color: #192B37;
  padding-top: .7rem;
  padding-bottom: .7rem;
}

.headerCentraleMobile {
  background-color: #192B37;
  padding-top: .7rem;
  padding-bottom: .7rem;
  height: 60px;
}

.paddingZero {
  padding-right: 0 !important;
}

.text-cremino {
  color: #f7f5e9;
}

.lungo {
  width: 42%!important;
  min-width: auto!important;
  max-width: 42%!important;
}


/* Search Modal Styles */
.search-modal {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  background-color: #c2b5a6;
}

.search-modal-title {
  color: #F7F5E9;
  margin-bottom: 1rem;
  font-family: 'Inter', serif;
}

.search-modal-subtitle {
  color: #F7F5E9;
  margin-bottom: 2rem;
}

.search-modal-input {
  padding: 15px;
  border: 1px solid #F7F5E9;
  border-radius: 0;
  height: auto;
}

.search-modal-button {
  background-color: #F7F5E9;
  color: #192B37;
  width: 56px;
  padding: 0;
  font-weight: bold;
  border: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-modal .input-group {
  display: flex;
  align-items: stretch;
}

.search-modal .input-group .search-modal-input,
.search-modal .input-group .search-modal-button {
  align-self: stretch;
}

.search-modal-icon {
  height: 20px;
}

@media (max-width: 991.98px) {
  .search-modal-input {
    padding: 12px;
    font-size: 14px;
  }
  .search-modal-button {
    width: 48px;
  }
}


a {
  color: #192B37;
}

.newsletter-arrow-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-radius: 999px;
  line-height: 0;
}

.newsletter-arrow-link img {
  display: block;
}


.sezioneProfessionisti .content {
  padding-right: 25%;
}

.sfondoHome {
  background: #192B37;
}

.sfondoBluVideo {
  background: #14576B;
} 

.testoLinkVideo {
  font-family: 'AdobeGaramondPro', serif;
  font-size: 2.5rem;
}

.titoloOverview {
  font-family: "AdobeGaramondProItalic";
  font-weight: 100;
  color: #F7F5E9;
  font-size: 40px;
}

.altezzaLogo {
  height: 40px;
}

/* Parte HOme professionisti */
.box-image {
  position: relative;
}

.iconaCerchioBlu {
  height: 37px;
  margin-left: .5rem;
  margin-right: .5rem;
  display: inline-block;
  position: absolute;
  top: -15px;
  right: -27px;
  cursor:pointer;
}

.professionisti .content {
  padding-right: 25%;
  color: #f7f5e9;
}

.professionisti .content p {
  color: #f7f5e9;
}

.titleSezione {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

.lineaBianca {
  height: 2px;
  background: #f7f5e9;
  color: #f7f5e9;
  width: 100%;
  opacity: 1;  
}

.blu {
  color: #192B37;
}

.bianco p {
  color: #f7f5e9;
}

.blu p {
  color: #192B37;
}

.navbar-expand-xl .navbar-nav li {
  position: relative;
}

.navbar-expand-xl .navbar-nav .nav-link {
  color:#F7F5E9;
  font-size: .9rem;
  text-transform: uppercase;
  padding-left: 1rem;
  padding-right: 1rem;
}

.sub-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background-color: #f7f5e9;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-top: 0;
  padding: 10px 70px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  list-style: none;
  margin-bottom: 0;
  z-index: 1000;
  border-radius: 32px;
}

.navbar-expand-xl .navbar-nav .nav-item.active > .sub-menu,
.navbar-expand-xl .navbar-nav .nav-item.show-submenu > .sub-menu {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  flex-wrap: wrap;
}

/* Posiziona tutti i sottomenu relativamente alla navbar */
.navbar-nav .nav-item .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  transform: none;
  margin-left: 0;
}

/* Stili aggiuntivi per il sottomenu */
.headerCentrale {
  position: relative;
  overflow: visible;
}

.headerCentrale .container,
.headerCentrale .row,
.headerCentrale [class*="col-"],
.headerCentrale .navbar-collapse {
  position: static;
}

.navbar {
  position: static;
}

.navbar-nav {
  position: static;
}

.navbar-expand-xl .navbar-nav .nav-item {
  position: static;
}

/* Nasconde il sottomenu su mobile */
@media (max-width: 1199px) {
  .sub-menu {
    display: none !important;
  }
}

/* Responsive per sottomenu */
@media (min-width: 1200px) and (max-width: 1399px) {
  .sub-menu {
    width: 95vw;
  }
  
  .navbar-expand-xl .navbar-nav .nav-item.active > .sub-menu,
  .navbar-expand-xl .navbar-nav .nav-item.show-submenu > .sub-menu {
    gap: 40px;
  }
  
  .sub-menu a {
    max-width: 160px;
  }
  
  .menu-thumb {
    width: 60px;
    height: 60px;
  }
}

/*@media (min-width: 1400px) {
  .sub-menu {
    width: 90vw;
    max-width: 1400px;
  }
}*/

.sub-menu li {
  flex: 0 0 auto;
}

.sub-menu a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #192B37;
  transition: all 0.3s ease;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
  max-width: 200px;
}

/*.sub-menu a:hover {
  background-color: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}*/

.submenu-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  margin-left: 25px;
  margin-right: 25px;
}

.menu-thumb {
  width: 260px;
  height: 180px;
  border-radius: 34px;
  object-fit: cover;
  border: 3px solid #f7f5e9;
  transition: border-color 0.3s ease;
}

.sub-menu a:hover .menu-thumb {
  border-color: #192B37;
}

.submenu-title {
  font-size: 14px;
  letter-spacing: 0.5px;
  line-height: 1.3;
  margin-top: 5px;
  color:#192B37;
  text-transform: none;
}


/* header per settori */

 .header-split-wrapper {
        position: relative;
        width: 100%;
        min-height: 900px;
        overflow: hidden;
    }
    
    /* Absolute backgrounds for desktop 50/50 split */
    .header-bg-left {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 50%;
        background-color: #BA2021;
        border-bottom-right-radius: 20px;
        z-index: 0;
    }
    
    .header-bg-right {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 50%;
        background-size: cover;
        background-position: center;
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
        z-index: 0;
    }

    .header-content-wrapper {
        position: relative;
        z-index: 1;
        min-height: 900px; /* Match wrapper to allow vertical centering */
        display: flex;
        align-items: center;
    }
    
    @media (max-width: 992px) {
        .header-split-wrapper {
            min-height: auto;
            display: flex;
            flex-direction: column;
        }
        /* Disable absolute backgrounds on mobile to let content stack naturally */
        .header-bg-left, .header-bg-right {
            display: none;
        }
        
        .header-content-wrapper {
            min-height: auto;
            display: block;
            padding: 0;
        }
        
        /* Apply styles directly to the content columns for mobile look */
        .mobile-red-bg {
            background-color: #BA2021;
            padding: 60px 3px 60px 20px; /* Restore padding for mobile */
            border-top-left-radius: 20px;
            border-top-right-radius: 20px;
        }
        
        .mobile-image-bg {
            height: 400px;
            background-size: cover;
            background-position: center;
            border-radius: 20px;
        }

        .header-probono-content, .header-probono-content p {
            padding-right: 0;
        }
    }


  .header-split-video-section {
        position: relative;
        margin-top: 3rem;
        margin-bottom: 3rem;
        overflow: hidden;
        min-height: 600px;
    }
    .video-half-screen {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 50%;
        z-index: 1;
        border-radius: 20px;
        overflow: hidden;
    }
    .video-half-screen video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
    }
    .video-content-left {
        display: flex;
        flex-direction: column;
        min-height: 600px;
        padding-top: 2rem;
        padding-bottom: 2rem;
        padding-right: 60px;
    }
    .video-content-left .titleSezione {
        flex-shrink: 0;
    }
    .video-content-left .contenuto {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    @media (max-width: 992px) {
        .header-split-video-section {
            min-height: auto;
        }
        .video-half-screen {
            position: relative;
            width: 100%;
            height: 400px;
        }
        .video-content-left {
            min-height: auto;
        }
    }

  /* fine header per settori */


.me-mio {
  margin-right: 5.2rem;
}

.bianco {
  color:#F7F5E9;
}

.card-item__content {
  -webkit-line-clamp: 5;
}

.iconaCerca {
  height: 20px;
  margin-left: .5rem;
  margin-right: .5rem;
  display: inline-block;
}

.hamburger-icon {
  height: 20px;
  margin-left: .5rem;
  margin-right: .5rem;
  display: inline-block;
}

.btn-sm {
  border: 1px solid #192B37;
  border-radius: 8px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: .5rem;
  margin-right: .5rem;
}

.hoverbtn:hover {
  background-color: #192B37;
  color: #F7F5E9;
  border-color: #192B37;
  border: 1px solid #192B37;
}

.btn-whistle {
  font-size: 1.2rem;
  padding-left: 1rem;
  font-weight: lighter;
  padding-right: 1rem;
  width: 45%;
  margin-right: 1rem;
  background: #192B37;
  border-color: #192B37;
  color: white;
}

.btn-whistle:hover {
  background: #192B37;
  border-color: #192B37;
  color: white;
}

.current-menu-ancestor > .nav-link {
  font-weight: bold;
}

.active > .nav-link {
  font-weight: bold;
}

/* LOADER RICERCA */

#loader-wrapper {
	display: none;
}

#loader-wrapper {
	background-color: rgba(255, 255, 255, 0.5);
  }

  .bloccoLingua {
    height: 40px;
    width: 40px;
  }

.mt-6 {
  margin-top: 5rem;
}

/* Parte per pagine interne */
.titoloSezione {
  font-family: "AdobeGaramondProItalic";
  font-weight: 100;
  color: #192B37;
  font-size: 40px;
}

.titoloCorsivoGaramond {
  font-family: "AdobeGaramondProItalic";
  font-weight: 100;
}

.fontGrande {
  font-size: 2rem;
}

.fontDescrizioneSezione p, .fontDescrizioneSezione {
  font-family: "Inter";
  font-size: 3rem;
  color: #192B37;
  font-weight: bold;
  line-height: 1.2;
}

.fontDescrizione p {
  font-family: "Inter";
  font-size: 1rem;
  color:  #f7f5e9;
  line-height: 1.6;
}

.sottoTitoloAreaAttivita {
  font-weight: bold;
  font-family: 'Inter';
}

.sfondoVerde {
  background-color: #1F3821;
}

.sezioneRadius {
  border-radius: 1.25rem;
  padding: 2rem;
}

.sezioneSpotLight {
  background-color: #192B37;
  border-radius: 1.25rem;
}

.posizioneAperta {
   border-radius: 1.25rem;
}

.boxArea {
  color: #F7F5E9;
  padding-left: 1rem;
  color: #F7F5E9;
  height: 200px;
  position: relative;
}

.griglia-aree {
  display: grid;
  grid-template-columns: repeat(6, 220px);
  width: 100%;
}

.area-single-block {
  padding: 0.5rem 1.5rem;
  color: #F7F5E9;
  height: 300px;
  position: relative;
  border-right: 1px solid #F7F5E9;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 5rem;
}

.area-single-block:nth-child(6n+1) {
  border-left: 1px solid #F7F5E9;
}

.area-single-block .numeroInter {
  font-family: "Inter";
  color: #F7F5E9;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

.area-single-block .titoloArea {
  font-family: "AdobeGaramondPro";
  color: #F7F5E9;
  font-size: 1.3rem;
  line-height: 1.1;
  text-align: left;
}

.area-single-block .titoloArea a {
  color: inherit;
  text-decoration: none;
}

.area-single-block .titoloArea a:hover {
  text-decoration: underline;
}

.area-single-block .link {
  position: absolute;
  bottom: 2rem;
  align-self: flex-end; /* Align right if using flex, but absolute positioning overrides it */
  right: 1.5rem;
  display: inline-block;
}

.area-single-block .link img {
  width: 30px;
}

.area-single-block .link .freccia-mobile {
  display: none;
}

.area-single-block .link:hover img {
  opacity: 1;
}

@media (max-width: 991px) {
  .griglia-aree {
    grid-template-columns: repeat(2, 1fr);
  }
  .area-single-block:nth-child(6n+1) {
    border-left: none;
  }
  .area-single-block:nth-child(odd) {
    border-left: 1px solid #F7F5E9;
  }
  .area-single-block {
     height: 300px; /* Shorter on mobile */
  }
}

@media (max-width: 767px) {
  .griglia-aree {
    grid-template-columns: 1fr;
  }
  .area-single-block {
    width: 100%;
    height: auto;
    min-height: 80px;
    border-right: none;
    border-left: none !important;
    border-bottom: 1px solid #F7F5E9;
    padding-bottom: 1rem;
    padding-top: 1rem;
    margin-bottom: 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .area-single-block .numeroInter {
    display: none;
  }
  .area-single-block .titoloArea {
    flex: 1;
    margin-bottom: 0;
    padding-right: 1rem;
  }
  .area-single-block .link {
    position: static;
    flex-shrink: 0;
  }
  .area-single-block .link .freccia-desktop {
    display: none;
  }
  .area-single-block .link .freccia-mobile {
    display: inline-block;
    width: 16px;
  }
  .area-single-block:nth-child(odd) {
    border-left: none;
  }
  .area-single-block:nth-child(6n+1) {
    border-left: none;
  }
  .area-single-block:last-child {
    border-bottom: none;
  }
}

.boxAreaBlu {
  padding-left: 1rem;
  color: #192B37;
  height: 200px;
  position: relative;
}

.bordoSinistroDestraBlu {
    border-left: 1px solid #192B37;
}

.numeroInterBlu {
  font-family: "Inter";
  color: #192B37; 
}

.boxAreaBlu .titoloArea {
  font-family: "AdobeGaramondPro";
  color: #192B37;
  font-size: 1.3rem;
}

.boxAreaBlu .titoloArea a {
  color: inherit;
  text-decoration: none;
}


.boxAreaBlu .link {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  display: inline-block;
}

.boxAreaBlu .link img {
  width: 30px;
}

.boxAreaBlu .link:hover img {
  opacity: 1;
}

.bordoSinistroDestra {
    border-left: 1px solid #F7F5E9;
    border-right: 1px solid #F7F5E9;
}

.bordoSinistro {
    border-left: 1px solid #F7F5E9;
    border-right: none;
}

.slider-element:last-child .bordoSinistro {
    border-right: 1px solid #F7F5E9;
}

.bordoDestro {
    border-right: 1px solid #F7F5E9;
}

.numeroInter {
  font-family: "Inter";
  color: #F7F5E9;
}

.boxArea .titoloArea {
  font-family: "AdobeGaramondPro";
  color: #F7F5E9;
  font-size: 1.3rem;
}

.boxArea .titoloArea a {
  color: inherit;
  text-decoration: none;
}


.boxArea .link {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  display: inline-block;
}

.boxArea .link img {
  width: 30px;
}

.boxArea .link:hover img {
  opacity: 1;
}

.touchget {
   color: #192B37;
   font-weight: bold;
}

.sfondoBluCard {
  background-color: #14576B;
}

.margineAlto {
  margin-top: 1.8rem;
}

/* INSIGHTS */

   .slider-insight {
            overflow: hidden;
            position: relative;
        }
        
        .slider-track {
            display: flex;
            transition: transform 0.5s ease;
            gap: 20px;
        }
        
        .slider-element {
            flex: 0 0 calc(46% - 10px);
            min-width: 0;
        }

        .slider-element.no-image {
            flex: 0 0 calc(23% - 10px);
        }

        .slider-element.no-image .insight-content {
            flex: 0 0 100%;
            padding-right: 20px;
        }

        /* Card contenuto con immagine companion */
        .slider-element.has-companion {
            flex: 0 0 calc(23% - 10px);
        }

        .slider-element.has-companion .insight-content {
            flex: 0 0 100%;
            padding-right: 20px;
        }

        /* Immagine come card separata */
        .slider-element.slider-element-img {
            flex: 0 0 calc(23% - 10px);
              height: 547px;
        }

        .slider-element.slider-element-img .insight-image {
            height: 100%;
            border-radius: 25px;
            overflow: hidden;
        }

        .slider-element.slider-element-img .insight-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        
        .slider-element:last-child {
            margin-right: calc(46% + 10px);
        }

        /* Spotlight Slider Overrides - 3 items view */
        .spotlight-section .slider-element {
            flex: 0 0 calc(58.333% - 15px);
        }
        .spotlight-section .slider-element.no-image {
            flex: 0 0 calc(16.666% - 15px);
        }
        .spotlight-section .slider-element.has-companion {
            flex: 0 0 calc(33% - 15px);
        }
        .spotlight-section .slider-element.slider-element-img {
            flex: 0 0 calc(33% - 15px);
            height: 550px;
        }
        .spotlight-section .slider-element:last-child {
            margin-right: 0;
        }
        
        .prev, .next {
            cursor: pointer;
            transition: opacity 0.3s ease;
        }
        
        .prev:hover, .next:hover {
            opacity: 0.7;
        }
        
        .altezzaFreccia {
            height: 40px;
        }
        .insight-card {
            display: flex;
            background: transparent;
            border-radius: 25px;
            overflow: visible;
            height: 550px;
            margin-bottom: 30px;
            transition: transform 0.3s ease;
            gap: 10px;
        }
        
        
        .insight-image {
            flex: 0 0 50%;
            height: 100%;
            overflow: hidden;
            border-radius: 25px;
        }
        
        .insight-content {
            flex: 0 0 50%;
            padding-top: 30px;
            padding-left: 20px;
            padding-right: 20px;
            padding-bottom: 30px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            color: #f7f5e9;
            border-radius: 25px;
        }

        .newsletter {
            background: #1F3821;
        }

        .webinar {
            background: #BA2121;
        }

        .eventi {
            background: #14576B;
        }

        .insight-top-content {
            flex: 1;
        }
        
        .insight-meta {
            margin-bottom: 0.5rem;
            font-family: 'Inter', sans-serif;
            font-size: 0.9rem;
        }
        
        .insight-date {
            font-size: 0.9rem;
            color: #f7f5e9;
            margin-bottom: 5px;
            display: block;
            font-weight: 400;
        }
        
        .insight-category {
            font-size: 0.8rem;
            color: #f7f5e9;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
        }
        
        .insight-title {
            font-size: 1.8rem;
            line-height: 1.3;
            margin-bottom: 15px;
            color: #f7f5e9;
            font-weight: 400;
            font-family: 'AdobeGaramondProItalic', serif;

        }
        
        .insight-description, .insight-description p {
            font-size: .8rem;
            line-height: 1.6;
            margin-bottom: 0;
            color: #f7f5e9;
            font-weight: 300;
        }
        
        .insight-tags {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: auto;
        }
        
        .tag {
            border: 1px solid rgba(255, 255, 255,1);
            border-radius: 10px;
            padding: 8px 12px;
            font-size: 0.85rem;
            color: #f7f5e9;
            font-weight: 400;
            display: flex;
            align-items: center;
            gap: 8px;
            width: 120px;
            min-width: 120px;
            max-width: 120px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            justify-content: space-between;
        }

        .tag-text {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            flex: 1;
            min-width: 0;
            display: block;
            position: relative;
        }

        .tag:hover .tag-text, .tagBlu:hover .tag-text {
            flex: none;
            width: auto;
            overflow: visible;
            text-overflow: clip;
            padding-right: 20px;
            animation: marqueeAnim 4s linear infinite;
        }

        .tag:hover img, .tagBlu:hover img {
            display: none;
        }

        .tag-text::after {
            content: attr(data-text);
            position: absolute;
            left: 100%;
            top: 0;
        }

        @keyframes marqueeAnim {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }

        /* Auto-scroll tag-text su mobile/tablet per testi troncati */
        @media (max-width: 991px) {
            .tag-text.tag-auto-scroll {
                flex: none;
                width: auto;
                overflow: visible;
                text-overflow: clip;
                padding-right: 20px;
                animation: marqueeAnim 4s linear infinite;
            }

            .tag-text.tag-auto-scroll + img,
            .tag-auto-scroll ~ img,
            .tag:has(.tag-auto-scroll) img,
            .tagBlu:has(.tag-auto-scroll) img {
                display: none;
            }
        }


        .tagEspanso {
            border: 1px solid rgba(255, 255, 255,1);
            border-radius: 10px;
            padding: 8px 12px;
            font-size: 0.85rem;
            color: #f7f5e9;
            font-weight: 400;
            display: flex;
            align-items: center;
            gap: 8px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            justify-content: space-between;
        }

        .tagBlu {
            background: transparent;
            border: 1px solid #192B37;
            border-radius: 10px;
            padding: 8px 12px;
            font-size: 0.85rem;
            color: #192B37;
            font-weight: 400;
            display: flex;
            align-items: center;
            gap: 8px;
            width: 120px;
            min-width: 120px;
            max-width: 120px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            justify-content: space-between;
        }
        
        .tag img, .tagBlu img {
            width: 12px;
            height: 12px;
            flex-shrink: 0;
        }


        
        @media (max-width: 768px) {
            .insight-image {
                flex: 0 0 50%;
            }
            
            .insight-content {
                flex: 0 0 50%;
                padding: 20px 15px;
            }
            
            .insight-title {
                font-size: 1.4rem;
            }
        }

/* parte professionisti Home */

.professionista-portrait {
    aspect-ratio: 547 / 840;
    object-fit: cover;
    object-position: top; 
    width: 100%;
}

.custom-learn-more-btn {
                        color: #f7f5e9 !important;
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        width: 100%;
                        padding-right: 0;
                        text-decoration: none;
                    }

                    .custom-learn-more-btn-area {
                        color: #192B37!important;
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        width: 100%;
                        padding-right: 0;
                        text-decoration: none;
                    }
                    .custom-learn-more-btn .arrow-right, .custom-learn-more-btn-area .arrow-right {
                        margin-left: auto;
                        display: block;
                        height: 16px;
                    }
                    .linea-custom-professionisti {
                        height: 1px;
  background: #f7f5e9;
  color: #f7f5e9;
  width: 100%;
  opacity: 1;  
                    }

                    .linea-custom-due {
                        height: 1px;
  background: #192B37;
  color: #192B37;
  width: 100%;
  opacity: 1;  
                    }
                    
                    /* Stili per l'effetto hover sui professionisti */
                    .box {
                        position: relative;
                        height: 550px;
                        overflow: hidden;
                        border-radius: 25px;
                        cursor: pointer;
                    }
                    
                    .box-image {
                        position: relative;
                        width: 100%;
                        height: 100%;
                        transition: all 0.4s ease;
                    }
                    
                    .box-image .main-image {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        transition: all 0.4s ease;
                    }
                    
                    .iconaCerchioBlu {
                        position: absolute;
                        top: 0px;
                        right: -20px;
                        width: 40px;
                        height: 40px;
                        transition: all 0.4s ease;
                        z-index: 999;
                        opacity: 1;
                    }
                    
                    .professionista-details {
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        top: 0;
                        background: #f7f5e9;
                        color: #192b37;
                        padding: 30px 30px;
                        transform: translateY(100%);
                        transition: all 0.4s ease;
                        display: flex;
                        flex-direction: column;
                        justify-content: flex-end;
                    }

                    .professionista-details-inverse {
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        top: 0;
                        background: #192b37;
                        color: #f7f5e9;
                        padding: 30px 30px;
                        transform: translateY(100%);
                        transition: all 0.4s ease;
                        display: flex;
                        flex-direction: column;
                        justify-content: flex-end;
                    }
                    
                    .professionista-nome {
                      font-size: 1.8rem;
                      margin-bottom: 8px;
                      color: #192B37;
                      line-height: 1.2;
                    }

                    .professionista-nome-inverse {
                      font-size: 1.8rem;
                      margin-bottom: 8px;
                      color: #f7f5e9;
                      line-height: 1.2;
                    }
                    
                    .professionista-ruolo {
                      font-size: 1rem;
                      color: #192B37;
                      margin-bottom: 25px;
                      font-weight: 400;
                    }

                    .professionista-ruolo-inverse {
                      font-size: 1rem;
                      color: #f7f5e9;
                      margin-bottom: 25px;
                      font-weight: 400;
                    }
                    
                    .professionista-email {
                      font-size: 0.95rem;
                      color: #192B37;
                      margin-bottom: 4px;
                      font-weight: 400;
                    }

                    .professionista-email-inverse {
                      font-size: 0.95rem;
                      color: #f7f5e9;
                      margin-bottom: 4px;
                      font-weight: 400;
                    }
                    
                    .professionista-linkedin {
                      color: #192B37;
                      text-decoration: underline;
                      font-weight: 400;
                      font-size: 0.95rem;
                      margin-bottom: 0;
                      display: inline-block;
                    }

                    .professionista-linkedin-inverse {
                      color: #f7f5e9;
                      text-decoration: underline;
                      font-weight: 400;
                      font-size: 0.95rem;
                      margin-bottom: 0;
                      display: inline-block;
                    }
                    
                    .professionista-linkedin:hover {
                      color: #192b37;
                    }

                    .professionista-linkedin-inverse:hover {
                      color: #f7f5e9;
                      opacity: 0.8;
                    }
                    
                    .professionista-linkedin {
                        color: #192B37;
                        text-decoration: underline;
                        font-weight: 400;
                        font-size: 0.95rem;
                        margin-bottom: 0;
                        display: inline-block;
                    }
                    
                    .professionista-linkedin:hover {
                        color: #192b37;
                    }
                    
                    .professionista-arrow {
                        width: 30px;
                        height: 30px;
                        border-radius: 50%;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        flex-shrink: 0;
                    }
                    
                    .professionista-arrow img {
                        height: 20px;
                    }
                    
                    .professionista-footer {
                        display: flex;
                        justify-content: space-between;
                        align-items: flex-end;
                        margin-top: 20px;
                    }
                    
                    .professionista-contacts {
                        display: flex;
                        flex-direction: column;
                        flex: 1;
                    }
                    
                    /* Effetto hover */
                    .box:hover .main-image {
                        width: 140px;
                        height: 190px;
                        position: absolute;
                        top: 30px;
                        right: 30px;
                        border-radius: 20px;
                        z-index: 2;
                        object-fit: cover;
                    }

                    .box:hover .iconaCerchioBlu {
                        opacity: 0;
                        transform: scale(0.5);
                        visibility: hidden;
                    }
                    
                    /* Alternativa per assicurarsi che sparisca anche con hover sul contenitore */
                    .col-md-4:hover .iconaCerchioBlu {
                        opacity: 0 !important;
                        visibility: hidden !important;
                    }
                    
                    .box:hover .professionista-details, .box:hover .professionista-details-inverse {
                        transform: translateY(0);
                    }

                    /* Mobile/Tablet: disabilita hover e rendi cliccabile direttamente */
                    @media (max-width: 991px) {
                        .professionista-details,
                        .professionista-details-inverse {
                            display: none !important;
                        }

                        /* CSR cards: mantieni overlay nascosta ma animabile (no display:none) */
                        .box.csr-touch-card .professionista-details,
                        .box.csr-touch-card .professionista-details-inverse {
                            display: flex !important;
                            transform: translateY(100%);
                        }

                        /* CSR cards: mostra dettagli al tap (touch-active) */
                        .box.csr-touch-card.touch-active .professionista-details,
                        .box.csr-touch-card.touch-active .professionista-details-inverse {
                            transform: translateY(0) !important;
                        }

                        .box.csr-touch-card.touch-active .main-image {
                            width: 140px !important;
                            height: 190px !important;
                            position: absolute !important;
                            top: 30px !important;
                            right: 30px !important;
                            border-radius: 20px !important;
                            z-index: 2 !important;
                            object-fit: cover !important;
                        }

                        .box:hover .main-image {
                            width: 100% !important;
                            height: 100% !important;
                            position: static !important;
                            border-radius: 0 !important;
                        }

                        .box:hover .iconaCerchioBlu {
                            opacity: 1 !important;
                            transform: none !important;
                            visibility: visible !important;
                        }

                        .col-md-4:hover .iconaCerchioBlu {
                            opacity: 1 !important;
                            visibility: visible !important;
                        }

                        .box:hover .professionista-details,
                        .box:hover .professionista-details-inverse {
                            transform: translateY(100%) !important;
                        }
                    }


.body {
  color: #192B37;
}

p {
  color:#192B37;
}

.cl-bright p {
  color: #F7F5E9 !important;
}

.cl-accent p {
  color: #00ADC7 !important;
}

.quadratoCortoSlider p {
  font-size: 1rem;
}

.banner {
  height: 40.75rem;
}

.stileMappa {
  width: 100%;
  height: 650px;
  border-radius: 0.9375rem;
}

.jvectormap-zoomin {
  display: none!important;
}

.jvectormap-zoomout {
  display: none!important;
}

.altezzaText {
  height: 100px;
  border-radius: 20px;
}

.banner--small {
  height: 23.75rem;
  align-items: flex-end;
}

.testoGrande {
  color: #192B37;
  font-size: 2rem;
}

.footer__card {
  color: #192B37;
} 

strong {
  font-weight: bold;
}

.text-white {
  color: #f7f5e9!important;
}

.altezzaIcona {
  height: 200px;
  width: 200px;
}

.bg-verde {
  background-color: #A5E2C7;
}

.bg-azzurro {
  background-color: #78B1B4;
} 

.bg-verdeScuro {
  background-color: #2D8962;
}

.altezzaTitoloCortoESG {
  font-size: 2.5rem;
}

.titoloCardCorto {
  font-size: 2rem;
}

.quadratoCortoSlider {
  min-height: 25.8125rem;
}

.slick-element {
  padding-right: 1rem;
}

.contenutoCard {
  font-size: .8rem;
}

.bloccoFoglia {
  height: 100%;
  position: relative;
  overflow: hidden;
  min-height: 30.813rem;
}

.imgFoglia {
  height: 100%;
  width: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

/* checkbox */

.basecheck {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 1rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  
}

.basecheck input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}


.quote {
  border: 1.5px solid #192B37;
  min-height: 25.8125rem;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
border-radius: 15px;
border: 1px solid white;
}

/* On mouse-over, add a grey background color */
/*.basecheck:hover input ~ .checkmark {
  background-color: #ccc;
}*/

/* When the checkbox is checked, add a blue background */
.basecheck input:checked ~ .checkmark {
  background-color: #192B37;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.basecheck input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.basecheck .checkmark:after {
  left: 7px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


.btn-light {
  --bs-btn-color: #192B37;
}

.btn-light:hover {
  color: #fff;
  background-color: rgb(0,173,199);
  border-color: rgb(0,173,199);
}

.opac {
    opacity: 0.5;
}

.margineInferiore {
  margin-top: 50%;
} 

.titoloCardInterna {
  font-size: 3rem;
  font-weight: inherit;
}

.bg-primary .titoloCardInterna, .bg-accent .titoloCardInterna {
  color: #fff;
}

.testoCardInterno {
  font-size: 1.9rem;
}

.bg-primary .testoCardInterno, .bg-accent .testoCardInterno {
  color: #fff;
}

.bg-grad {
background: rgb(0,173,199);
background: -moz-linear-gradient(90deg, rgba(0,173,199,1) 0%, rgba(3,46,95,1) 100%);
background: -webkit-linear-gradient(90deg, rgba(0,173,199,1) 0%, rgba(3,46,95,1) 100%);
background: linear-gradient(90deg, rgba(0,173,199,1) 0%, rgba(3,46,95,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00adc7",endColorstr="#192B37",GradientType=1);
}

.bg-grad .section__subtitle {
  color: #fff;
}


.btn-outline-primary {
    font-size: 14px;
}

/*.btn-outline-primary:hover {
    color: #F7F5E9;
    background: #192B37;
    border-color: #192B37;
  }*/

  .btn-outline-light {
    border-radius: 10px!important;
  } 

  .btn-outline-primary:hover, .btn-outline-light:hover {
    color: #192B37;
    background: #F7F5E9;
    border-color: #192B37;
  }

  .btn-primary:hover {
    color: #192B37;
    background: #F7F5E9;
    border-color: #F7F5E9;
  }

  .hoverInvertito:hover {
    color: #192B37;
  background: #F7F5E9;
  border-color: #192B37;
  }

  .menu:hover, .linked-primary:hover {
      color: #F7F5E9;
      background: #192B37;
      border-color: #192B37;
  }

  .attivoBottone {
    color: #F7F5E9;
    background: #192B37;
    border-color: #192B37;
  }

  .btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
    color: #192B37;
  }

  .linkAzz {
    color: #192B37;
  }

  .linkAzz:hover {
    color: #192B37;
    opacity: 1;
    text-decoration: underline;
  }

.linkBianco {
  color: #fff;
} 
.linkBianco:hover {
  color: #fff;
  opacity: 1;
  text-decoration: underline;
}

a:hover {
    opacity: 1;
}

.articoli-slider .slick-dots li button::before {
  color: #707070;
  opacity: 1;
}


.articoli-slider .slick-dots li.slick-active button::before {
  opacity: 1;
  color: #fff;
}

.text-bg-light {
  color:#192B37!important;
}

.slick-dots  {
 bottom: -45px;
}

.slick-dots li button::before {
  font-size: 1rem;
} 


.carousel-indicators [data-bs-target] {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  opacity: 1;
  background-color: #707070;
  border: 1px solid #707070;
}

.carousel-indicators .active {
  background-color: #fff;
  border: 1px solid #707070;
}

.altezzaProf {
  min-height: 20rem;
} 

.quadrato {
  border: 1.5px solid #192B37;
    border-top-color: rgb(3, 46, 95);
    border-right-color: rgb(3, 46, 95);
    border-bottom-color: rgb(3, 46, 95);
    border-left-color: rgb(3, 46, 95);
  min-height: 25.8125rem;
  height: 100%;
  position: relative;
  overflow: hidden;
} 

.quadratoCorto {
  min-height: 25.8125rem;
}

.card-item {
  min-height: 30.813rem;
}

.card-item__title {
  color: #192B37;
} 

.card-item__body {
  color: #192B37;
}

.section__subtitle {
  color: #192B37;
  font-size: 35px;
}

.titoloQuadratoPiccolo {
  font-size: 1.6rem;
}

.linkTitolo {
  color: #192B37;
}

.centratoFlex {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.testoBlu {
  color: #192B37!important;
}

.linkTitolo:hover {
  color: #192B37;
  text-decoration: underline;
}

.linkProfessionista {
    color: #192B37;
    font-size:20px;
}

.testoBianco {
    color:#f7f5e9!important;
}

.testoBianco p {
    color:#f7f5e9!important;
}

.rigaProfessionista {
    background-color: #192B37;
    height: 2px;
    opacity: 1;
}

.autoreCit {
    color: #192B37;
    font-size: 20px;
    font-weight: 400;
}

.letteraAttiva {
    height: 40px;
  width: 40px;
}

.bg-grad .autoreCit {
    color: #fff;
}

.card-quadrata {
    border: 1.5px solid #192B37;
  min-height: 25.8125rem;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.inserimentoFile::file-selector-button {
  border: 1px solid #192B37;
  background-color: #192B37;
  color:white;
}

.inserimentoFile {
  border: 1px solid #192B37;
  background-color: #192B37;
  color:white;
}

.inserimentoFile:focus {
  border: 1px solid #192B37;
  background-color: #192B37;
  color:white;
}

.inserimentoFile:hover, .inserimentoFile::file-selector-button:hover {
  border: 1px solid #192B37;
  background-color: #00ADC7!important;
  color: #fff;
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  border: 1px solid #192B37;
  background-color: #00ADC7!important;
  color: #fff;
}

.form-check span.wpcf7-list-item-label {
  font-size: 0.875rem;
  color: #192B37;
  padding-left: 0.625rem;
} 

.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 0!important;
}

.wpcf7-textarea {
  height: 150px!important;
}

.page-link {
  z-index: 3;
  color: white;
  background-color: #DCE1E6;
  border-color: #DCE1E6;
  border-radius: 50% !important;
  height: 35px;
  width: 35px;
  margin-right: .5rem;
  margin-left: .5rem !important;
}

.page-link:hover {
  color: white;
  background-color: #192B37;
  border-color: #192B37;
}


.active > .page-link, .page-link.active {
    z-index: 3;
    color: white;
    background-color: #192B37;
    border-color: #192B37;
    border-radius: 50%!important;
    height: 35px;
  width: 35px;
  }


  .bordoSuo {
    border: 1px solid #192B37;
    border-radius: 14px;
    object-fit: cover;
  }

  .sfondoHome .form-label {
    color:white;
  }

  .sfondoHome .form-select {
    --bs-form-select-bg-img: url("../img/frecciadestrabianca.png");
    background-size: 15px 15px;
    border-radius: 0px;
    border-top: none;
    border-right: none;
    border-left: none;
    padding-left: 0px;
    border-bottom: 1px solid white;
}



.sfondoHome .form-control, .footer .form-control {
  border: 1px solid white;
  color: white!important;
  accent-color: white;
  color-scheme: dark;
}

.sfondoHome input[type="date"]::-webkit-calendar-picker-indicator,
.footer input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
    opacity: 1;
}

.footer .form-label {
  color:#f7f5e9;
}

.footer .form-control::placeholder {
  color: rgba(255, 255, 255, 1);
  opacity: 1;
  font-family: "AdobeGaramondProItalic";
  font-size: 1.3rem;
}

.form-select {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.7);
}

/* Fix per dropdown select su Edge - opzioni con testo scuro su sfondo chiaro */
.form-select option {
  color: #192b37;
  background-color: #fff;
}

footer {
    background-color: #192b37;
    padding-top: 4rem;
    padding-bottom: 4rem;
    color: #f7f5e9;
    border-top: 1px solid #f7f5e9;
}

.altezzaLogoFooter {
  height: 60px;
  margin-bottom: 3rem;
}

footer p {
  margin-bottom: 0px;
}

.linkFooter {
  color: #f7f5e9;
  text-decoration: underline;
  text-align: right;
}

.noBordo {
    border: none;
}

.altezzaClassica {
  min-height: 25.8125rem;
}

.margineNegativoCit{
  margin-top: -5rem;
}

.padNumeroDoppio {
  padding-left: .5rem!important;
}

.margineDestroMio {
  margin-right: 1rem;
} 

.nero {
  color:#fff;
  background-color: black;
}

.blocchettoProf {
  width:90%;
}

.nascondi {
  display: none;
} 


.btn-outline-primary:first-child:active, :not(.btn-check) + .btn:active {
  color: #192B37;
  background-color: #fff;
  border-color: #fff;
}

.btn-primary:first-child:active, :not(.btn-check) + .btn:active {
  color: #192B37;
  background-color: #fff;
  border-color: #fff;
}

.btn-primary:active, .btn:active {
  color: #192B37;
  background-color: #fff;
  border-color: #fff;
}

.btn-outline-primary:active {
  color: #192B37;
  background-color: #fff;
  border-color: #fff;
}

.bottoneCremino {
  background: #f7f5e9;
  border-color: #192B37;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
  color: #192B37;
}

.bottoneCremino:hover {
  background: transparent;
  border-color:#f7f5e9;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
  color: #f7f5e9;
}

 .bottoneCremino .img-hover { display: none; }
 .bottoneCremino:hover .img-normal { display: none; }
 .bottoneCremino:hover .img-hover { display: block; }

.btn-primary {
  background: #192B37;
  border-color: #192B37;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
}

.btn-primary:hover {
  background: #f7f5e9;
  border-color: #192B37;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
  color: #192B37;
}

.btn-primary:disabled,
.btn-primary.disabled {
  background: #e0e0e0;
  border-color: #e0e0e0;
  color: #999999;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
  cursor: not-allowed;
  opacity: 0.65;
}

.btn-primary-inverso {
   background: #f7f5e9;
  border-color: #192B37;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
  color: #192B37;
}

.btn-primary-inverso:hover {
  background: #192B37;
  border-color: #192B37;
  min-width: 250px;
  border-radius: 10px;
  font-weight: inherit;
  color: #fff;
}

.altezzaBottoneEvents {
  height: 45px;
}


/* Slider Aree di Attività */
.aree-slider {
    overflow: hidden;
    position: relative;
    margin-bottom: 30px;
}

.aree-slider .slider-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 0;
}

.aree-slider .slider-element {
    flex: 0 0 calc(23% - 0px); /* Mostra 4 elementi e un pezzo del quinto */
    min-width: 0;
}

.prev-aree, .next-aree {
    cursor: pointer;
    transition: opacity 0.3s ease;
    margin-left: 10px;
}

.prev-aree:hover, .next-aree:hover {
    opacity: 0.7;
}

.altezzaFreccia {
    height: 40px;
}

/* Responsive per tablet */
@media (max-width: 992px) {
    .aree-slider .slider-element {
        flex: 0 0 calc(33.333% - 0px); /* Mostra 3 elementi per volta su tablet */
    }
}

/* Responsive per mobile */
@media (max-width: 768px) {
    .aree-slider .slider-element {
        flex: 0 0 calc(50% - 0px); /* Mostra 2 elementi per volta su mobile */
    }
}

/* ==============================================
   AREE SLIDER - Mobile: scroll nativo
   ============================================== */
@media (max-width: 767px) {
    .aree-slider {
        overflow: visible !important;
    }

    .aree-slider .slider-track,
    .aree-slider .aree-track {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .aree-slider .slider-track::-webkit-scrollbar,
    .aree-slider .aree-track::-webkit-scrollbar {
        display: none;
    }

    .aree-slider .slider-element,
    .aree-slider .aree-element {
        flex: 0 0 48% !important;
        min-width: 48%;
        scroll-snap-align: start;
    }

    .boxArea .titoloArea,
    .boxAreaBlu .titoloArea {
        font-size: 1.1rem;
        line-height: 1.25;
    }

}


@media (min-width: 576px) {
  .titoloProvvisorio {
    font-size: 75px;
  }
  .sottotitoloProvvisorio {
    font-size: 35px;
  }
}


@media (min-width: 1400px) {
  .container {
    /*max-width: 1340px;*/
    max-width: 1440px;
  }

}

@media (min-width: 1600px) {
  .container {
    max-width: 1540px;
  }

}

@media (min-width: 1400px) {
  .card-item__title {
    font-size: 2.5rem;
  }
}

@media (min-width: 1200px) {
  .margineSuperioreGrande {
    margin-top: 10%;
  }
}

@media (min-width: 992px) {
  .card-item__title {
    font-size: 2rem;
  }

  .card-item__body {
    padding: 2.3rem;
  }

  .titoloCardInterna {
    font-size: 2.5rem;
    font-weight: inherit;
  }
}

@media ((min-width:1025px) and (max-width:1199px)) {
  .footer__card .card-body {
    display: block;
    margin-top: 3%;
  }
} 


@media (max-width: 1024px)
{
  .form-select, .form-control {
    margin-bottom: 1rem;
  }

  .banner {
    height: 42rem;
  }

  .ESG {
    height: 20.75rem!important;
  }

  .en {
    height: 29.75rem !important;
  }

  .banner--small {
    height: 13.75rem;
  }

  .letteraAttiva {
    margin-bottom: 1rem;
  }

  .form-select, .form-control {
    margin-bottom: 1rem;
  }

  .footer__card .card-body {
    display: block;
    margin-top: 3%;
  }

  .section__title {
    font-size: 3rem;
  }

  .section__subtitle {
    font-size:20px
  }

  .flexMobile {
    display: flex!important;
    margin-top: 1%!important;
  }

  
  
}

@media (min-width:1024px) {
  .quadratoCortoSlider {
    min-height: 33rem;
  }
}

@media ((min-width: 1024px) and (max-width: 1100px)) {

  .margineSuperioreMobile {
    margin-top: .5rem;
  }
  
}

@media (max-width:768px) {
  .margineDestroMio {
    margin-right: 0px!important;
    margin-bottom: .4rem;
  }
  .paddingTerzo {
    padding: .6rem!important;
  }

  .quadratoSliderMobile {
    min-height: 35rem;
    margin-left: 1rem;
  }

  .btn-whistle {
    width: 100%;
  }
  
}

@media (max-width:767px) {
  .card-item__header {
    flex-direction: row;
  }

  .section__subtitle {
    font-size: 2rem;
  }

  .centratoMobile {
  text-align: center !important;
  margin-top: 1rem;
  }

  .navbar-toggler {
    padding: 0px;
    width: 50px;
    height: 50px;
    margin-top: -7px;
    border-radius: 50%;
    background-color: #192B37;
    color:white;
  }

  .banner {
    align-items: inherit;
    padding-top: 1rem;
  }
  .section__subtitle--banner {
  font-size: 2rem;
  }

  .banner {
    height: auto;
  }

  .card-item__body {
    padding: 1.6rem;
  }

  .card-item__title {
    font-size: 20px;
  }

  .card-item {
    min-height: 25rem;
  }

  .section__title {
    font-size: 3rem;
  }

  .section__subtitle {
    font-size:20px
  }

  .mobileNo {
    display: none;
  }


  .paddingMobile {
    padding: 1rem;
  }


  .letteraAttiva {
    margin-bottom: 1rem;
  }

  .form-select, .form-control {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }

  .search-modal-input {
    margin-top: 0px;
  }

  .colonnaFlex {
    flex-direction: column!important;
  }

 .margineSuperioreMob {
   margin-top: 1rem;
 }

 .itemImg2 {
   margin-top: 1rem;
 }

 .titoloMobile {
  font-size: 25px;
 }

 .btn-sm {
   font-size: .9rem;
 }

 .flexMobileNew {
  display: flex!important;
  margin-top: 1%!important;
}

.margineMobileInferiore {
  margin-bottom: 2rem;
}
 
.margineMobileSinistro {
  margin-left: 1.5rem !important;
}

.margineMobileNumero {
  margin-left: 1rem;
}

.margineMobileDestro  {
  margin-left: 1rem !important;
}

.card-item__content {
  -webkit-line-clamp: 5;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  height: 148px;
}


.margineDestroMio {
  margin-right: 1rem!important;
  margin-bottom: 0px;
}


.blocchettoProf {
  width:100%;
  padding-top: 3rem;
}

.altezzaLogo {
  height: 30px;
}


}

/* slider articoli */

.altezzaFreccia {
  height: 40px;
}

/* Stili per la sezione Get in Touch */
.touch {
  background-color: #f7f5e9;
  padding: 2rem 0;
}

.touchget {
   color: #192B37;
   font-weight: bold;
   font-size: 2.5rem;
   margin-bottom: 1rem;
}

.touchDescrizione {
  color: #192B37;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.sede-row {
  border-top: 1px solid #192B37;
  padding-top: 1.5rem;
  margin-top: 1.5rem;
}

.sede-row:last-child {
  border-bottom: 1px solid #192B37;
  margin-bottom: 0;
}

.nome-citta {
  font-family: "AdobeGaramondProItalic", serif;
  color: #192B37;
  font-size: 1.8rem;
  margin-bottom: 0;
  font-weight: normal;
}

.info-sede {
  padding-left: 0;
}

.indirizzo {
  color: #192B37;
  font-size: 0.95rem;
  line-height: 1.4;
  margin-bottom: 0;
}

.btn-contact {
  background: transparent;
  border: 1px solid #192B37;
  color: #192B37;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 120px;
  min-width: 120px;
  max-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  justify-content: space-between;
  height: 40px;
}

.btn-contact img {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.btn-contact-inline {
  background: transparent;
  border: 1px solid #192B37;
  color: #192B37;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 0.85rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: auto;  
  max-width: auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  justify-content: space-between;
  height: 56px;
  margin-right: 1rem;
  margin-bottom: 1rem;
}

.btn-contact-inline img {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  margin-right: 50px;
}


.btn-contact-inline-interno {
  background: transparent;
  border: 1px solid #192B37;
  color: #192B37;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 0.85rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: auto;  
  max-width: auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  justify-content: space-between;
  height: 40px;
  margin-right: 1rem;
  margin-bottom: 1rem;
}

.btn-contact-inline-interno img {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  margin-right: 50px;
}


/*.btn-contact:hover {
  background-color: #192B37;
  color: #f7f5e9;
}*/

@media (max-width:575px) {
  .quadratoSliderMobile {
    min-height: 40rem;
    margin-left: 1rem;
  }
  
  .touchget {
    font-size: 2rem;
  }
  
  .nome-citta {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  
  .btn-contact {
    margin-top: 1rem;
    width: 100%;
  }
}

/* Alfabeto Filter */
.alphabet-filter {
  padding: 2rem 0;
  background-color: #f7f5e9;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.alphabet-letter {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 500;
  font-family: "AdobeGaramondPro", serif;
  color: #192B37;
  margin: 0;
  padding: 0.2rem;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  white-space: nowrap;
  flex: 1;
  text-align: center;
}

.alphabet-letter:hover {
  color: #ba2021;
  text-decoration: none;
}

.alphabet-letter.active {
  color: #ba2021;
  font-weight: bold;
}

.alphabet-select-wrapper {
  padding: 1rem 0;
}

.alphabet-select-wrapper .form-select {
  font-family: "AdobeGaramondPro", serif;
  font-size: 1.2rem;
  color: #192B37;
  border-color: #192B37;
}

/* Professionisti List */
.bordoSopraSotto {
  border-top: 1px solid #192B37;
  padding: 1.5rem 0;
  margin-bottom: 0;
}

.bordoSopraSotto:last-child {
  border-bottom: 1px solid #192B37;
}

.nomeProfe {
  font-family: "AdobeGaramondPro", serif;
  font-size: 2.2rem;
  color: #192B37;
  margin-bottom: 0;
  font-weight: normal;
}

.nomeProfe .corsivo {
  font-family: "AdobeGaramondProItalic", serif;
}

.corsivo {
  font-family: "AdobeGaramondProItalic", serif;
}

.fontPiccoloContact {
  font-size: 1.7rem;
} 

.titoloArticolino {
  font-family: "AdobeGaramondProItalic", serif;
  font-size: 2.2rem;
  color: #192B37;
  margin-bottom: 0;
  font-weight: normal;
}

.fontGaramond {
  font-family: "AdobeGaramondPro", serif;
}

.bordoSotto {
  border-bottom: 1px solid #192B37;
  padding: 1.5rem 0;
  margin-bottom: 0;
}

.dataArticolino {
  font-size: 2rem;
  font-family: "AdobeGaramondPro";
}

.ruoloProfe {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  color: #192B37;
  margin-bottom: 0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (max-width: 768px) {
  .nomeProfe {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
  }
  
  .ruoloProfe {
    font-size: 0.9rem;
    text-align: left !important;
  }
}

/* Slider Works With - Mostra 3 elementi per volta */
#works-with-slider {
    display: flex;
    transition: transform 0.5s ease;
    gap: 20px;
}

#works-with-slider .slider-element {
    flex: 0 0 calc(33.33% - 14px);
    min-width: 0;
}

#works-with-slider .slider-element:last-child {
    margin-right: calc(33.33% + 20px);
}

/* ==============================================
   WORKS WITH SLIDER - Mobile: scroll nativo
   Come lo slider professionisti in homepage
   ============================================== */
@media (max-width: 767px) {
    /* Il contenitore padre perde overflow-hidden */
    .sezioneProfessionisti .col-md-8 {
        overflow: visible !important;
    }

    /* Il track diventa scroll nativo */
    #works-with-slider {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    #works-with-slider::-webkit-scrollbar {
        display: none;
    }

    /* Ogni card ~80% per mostrare un pezzetto della successiva */
    #works-with-slider .slider-element {
        flex: 0 0 80%;
        min-width: 80%;
        scroll-snap-align: start;
    }

    /* Rimuovi margin extra sull'ultimo elemento */
    #works-with-slider .slider-element:last-child {
        margin-right: 0;
    }

    /* Nascondi frecce su mobile */
    .sezioneProfessionisti .prev,
    .sezioneProfessionisti .next {
        display: none;
    }
}


/* office part */

.offices-section {
     padding: 60px 0;
 }

 .toggle-image {
     height: 40px;
     transition: opacity 0.3s ease, transform 0.3s ease;
 }

 .toggle-image.changing {
     opacity: 0;
     transform: scale(0.8);
 }

 .office-item {
     margin-bottom: 0;
     border-bottom: 1px solid #e0e0e0;
     position: relative;
 }


 .office-item.active {
      border-bottom: none;
 }

 .office-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 30px 0;
     cursor: pointer;
     transition: all 0.3s ease;
     position: relative;
     z-index: 5;
 }

 .office-header:hover {
    /* background-color: rgba(0, 0, 0, 0.02); */
 }

 .office-header h2 {
     font-family: 'AdobeGaramondProItalic', serif;
     font-size: 2.5rem;
     color: #2c3e50;
     margin: 0;
     font-weight: normal;
 }

 .active .office-header {
     border-bottom: 1px solid #e0e0e0;
 }

 .office-toggle {
     position: relative;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
 }

 .office-toggle .plus,
 .office-toggle .minus {
     position: absolute;
     font-size: 1.5rem;
     color: #2c3e50;
     transition: all 0.3s ease;
     font-weight: bold;
 }

 .office-toggle .minus {
     opacity: 0;
     transform: rotate(90deg);
 }


 .office-item.active .office-toggle .plus {
     opacity: 0;
     transform: rotate(90deg);
 }

 .office-item.active .office-toggle .minus {
     opacity: 1;
     transform: rotate(0deg);
     color: white;
 }

 .office-content {
     max-height: 0;
     overflow: hidden;
     transition: all 0.5s ease;
     padding: 0 0;
     position: relative;
     z-index: 1;
 }

 .office-item.active .office-content {
     padding: 30px 0 80px 0;
 }

 .office-details {
     padding-right: 30px;
 }

 .office-address {
     font-size: 1.1rem;
     line-height: 1.6;
     color: #2c3e50;
     margin-bottom: 0;
 }


 .office-image img {
     width: 100%;
     object-fit: cover;
     border-radius: 30px;
     height: 460px;
 }

 @media (max-width: 768px) {

  .offices-section {
  padding-top: 10px;
  padding-bottom: 0px;
}

     .office-header h2 {
         font-size: 2rem;
     }
.contenutoTestuale img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
     
     .office-details {
         padding-right: 0;
         margin-bottom: 30px;
     }
     
     .office-image img {
         height: auto;
         max-width: 100%;
     }
     
     .office-actions {
         text-align: center;
     }
     
     .btn-contact,
     .btn-directions {
         padding: 10px 20px;
         font-size: 0.8rem;
         width: 100%;
         min-width: 100%;
         max-width: 100%;
     }

     .office-item.active .office-content {
         max-height: none;
     }

     /* Posizioni Aperte - layout mobile */
     .posizioneAperta .office-header .row {
         flex-wrap: nowrap;
         align-items: center;
     }

     .posizioneAperta .office-header .col-md-4:first-child {
         flex: 1 1 auto;
         width: auto;
     }

     .posizioneAperta .office-header .col-md-4:nth-child(2) {
         flex: 0 0 auto;
         width: auto;
         text-align: center;
         padding: 0 8px;
     }

     .posizioneAperta .office-header .col-md-4:last-child {
         flex: 0 0 auto;
         width: auto;
     }

     .posizioneAperta .office-header h2 {
         font-size: 1.2rem;
         margin: 0;
     }

     .posizioneAperta .office-location {
         font-size: 0.85rem;
     }

     .posizioneAperta .office-content {
         padding: 0 12px;
         overflow-y: auto;
     }

     .posizioneAperta.active .office-content {
         padding: 15px 12px 30px 12px;
     }

     .posizioneAperta .office-content .row {
         margin: 0;
     }

     .posizioneAperta .office-details {
         margin-bottom: 15px;
         padding: 0;
     }

     .posizioneAperta .office-details h4 {
         font-size: 1.1rem;
     }

     .posizioneAperta .contenutoPosizione {
         font-size: 0.9rem;
         line-height: 1.5;
         word-wrap: break-word;
         overflow-wrap: break-word;
     }

     .posizioneAperta .contenutoPosizione p {
         margin-bottom: 0.8rem;
     }

     .posizioneAperta .custom-learn-more-btn {
         font-size: 0.9rem;
     }


 }

/* Sustainability Hero Section */
.sustainability-hero-section {
    position: relative;
    min-height: 1000px;
    overflow: hidden;
    padding: 4rem 0;
    display: flex;
    align-items: stretch;
    border-radius: 35px;
    background-size: cover;
    background-position: top;
}

.sustainability-hero-section .container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 1000px;
}

.sustainability-title {
    font-family: 'Inter', serif;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.2;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.sustainability-description {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.counters-row {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.counter-block {
    text-align: left;
    border-left: 1px solid rgba(255, 255, 255, 0.5);
    padding-left: 1rem;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.counter-number {
    display: block;
    font-family: 'Inter', sans-serif;
    color: #BA2121 !important;
    font-weight: bold;
    transition: all 0.3s ease;
    font-size: 2rem;
}

.counter-text {
    color: #F7F5E9!important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    font-size: 1rem;
    line-height: 1.4;
    margin-top: auto;
}

.counter-text p {
   color: #F7F5E9!important;
}

/* Responsive adjustments - Tablet */
@media (max-width: 768px) {
    .sustainability-hero-section {
        min-height: 700px;
        padding: 3rem 0;
    }
    
    .sustainability-hero-section .container {
        height: 700px;
    }
    
    .sustainability-title {
        font-size: 2.5rem !important;
        margin-bottom: 2rem;
    }
    
    .sustainability-description {
        font-size: 1rem !important;
    }
    
    .counter-number {
        font-size: 3rem !important;
    }
    
    .counter-block {
        height: auto;
        min-height: 80px;
        margin-bottom: 1rem;
    }
}

/* Responsive adjustments - Mobile */
@media (max-width: 576px) {
    .sustainability-hero-section {
        min-height: auto;
        padding: 2rem 0;
    }
    
    .sustainability-hero-section .container {
        height: auto;
        min-height: auto;
    }
    
    .sustainability-title {
        font-size: 2rem !important;
    }
    
    .counters-row {
        position: relative;
        bottom: auto;
        margin-top: 2rem;
    }
    
    .counter-number {
        font-size: 2.5rem !important;
    }
    
    .counter-text {
        font-size: 0.9rem !important;
    }
    
    .counter-block {
        height: auto;
        min-height: auto;
        margin-bottom: 1.5rem;
    }
}


/*  blocco card  CSR */

/* Sezione Pro Bono e Activities & Projects */
.csr-blocks-section {
    padding: 0;
}

.csr-block {
    border-radius: 20px;
    padding: 3rem;
    height: 100%;
    color: white;
    position: relative;
    overflow: hidden;
    min-height: 400px;
}

.csr-block-pro-bono {
    background: #192B37;
}

.csr-block-activities {
    background: #1F3821;
}

/* .arancio {
  background:#0066cc;
} */

.arancio {
  background:#BA2121;
}

.marrone {
  background: #c4b5a3;
}

.btn-light {
  color: white;
  background: transparent;
  text-transform: uppercase;
  font-weight: normal;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 3rem;
  padding-right: 3rem;
  border-radius: 15px;
}

.btn-light:hover {
    color: white;
    background-color:#192B37;
    border-color: #192B37;
} 

.csr-block h2 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    color: white;
    font-family: 'AdobeGaramondPro', sans-serif;
}

.csr-block p {
    font-size: 1.1rem;
    line-height: 1.2;
    margin-bottom: 2rem;
    color: white;
    padding-right: 12px;
    padding-bottom: 3rem;
    font-family: 'Inter', sans-serif;
}

.csr-arrow {
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 10;
}

.csr-arrow img {
    height: 32px;
    width: auto;
}

.corsivo2 {
    font-family: 'AdobeGaramondProItalic', serif;
    font-size:1.4rem;
  }


  /* Probono e Sectors alta */

   .header-probono-split {
        display: flex;
        flex-wrap: wrap;
        min-height: 900px;
        width: 100%;
    }
    .header-probono-left {
        width: 50%;
        background-color: #BA2021;
        padding: 60px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        color: white;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .header-sector-left {
        width: 50%;
        background-color: #BA2021;
        padding: 60px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        color: white;
        border-bottom-right-radius: 20px;
    }

    .header-probono-right {
        width: 50%;
        position: relative;
        background-size: cover;
        background-position: center;
        min-height: 400px;
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
        /* Importante: overflow hidden per sicurezza, anche se gestiamo i bordi del figlio */
        overflow: hidden; 
    }
    .header-probono-logo-container {
        position: absolute;
        bottom: 0;
        right: 0;
        background-color: #f7f5e9; /* O 'white' se vuoi bianco puro come nella foto */
        padding: 20px 40px;
        
        /* --- MODIFICA QUI --- */
        /* Arrotonda l'angolo interno (in alto a sinistra) */
        border-top-left-radius: 40px; 
        /* Rende quadrato l'angolo in alto a destra per attaccarsi al bordo */
        border-top-right-radius: 0;
        /* Segue la curva del genitore in basso a destra */
        border-bottom-right-radius: 20px; 
        /* Quadrato in basso a sinistra (default, ma esplicitato per chiarezza) */
        border-bottom-left-radius: 0;
        /* ------------------- */

        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
    }
    .header-probono-logo-container img {
        max-height: 80px;
        width: auto;
    }
    .header-probono-title {
        font-family: 'AdobeGaramondProItalic', serif;
        font-size: 3.5rem;
        margin-bottom: 30px;
        line-height: 1.1;
        color: #f7f5e9;
    }
    .header-probono-content, .header-probono-content p {
        font-family: 'Inter', sans-serif;
        font-size: 1.1rem;
        line-height: 1.5;
        color: #f7f5e9;
        padding-right: 60px;
    }


    @media (max-width: 992px) {
        .header-probono-left, .header-probono-right {
            width: 100%;
        }
        .header-probono-left {
            border-radius: 20px 20px 0 0;
        }
        .header-probono-right {
            height: 400px;
            border-radius: 0 0 20px 20px;
        }
        /* Opzionale: su mobile potresti voler ridurre il padding o il radius */
        .header-probono-logo-container {
             padding: 15px 30px;
        }
    }


/* Professionista */

/* Slider Aree di Attività */
.aree-slider {
    overflow: hidden;
    position: relative;
    margin-bottom: 30px;
}

.aree-slider .aree-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 0;
}

.aree-slider .aree-element {
    flex: 0 0 20%; /* Mostra 5 elementi */
    min-width: 0;
}

.prev-aree, .next-aree {
    cursor: pointer;
    transition: opacity 0.3s ease;
    margin-left: 10px;
}

.prev-aree:hover, .next-aree:hover {
    opacity: 0.7;
}

/* Responsive per tablet */
@media (max-width: 992px) {
    .aree-slider .aree-element {
        flex: 0 0 calc(33.333% - 0px); /* Mostra 3 elementi per volta su tablet */
    }
}

/* Responsive per mobile */
@media (max-width: 768px) {
    .aree-slider .aree-element {
        flex: 0 0 calc(50% - 0px); /* Mostra 2 elementi per volta su mobile */
    }
}

/* Slider Cards Section (Refactor from PHP templates) */
.slider-container {
  margin-top: 3rem;
}

.slider-wrapper {
  display: flex;
  gap: 15px;
  align-items: stretch;
}

.slider-image-section {
  flex: 1;
  min-width: 0; /* Prevents overflow */
}

.slider-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
  /* aspect-ratio removed to allow filling height */
}

.slider-cards-section {
  flex: 4;
  display: flex;
  flex-direction: column;
  min-width: 0; /* Prevents overflow from content */
}

.cards-container {
  overflow: hidden;
  position: relative;
  cursor: grab;
  /* Ensure container height fits cards */
  height: 100%; 
}

.cards-container:active {
  cursor: grabbing;
}

.cards-track {
  display: flex;
  gap: 15px;
  transition: transform 0.3s ease;
  user-select: none;
  height: 100%; /* Ensure track fills container */
}

.numbered-card {
  background: #f7f5e9;
  border-radius: 20px;
  padding: 25px 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  flex: 0 0 calc(27% - 11.25px); /* Matches flex ratio effectively with gap */
  aspect-ratio: 407 / 451; /* Correct aspect ratio from XD */
  justify-content: space-between;
  min-width: 0;
}

.card-number {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: #192B37;
}

.card-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 20px;
}

.card-content p {
  font-size: 0.8rem;
  line-height: 1.6;
  margin: 0;
  color: #333;
}

.numbered-card .custom-learn-more-btn-area {
  font-size: 0.9rem;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: #f7f5e9;
}

.menuMobileAttiva {
  display: none;
}

.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
  background-color: #f7f5e9;
}


@media (min-width: 768px) and (max-width: 1199.98px) {
  .menuMobileAttiva {
    display: inline-block;
  }
}



@media (max-width: 768px) {
  .slider-wrapper {
    flex-direction: column;
  }
  
  .slider-image-section {
    flex: none;
  }
  
  .slider-main-image {
    min-height: 250px;
  }
  
  .slider-cards-section {
    flex-direction: column;
  }
  
  .slider-container {
    padding: 25px;
  }
}

/* ==============================================
   SLIDER CARD NUMERATE - Mobile: scroll nativo
   L'immagine scorre come primo elemento + card a seguire
   ============================================== */
@media (max-width: 767px) {
  /* Wrapper diventa slider orizzontale */
  .slider-wrapper {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 10px;
    padding-left: 15px;
    scroll-padding-left: 15px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .margineAltoMobile {
    margin-top: 1rem;
  }

  .csr-block {
  border-radius: 20px;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 20px;
  padding-right: 12px;
}

  /* Spacer dopo l'ultima card per evitare taglio a destra */
  .slider-wrapper::after {
    content: '';
    flex: 0 0 15px;
    min-width: 15px;
  }
  .slider-wrapper::-webkit-scrollbar {
    display: none;
  }

  /* Immagine: primo elemento nello slider, stessa larghezza delle card */
  .slider-wrapper > .slider-image-section {
    flex: 0 0 80% !important;
    min-width: 80%;
    max-width: 80%;
    scroll-snap-align: start;
    height: auto;
  }
  .slider-wrapper > .slider-image-section .slider-main-image {
    min-height: 350px;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
  }

  /* Cards section: diventa inline, non wrappata sopra/sotto */
  .slider-wrapper > .slider-cards-section {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0;
    display: contents; /* Le card escono dal wrapper e vanno nel flusso */
  }

  /* Container e track: diventano trasparenti */
  .slider-wrapper > .slider-cards-section > .cards-container {
    display: contents;
    overflow: visible;
    cursor: default;
  }
  .slider-wrapper > .slider-cards-section > .cards-container > .cards-track {
    display: contents;
  }

  /* Ogni card: larghezza fissa con snap */
  .slider-wrapper .numbered-card {
    flex: 0 0 80% !important;
    min-width: 80%;
    max-width: 80%;
    scroll-snap-align: start;
    aspect-ratio: auto;
    height: auto;
    min-height: 350px;
  }

  /* Slider container: riduci padding */
  .slider-container {
    padding: 15px 0px !important;
  }

  /* Bleed right: full width su mobile */
  .slider-container-bleed-right {
    width: 100% !important;
    padding-left: 0;
  }

  /* Variante settori con row: stessa logica */
  .slider-wrapper.row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .slider-wrapper.row::-webkit-scrollbar {
    display: none;
  }
  .slider-wrapper.row > .slider-image-section {
    flex: 0 0 80% !important;
    min-width: 80%;
    max-width: 80%;
    scroll-snap-align: start;
    padding: 0 !important;
  }
  .slider-wrapper.row > .slider-cards-section {
    display: contents;
  }
  .slider-wrapper.row > .slider-cards-section > .cards-container {
    display: contents;
  }
  .slider-wrapper.row > .slider-cards-section > .cards-container > .cards-track {
    display: contents;
  }
}

/* Slider che inizia allineato al container ma si estende fino al bordo destro */
.slider-container-bleed-right {
    margin-left: auto;
    margin-right: 0;
    padding-left: 0.75rem;
    padding-right: 0;
    width: 100%;
}

@media (min-width: 576px) {
    .slider-container-bleed-right {
        width: calc(100% - ((100% - 540px) / 2));
        margin-left: auto;
    }
}
@media (min-width: 768px) {
    .slider-container-bleed-right {
        width: calc(100% - ((100% - 720px) / 2));
    }
}
@media (min-width: 992px) {
    .slider-container-bleed-right {
        width: calc(100% - ((100% - 960px) / 2));
    }
}
@media (min-width: 1200px) {
    .slider-container-bleed-right {
        width: calc(100% - ((100% - 1140px) / 2));
    }
}
@media (min-width: 1400px) {
    .slider-container-bleed-right {
        width: calc(100% - ((100% - 1440px) / 2));
    }
}
@media (min-width: 1600px) {
    .slider-container-bleed-right {
        width: calc(100% - ((100% - 1540px) / 2));
    }
}

/* ==============================================
   CUSTOM BULLET POINTS - Punti elenco personalizzati
   ============================================== */

/* Stile base per liste dentro fontDescrizione */
.fontDescrizione ul,
.fontDescrizioneSezione ul,
ul.custom-bullets,
.custom-bullets ul {
    list-style: none;
    padding-left: 1.5rem;
}

.fontDescrizione ul li,
.fontDescrizioneSezione ul li,
ul.custom-bullets li,
.custom-bullets ul li {
    position: relative;
    padding-left: 0.5rem;
    margin-bottom: 0.5rem;
}

.fontDescrizione ul li::before,
.fontDescrizioneSezione ul li::before,
ul.custom-bullets li::before,
.custom-bullets ul li::before {
    content: '';
    position: absolute;
    left: -1.2rem;
    top: 0.45em;
    width: 12px;
    height: 12px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Sfondo NON cremino (scuro) -> bullet bianco (default) */
.fontDescrizione ul li::before,
.fontDescrizioneSezione ul li::before,
ul.custom-bullets li::before,
.custom-bullets ul li::before {
    background-image: url('../img/puntoElencoBianco.png');
}

/* Sfondo cremino -> bullet blu */
.bg-cremino .fontDescrizione ul li::before,
.bg-cremino .fontDescrizioneSezione ul li::before,
.sfondoCremino .fontDescrizione ul li::before,
.sfondoCremino .fontDescrizioneSezione ul li::before,
.testa .fontDescrizione ul li::before,
.testa .fontDescrizioneSezione ul li::before,
.fontDescrizione.bullets-blu ul li::before,
.fontDescrizioneSezione.bullets-blu ul li::before,
ul.custom-bullets.bullets-blu li::before {
    background-image: url('../img/puntoElencoBlu.png');
}

/* Classe helper per forzare il colore */
.bullets-bianco ul li::before,
ul.bullets-bianco li::before {
    background-image: url('../img/puntoElencoBianco.png') !important;
}

.bullets-blu ul li::before,
ul.bullets-blu li::before {
    background-image: url('../img/puntoElencoBlu.png') !important;
}

/* Stili per sfondo cremino */
.cremino .fontDescrizione,
.cremino .fontDescrizione p,
.cremino .fontDescrizioneSezione,
.cremino .fontDescrizioneSezione p {
    color: #192B37;
}

/* Bullet blu per sfondo cremino */
.cremino .fontDescrizione ul li::before,
.cremino .fontDescrizioneSezione ul li::before {
    background-image: url('../img/puntoElencoBlu.png');
}

/* Numbered cards su sfondo cremino: sfondo marrone, testo cremino */
.cremino .numbered-card {
    background: #c2b5a6;
}

.cremino .numbered-card .card-number,
.cremino .numbered-card .card-content,
.cremino .numbered-card .card-content p {
    color: #f7f5e9;
}

.cremino .numbered-card .custom-learn-more-btn-area {
    color: #f7f5e9;
}

.cremino .numbered-card .custom-learn-more-btn-area .arrow-right {
    filter: brightness(0) invert(1);
}

/* ==============================================
   COMING SOON EVENT SECTION
   ============================================== */

.coming-soon-section {
    margin-bottom: 2rem;
}

/* Versione CON immagine - Card con immagine sopra e fascia scura sotto */
.coming-soon-card-image {
    width: 100%;
    margin: 0 auto 2rem auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.coming-soon-image {
    width: 100%;
    height: 0;
    padding-bottom: 30%; /* MODIFICA QUI per regolare l'altezza dell'immagine (era 45%) */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #2a3d47;
}

.coming-soon-content-dark {
    background: #1d2d35;
    padding: 1.5rem 2rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.coming-soon-card-image .coming-soon-date {
    margin-bottom: 0;
}

.coming-soon-card-image .coming-soon-title {
    font-family: 'AdobeGaramondProItalic', serif;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.3;
    color: #F7F5E9;
    margin: 0.5rem 0;
}

.coming-soon-card-image .coming-soon-title a {
    color: #F7F5E9;
    text-decoration: none;
}

.coming-soon-card-image .coming-soon-title a:hover {
    text-decoration: underline;
}

.coming-soon-arrow-link {
    display: inline-block;
    transition: transform 0.3s ease;
}

.coming-soon-arrow-link:hover {
    transform: translateX(5px);
}

/* Versione SENZA immagine - Card singola */
.coming-soon-card {
    width: 100%;
    margin: 0 auto 2rem auto;
    border-radius: 20px;
    overflow: hidden;
    background: #1d2d35;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.coming-soon-content {
    padding: 2rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 280px;
}

.coming-soon-card .coming-soon-date {
    margin-bottom: 0;
}

.coming-soon-card .coming-soon-title {
    font-family: 'AdobeGaramondProItalic', serif;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.3;
    color: #F7F5E9;
    margin: 0;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.coming-soon-card .coming-soon-title a {
    color: #F7F5E9;
    text-decoration: none;
}

.coming-soon-card .coming-soon-title a:hover {
    text-decoration: underline;
}

.coming-soon-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: auto;
    padding-top: 1rem;
}

.coming-soon-empty {
    padding: 3rem 2rem;
    text-align: center;
}

.coming-soon-empty p {
    color: rgba(247, 245, 233, 0.6);
    font-family: 'Inter', 'Helvetica Neue', sans-serif;
    font-size: 1rem;
    margin: 0;
}

/* Responsive Coming Soon Card (versione senza immagine) */
@media (max-width: 768px) {
    .coming-soon-card,
    .coming-soon-card-image {
        border-radius: 15px;
    }
    
    .coming-soon-content {
        padding: 1.5rem;
        min-height: 220px;
    }
    
    .coming-soon-content-dark {
        padding: 1.25rem 1.5rem 1.5rem 1.5rem;
    }
    
    .coming-soon-card .coming-soon-title,
    .coming-soon-card-image .coming-soon-title {
        font-size: 1.4rem;
    }
    
    .coming-soon-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .coming-soon-footer > a,
    .coming-soon-footer .coming-soon-arrow-link {
        align-self: flex-end;
    }
    
    .coming-soon-image {
        padding-bottom: 55%;
    }
}

@media (max-width: 480px) {
    .coming-soon-card .coming-soon-title,
    .coming-soon-card-image .coming-soon-title {
        font-size: 1.2rem;
    }
    
    .coming-soon-image {
        padding-bottom: 60%;
    }
}


.testoBloccoFinale {
  color: #192B37;
  font-weight: bold;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.text-underline {
  text-decoration: underline!important;
}

/* Marquee Section - blocco scorrimento */

 .marquee-section {
                  margin: 4rem 0;
                  overflow: hidden;
                }

                .marquee-divider {
                  border: none;
                  height: 1px;
                  background-color: #2d434d;
                  margin: 0;
                  opacity: .4;
                }

                .marquee-container {
                  padding: 1rem 0;
                  overflow: hidden;
                  white-space: nowrap;
                }

                .marquee-content {
                  display: inline-flex;
                  align-items: center;
                  animation: marquee 30s linear infinite;
                }

                .marquee-text {
                  font-size: 3rem;
                  margin: 0 2rem;
                  display: inline-block;
                  font-family: 'AdobeGaramondProItalic', serif;
                  color: #2c3e50;
                }

                .marquee-icon {
                  height: 12px;
                  width: auto;
                  margin: 0 2rem;
                  display: inline-block;
                }

                @keyframes marquee {
                  0% {
                    transform: translateX(0);
                  }
                  100% {
                    transform: translateX(-50%);
                  }
                }

                @media (max-width: 768px) {
                  .marquee-text {
                    font-size: 1.2rem;
                    margin: 0 1rem;
                  }
                  
                  .marquee-icon {
                    height: 12px;
                    margin: 0 1rem;
                  }
                }

/* ==============================================
   MENU MOBILE - Pannello fullscreen con accordion
   ============================================== */

/* Pannello menu mobile: fullscreen sotto la barra header.
   Il top viene calcolato via JS in base alla posizione dell'header. */
.mobile-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #f7f5e9;
    z-index: 9998;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    display: flex;
    flex-direction: column;
}

/* Stato aperto del pannello menu mobile */
.mobile-menu-panel.is-open {
    transform: translateX(0);
}

/* Wrapper interno che occupa tutto lo spazio e posiziona footer in fondo */
.mobile-menu-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: 1.5rem 1.5rem 2rem 1.5rem;
}

/* Lista delle voci di menu mobile */
.mobile-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Singolo elemento del menu mobile */
.mobile-menu-item {
    border-bottom: none;
}

/* Link del menu mobile - voce di primo livello */
.mobile-menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
    color: #192B37;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 100%;
}

.mobile-menu-link:hover,
.mobile-menu-link:focus {
    color: #192B37;
    text-decoration: none;
}

/* Wrapper per le voci con figli: link + freccia cliccabile */
.mobile-menu-link-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border-bottom: none;
}

.mobile-menu-link-wrapper .mobile-menu-link {
    flex: 1;
}

/* Freccia ">" per voci con accordion o navigazione */
.mobile-menu-arrow {
    font-size: 1.5rem;
    color: #192B37;
    cursor: pointer;
    padding: 0.5rem;
    transition: transform 0.3s ease;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
}

/* Freccia ruotata quando sotto-menu è aperto */
.mobile-menu-item.is-submenu-open > .mobile-menu-link-wrapper .mobile-menu-arrow {
    transform: rotate(90deg);
}

/* Sotto-menu mobile: nascosto di default, con transizione */
.mobile-sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

/* Stato aperto del sotto-menu */
.mobile-menu-item.is-submenu-open > .mobile-sub-menu {
    max-height: 500px; /* valore alto per contenere tutte le sotto-voci */
}

/* Link delle sotto-voci - allineato a sinistra senza rientro */
.mobile-submenu-link {
    display: block;
    padding: 0.75rem 0;
    color: #192B37;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 400;
    transition: color 0.2s ease;
}

.mobile-submenu-link:hover {
    color: #BA2121;
    text-decoration: none;
}

/* Footer del menu mobile: lingua e LinkedIn in fondo */
.mobile-menu-footer {
    display: flex;
    gap: 1rem;
    padding-top: 2rem;
    margin-top: auto;
}

.mobile-menu-footer .btn-sm {
    border: 1px solid #192B37;
    padding: 8px 24px;
    color: #192B37;
    font-size: 0.9rem;
    text-decoration: none;
    min-width: auto;
}

/* Bottone outline per menu mobile */
.btn-outline-mobile {
    border: 1px solid #192B37;
    padding: 8px 24px;
    color: #192B37;
    font-size: 0.9rem;
    text-decoration: none;
    background: transparent;
}

.btn-outline-mobile:hover {
    background-color: #192B37;
    color: #f7f5e9;
}

/* Quando il body ha la classe menu-open, blocca lo scroll */
body.menu-mobile-open {
    overflow: hidden;
}

/* Il top del pannello viene calcolato via JS, anche con admin bar */

/* ==============================================
   RESPONSIVE HOME - Hero Section
   ============================================== */

@media (max-width: 767px) {
    /* Hero: titolo più piccolo su mobile */
    .hero-title {
        font-size: 2.5rem;
    }

    /* Immagine hero sotto il testo */
    .hero-description {
        text-align: center !important;
        padding-left: 0 !important;
        margin-top: 1.5rem;
    }

    /* Bottone hero: width adattivo */
    .hero-btn {
        min-width: 100%;
        justify-content: flex-start;
    }
}

/* ==============================================
   TABLET - Slider Professionisti, Insight & Commitment
   Breakpoint 768px – 1199px
   ============================================== */

@media (min-width: 768px) and (max-width: 1199.98px) {

    /* --- PROFESSIONISTI HOME: slider orizzontale --- */
    .professionisti .content {
        padding-right: 0;
        margin-bottom: 2rem;
    }

    .professionisti .col-md-8 .row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 15px;
        padding-bottom: 10px;
        margin: 0;
    }

    .professionisti .col-md-8 .row > .col-md-4 {
        flex: 0 0 45%;
        max-width: 45%;
        scroll-snap-align: start;
        padding-left: 0;
        padding-right: 0;
    }

    .professionisti .box {
        height: 480px;
    }

    .professionisti .iconaCerchioBlu {
        display: none;
    }

    .professionisti .col-md-8 .row::-webkit-scrollbar {
        display: none;
    }
    .professionisti .col-md-8 .row {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    /* --- SLIDER INSIGHT: scroll nativo su tablet --- */
    .insight .slider-track {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .insight .slider-track::-webkit-scrollbar {
        display: none;
    }

    /* Ogni elemento con immagine: più largo, immagine esce a destra come peek */
    .insight .slider-element {
        flex: 0 0 95% !important;
        min-width: 95% !important;
        scroll-snap-align: start;
    }

    .insight .slider-element.no-image {
        flex: 0 0 40% !important;
        min-width: 40% !important;
        scroll-snap-align: start;
    }

    .insight .slider-element.has-companion {
        flex: 0 0 55% !important;
        min-width: 55% !important;
        scroll-snap-align: start;
    }

    .insight .slider-element.slider-element-img {
        flex: 0 0 40% !important;
        min-width: 40% !important;
        scroll-snap-align: start;
        height: 420px;
    }

    /* Card insight: mantieni layout orizzontale, altezza ridotta */
    .insight .insight-card {
        height: 420px;
    }

    .insight .insight-content {
        flex: 0 0 100%;
        padding: 25px 20px;
    }

    .insight .insight-title {
        font-size: 1.3rem;
    }

    .insight .tag {
        width: 110px;
        min-width: 110px;
        max-width: 110px;
        font-size: 0.8rem;
        padding: 6px 10px;
    }

    .insight .slider-element:last-child {
        margin-right: 0;
    }

    .insight .altezzaFreccia {
        height: 36px;
    }

    /* --- COMMITMENT: adattamento tablet --- */
    .commitment-section {
        margin: 3rem 0;
    }

    .commitment-background {
        min-height: 420px;
        border-radius: 20px;
    }

    .commitment-content {
        padding: 40px 0;
    }

    .commitment-title {
        font-size: 2.2rem;
    }

    /* --- SINGLE AREA: Slider Card Numerate su tablet landscape --- */
    .slider-image-section {
        flex: 0 0 22%;
        min-width: 22%;
    }

    .slider-image-section .slider-main-image {
        border-radius: 15px;
    }

    .slider-cards-section {
        flex: 1;
        min-width: 0;
    }

    .numbered-card {
        flex: 0 0 calc(30% - 11.25px) !important;
        aspect-ratio: 1 / 1;
        padding: 20px 15px;
    }

    .numbered-card .card-content p {
        font-size: 0.72rem;
        line-height: 1.4;
    }

    .numbered-card .card-number {
        font-size: 1.1rem;
        margin-bottom: 10px;
    }

    /* --- SINGLE AREA: Works With → scroll nativo su tablet --- */
    .sezioneProfessionisti .col-md-8 {
        overflow: visible !important;
    }

    #works-with-slider {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    #works-with-slider::-webkit-scrollbar {
        display: none;
    }

    #works-with-slider .slider-element {
        flex: 0 0 45%;
        min-width: 45%;
        scroll-snap-align: start;
    }

    #works-with-slider .slider-element:last-child {
        margin-right: 0;
    }

    .sezioneProfessionisti .iconaCerchioBlu {
        display: none;
    }

    /* --- SINGLE AREA: Aree slider su tablet landscape --- */
    .aree-slider {
        overflow: hidden;
    }

    .aree-slider .slider-element {
        flex: 0 0 calc(25% - 0px) !important;
    }

    .boxAreaBlu {
        height: 260px !important;
        padding: 0.5rem 1rem !important;
    }

    .boxAreaBlu .titoloArea {
        font-size: 1.15rem;
        line-height: 1.3;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .boxArea {
        height: 260px !important;
        padding: 0.5rem 1rem !important;
    }

    .boxArea .titoloArea {
        font-size: 1.15rem;
        line-height: 1.3;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

/* ==============================================
   SLIDER PROFESSIONISTI HOME - Mobile slider orizzontale
   Mostra una card intera + un pezzetto della successiva
   ============================================== */

@media (max-width: 767px) {

  .sezioneRadius {
    padding: 10px;
  }

  .area-single-block {
    padding: 0.5rem 0.5rem;
  }

    /* Sezione professionisti: text padding */
    .professionisti .content {
        padding-right: 0;
        margin-bottom: 2rem;
    }

  .sezioneProfessionisti .content {
  padding-right: 0px;
}

.box {
    height: 420px;
}

    .fontDescrizioneSezione p, .fontDescrizioneSezione {
        font-size: 2.5rem;
    }

    /* Titolo sezione professionisti centrato */
    .professionisti .titleSezione {
        text-align: left;
    }

    /* Container delle card diventa slider orizzontale */
    .professionisti .col-md-8 .row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 15px;
        padding-bottom: 10px;
        margin: 0;
    }

    /* Ogni card professionista su mobile: ~80% larghezza per mostrare un pezzetto */
    .professionisti .col-md-8 .row > .col-md-4 {
        flex: 0 0 80%;
        max-width: 80%;
        scroll-snap-align: start;
        padding-left: 0;
        padding-right: 0;
    }

    /* Altezza box ridotta per il mobile */
    .professionisti .box {
        height: 420px;
    }

    /* Nascondo il cerchietto blu su mobile */
    .professionisti .iconaCerchioBlu {
        display: none;
    }

    /* Nascondo scrollbar nativa ma mantiengo lo scroll */
    .professionisti .col-md-8 .row::-webkit-scrollbar {
        display: none;
    }
    .professionisti .col-md-8 .row {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}

/* ==============================================
   SLIDER INSIGHT - Mobile: una card intera + pezzetto successiva
   ============================================== */

@media (max-width: 767px) {
    /* Slider track: scroll nativo come professionisti */
    .insight .slider-track {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .insight .slider-track::-webkit-scrollbar {
        display: none;
    }

    /* Ogni slider-element su mobile: card con immagine larga, peek dell'immagine */
    .insight .slider-element {
        flex: 0 0 100% !important;
        min-width: 100% !important;
        scroll-snap-align: start;
    }

    /* Card senza immagine su mobile: dimensione piena */
    .insight .slider-element.no-image {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: start;
    }

    .insight .slider-element.has-companion {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: start;
    }

    .insight .slider-element.slider-element-img {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: start;
        height: 380px;
    }

    /* Card insight: mantieni layout orizzontale, altezza ridotta */
    .insight .insight-card {
        /*height: 380px;*/
        height: 430px;
    }

    /* Content: prende la maggior parte dello spazio */
    .insight .insight-content {
        flex: 0 0 100%;
        padding: 20px 15px;
    }

    /* Titolo insight ridotto su mobile */
    .insight .insight-title {
        font-size: 1.3rem;
    }

    /* Tag: taglia più piccola */
    .insight .tag {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
        font-size: 0.75rem;
        padding: 6px 8px;
    }

    /* Rimuoviamo l'ultimo elemento margin per non avere buco */
    .insight .slider-element:last-child {
        margin-right: 0;
    }

    /* Frecce slider insight: dimensioni ridotte */
    .insight .altezzaFreccia {
        height: 32px;
    }
}

/* ==============================================
   COMMITMENT SECTION - Responsive mobile
   ============================================== */

@media (max-width: 767px) {
    .commitment-section {
        margin: 2rem 0;
    }

    .lungo {
  width: 90% !important;
  min-width: auto !important;
  max-width: 90% !important;
}

    .commitment-background {
        min-height: 400px;
        border-radius: 15px;
    }

    /* Content centrato su mobile */
    .commitment-content {
        padding: 30px 0;
    }

    .commitment-title {
        font-size: 1.8rem;
    }
}

/* ==============================================
   FOOTER - Pulsante Newsletter 100% su mobile
   ============================================== */

/* Tablet: logo più piccolo + newsletter full width */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .altezzaLogoFooter {
        height: 40px;
        margin-bottom: 1.5rem;
    }

    footer .btn-outline-light {
        width: 100%;
        text-align: left;
        padding: 0.85rem 1rem;
        font-size: 0.9rem;
        border-radius: 10px !important;
        white-space: normal;
        word-wrap: break-word;
    }
}

@media (max-width: 767px) {
    /* Newsletter button nel footer: full width */
    footer .btn-outline-light {
        width: 100%;
        text-align: left;
        padding: 1rem;
        font-size: 0.95rem;
        border-radius: 10px !important;
        margin-bottom: 1.5rem;
    }

    /* Logo footer margin ridotto */
    .altezzaLogoFooter {
        height: 40px;
        margin-bottom: 1.5rem;
        margin-top: 1.5rem;
    }

    /* Footer: padding ridotto */
    footer {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    /* Link footer: text align left su mobile */
    .linkFooter {
        text-align: left;
    }

    footer .text-md-end {
        text-align: left !important;
    }


.header-probono-content p, .header-probono-content {
  padding-right: 14px;
}

.btn-contact-inline {
  width:100%;
}

 .grandeProfessionista {
  width: 100%;
   }

}


/* ========================================
   Mobile Search Filters Collapse
   ======================================== */

/* Icona freccia - nascosta su desktop */
.filter-collapse-arrow {
    display: none;
}

/* Wrapper filtri - su desktop layout normale */
.filter-collapse-wrapper {
    display: contents;
}

@media (max-width: 991.98px) {

    /* Il titolo diventa toggle */
    .filter-toggle-title {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    /* Mostra la freccia su mobile */
    .filter-collapse-arrow {
        display: inline-flex;
        align-items: center;
        transition: transform 0.3s ease;
        margin-left: 10px;
        color: #f7f5e9;
    }

    /* Ruota la freccia quando aperto */
    .filter-toggle-title.open .filter-collapse-arrow {
        transform: rotate(180deg);
    }

    /* Wrapper filtri collassabile */
    .filter-collapse-wrapper {
        display: block;
        width: 100%;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.4s ease;
    }

    /* Il row deve wrappare */
    .filter-row-collapsible {
        flex-wrap: wrap;
    }

    .filter-collapse-wrapper .col-md-3,
    .filter-collapse-wrapper .col-xl-3,
    .filter-collapse-wrapper .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* Titolo filtri: font ridotta su mobile */
    .filter-toggle-title {
        font-size: 1.6rem;
    }
}

/* ==========================================================================
  TABLET LANDSCAPE (min-width: 992px and max-width: 1199px)
  ========================================================================== */
@media (min-width: 992px) and (max-width: 1199px) {

   /* --- Container max-width adjustment --- */
   .container {
      max-width: 1020px;
   }

  .grandeProfessionista {
  width: 100%;
   }


   /* --- Typography scaling --- */
   .section__title {
      font-size: 2.5rem;
   }

   .section__subtitle {
      font-size: 1.8rem;
   }

   .titoloSezione {
      font-size: 2.2rem;
   }

   .titleSezione {
      font-size: 2rem;
   }

   /* --- Grid adjustments --- */
   .griglia-aree {
      grid-template-columns: repeat(3, 1fr);
   }

   .area-single-block {
      height: auto;
      min-height: 240px;
      padding: 1rem;
   }

   /* --- Slider adjustments --- */
   .slider-element {
      flex: 0 0 calc(50% - 10px);
   }

   .spotlight-section .slider-element {
      flex: 0 0 calc(50% - 15px);
   }

   /* --- Insight card layout --- */
   .insight-card {
      height: 480px;
   }

   .insight-title {
      font-size: 1.6rem;
   }

   /* --- Button sizing --- */
   .btn-primary,
   .btn-outline-primary {
      min-width: 200px;
      padding: 0.6rem 1.5rem;
   }

   /* --- Hero sections --- */
   .banner {
      height: 35rem;
   }

   .banner--small {
      height: 20rem;
   }

   /* --- Office section --- */
   .office-header h2 {
      font-size: 2rem;
   }

   .office-image img {
      height: 380px;
   }

   /* --- CSR blocks --- */
   .csr-block {
      padding: 2.5rem;
      min-height: 350px;
   }

   .csr-block h2 {
      font-size: 1.3rem;
   }

   .csr-block p {
      font-size: 1rem;
   }

   /* --- Professionisti card --- */
   .box {
      height: 500px;
   }

   /* --- Footer adjustments --- */
   .altezzaLogoFooter {
      height: 50px;
   }

   footer {
      padding-top: 3rem;
      padding-bottom: 3rem;
   }

   /* --- Insight meta text --- */
   .insight-description,
   .insight-description p {
      font-size: 0.75rem;
   }

   /* --- Header split sections --- */
   .header-split-wrapper {
      min-height: 750px;
   }

   .header-content-wrapper {
      min-height: 750px;
   }

   /* --- Sustainability section --- */
   .sustainability-hero-section {
      min-height: 800px;
   }

   .sustainability-hero-section .container {
      height: 800px;
   }

   .counter-number {
      font-size: 1.8rem;
   }

   .nomeProfe {
      font-size: 1.6rem;
   }

   .ruoloProfe {
      font-size: 0.8rem;
   }

}


/* ==========================================================================
   TABLET PORTRAIT (max-width: 991px) — Bootstrap md breakpoint
   ========================================================================== */
@media (max-width: 991px) {

  .container {
    max-width: 800px;
  }

  .professionisti .box {
    height: 350px;
  }

   .search-modal-button {
    height: 47px;
  }

    /* --- Blocco articolino (bordoSotto): data prima, titolo dopo --- */
    .bordoSotto {
        padding: 1rem 0;
    }

    .bordoSotto .titoloArticolino {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .bordoSotto .dataArticolino {
        font-size: 1.1rem;
        margin-bottom: 0.15rem;
    }

    /* --- Paginatore: 100% larghezza, frecce ai lati, numeri al centro --- */
    .legance-paginatore-wrap {
        justify-content: center !important;
    }

    .legance-paginatore {
        width: 100%;
        justify-content: space-between;
    }

    .legance-paginatore .mx-3 {
        flex: 1;
        justify-content: center;
    }

    /* --- Sezione Get in touch: card contatti su tablet --- */
    .getintouch .bordoSopraSotto {
        padding: 1.2rem 0;
    }

    .getintouch .nomeProfe {
        font-size: 1.8rem;
    }

    .getintouch .ruoloProfe {
        font-size: 0.85rem;
    }

    /* --- SPOTLIGHT SLIDER: scroll nativo su tablet --- */
    .spotlight-section .slider-track {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .spotlight-section .slider-track::-webkit-scrollbar {
        display: none;
    }

    .spotlight-section .slider-element {
        flex: 0 0 95% !important;
        min-width: 95% !important;
        scroll-snap-align: start;
    }

    .spotlight-section .slider-element.no-image {
        flex: 0 0 40% !important;
        min-width: 40% !important;
        scroll-snap-align: start;
    }

    .spotlight-section .slider-element.has-companion {
        flex: 0 0 55% !important;
        min-width: 55% !important;
        scroll-snap-align: start;
    }

    .spotlight-section .slider-element.slider-element-img {
        flex: 0 0 40% !important;
        min-width: 40% !important;
        scroll-snap-align: start;
        height: 420px;
    }

    /* Card spotlight: mantieni layout orizzontale, altezza ridotta */
    .spotlight-section .insight-card {
        height: 420px;
    }

    .spotlight-section .insight-content {
        flex: 0 0 100%;
        padding: 25px 20px;
    }

    .spotlight-section .insight-title {
        font-size: 1.3rem;
    }

    .spotlight-section .slider-element:last-child {
        margin-right: 0;
    }

    /* --- SINGLE AREA: Slider Card Numerate su tablet --- */
    /* Immagine visibile a sinistra, card a destra */
    .slider-image-section {
        flex: 0 0 28%;
        min-width: 28%;
    }

    .slider-image-section .slider-main-image {
        border-radius: 15px;
    }

    .slider-cards-section {
        flex: 1;
        min-width: 0;
    }

    .numbered-card {
        flex: 0 0 calc(45% - 10px) !important;
        aspect-ratio: 1 / 1;
        padding: 20px 15px;
    }

    .numbered-card .card-content p {
        font-size: 0.72rem;
        line-height: 1.4;
    }

    .numbered-card .card-number {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .numbered-card .custom-learn-more-btn-area {
        font-size: 0.8rem;
    }

    /* --- SINGLE AREA: Works With slider → scroll nativo come Home --- */
    .sezioneProfessionisti .col-md-8 {
        overflow: visible !important;
    }

    #works-with-slider {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    #works-with-slider::-webkit-scrollbar {
        display: none;
    }

    #works-with-slider .slider-element {
        flex: 0 0 45%;
        min-width: 45%;
        scroll-snap-align: start;
    }

    #works-with-slider .slider-element:last-child {
        margin-right: 0;
    }

    .sezioneProfessionisti .box {
        height: 420px;
    }

    .sezioneProfessionisti .iconaCerchioBlu {
        display: none;
    }

    /* --- SINGLE AREA: Aree slider → elementi più larghi, no sovrapposizione --- */
    .aree-slider {
        overflow: visible !important;
    }

    .aree-slider .slider-track {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .aree-slider .slider-track::-webkit-scrollbar {
        display: none;
    }

    .aree-slider .slider-element {
        flex: 0 0 49% !important;
        min-width: 49%;
        scroll-snap-align: start;
    }

    .boxAreaBlu {
        height: 250px !important;
        padding: 0.5rem 1rem !important;
    }

    .boxAreaBlu .titoloArea {
        font-size: 1.1rem;
        line-height: 1.3;
    }

    .boxAreaBlu .numeroInterBlu {
        font-size: 0.9rem;
    }

    .boxArea {
        height: 300px !important;
        padding: 0.5rem 1rem !important;
    }

    .boxArea .titoloArea {
        font-size: 1rem;
        line-height: 1.3;
    }

    .boxArea .numeroInter {
        font-size: 0.9rem;
    }

    /* Colonna titolo aree: full-width sopra lo slider */
    .expertise .col-md-3 {
        margin-bottom: 1rem;
    }

}
@media (max-width: 767px) {

    /* --- Blocco articolino (bordoSotto): font ancora più compatti --- */
    .bordoSotto {
        padding: 0.75rem 0;
    }

    .bordoSotto .titoloArticolino {
        font-size: 1.35rem;
        line-height: 1.25;
    }

    .bordoSotto .dataArticolino {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
        margin-top: 0.5rem;
    }

    /* --- Paginatore mobile --- */
    .legance-paginatore {
        width: 100%;
        justify-content: space-between;
    }

    .legance-paginatore img {
        width: 36px !important;
        height: 36px !important;
    }

    .legance-paginatore .fontGrande {
        font-size: 1.2rem;
    }

    /* --- Sezione Get in touch: card contatti su mobile --- */
    .getintouch .bordoSopraSotto {
        padding: 1rem 0;
    }

    .getintouch .nomeProfe {
        font-size: 1.5rem;
        margin-bottom: 0;
    }

    .getintouch .ruoloProfe {
        font-size: 0.8rem;
        text-align: right !important;
    }

    .getintouch .btn-contact {
        width: 100%;
        max-width: 100%;
    }

    /* --- SPOTLIGHT SLIDER: mobile --- */
    .spotlight-section .slider-track {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
        transition: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .spotlight-section .slider-track::-webkit-scrollbar {
        display: none;
    }

    .spotlight-section .slider-element {
        flex: 0 0 100% !important;
        min-width: 100% !important;
        scroll-snap-align: start;
    }

    .spotlight-section .slider-element.no-image {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: start;
    }

    .spotlight-section .slider-element.has-companion {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: start;
    }

    .spotlight-section .slider-element.slider-element-img {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: start;
        height: 380px;
    }

    /* Card spotlight: mantieni layout orizzontale, altezza ridotta */
    .spotlight-section .insight-card {
        height: 380px;
    }

    .spotlight-section .insight-content {
        flex: 0 0 100%;
        padding: 20px 15px;
    }

    .spotlight-section .insight-title {
        font-size: 1.2rem;
    }

    .spotlight-section .tag {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
        font-size: 0.75rem;
        padding: 6px 8px;
    }

    .spotlight-section .slider-element:last-child {
        margin-right: 0;
    }

    /* --- Works With slider: 1 card intera + peek della successiva su mobile --- */
    .sezioneProfessionisti .col-md-8 {
        overflow: visible !important;
    }

    #works-with-slider .slider-element {
        flex: 0 0 80%;
        min-width: 80%;
        scroll-snap-align: start;
    }

    #works-with-slider .slider-element:last-child {
        margin-right: 0;
    }

    .sezioneProfessionisti .prev,
    .sezioneProfessionisti .next {
        display: none;
    }

}