@font-face {
    font-family: 'Golgix';
    src: url('../fonts/Golgix-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}

/* ===================================
   VARIABILI COLORI
   =================================== */
:root {
  /* Colori principali */
  --color-primary: #0B4D8C;
  --color-primary-dark: #063766;
  --color-secondary: #89B147;
  --color-secondary-dark: #688a32;
  --color-accent: #472EB7;
  
  /* Colori di sfondo */
  --bg-dark: #030013;
  --bg-dark-alt: #05040F;
  --bg-black: #000;
  
  /* Colori testo */
  --text-white: #FFF;
  --text-light: #ccc;
  --text-primary: #333;
  
  /* Colori funzionali */
  --overlay-dark: rgba(0, 0, 0, 0.3);
  --overlay-light: rgba(255, 255, 255, 0.1);
}

body {
  color: #333;
  font-family: 'Quicksand', sans-serif;
  overflow-x: hidden;
  position: relative;
}
img {
  max-width: 100%;
  height: auto;
}
a {
  color: var(--color-secondary);
}
a:hover {
  text-decoration: none;
}
p,
ul,
ol {
  margin: 0 0 1.65em 0;
}
p,
li {
  line-height: 1.65;
}

.container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
}
.container--narrow {
  max-width: 960px;
}

@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed;
  }
}

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 15px 0;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(2px);
}

.site-header.fixed {
    position: fixed;
    background: var(--bg-dark);
    box-shadow: 0 7px 10px 0 rgba(137, 177, 71, 0.25);
    backdrop-filter: blur(2px);
}

.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.site-header__logo {
    z-index: 101;
}

.site-header__logo a {
    color: var(--text-white);
    text-decoration: none;
}

.site-header__menu-trigger {
    display: block;
    background: none;
    border: none;
    color: var(--text-white);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 10px;
    z-index: 101;
    transition: transform 0.3s ease;
}

.site-header__menu-trigger:hover {
    transform: scale(1.1);
}

.site-header__menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--bg-dark);
    backdrop-filter: blur(10px);
    padding: 110px 20px 20px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: all 0.4s ease;
}

.site-header__menu--active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    min-height: 80vh;
    flex-direction: column;
}

.site-header__menu.site-header__menu--active{
  align-items: start;
  justify-content: flex-start;
}

.main-navigation {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.main-navigation li {
    margin-bottom: 5px;
}

.main-navigation a {
    display: block;
    padding: 15px 20px;
    color: var(--text-white);
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1rem;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .menu-active > a {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-secondary);
}

.submenu-arrow {
    display: inline-block;
    margin-left: 5px;
    transition: transform 0.3s ease;
    vertical-align: middle;
}

.menu-item-has-children > a {
    cursor: pointer;
}

.header-button {
    display: inline-block;
    margin: 20px 0;
    padding: 12px 30px;
    background-color: var(--color-secondary);
    color: #0c3861;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.header-button:hover {
    background-color: var(--text-white);
    transform: translateY(-2px);
}

.site-header__menu .lang-item {
    display: inline-block;
}

.site-header__menu .lang-item a {
    padding: 5px;
}

.site-header__menu .lang-item img {
    width: 24px;
    height: auto;
    border-radius: 2px;
}

.extra-navigation-mobile{
  display: block;
  padding-right: 20px;
}

.extra-navigation{
  display: none;
}

/* ========================================
   MEGA MENU STYLES - Layout a due colonne
   ======================================== */

.mega-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9998;
    pointer-events: none;
}

.mega-menu.active {
    pointer-events: auto;
}

.mega-menu__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(57deg, #130079 -48.37%, #030013 31.65%);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mega-menu.active .mega-menu__overlay {
    opacity: 1;
}

.mega-menu__panel {
    position: fixed;
    /* top, left e width saranno impostati dinamicamente via JS */
    border-radius: 0 0 8px 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    z-index: 9999;
}

.mega-menu.active .mega-menu__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Pulsante chiusura mega menu - POSIZIONATO A DESTRA */
.mega-menu__close {
    position: fixed;
    top: 80px;
    background: transparent;
    border: none;
    color: var(--text-white);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.3s ease;
    z-index: 10001;
}

.mega-menu__close:hover {
    transform: rotate(90deg);
    color: var(--color-secondary);
}

.mega-menu__close i {
    pointer-events: none;
}

.mega-menu__content {
    padding: 0;
    max-height: 90vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.mega-menu__content::-webkit-scrollbar {
    width: 6px;
}

.mega-menu__content::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
}

.mega-menu__content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.mega-menu__content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Contenitore voce padre */
.mega-menu__parent{
    font-size: 32px;
    padding-top: 80px;
    padding-left: 110px;
    color: var(--color-secondary);
    font-variant-numeric: lining-nums tabular-nums;
    font-family: Montserrat;
    font-style: normal;
    font-weight: 900;
    line-height: 120%;
    letter-spacing: 2px;
}

.mega-menu__parent a .submenu-arrow {
    display: none;
}

.mega-menu__parent a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: opacity 0.3s ease;
}

/* Contenitore per le due colonne */
.mega-menu__two-columns {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 400px;
}

/* Colonna sinistra - Categorie */
.mega-menu__categories {
    padding-left: 80px;
    padding-top: 80px;
}

.mega-menu__categories .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-menu__categories .sub-menu > li {
    width: 100%;
}

.mega-menu__categories .sub-menu > li:not([data-submenu-index]) > a::after {
    display: none;
}

/* Voci di secondo livello - Colonna sinistra */
.mega-menu__categories .sub-menu > li > a {
    display: flex;
    align-items: center;
    padding: 10px 30px;
    color: var(--text-white);
    text-decoration: none;
    font-weight: 700;
    font-size: 22px;
    transition: all 0.3s ease;
    background: transparent;
    border-left: 3px solid transparent;
    position: relative;
    gap: 10px;
}

/* Nascondi lo chevron originale */
.mega-menu__categories .sub-menu > li > a .submenu-arrow {
    display: none;
}

/* Freccia personalizzata */
/* Freccia personalizzata - stato normale */
.mega-menu__categories .sub-menu > li > a::after {
    content: '';
    width: 34px;
    height: 30px;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

/* Freccia personalizzata - stato hover/active (colore secondary) */
.mega-menu__categories .sub-menu > li:hover > a::after,
.mega-menu__categories .sub-menu > li.active > a::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="30" viewBox="0 0 34 30" fill="none"><path d="M33.5845 16.0612L20.8349 29.5604C20.5691 29.8419 20.2086 30 19.8327 30C19.4568 30 19.0962 29.8419 18.8304 29.5604C18.5646 29.279 18.4153 28.8973 18.4153 28.4992C18.4153 28.1012 18.5646 27.7195 18.8304 27.4381L29.1629 16.4999H1.41662C1.04091 16.4999 0.680587 16.3419 0.414919 16.0606C0.149251 15.7793 0 15.3978 0 15C0 14.6022 0.149251 14.2207 0.414919 13.9394C0.680587 13.6581 1.04091 13.5001 1.41662 13.5001H29.1629L18.8304 2.56194C18.5646 2.2805 18.4153 1.89877 18.4153 1.50075C18.4153 1.10273 18.5646 0.721005 18.8304 0.43956C19.0962 0.158114 19.4568 0 19.8327 0C20.2086 0 20.5691 0.158114 20.8349 0.43956L33.5845 13.9388C33.7162 14.0781 33.8207 14.2435 33.892 14.4256C33.9633 14.6077 34 14.8029 34 15C34 15.1971 33.9633 15.3923 33.892 15.5744C33.8207 15.7565 33.7162 15.9219 33.5845 16.0612Z" fill="%2389B147"/></svg>');
    opacity: 1;
    transform: translateX(3px);
}

.mega-menu__categories .sub-menu > li:hover > a,
.mega-menu__categories .sub-menu > li.active > a {
    color: var(--color-secondary);
}

.mega-menu__categories .sub-menu > li:hover > a::after,
.mega-menu__categories .sub-menu > li.active > a::after {
    opacity: 1;
    transform: translateX(3px);
}

/* Colonna destra - Sottocategorie */
.mega-menu__subcategories {
    flex: 1;
    position: relative;
    padding-top: 80px;
}

/* Sottomenu di terzo livello - Colonna destra */
.mega-menu__subcategories .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: none;
    flex-direction: column;
}

.mega-menu__subcategories .sub-menu.active {
    display: flex;
    animation: fadeInRight 0.3s ease;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Voci di terzo livello */
.mega-menu__subcategories .sub-menu li a {
    display: block;
    padding: 10px 20px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-weight: 400;
    font-size: 20px;
    border-radius: 4px;
    transition: all 0.3s ease;
    background: transparent;
    border-left: 2px solid transparent;
}

.mega-menu__subcategories .sub-menu li a:hover {
    color: var(--color-secondary);
    transform: translateX(3px);
}

/* Nascondi i sottomenu dal menu principale in desktop */
@media (min-width: 960px) {
    .main-navigation .sub-menu {
        display: none !important;
    }
}

/* Visualizzazione Desktop */
@media (min-width: 960px) {
  .site-header__logo img {
      max-height: 50px;
      width: auto;
  }
    .site-header {
        padding: 20px 0;
    }

    .site-header__menu-trigger {
        display: none;
    }

    .site-header__menu {
        position: static;
        display: flex;
        align-items: center;
        gap: 30px;
        background: none;
        backdrop-filter: none;
        padding: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
        overflow: visible;
    }

    .main-navigation {
        display: flex;
        flex-direction: row;
        gap: 5px;
    }

    .main-navigation li {
        margin-bottom: 0;
    }

    .main-navigation a {
        padding: 8px 15px;
        font-size: 1rem;
    }

    .header-button {
        margin: 0;
    }

    .site-header__menu .lang-item {
        margin: 0;
    }

    .extra-navigation-mobile{
      display: none;
    }

    .extra-navigation{
      display: block;
    }
}

.main-navigation .menu-item-has-children {
  position: relative;
}

/* Responsive per mobile */
@media (max-width: 959px) {
    .mega-menu {
        display: none;
    }

    .main-navigation .sub-menu {
        list-style: none;
        padding-left: 0;
        margin: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .main-navigation .menu-item-has-children.active > .sub-menu {
        max-height: fit-content;
    }

    /* Indentazione per sottomenu annidati */
    .main-navigation .sub-menu .sub-menu {
        padding-left: 15px;
    }

    .main-navigation .sub-menu a {
        padding-left: 35px;
        font-size: 1rem;
        font-weight: 500;
    }

    .main-navigation .sub-menu .sub-menu a {
        padding-left: 50px;
        font-size: 0.95rem;
        font-weight: 400;
        color: rgba(255, 255, 255, 0.85);
    }

    /* Freccia per indicare sottomenu */
    .main-navigation .menu-item-has-children > a .submenu-arrow {
        transition: transform 0.3s ease;
    }

    .main-navigation .menu-item-has-children.active > a .submenu-arrow {
        transform: rotate(180deg);
    }
}

.hero, .formazione, .servizi, .form, .blog-section, .lavora-con-noi, .single-content, .page-content, .plp-content{
  position: relative;
  min-height: 40vh;
  width: 100%;
  overflow: hidden;
}

.plp-hero {
  position: relative;
  min-height: 30vh;
  width: 100%;
  overflow: hidden;
}

.wpform-title {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.hero-video, .formazione-video, .wpform-video, .lavora-con-noi-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: 100%;
  z-index: 0;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.hero-gradient-overlay{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: 
    linear-gradient(181deg, rgba(3, 0, 19, 0.00) 1.06%, var(--bg-dark) 98.96%), 
    linear-gradient(248deg, #89B148 1.87%, var(--color-accent) 47.99%, #010006 94.11%);
  mix-blend-mode: color;
  opacity: 1; 
}

.formazione-gradient-overlay, .lavora-con-noi-gradient-overlay {
  background: linear-gradient(0deg, #030013 0%, rgba(3, 0, 19, 0.00) 25%, rgba(3, 0, 19, 0.00) 75%, #030013 100%);
  background-blend-mode: normal;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 1; 
}

.servizi-gradient-overlay {
  background: 
    linear-gradient(0deg, var(--bg-dark) 9.35%, rgba(3, 0, 19, 0.40) 54.67%, var(--bg-dark) 100%), 
    linear-gradient(39deg, #89B148 7.61%, var(--color-accent) 56.05%, #010006 104.5%);
  background-blend-mode: normal, color, normal;
  mix-blend-mode: color;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 1; 
}

.hero-overlay, .formazione-overlay, .servizi-overlay, .wpform-overlay, .lavora-con-noi-overlay, .single-page-hero-overlay, .plp-hero-overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 40vh;
  color: var(--text-white);
  padding: 6rem 2rem 5rem 2rem;
  background: rgba(0, 0, 0, 0.3);
}

.plp-hero-overlay {
  min-height: 30vh;
}

.hero-overlay{
  min-height: 100vh;
}

.wpform-overlay{
  min-height: 0;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.70) 0%, rgba(255, 255, 255, 0.70) 100%);
}

.formazione-overlay, .servizi-overlay, .wpform-overlay, .lavora-con-noi-overlay {
  justify-content: start;
}

.hero-headings, .section-title, .plp-hero-overlay .hero-headings{
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.section-title {
  text-align: start;
  align-items: start;
}
.hero-overlay h1 {
  color: var(--color-secondary);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: 'Golgix', sans-serif;
  font-size: 60px;
  font-style: normal;
  font-weight: 900;
  line-height: 120%;
  letter-spacing: 2px;
  margin-bottom: 0;
}
.hero-overlay h2, .section-title h2 {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: 'Quicksand', sans-serif;
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin-top: 0;
}
.hero-word-creativi {
  color:var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: 'Rouge Script', cursive;
  font-size: 100px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  display: inline-block;
}

.header-button, .lavora-con-noi-button {
  display: flex;
  padding: 12px 18px;
  align-items: center;
  gap: 12px;
  border-radius: 32px;
  background: var(--color-primary);
  color: white;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s ease;
  white-space: nowrap;
}
.header-button:hover {
  background: var(--color-primary-dark);
}
.site-header__menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

.header-button-wrapper, .lavora-con-noi-button-wrapper{
  flex-shrink: 0;
}

.hero-mission-row {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.hero-mission-text {
  flex: 1;
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: 'Quicksand', sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%;
}
.hero-mission-text strong {
  font-weight: 700;
}
.hero-mission-box {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero-mission-svg-wrapper {
  position: relative;
  width: 200px;
  height: 200px;
}
.hero-main-svg {
  width: 100%;
  height: 100%;
}
.hero-mission-svg-text {
  position: absolute;
  top: 55%;
  right: -16%;
  transform: translate(-50%, -50%);
  color: #88B047;
  text-align: center;
  font-variant-numeric: lining-nums tabular-nums;
  font-family: 'Quicksand', sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  transition: transform 0.2s ease;
}

.hero-mission-svg-text:hover {
  transform: translate(-50%, -50%) scale(1.05);
}

.hero-mission-svg-text--en {
  right: -10%;
}

.hero-mission-svg-text a {
  text-decoration: none;
}

.hero-headings.has-visual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}

/* Mobile: stack verticale */
@media (max-width: 768px) {
    .hero-headings.has-visual {
        grid-template-columns: 1fr;
    }
}

.section-2 {
  width: 100vw;
  background: linear-gradient(0deg, #020110 0%, rgba(3, 0, 19, 0.00) 25%, rgba(3, 0, 19, 0.00) 75%, #020110 100%), #030013;
  background-blend-mode: normal;
  color: var(--text-white);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 40px;
  overflow: hidden;
  position: relative;
}

.highlight-crescere {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: "Rozha One", serif;
  font-size: 47px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 2px;
}

.highlight-opportunita {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: "Golgix", sans-serif;
  font-size: 50px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
}

.section-2a {
  height: 25vh;
  align-content: center;
  position: relative;
  z-index: 2;
}

.section-2b {
  position: relative;
  width: 100%;
  height: 100vh; 
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 6rem 0 2rem 0;
  z-index: 2;
}

/* Cerchi decorativi */
.green-circle {
  width: 800px;
  height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle at center, var(--color-secondary) 0%, rgba(136, 176, 71, 0.3) 40%, rgba(1, 0, 6, 0) 70%);
  position: absolute;
  left: -400px;
  top: 20%;
  z-index: 1;
  pointer-events: none;
}

.blue-circle {
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle at center, var(--color-primary) 0%, rgba(0, 119, 182, 0.3) 40%, rgba(1, 0, 6, 0) 70%);
  position: absolute;
  right: -350px;
  bottom: 15%;
  z-index: 1;
  pointer-events: none;
}

.section-title h2 span {
    color: var(--color-secondary);
    font-variant-numeric: lining-nums tabular-nums;
    font-family: 'Quicksand';
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
}

.servizi-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}
.formazione-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 30px;
    padding: 2rem 0;
}

.custom-card-formazione {
  border-radius: 10px;
  color: white;
  padding: 20px;
  transition: transform 0.2s;
  max-width: 100%;
}
.custom-card-formazione:hover {
  transform: scale(1.02);
}
.card-image-formazione {
  display: flex;
  width: 257px;
  height: 169px;
  padding: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  background: var(--bg-dark-alt);
  box-shadow: 0 0 20px 0 var(--color-accent);
}
.card-image-formazione img {
  width: 215px;
  height: auto;
  display: block;
}
.card-content-formazione h3 {
  margin-top: 15px;
  font-size: 1.5rem;
}
.card-content-formazione p {
  font-size: 0.95rem;
  margin: 10px 0;
}
.card-button-formazione, .wp-block-button__link, .plp-main-content .hover-cta {
  display: inline-block;
  padding: 10px 15px;
  text-decoration: none;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 600;
  transition: background 0.3s;
}

.servizi-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    grid-template-rows: repeat(2, auto); 
    column-gap: 8rem;
    padding: 2rem 0;
    min-height: 100vh;
    align-items: center;
}

.custom-card-servizi{
  color: var(--text-white);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
}

.card-image-servizi img {
  width: auto;
  max-height: 40px;
  margin-bottom: 10px;
}

.card-content-servizi h3 {
  font-size: 30px;
  margin-bottom: 10px;
  margin-top: 0;
  line-height: 120%;
}

.card-content-servizi p {
  font-size: 16px;
  margin-bottom: 15px;
}

.card-button-servizi {
  border-radius: 32px;
  border: 2px solid var(--text-white);
  display: inline-block;
  padding: 10px 20px;
  color: var(--text-white);
  text-decoration: none;
  transition: background-color 0.2s ease;
  float: right;
}

.card-button-servizi:hover {
  background-color: #005177;
}

.blog-section, .blog-related, .plp-content, .single-content {
  background: var(--bg-dark);
}

.loghi {
    padding: 8rem 0;
    overflow: hidden;
    background: var(--bg-dark);
}

.loghi-track {
    display: flex;
    width: fit-content;
    animation: scroll 30s linear infinite;
    gap: 60px;
}

.loghi-slide {
    display: flex;
    align-items: center;
    gap: 60px;
    padding: 0 30px;
    flex-shrink: 0;
}

.loghi-slide img {
    height: 60px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.3s ease;
}

.loghi-slide img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

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

.loghi-track:hover {
    animation-play-state: paused;
}

.blog-title-container {
  display:flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.blog-title {
  color: var(--color-secondary);
  text-align: center;
  font-size: 60px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
}

.blog-title .custom-logo-link img{
  width: 150px;
  vertical-align: middle;
}

.blog-description, .lavora-con-noi-description {
  color: var(--text-white);
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
}

.lavora-con-noi-overlay .section-title {
  text-align: center;
}

.blog-preview, .lavora-con-noi-grid, .blog-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding: 6rem 2rem 2rem 2rem;
}

.blog-list{
  padding-top: 8rem;
  padding-bottom: 2rem;
}

.blog-card {
    background-color: transparent;
    color: var(--text-white);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.blog-card__image {
    position: relative;
    width: 503px;
    height: 355px;
    overflow: hidden;
}

.blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-card__content {
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blog-card__date {
    font-size: 0.8rem;
    color: var(--color-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.blog-card__title {
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0;
}

.blog-card__title a {
    color: var(--text-white);
    text-decoration: none;
}

.blog-card__excerpt {
    color: #ccc;
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0;
}

.blog-card__footer {
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
}

.blog-card__arrow {
    font-size: 1.5rem;
    color: var(--text-white);
    text-decoration: none;
    transition: transform 0.2s;
}

.blog-card__arrow:hover {
    transform: translateX(5px);
}
.site-footer {
  background-color: var(--bg-dark);
  color: var(--text-white);
  padding: 40px 0;
  box-shadow: 0 0 10px 0 rgba(11, 77, 140, 0.58);
}

.footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  padding: 20px 0;
  flex-wrap: nowrap;
}

.footer-col, .lavora-con-noi-col {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
}

.lavora-con-noi-col{
  border-left: 1px solid var(--text-white);
}

.footer-col:first-child, .lavora-con-noi-col:first-child{
  border-left: none;
}

.footer-left{
  flex-direction: row;
  gap: 32px;
}

.footer-left,
.footer-right {
  flex: 0 0 auto;
}

.footer-center {
  flex: 1 1 auto;
  align-items: center;
}

.footer-logo img {
  max-width: 150px;
  height: auto;
  margin-bottom: 20px;
}

.footer-menu-list,
.footer-menu-list li {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu-list ul {
  padding: 0;
}

.footer-menu-list li {
  margin-bottom: 10px;
}

.footer-menu-list a {
  color: var(--text-white);
  text-decoration: none;
}

.footer-center .footer-gallery {
  display: flex;
  flex-wrap: nowrap;
  gap: 32px;
  justify-content: center;
  align-items: center;
  overflow-x: auto;
}

.footer-gallery img {
  height: 80px;
  object-fit: cover;
  flex-shrink: 0;
}

.footer-right {
  align-items: flex-end; 
  text-align: right;
  gap: 2rem;
}

.footer-right .social-icons {
  display: flex;
  gap: 1rem;
}

.social-icons {
  font-size: 20px;
  color: #89B148;
  text-decoration: none;
}

.social-icons svg {
  width: 24px;
  height: 24px;
}

.footer-title-certificazioni{
  padding-bottom: 2rem;
}

.footer-bottom-image {
  margin: 32px 0;
  text-align: center;
  width: 100%;
}

.footer-bottom-image img {
  max-width: 100%;
  height: auto;
}

.iubenda-policy{
  display:flex;
  justify-content: center;
  gap: 10px;
}

.lavora-con-noi-col {
  justify-content: space-between;
  gap: 5rem;
}
.card-button-formazione, .lavora-con-noi-button, .wp-block-button__link, .plp-main-content .hover-cta {
  justify-content: center;
  background: var(--color-secondary);
  color: var(--bg-black);
}

.card-button-formazione:hover, .lavora-con-noi-button:hover, .plp-main-content .hover-cta:hover {
  background: var(--color-secondary-dark);
}

.single-page-hero-overlay .single-title,
.single-page-hero-overlay .page-title,
.plp-hero-overlay h1{
  color: var(--color-secondary);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 60px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  margin-bottom: 0;
}

.single-page-hero-overlay .page-title span{
    color: var(--text-white);
}

.single-page-hero-overlay .single-subtitle,
.single-page-hero-overlay .page-subtitle,
.plp-hero-overlay h2 {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; 
}

.single-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.meta-separator {
    opacity: 0.5;
}

.single-date,
.single-author{
  color: var(--color-secondary);
  font-variant-numeric: lining-nums tabular-nums;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; 
}

.single-content, .page-content, .plp-content{
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  padding: 8rem 0;
}

.single-content .wp-block-heading strong {
   color: var(--color-secondary);
}

.hero-image{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.pagination {
  text-align: center;
  font-size: larger;
  padding-bottom: 8rem;
}

.page-numbers {
  color: var(--color-secondary); 
}

.page-numbers.current{
  color: var(--color-primary-dark);
}


.wpform-overlay .section-title{
  color: var(--bg-black);
  width: 100%;
}

.wpform-overlay .section-title h2{
  color: var(--bg-black);
  margin-bottom: 20px;
}

.wpform-overlay .section-title span{
  color: var(--color-primary);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: 'Rozha One', serif;
  font-size: 75px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}

.wpform-content {
  padding: 2rem;
}

.wpform-content div.wpforms-container-full input[type=text], 
.wpform-content div.wpforms-container-full input[type=tel], 
.wpform-content div.wpforms-container-full input[type=email],
div.wpforms-container-full .wpforms-form textarea {
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.10) inset;
}

.wpform-content .wpforms-submit-container{
  justify-self: center;
}

.wpform-content .wpforms-submit{
    display: flex;
    width: auto;
    min-width: 173px;
    padding: 12px 18px;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.page-content .wp-block-heading{
  color: var(--color-secondary);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 46px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; 
}

.page-content p {
  margin-bottom: 50px;
  font-size: 20px;
}

.page-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.page-navigation .nav-prev,
.page-navigation .nav-next {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 20px;
    background-color: transparent;
    border: 1.5px solid var(--color-secondary);
    border-radius: 32px;
    text-decoration: none;
    color: var(--color-secondary);
    transition: all 0.3s ease;
    max-width: 45%;
}

.page-navigation .nav-prev:hover,
.page-navigation .nav-next:hover {
    background-color: transparent;
    color: var(--color-secondary-dark);
    border-color: var(--color-secondary-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.page-navigation .nav-arrow {
    font-size: 20px;
    font-weight: bold;
    display:flex;
    align-items: center;
}

.page-navigation .nav-title {
    font-weight: 500;
}

.page-navigation .nav-prev {
    margin-right: auto;
}

.page-navigation .nav-next {
    margin-left: auto;
    text-align: right;
}

/* Container del sottomenu */
.sottomenu-section {
    width: 100%;
    padding: 2rem 0;
}

.sottomenu-grid-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 1rem;
}

.sottomenu-desktop {
    display: block;
}

.sottomenu-mobile {
    display: none;
}

/* Griglia del menu */
.sottomenu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Singola voce di menu */
.sottomenu-grid li {
    margin: 0;
}

.sottomenu-grid li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    text-decoration: none;
    font-size: 1rem;
    color: #000;
    transition: background-color 0.2s ease;
}

.sottomenu-grid li a:hover {
    color: var(--color-secondary);
}

/* Freccia */
.sottomenu-grid li a::after {
    content: '→';
    font-size: 1.5rem;
    transition: transform 0.2s ease;
}

.sottomenu-grid li a:hover::after {
    color: var(--color-secondary);
    transform: translateX(5px);
}

/* Timeline wrapper */
.timeline-wrapper {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 818px;
  padding: 40px;
}

.timeline-svg {
  position: absolute;
  left: 50px;
  top: 0;
  width: 578px;
  height: 818px;
  pointer-events: none;
  z-index: 2;
}

.timeline-point {
  position: absolute;
  z-index: 10;
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Stato visibile dopo lo scroll */
.timeline-point.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Delay progressivi per l'effetto cascata */
.timeline-point:nth-child(1) {
  transition-delay: 0s;
}

.timeline-point:nth-child(2) {
  transition-delay: 0.15s;
}

.timeline-point:nth-child(3) {
  transition-delay: 0.3s;
}

.timeline-point:nth-child(4) {
  transition-delay: 0.45s;
}

.timeline-content {
  position: absolute;
  width: 500px;
  color: var(--text-white);
  font-size: 18px;
  line-height: 1.6;
  padding: 0 20px;
}

.timeline-content p {
  margin: 0;
  text-align: left;
}

.timeline-content strong {
  font-weight: 600;
}

/* Testo a destra del pallino */
.timeline-content-right {
  left: 80px;
  top: 50%;
  transform: translateY(-50%);
}

.timeline-point.is-visible .timeline-content-right {
  transform: translateY(-50%);
}

.timeline-list-mobile {
    display: none;
}

.wp-block-separator {
    margin: 132px 0;
    border: none;
    height: 2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='862' height='2' viewBox='0 0 862 2' fill='none'%3E%3Cpath d='M861 1L1 1' stroke='%23C3C3C3' stroke-width='0.7' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-size: 862px 2px;
}

.wp-block-list {
    list-style: none;
    padding-left: 0;
}

.wp-block-list li {
    padding-left: 45px;
    position: relative;
    margin-bottom: 15px;
}

.wp-block-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 29px;
    height: 29px;
    background-image: url('/wp-content/themes/ittweb-theme/images/list-icon.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

.blue-box {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.5rem;
  border-radius: 1rem;
  /* padding: 24px;
  background-color: var(--color-primary);
  border-radius: 6px; */
}

.blue-box p{
  margin-bottom: 0;
}

p.white-box {
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 600;
}

.wp-block-group-is-layout-grid:has(.blue-box),
.wp-block-group-is-layout-grid:has(.white-box) {
    margin: 50px 0;
    gap: 2rem;
}

.white-box {
  padding: 24px;
  border-radius: 6px;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  min-height: 220px;
}

.white-box:hover {
   background-color: var(--color-primary);
   color: var(--text-white);
}

.gradient-box{
  display: flex;
  border-radius: 22px;
  background: linear-gradient(280deg, #89B147 -34.82%, #14064F 109.51%);
  padding: 32px;
  justify-content: space-between;
  align-items: center;
}

.gradient-box h4.wp-block-heading {
  color: var(--color-secondary);
  font-size: 16px;
}

.wp-block-group-is-layout-grid.grid-black-box{
    gap: 22px;
}

.black-box{
  display: flex;
  padding: 16px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 12px;
  background: var(--bg-dark);
  box-shadow: 0 0 30px 0 rgba(71, 46, 183, 0.40);
}

/* ============================================
   TIMELINE COMPONENT STYLES
   ============================================ */

.timeline-ittweb-title{
  text-align: center;
  margin-bottom: 300px;
  color: var(--color-secondary);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 60px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
}

.timeline-ittweb-title span{
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: "Rozha One";
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
}

/* Timeline Section Container */
.timeline-ittweb-section {
  padding: 100px 0;
  overflow: hidden;
}

.timeline-ittweb-component {
  padding: 0 20px;
}

.timeline-ittweb-container {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  min-height: 2000px;
}

/* ============================================
   CENTRAL VERTICAL LINE
   ============================================ */
.timeline-ittweb-line {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 5px;
  height: 100%;
  z-index: 1;
}

.timeline-ittweb-line svg {
  width: 100%;
  height: 100%;
}

/* ============================================
   TIMELINE ITEMS CONTAINER
   ============================================ */
.timeline-ittweb-items {
  position: relative;
  z-index: 2;
}

/* ============================================
   INDIVIDUAL TIMELINE ITEM
   ============================================ */
.timeline-ittweb-item {
  position: relative;
  display: flex;
  align-items: flex-start;
}

.timeline-ittweb-item:last-child {
  margin-bottom: 0;
}

/* ============================================
   RIGHT SIDE ITEMS
   ============================================ */
.timeline-ittweb-item--right {
  justify-content: flex-start;
  padding-left: calc(50% + 2.5px);
}

.timeline-ittweb-item--right .timeline-ittweb-item__curve {
  position: absolute;
  left: calc(50% - 1.5px);
  top: 0;
  width: 294px;
  height: 117px;
}

.timeline-ittweb-item--right .timeline-ittweb-item__content {
  margin-left: 100px;
  max-width: 480px;
}

/* ============================================
   LEFT SIDE ITEMS
   ============================================ */
.timeline-ittweb-item--left {
  justify-content: flex-end;
  padding-right: calc(50% + 2.5px);
}

.timeline-ittweb-item--left .timeline-ittweb-item__curve {
  position: absolute;
  right: calc(50% - 1.5px);
  top: 0;
  width: 294px;
  height: 117px;
}

.timeline-ittweb-item--left .timeline-ittweb-item__content {
  margin-right: 100px;
  max-width: 480px;
  text-align: right;
}

/* ============================================
   CONTENT STYLES
   ============================================ */

.timeline-ittweb-item__year {
  color: var(--text-white);
  margin: 0;
  font-variant-numeric: lining-nums tabular-nums;
  font-family: "Rozha One";
  font-size: 50px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 1.75px;
}

.timeline-ittweb-item__title {
  font-size: 26px;
  color: var(--color-secondary);
  margin: 0 0 16px 0;
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
}

.timeline-ittweb-item__text {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%; 
}

/* Final NOW section */
.timeline-ittweb-item--now {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.timeline-ittweb-item--center {
  grid-column: 1 / -1;
  text-align: center;
}

.timeline-ittweb-item__content--now {
  max-width: 100%;
  padding: 0;
}

.timeline-ittweb-item__now-label {
  text-transform: uppercase;
  color: var(--text-white);
  margin: 0;
  font-variant-numeric: lining-nums tabular-nums;
  font-family: "Rozha One";
  font-size: 50px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 1.75px;
}

.timeline-ittweb-item__now-subtitle {
  font-size: 26px;
  color: var(--color-secondary);
  margin: 0 0 16px 0;
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
}

/* ============================================
   WHAT COMES NEXT SECTION
   ============================================ */

.timeline-ittweb-what-next {
  position: relative;
  text-align: center;
  margin-top: 47px;
}

.timeline-ittweb-what-next__title {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin: 0 0 47px;
}

.timeline-ittweb-what-next__content {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}

.timeline-ittweb-what-next__line-container {
  position: relative;
  width: 100%;
  height: 200px;
}

.timeline-ittweb-what-next__vertical-line {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
  height: 85px;
  background: white;
}

.timeline-ittweb-what-next__curve {
  position: absolute;
  width: 294px;
  height: 117px;
}

.timeline-ittweb-what-next__curve--left {
  right: 50%;
  top: 83px;
  transform: translateX(-1px);
}

.timeline-ittweb-what-next__curve--right {
  left: 50%;
  top: 83px;
  transform: translateX(1px);
}

.timeline-ittweb-what-next__curve svg {
  width: 100%;
  height: 100%;
}

.timeline-ittweb-what-next__goals {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}

.timeline-ittweb-goal {
  flex: 1;
  max-width: 480px;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.timeline-ittweb-goal--left {
  text-align: right;
  margin-right: auto;
  margin-left: 0;
}

.timeline-ittweb-goal--right {
  text-align: left;
  margin-left: auto;
  margin-right: 0;
}

.timeline-ittweb-goal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================
   ANIMAZIONI TIMELINE
   ============================================ */

/* Stati iniziali per le animazioni */
.timeline-ittweb-item__content {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Animazione specifica per item destri */
.timeline-ittweb-item--right .timeline-ittweb-item__content {
  transform: translateY(50px) translateX(30px);
}

/* Animazione specifica per item sinistri */
.timeline-ittweb-item--left .timeline-ittweb-item__content {
  transform: translateY(50px) translateX(-30px);
}

/* Stato visibile quando l'elemento entra nel viewport */
.timeline-ittweb-item.is-visible .timeline-ittweb-item__content {
  opacity: 1;
  transform: translateY(0) translateX(0);
}

/* Animazione per il badge "NOW" */
.timeline-ittweb-item--now .timeline-ittweb-item__content {
  opacity: 0;
  transform: scale(0.8) translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.timeline-ittweb-item--now.is-visible .timeline-ittweb-item__content {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.partners-grid {
  justify-items: center;
}

.partners-grid .wp-block-image {
    border-radius: 12px;
    background: var(--text-white);
    box-shadow: 0 0 20px 0 rgba(255, 255, 255, 0.25);
    width: 350px;
    height: 350px;
    text-align: center;
    align-content: center;
}

.partners-grid .wp-block-image:hover {
    transform: scale(1.02);
    box-shadow: 0 0 20px 0 var(--color-secondary);
}

.blog-cta-button{
  border-radius: 32px;
  color: var(--color-secondary);
  border: 1.5px solid var(--color-secondary);
  display: flex;
  padding: 12px 18px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.blog-cta-button:hover{
  border: 1.5px solid var(--color-secondary-dark);
}

.map-location-wrapper {
    position: relative;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

.map-location-wrapper .wp-block-image {
    margin: 0;
}

.map-location-wrapper .wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
}

.map-location-text {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    z-index: 2;
}

.contact-grid.is-layout-grid{
  align-items: center;
  justify-items: center;
  gap: 32px;
  margin: 8rem 0;
}

.contact-grid .is-layout-grid.wp-block-group-is-layout-grid {
  border-radius: 12px;
  background: #030013;
  padding: 32px;
  box-shadow: 0 0 30px 0 rgba(71, 46, 183, 0.40);
  grid-template-columns: auto 1fr;
  gap: 32px;
  align-items: center;
  justify-items: flex-end;
  width: 100%;
  min-height: 128px;
}

.contact-grid .is-vertical {
    gap: 8px;
}

.contact-grid p{
  margin-bottom: 0;
}

.curve-right {
   display: none;
}

.plp-layout {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 60px;
}

.plp-sidebar {
    position: relative;
}

.plp-sidebar::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="2" height="647" viewBox="0 0 2 647" fill="none" preserveAspectRatio="none"><path d="M1 646L1.00001 1.00003" stroke="url(%23paint0_linear)" stroke-width="2" stroke-linecap="round"/><defs><linearGradient id="paint0_linear" x1="1.5" y1="646" x2="1.50001" y2="1" gradientUnits="userSpaceOnUse"><stop stop-color="%23ffffff" stop-opacity="0"/><stop offset="0.125" stop-color="%23ffffff"/><stop offset="0.49" stop-color="%23ffffff"/><stop offset="0.788462" stop-color="%23ffffff"/><stop offset="1" stop-color="%23ffffff" stop-opacity="0"/></linearGradient></defs></svg>');
    background-repeat: no-repeat;
    background-size: 2px 100%;
    background-position: center;
}

.plp-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.child-pages-menu li {
    position: relative;
}

.child-pages-menu li a {
    display: block;
    padding: 15px 40px 15px 0;
    text-decoration: none;
    color: var(--text-white); 
    transition: all 0.3s ease;
}

.child-pages-menu li a::after,
.child-pages-menu ul li a.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% + 15px); 
    height: 13px;
    opacity: 0;
    transition: opacity 0.3s ease;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="374" height="13" viewBox="0 0 374 13" fill="none"><path d="M349 5.00003C349.552 5.00004 350 5.44775 350 6.00003C350 6.55231 349.552 7.00003 349 7.00003L1 7C0.447715 7 -4.82804e-08 6.55228 0 6C4.82841e-08 5.44772 0.447715 5 1 5L349 5.00003Z" fill="url(%23paint0_linear_2424_4231)"/><path d="M374 6.5C365.628 6.5 365.046 13 354 13C342.954 13 340.512 6.5 334 6.5C340.047 5.35294 342.954 0 354 0C365.046 0 366.093 6.5 374 6.5Z" fill="url(%23paint1_radial_2424_4231)"/><defs><linearGradient id="paint0_linear_2424_4231" x1="9.94906" y1="6.49997" x2="623.203" y2="-11.3358" gradientUnits="userSpaceOnUse"><stop stop-color="white" stop-opacity="0.14"/><stop offset="0.605" stop-color="white"/><stop offset="1" stop-color="white" stop-opacity="0"/></linearGradient><radialGradient id="paint1_radial_2424_4231" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(354 6.5) scale(15.4839 5.03226)"><stop stop-color="white"/><stop offset="0.405869" stop-color="white"/><stop offset="1" stop-color="white" stop-opacity="0"/></radialGradient></defs></svg>');
    background-repeat: no-repeat;
    background-position: right bottom;
}

.child-pages-menu li a:hover::after,
.child-pages-menu ul li a.active::after {
  opacity: 1;
}

.plp-content a:hover {
  font-weight: 600;
}

.plp-main-content {
  margin-left: 15px;
}

.plp-main-content h2{
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 50px;
  font-style: normal;
  font-weight: 400;
  line-height: 79%;
  margin-top: 0;
}

.plp-main-content h2 em {
  font-family: "Rouge Script";
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: 79%;
}

.plp-main-content h2 strong {
  font-weight: 600;
}

.featured-image img {
  border-radius: 6px;
}

.hover-content {
   animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.plp-main-content .hover-content .hover-title {
  color: var(--color-secondary);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 900;
  line-height: 120%; 
  letter-spacing: 2px;
}

.hover-subtitle {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%;
}

.hover-image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin-top: 2rem;
}

.wp-block-image {
  margin: 100px 0 100px 0;
}

.page-content .grid-more-categories h3.wp-block-heading{
  font-size: 20px;
}

.page-content .grid-more-categories.wp-block-group-is-layout-grid {
  gap: 2rem;
}

.page-content .grid-more-categories .wp-block-group{
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    border-radius: 6px;
}

/* Stato iniziale delle card */
.fade-in-card {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Stato visibile delle card */
.fade-in-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Delay progressivo per card multiple (fino a 12 card) */
.fade-in-card:nth-child(1) { transition-delay: 0s; }
.fade-in-card:nth-child(2) { transition-delay: 0.1s; }
.fade-in-card:nth-child(3) { transition-delay: 0.2s; }
.fade-in-card:nth-child(4) { transition-delay: 0.3s; }
.fade-in-card:nth-child(5) { transition-delay: 0.4s; }
.fade-in-card:nth-child(6) { transition-delay: 0.5s; }
.fade-in-card:nth-child(7) { transition-delay: 0.6s; }
.fade-in-card:nth-child(8) { transition-delay: 0.7s; }
.fade-in-card:nth-child(9) { transition-delay: 0.8s; }
.fade-in-card:nth-child(10) { transition-delay: 0.9s; }
.fade-in-card:nth-child(11) { transition-delay: 1s; }
.fade-in-card:nth-child(12) { transition-delay: 1.1s; }

.page-content blockquote p{
  margin-bottom: 24px;
}

blockquote p{
  text-align: center;
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 28px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%; 
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 2rem 1rem 0 1rem;
}

blockquote p::before,
blockquote p::after {
  content: '';
  flex-shrink: 0;
  width: 225px;
  height: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

blockquote p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='225' height='12' viewBox='0 0 225 12' fill='none'%3E%3Cpath d='M209.5 6L0.5 5.99998' stroke='url(%23paint0_linear_2581_8216)' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg filter='url(%23filter0_f_2581_8216)'%3E%3Cpath d='M196 6C201.651 6 202.044 2 209.5 2C216.956 2 218.605 6 223 6C218.919 6.70588 216.956 10 209.5 10C202.044 10 201.337 6 196 6Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_f_2581_8216' x='194' y='0' width='31' height='12' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur stdDeviation='1' result='effect1_foregroundBlur_2581_8216'/%3E%3C/filter%3E%3ClinearGradient id='paint0_linear_2581_8216' x1='291.5' y1='-109' x2='0.499996' y2='5.99997' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white' stop-opacity='0.14'/%3E%3Cstop offset='0.605' stop-color='white'/%3E%3Cstop offset='1' stop-color='white' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}

blockquote p::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='225' height='12' viewBox='0 0 225 12' fill='none'%3E%3Cpath d='M15.5 6H224.5' stroke='url(%23paint0_linear_2581_8215)' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg filter='url(%23filter0_f_2581_8215)'%3E%3Cpath d='M29 6C23.3488 6 22.9558 10 15.5 10C8.04416 10 6.39535 6 2 6C6.0814 5.29412 8.04416 2 15.5 2C22.9558 2 23.6628 6 29 6Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_f_2581_8215' x='0' y='0' width='31' height='12' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur stdDeviation='1' result='effect1_foregroundBlur_2581_8215'/%3E%3C/filter%3E%3ClinearGradient id='paint0_linear_2581_8215' x1='-66.5' y1='121' x2='224.5' y2='6.00001' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white' stop-opacity='0.14'/%3E%3Cstop offset='0.605' stop-color='white'/%3E%3Cstop offset='1' stop-color='white' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}

.wp-block-pullquote :where(cite) {
   color: var(--color-secondary);
}

blockquote cite{
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; 
}

.pillars-history {
    padding: 80px 20px;
    position: relative;
    overflow: hidden;
}

.pillars-header, .bu-header {
    text-align: center;
    margin-bottom: 60px;
    color: var(--color-secondary);
    text-align: center;
    font-variant-numeric: lining-nums tabular-nums;
    font-family: Quicksand;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}

.pillars-header span, .bu-header span{
    color: var(--text-white);
    font-variant-numeric: lining-nums tabular-nums;
    font-family: Quicksand;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}

.pillars-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
}

.pillars-slider {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.pillars-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.pillar-item {
    min-width: 100%;
    flex-shrink: 0;
    opacity: 0.3;
    transition: opacity 0.6s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pillar-item.active {
    opacity: 1;
}

.pillar-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    height: 200px;
    width: 100%;
}

.pillar-image {
    max-width: 100%;
    max-height: 180px;
    width: auto;
    height: auto;
    object-fit: contain; 
    filter: drop-shadow(0 0 20px rgba(156, 179, 87, 0.3));
    transition: filter 0.6s ease, opacity 0.6s ease;
}

.pillar-item:not(.active) .pillar-image {
    filter: brightness(0.3) drop-shadow(0 0 10px rgba(156, 179, 87, 0.1));
    opacity: 0.5;
}

.pillar-content {
    text-align: center;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.pillar-number {
  color: var(--text-white);
  font-variant-numeric: lining-nums tabular-nums;
  font-family: Quicksand;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; 
}

.pillar-number span{
  color: var(--color-secondary);
}

.pillar-description {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    text-align: left;
}

.pillar-description strong {
    color: #ffffff;
    font-weight: 600;
}

.pillar-nav {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.pillar-nav:hover:not(:disabled) {
    background: rgba(156, 179, 87, 0.3);
    transform: scale(1.1);
}

.pillar-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.pillar-nav:disabled:hover {
    transform: none;
    background: rgba(255, 255, 255, 0.1);
}

.business-unit-image {
  margin: 80px 0;
  text-align: center;
}

.business-unit-image img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

.flag-lang {
    position: relative;
}

.lang-dropdown {
    position: relative;
    display: inline-block;
}

/* Pulsante che mostra la lingua corrente */
.lang-current {
    border-radius: 4px;
    border: 1px solid var(--text-white);
    background: transparent;
    color: var(--text-white);
    padding: 5px 10px;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 70px;
    transition: background 0.3s, opacity 0.3s;
}

.lang-current:hover {
    background: rgba(255, 255, 255, 0.1);
}

.lang-arrow {
    font-size: 10px;
    transition: transform 0.3s;
    display: inline-block;
}

.lang-arrow {
    transition: transform 0.3s ease;
    display: inline-block;
    width: 14px;
    height: 8px;
    flex-shrink: 0;
}

/* Lista delle opzioni */
.lang-options {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    overflow: hidden;
}

/* Mostra dropdown al hover */
.lang-dropdown:hover .lang-options,
.lang-dropdown:focus-within .lang-options {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lang-dropdown:hover .lang-arrow {
    transform: rotate(180deg);
}

/* Assicurati che il path erediti il colore */
.lang-arrow path {
    fill: currentColor;
    stroke: white;
    stroke-width: 0.5;
}

/* Link delle lingue */
.lang-link {
    display: block;
    padding: 8px 12px;
    color: var(--bg-dark);
    text-decoration: none;
    transition: background 0.2s;
    font-size: 14px;
}

.lang-link:hover {
    font-weight: 700;
}

.lang-link.active {
    background: var(--text-white);
    font-weight: 500;
}

/* Per dispositivi touch - migliora l'interazione */
@media (hover: none) {
    .lang-current:focus + .lang-options,
    .lang-current:active + .lang-options {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

/* Responsive */

@media (max-width: 1200px) {
  .timeline-ittweb-container {
    max-width: 1000px;
  }

  .timeline-ittweb-item--right .timeline-ittweb-item__content,
  .timeline-ittweb-item--left .timeline-ittweb-item__content {
    max-width: 380px;
  }

  .timeline-ittweb-item__year {
    font-size: 44px;
  }

  .timeline-ittweb-item__title {
    font-size: 22px;
  }
}

@media (max-width: 1024px) {
  .timeline-wrapper {
    padding: 20px;
  }
  
  .timeline-svg {
    left: 20px;
    width: 400px;
    height: auto;
  }
  
  .timeline-point {
    position: relative;
    left: auto !important;
    top: auto !important;
    margin: 40px 0;
    padding-left: 60px;
  }
  
  .timeline-content {
    position: static;
    width: 100%;
    transform: none;
  }
  
  .timeline-content-right {
    left: auto;
    transform: none;
  }
  
  .green-circle,
  .blue-circle {
    width: 400px;
    height: 400px;
  }
  
  .green-circle {
    left: -200px;
  }
  
  .blue-circle {
    right: -200px;
  }

  .timeline-ittweb-item--right .timeline-ittweb-item__curve,
  .timeline-ittweb-item--left .timeline-ittweb-item__curve {
    transform: scale(0.8);
    transform-origin: top left;
  }

  .timeline-ittweb-item--left .timeline-ittweb-item__curve {
    transform-origin: top right;
  }

  .timeline-ittweb-item {
    margin-bottom: 120px;
  }
}

/* Visualizzazione Mobile */
@media (max-width: 768px) {
 .servizi-cards-grid, .lavora-con-noi-grid {
    grid-template-columns: 1fr;
    gap: 4rem;
    padding: 4rem 0;
  }

  .lavora-con-noi-grid {
    padding: 4rem 2rem;
  }

  .formazione-overlay .container {
    overflow: visible;
    max-width: 100%;
  }

  .formazione-cards-grid, .blog-preview {
    display: flex;
    overflow-x: auto;
    gap: 1rem;
    padding: 4rem 0;
    padding-right: 2rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .formazione-cards-grid > *, .blog-card {
    flex: 0 0 237px;
    scroll-snap-align: start;
  }

  .card-image-formazione, .blog-card__image {
    width: 237px;
    height: 149px; 
  }

  .blog-preview {
   margin-left: 2rem;
  }

  .blog-list {
    grid-template-columns: 1fr;
    padding: 5rem 1rem;
  }

  .footer-col, .footer-col:first-child, .lavora-con-noi-col:first-child{
    border: none;
  }

  .lavora-con-noi-col {
    border-left: none;
    border-top: 1px solid var(--text-white);
  }

  .footer-grid {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2rem;
  }

  .footer-right {
    flex-direction: row;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }

  .footer-center .footer-gallery {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
  }

  .footer-bottom-image{
    display: none;
  }

  .wpform-overlay .section-title {
    width: auto;
  }

  .wpform-content {
    padding: 1rem;
  }

  .wpform-content .wpforms-field-container{
    display: grid;
    grid-template-columns: 1fr;
  }

  .wpform-content .wpforms-field-container .wpforms-field,
  .wpform-content .wpforms-field-container .wpforms-one-third.wpforms-first,
  .wpform-content .wpforms-container .wpforms-one-third.wpforms-first,
  .wpform-content .wpforms-field-container .wpforms-field.wpforms-one-third,
  .wpform-content .wpforms-container .wpforms-field.wpforms-one-third,
  .wpform-content .wpforms-field-container .wpforms-field.wpforms-one-third,
  .wpform-content .wpforms-container .wpforms-field.wpforms-one-half {
    width: 100%;
    margin: 0;
  }

  .loghi-slide {
    gap: 40px;
  }
    
  .loghi-slide img {
    height: 40px;
  }  

  .page-content .wp-block-heading,
  .page-content .wp-block-heading strong,
  .plp-hero-overlay h1
  {
    font-size: 32px;
  }

  .page-content p,
  .wp-block-list li,
  .single-content p {
    font-size: 16px;
  }
    
  .page-navigation .nav-prev,
  .page-navigation .nav-next {
    max-width: 100%;
    width: 100%;
  }

   .sottomenu-desktop {
        display: none;
    }

    .sottomenu-mobile {
        display: block;
    }

    /* Pulsante dropdown */
    .sottomenu-dropdown-toggle {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 1.5rem;
        background: #fff;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        font-size: 1rem;
        font-weight: 600;
        color: #000;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .sottomenu-dropdown-toggle:hover {
        background: #f5f5f5;
        border-color: #ccc;
    }

    .sottomenu-dropdown-toggle:active {
        transform: scale(0.98);
    }

    /* Freccia del dropdown */
    .dropdown-arrow {
        transition: transform 0.3s ease;
    }

    .sottomenu-dropdown-toggle[aria-expanded="true"] .dropdown-arrow {
        transform: rotate(180deg);
    }

    /* Contenuto dropdown */
    .sottomenu-dropdown-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .sottomenu-dropdown-content.active {
        max-height: 1000px;
    }

    /* Lista mobile */
    .sottomenu-mobile-list {
        list-style: none;
        margin: 0.5rem 0 0 0;
        padding: 0;
        background: #fff;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        overflow: hidden;
    }

    .sottomenu-mobile-list li {
        margin: 0;
        border-bottom: 1px solid #e0e0e0;
    }

    .sottomenu-mobile-list li:last-child {
        border-bottom: none;
    }

    .sottomenu-mobile-list li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 1.5rem;
        text-decoration: none;
        font-size: 0.95rem;
        transition: background-color 0.2s ease;
    }

    .sottomenu-mobile-list li a:hover,
    .sottomenu-mobile-list li a:active {
        background-color: #f5f5f5;
    }

  .section-2 {
    font-size: 28px;
  }
  
  .highlight-crescere {
    font-size: 32px;
  }
  
  .highlight-opportunita {
    font-size: 35px;
  }
  
  .timeline-content {
    font-size: 16px;
    padding: 15px;
  }
  
  .section-2a {
    height: 30vh;
  }
  
  .green-circle,
  .blue-circle {
    width: 300px;
    height: 300px;
  }

  .wp-block-separator {
    margin: 100px 0;
  }

  .section-2b {
    height: auto;
  }

  .timeline-wrapper {
    min-height: auto;
  }

  .timeline-list-desktop {
    display: none;
  }
    
  /* Mostra lista mobile */
  .timeline-list-mobile {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .timeline-list-mobile .wp-block-list{
    text-align:left;
  }

  .timeline-list-mobile .wp-block-list li{
    padding-bottom: 4rem;
  }

  /* Stili per la timeline mobile */
  .timeline-list-mobile .wp-block-list li{
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .timeline-list-mobile .wp-block-list li.is-visible {
      opacity: 1;
      transform: translateY(0);
  }

  .timeline-list-mobile .wp-block-list li:nth-child(1) {
      transition-delay: 0s;
  }

  .timeline-list-mobile .wp-block-list li:nth-child(2) {
      transition-delay: 0.1s;
  }

  .timeline-list-mobile .wp-block-list li:nth-child(3) {
      transition-delay: 0.2s;
  }

  .timeline-list-mobile .wp-block-list li:nth-child(4) {
      transition-delay: 0.3s;
  }

  .timeline-ittweb-section {
    padding: 60px 0;
  }

  /* Stack timeline vertically on mobile */
  .timeline-ittweb-line {
    left: 30px;
    transform: none;
  }

  .timeline-ittweb-container {
    min-height: auto;
  }

  .timeline-ittweb-item {
    margin-bottom: 80px;
  }

  .timeline-ittweb-item--right,
  .timeline-ittweb-item--left {
    justify-content: flex-start;
    padding-left: 60px;
    padding-right: 20px;
  }

  .curve-left {
    display: none;
  }

  .curve-right {
    display: block;
  }

  .timeline-ittweb-item--right .timeline-ittweb-item__curve,
   .timeline-ittweb-item--left .timeline-ittweb-item__curve {
    left: 28.5px;
    transform: scale(0.5);
    transform-origin: top left;
  }

  .timeline-ittweb-item--right .timeline-ittweb-item__content,
  .timeline-ittweb-item--left .timeline-ittweb-item__content {
    margin-left: 20px;
    margin-right: 0;
    max-width: 100%;
    text-align: left;
  }

  .timeline-ittweb-item__year {
    font-size: 36px;
    margin-bottom: 12px;
  }

  .timeline-ittweb-item__title {
    font-size: 20px;
    margin-bottom: 12px;
  }

  .timeline-ittweb-item__text {
    font-size: 15px;
    line-height: 1.6;
  }

  .timeline-ittweb-item--center {
    text-align: left;
  }

  .map-location-text {
    top: 100%;
  }

  .partners-grid.wp-block-group-is-layout-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .partners-grid .wp-block-image {
    width: 159px;
    height: 159px;
  }

  .partners-grid img {
    max-width: 111px;
    width: 100%;
  }

  .footer-left{
    flex-direction: column;
    gap: 24px;
  }

  .footer-gallery img {
    height: 60px;
  }

  .plp-sidebar::after {
    left: 0;
  }

  .child-pages-menu li a {
    padding-left: 40px;
  }

  .plp-layout {
    display: flex;
    flex-direction: column;
    gap: 60px;
  }

  .plp-sidebar {
    order: 2;
  }

  .plp-main-content {
    order: 1;
    margin-left:0;
  }

  .plp-main-content h2 {
    font-size: 32px;
    line-height: 100%;
  }

  .plp-main-content h2 em
  {
    font-size: 54px;
    line-height: 85%;
  }

  .white-box {
    min-height: auto;
  }

  .wp-block-image {
    margin: 50px 0 50px 0;
  }

  .child-pages-menu li a::after {
    transform: rotate(180deg);
  }

    .timeline-ittweb-what-next__goals {
    flex-direction: column;
    gap: 60px;
    align-items: center;
  }
  
  .timeline-ittweb-goal--left,
  .timeline-ittweb-goal--right {
    text-align: center;
    margin: 0 auto;
  }
  
  .timeline-ittweb-what-next__line-container {
    display: none;
  }
}

/* Visualizzazione Mobile-Tablet */
@media (max-width: 959px) {
  .custom-logo{
    width: 114px;
    height: auto;
  }

  .main-navigation {
    overflow-y: auto;
    max-height: 100vh;
  }

  .main-navigation .sub-menu {
    position: static;
    display: none;
    padding: 10px 0 10px 20px;
    min-width: auto;
    box-shadow: none;
    margin: 0;
  }

  .menu-item-has-children > .sub-menu, .main-navigation .menu-item-has-children:hover > .sub-menu {
    display: none;
  }
    
  .main-navigation .menu-item-has-children.active > .sub-menu {
    display: block;
  }

  .main-navigation .sub-menu a {
    padding: 10px 15px;
    font-size: 0.95rem;
  }

  .flag-lang{
    padding-left: 20px;
  }

  .hero-overlay, .formazione-overlay, .servizi-overlay, .wpform-overlay, .lavora-con-noi-overlay, .single-page-hero-overlay {
      padding: 2rem 0;
  }

  .hero-overlay h1, 
  .hero-overlay h2, 
  .section-title h2, 
  .section-title h2 span, 
  .wpform-overlay .section-title h2 span,
  .single-page-hero-overlay .single-title,
  .single-page-hero-overlay .page-title {
    font-size: 40px;
  }

  .single-page-hero-overlay .single-subtitle,
  .single-page-hero-overlay .page-subtitle,
  .plp-hero-overlay h2  {
    font-size: 20px;
  }

  .hero-word-creativi {
    font-size: 80px;
  }

  .hero-headings {
    padding-top: 100px;
  }

  .hero-mission-text {
    font-size: 18px;
  }

  .hero-mission-row {
    flex-direction: column;
  }

  .hero-mission-box {
    align-items: end;
  }

  .section-2, .highlight-crescere, .highlight-opportunita, .blog-title {
    font-size: 32px;
  }

  .blog-description, .lavora-con-noi-description {
    font-size: 16px;
  }

  .timeline-ittweb-what-next__line-container {
    height: 150px;
  }
  
  .timeline-ittweb-what-next__curve {
    width: 200px;
    height: 80px;
  }
  
  .timeline-ittweb-what-next__curve--left {
    top: 68px;
  }
  
  .timeline-ittweb-what-next__curve--right {
    top: 68px;
  }

  .business-unit-image {
   margin: 50px 0;
  }

  .business-unit-image img {
    width: 100%;
  } 
    .pillars-history {
        padding: 60px 0;
        overflow: hidden;
    }
    .timeline-ittweb-title,
    .timeline-ittweb-title span,
    .pillars-header,
    .pillars-header span,
    .bu-header,
    .bu-header span {
        font-size: 40px;
        padding: 0 15px;
        margin-bottom: 40px;
    }
    
    .pillars-container {
        gap: 10px;
        max-width: 100%;
        padding: 0;
        display: flex;
        align-items: center;
    }
    
    .pillars-slider {
        flex: 1;
        overflow: hidden;
        position: relative;
        width: 100%;
    }
    
    .pillars-track {
        display: flex !important;
        flex-direction: row !important;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .pillar-item {
        min-width: 100%;
        width: 100%;
        flex: 0 0 100%;
        padding: 0 15px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .pillar-item.active {
        opacity: 1;
    }
    
    .pillar-icon {
        height: 150px;
        margin-bottom: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
    
    .pillar-image {
        max-height: 130px;
        width: auto;
        object-fit: contain;
        filter: drop-shadow(0 0 20px rgba(156, 179, 87, 0.3));
    }
    
    .pillar-content {
        text-align: center;
        padding: 0 10px;
        width: 100%;
    }
    
    .pillar-number {
        font-size: 1.5rem;
        margin-bottom: 20px;
        text-align: center;
    }
    
    .pillar-description {
        font-size: 0.95rem;
        line-height: 1.6;
        text-align: center;
    }
    
    .pillar-nav {
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        border-radius: 50%;
        color: #ffffff;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
    }
    
    .pillar-nav:disabled {
        opacity: 0.3;
        cursor: not-allowed;
    }
    
    .pillar-nav svg {
        width: 20px;
        height: 20px;
    }

  .fa-remove:before, 
  .fa-close:before, 
  .fa-times:before {
      content: "";
      display: inline-block;
      width: 22px;
      height: 22px;
      background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 34 34" fill="none"><path d="M1.5 1.5L32.5 32.283M32.4076 1.54713L1.57781 32.5" stroke="white" stroke-width="3" stroke-linecap="round"/></svg>');
      background-size: contain;
      background-repeat: no-repeat;
  }
}
