/* Home: claim "Let your story fly." stesso font del desktop (Abril Fatface) */
.abril {
  font-family: "Abril Fatface", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
  letter-spacing: 0.022em;
  font-weight: 400 !important;
}

[class*="flex"] > .col-staff-5 {
    width: 50% !important; /* 2 colonne su tablet */
  }
  [class*="flex"] > .col-staff-5 {
    width: 100% !important; /* 1 colonna su mobile */
  }
  .staff-flip-container {
    padding-bottom: 100%; /* Immagini perfettamente quadrate */
  }
  /* About staff flip su mobile: stili 3d completi (non in custom-desktop su mobile) + tap invece di hover */
  .staff-flip-container {
    position: relative;
    height: 0;
    perspective: 1000px;
    -webkit-perspective: 1000px;
    overflow: hidden;
  }
  .staff-flip-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
  }
  .staff-flip-front,
  .staff-flip-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden;
  }
  .staff-flip-front {
    z-index: 2;
  }
  .staff-flip-back {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
  }
  .staff-flip-front img,
  .staff-flip-back img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    position: absolute;
    top: 0;
    left: 0;
  }
  /* Tap: flip attivato da JS (classe .staff-flip-flipped); su mobile non usare :hover */
  .box-about-staff.staff-flip-flipped .staff-flip-inner {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
  }
  /* About: nome, ruolo e LinkedIn visibili su mobile (stili come desktop) */
  .staff-details {
    display: block !important;
    visibility: visible !important;
    background: #fff !important;
  }
  .staff-name-row {
    display: flex !important;
    align-items: baseline;
    margin-bottom: 0.5rem;
  }
  .staff-name {
    font-family: "Abril Fatface", serif !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    color: #183557 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    flex: 1;
  }
  .staff-linkedin-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    margin-left: 8px;
    flex-shrink: 0;
  }
  .staff-linkedin-icon svg {
    width: 100%;
    height: 100%;
  }
  .staff-linkedin-icon svg circle {
    stroke: #183557 !important;
    fill: transparent !important;
  }
  .staff-linkedin-icon svg text {
    fill: #183557 !important;
  }
  .staff-role {
    font-family: "Akrobat", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    color: #5a8ba8 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin: 0.3rem 0 0 0 !important;
    display: block !important;
    visibility: visible !important;
  }
  .slide-title {
    font-size: 2rem;
  }

  .slide-content {
    padding: 1.5rem;
  }
  .fullscreenSlider .side.left.sliderArrows {
    left: 0px !important;
  }
  .fullscreenSlider .side:not(.left).sliderArrows {
    right: 0px !important;
  }
  .slide[data-cid="slide-131-1a92382f"] .form-131 input[type="email"] {
    max-width: 208px;
    text-align: center;
  }
  .fixed {
    position: absolute !important;
  }
  .menu--shylock .menu-item.has-submenu .menu__link {
    cursor: pointer;
  }
  
  .menu--shylock .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    background: transparent;
    padding: 5px 0 5px 20px;
    margin-top: 0;
    display: none;
  }
  
  .menu--shylock .menu-item.has-submenu.active .sub-menu {
    display: block;
  }

/* Fix per la barra admin di WordPress che copre l'header su mobile */
body.admin-bar .panel.top {
  top: 46px !important;
}

/* Logo in alto a sinistra su mobile: ridotto e link alla home */
.panel.top .sections .left a svg {
  width: 72px !important;
  height: 72px !important;
}

/* Su mobile, logo e burger (.sections.compact) devono essere visibili ovunque tranne in home */
.panel.top .sections.compact {
  display: flex !important;
}
.panel.top .sections.compact.hidden {
  display: none !important;
}
/* Su viewport mobile il tema mostra .compact: assicurarsi che non sia nascosto da altre regole */
@media (max-width: 768px) {
  .panel.top.forceMobileView .sections.compact {
    display: flex !important;
  }
  .panel.top.forceMobileView .sections.compact.hidden {
    display: none !important;
  }
}

/* Su tutte le pagine interne (non home) su mobile: logo e burger sempre visibili, anche se il JS lascia .hidden */
@media (max-width: 768px) {
  body:not(.home):not(.is-front-page) .panel.top .sections.compact,
  body:not(.home):not(.is-front-page) .panel.top .sections.compact .left {
    display: flex !important;
    visibility: visible !important;
  }
  body:not(.home):not(.is-front-page) .panel.top .sections.compact.hidden {
    display: flex !important;
  }
  /* Pagina Contact: logo sempre visibile su mobile - regole con massima priorità */
  /* Usa selettore basato sulla sezione per non dipendere dalla classe body */
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden,
  body.page-contact .panel.top .sections.compact,
  body.page-contact .panel.top .sections.compact.hidden {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact .left,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden .left,
  body.page-contact .panel.top .sections.compact .left,
  body.page-contact .panel.top .sections.compact.hidden .left {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
  }
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact .left a,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden .left a,
  body.page-contact .panel.top .sections.compact .left a,
  body.page-contact .panel.top .sections.compact.hidden .left a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
  }
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden .left a svg,
  body.page-contact .panel.top .sections.compact .left a svg,
  body.page-contact .panel.top .sections.compact.hidden .left a svg {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 72px !important;
    height: 72px !important;
  }
  /* Logo SVG bianco su sfondo blu per pagina Contact su mobile - sovrascrive .border */
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.compact .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.compact.hidden .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact .left a svg use,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden .left a svg use,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.compact .left a svg use,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.compact.hidden .left a svg use,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact .left a svg path,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.compact.hidden .left a svg path,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.compact .left a svg path,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.compact.hidden .left a svg path,
  body.page-contact .panel.top .sections.compact .left a svg,
  body.page-contact .panel.top .sections.compact.hidden .left a svg,
  body.page-contact .panel.top.border .sections.compact .left a svg,
  body.page-contact .panel.top.border .sections.compact.hidden .left a svg,
  body.page-contact .panel.top .sections.compact .left a svg use,
  body.page-contact .panel.top .sections.compact.hidden .left a svg use,
  body.page-contact .panel.top.border .sections.compact .left a svg use,
  body.page-contact .panel.top.border .sections.compact.hidden .left a svg use,
  body.page-contact .panel.top .sections.compact .left a svg path,
  body.page-contact .panel.top .sections.compact.hidden .left a svg path,
  body.page-contact .panel.top.border .sections.compact .left a svg path,
  body.page-contact .panel.top.border .sections.compact.hidden .left a svg path {
    fill: #fff !important;
    color: #fff !important;
  }
  /* Forza visibilità anche se .desktop è mostrato invece di .compact */
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop.hidden .left,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop .left,
  body.page-contact .panel.top .sections.desktop.hidden .left,
  body.page-contact .panel.top .sections.desktop .left {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop .left a,
  body.page-contact .panel.top .sections.desktop .left a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop .left a svg,
  body.page-contact .panel.top .sections.desktop .left a svg {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 72px !important;
    height: 72px !important;
  }
  /* Logo SVG bianco anche se viene mostrato .desktop invece di .compact - sovrascrive .border */
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.desktop .left a svg,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop .left a svg use,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.desktop .left a svg use,
  section[data-cid="slide-contact"] ~ * .panel.top .sections.desktop .left a svg path,
  section[data-cid="slide-contact"] ~ * .panel.top.border .sections.desktop .left a svg path,
  body.page-contact .panel.top .sections.desktop .left a svg,
  body.page-contact .panel.top.border .sections.desktop .left a svg,
  body.page-contact .panel.top .sections.desktop .left a svg use,
  body.page-contact .panel.top.border .sections.desktop .left a svg use,
  body.page-contact .panel.top .sections.desktop .left a svg path,
  body.page-contact .panel.top.border .sections.desktop .left a svg path {
    fill: #fff !important;
    color: #fff !important;
  }
  /* Regola generale per tutte le pagine con sezione contact */
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact.hidden,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact .left,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact.hidden .left {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact .left a svg,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact.hidden .left a svg {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 72px !important;
    height: 72px !important;
  }
  /* Logo SVG bianco con selettore :has() - sovrascrive .border */
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact .left a svg,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact.hidden .left a svg,
  body:has(section[data-cid="slide-contact"]) .panel.top.border .sections.compact .left a svg,
  body:has(section[data-cid="slide-contact"]) .panel.top.border .sections.compact.hidden .left a svg,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact .left a svg use,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact.hidden .left a svg use,
  body:has(section[data-cid="slide-contact"]) .panel.top.border .sections.compact .left a svg use,
  body:has(section[data-cid="slide-contact"]) .panel.top.border .sections.compact.hidden .left a svg use,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact .left a svg path,
  body:has(section[data-cid="slide-contact"]) .panel.top .sections.compact.hidden .left a svg path,
  body:has(section[data-cid="slide-contact"]) .panel.top.border .sections.compact .left a svg path,
  body:has(section[data-cid="slide-contact"]) .panel.top.border .sections.compact.hidden .left a svg path {
    fill: #fff !important;
    color: #fff !important;
  }
}

/* Pagina singolo video su mobile: logo in alto a sinistra sempre visibile (massima priorità) */
@media (max-width: 768px) {
  body.single-works .panel.top .sections.compact,
  body.single-works .panel.top .sections.compact.hidden {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.single-works .panel.top .sections.compact .left,
  body.single-works .panel.top .sections .left {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.single-works .panel.top .sections.compact .left a,
  body.single-works .panel.top .sections .left a {
    display: inline-block !important;
    visibility: visible !important;
  }
}

/* Homepage: nascondi sempre il logo in alto a sinistra su mobile (un solo logo centrale) */
body.home .panel.top .sections .left,
body.is-front-page .panel.top .sections .left {
  display: none !important;
}

/* Homepage mobile: nascondi burger menu, mostra icone social e ricerca */
@media (max-width: 768px) {
  body.home .panel.top .sections.compact,
  body.is-front-page .panel.top .sections.compact,
  body.home .panel.top .sections.compact.hidden,
  body.is-front-page .panel.top .sections.compact.hidden,
  body.home .panel.top.forceMobileView .sections.compact,
  body.is-front-page .panel.top.forceMobileView .sections.compact,
  body.home .panel.top.forceMobileView .sections.compact.hidden,
  body.is-front-page .panel.top.forceMobileView .sections.compact.hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  body.home .panel.top .sections.desktop,
  body.is-front-page .panel.top .sections.desktop,
  body.home .panel.top .sections.desktop.hidden,
  body.is-front-page .panel.top .sections.desktop.hidden,
  body.home .panel.top.forceMobileView .sections.desktop,
  body.is-front-page .panel.top.forceMobileView .sections.desktop,
  body.home .panel.top.forceMobileView .sections.desktop.hidden,
  body.is-front-page .panel.top.forceMobileView .sections.desktop.hidden {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Mostra solo la parte destra (social e ricerca) sulla homepage */
  body.home .panel.top .sections.desktop .right,
  body.is-front-page .panel.top .sections.desktop .right,
  body.home .panel.top .sections.desktop.hidden .right,
  body.is-front-page .panel.top .sections.desktop.hidden .right,
  body.home .panel.top.forceMobileView .sections.desktop .right,
  body.is-front-page .panel.top.forceMobileView .sections.desktop .right,
  body.home .panel.top.forceMobileView .sections.desktop.hidden .right,
  body.is-front-page .panel.top.forceMobileView .sections.desktop.hidden .right {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.home .panel.top .sections.desktop .right .menu.trim,
  body.is-front-page .panel.top .sections.desktop .right .menu.trim,
  body.home .panel.top .sections.desktop.hidden .right .menu.trim,
  body.is-front-page .panel.top .sections.desktop.hidden .right .menu.trim,
  body.home .panel.top.forceMobileView .sections.desktop .right .menu.trim,
  body.is-front-page .panel.top.forceMobileView .sections.desktop .right .menu.trim,
  body.home .panel.top.forceMobileView .sections.desktop.hidden .right .menu.trim,
  body.is-front-page .panel.top.forceMobileView .sections.desktop.hidden .right .menu.trim {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Assicura che gli elementi social e ricerca siano visibili */
  body.home .panel.top .sections.desktop .right .menu.trim li,
  body.is-front-page .panel.top .sections.desktop .right .menu.trim li,
  body.home .panel.top .sections.desktop.hidden .right .menu.trim li,
  body.is-front-page .panel.top .sections.desktop.hidden .right .menu.trim li,
  body.home .panel.top.forceMobileView .sections.desktop .right .menu.trim li,
  body.is-front-page .panel.top.forceMobileView .sections.desktop .right .menu.trim li,
  body.home .panel.top.forceMobileView .sections.desktop.hidden .right .menu.trim li,
  body.is-front-page .panel.top.forceMobileView .sections.desktop.hidden .right .menu.trim li {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* 1. Titolo "Let your story fly" - centrato, font leggermente ridotto su mobile */
.fix-10-12 h1.largest,
h1.largest.fix-10-12 {
  white-space: nowrap !important;
  font-size: clamp(2.2rem, 5.2vw, 2.65rem) !important;
  text-align: center !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Pulsanti ADVERTISING e CORPORATE sulla stessa riga su mobile (sotto il titolo) */
.home-buttons-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
}

.home-buttons-container .button-home {
  display: inline-block !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* 2. Footer mobile - una sola riga (footer.php: © … | P.IVA … | News | About) */
.panel.bottom {
  background-color: rgba(24, 53, 87, 0.92) !important;
  border-top: none !important;
}
.panel.bottom .sections.desktop,
.panel.bottom .sections.compact {
  background: transparent !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  height: auto !important;
  min-height: 0 !important;
}
.panel.bottom .sections.desktop .center,
.panel.bottom .sections.compact .center {
  width: 100% !important;
  max-width: 100% !important;
}
.panel.bottom .footer-menu--mobile-oneline {
  font-size: 0.65rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 0.35rem !important;
  color: rgba(255, 255, 255, 0.95) !important;
  white-space: normal !important;
}
.panel.bottom .footer-menu--mobile-oneline a {
  color: inherit !important;
  text-decoration: underline !important;
}

/* Footer sottile visibile su sottocategorie e singolo video (altrove è lastSlideOnly e non compariva) */
body.single-works .panel.bottom.lastSlideOnly,
body.tax-work-cat .panel.bottom.lastSlideOnly,
body.page-about .panel.bottom.lastSlideOnly,
body.page-news .panel.bottom.lastSlideOnly {
  -webkit-transform: none !important;
  transform: none !important;
  opacity: 1 !important;
}

/* Home: footer con sfondo trasparente */
body.is-front-page .panel.bottom {
  background-color: transparent !important;
}

/* Singolo video, About e News (pagine bianche): footer bianco e testo blu */
body.single-works .panel.bottom,
body.page-about .panel.bottom,
body.page-news .panel.bottom {
  background-color: #fff !important;
  background: #fff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
}
body.single-works .panel.bottom .footer-menu--mobile-oneline,
body.page-about .panel.bottom .footer-menu--mobile-oneline,
body.page-news .panel.bottom .footer-menu--mobile-oneline {
  color: #183557 !important;
}
body.single-works .panel.bottom .footer-menu--mobile-oneline a,
body.page-about .panel.bottom .footer-menu--mobile-oneline a,
body.page-news .panel.bottom .footer-menu--mobile-oneline a {
  color: #183557 !important;
}
/* News: header e footer bianchi (massima specificità, niente colonne/footer blu) */
html body.page-news .panel.top,
body:has(section[data-cid="slide-news"]) .panel.top {
  background-color: #fff !important;
  background: #fff !important;
  border-bottom: 2px solid #183557 !important;
}
html body.page-news .panel.top .sections.compact,
html body.page-news .panel.top .sections.desktop,
body:has(section[data-cid="slide-news"]) .panel.top .sections.compact,
body:has(section[data-cid="slide-news"]) .panel.top .sections.desktop {
  background: transparent !important;
}
html body.page-news .panel.bottom,
body:has(section[data-cid="slide-news"]) .panel.bottom {
  background-color: #fff !important;
  background: #fff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
}
html body.page-news .panel.bottom .sections.compact,
html body.page-news .panel.bottom .sections.desktop,
body:has(section[data-cid="slide-news"]) .panel.bottom .sections.compact,
body:has(section[data-cid="slide-news"]) .panel.bottom .sections.desktop {
  background: #fff !important;
  border-top: none !important;
}
html body.page-news .panel.bottom .footer-menu--mobile-oneline,
body:has(section[data-cid="slide-news"]) .panel.bottom .footer-menu--mobile-oneline {
  color: #183557 !important;
}
html body.page-news .panel.bottom .footer-menu--mobile-oneline a,
body:has(section[data-cid="slide-news"]) .panel.bottom .footer-menu--mobile-oneline a {
  color: #183557 !important;
}

/* Pagina risultati di ricerca su mobile: layout come resto del sito, logo e testi visibili */
@media (max-width: 768px) {
  /* Logo in alto a sinistra visibile sulla pagina ricerca (come Contact) */
  body.page-search .panel.top .sections.compact,
  body.page-search .panel.top .sections.compact.hidden,
  body.search-results .panel.top .sections.compact,
  body.search-results .panel.top .sections.compact.hidden {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.page-search .panel.top .sections.compact .left,
  body.page-search .panel.top .sections.compact.hidden .left,
  body.search-results .panel.top .sections.compact .left,
  body.search-results .panel.top .sections.compact.hidden .left {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.page-search .panel.top .sections.compact .left a,
  body.page-search .panel.top .sections.compact.hidden .left a,
  body.page-search .panel.top .sections.compact .left a svg,
  body.page-search .panel.top .sections.compact.hidden .left a svg,
  body.search-results .panel.top .sections.compact .left a,
  body.search-results .panel.top .sections.compact.hidden .left a,
  body.search-results .panel.top .sections.compact .left a svg,
  body.search-results .panel.top .sections.compact.hidden .left a svg {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.page-search .panel.top .sections.compact .left a svg,
  body.page-search .panel.top .sections.compact.hidden .left a svg,
  body.page-search .panel.top.border .sections.compact .left a svg,
  body.search-results .panel.top .sections.compact .left a svg,
  body.search-results .panel.top .sections.compact.hidden .left a svg,
  body.search-results .panel.top.border .sections.compact .left a svg {
    width: 72px !important;
    height: 72px !important;
    fill: #fff !important;
    color: #fff !important;
  }
  body.page-search .panel.top .sections.compact .left a svg use,
  body.page-search .panel.top .sections.compact.hidden .left a svg use,
  body.search-results .panel.top .sections.compact .left a svg use,
  body.search-results .panel.top .sections.compact.hidden .left a svg use {
    fill: #fff !important;
    color: #fff !important;
  }
  /* Layout come il modale desktop: sfondo #183557, padding 2rem come .search-results-modal-body */
  section[data-cid="slide-search-results"].slide.whiteSlide.autoHeight,
  section[data-cid="slide-search-results"] {
    background-color: #183557 !important;
    background: #183557 !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    overflow-x: hidden !important;
  }
  section[data-cid="slide-search-results"] .content .container,
  section[data-cid="slide-search-results"] .content .container .wrap,
  section[data-cid="slide-search-results"] .content {
    background-color: transparent !important;
    background: transparent !important;
  }
  section[data-cid="slide-search-results"] .content .container,
  section[data-cid="slide-search-results"] .content .container .wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }
  .search-results-main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  /* Player a tutta larghezza dell’area contenuto (come nel modale: 100% del body) */
  section[data-cid="slide-search-results"] .search-result-work-player {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0.75rem !important;
    box-sizing: border-box !important;
  }
  section[data-cid="slide-search-results"] .search-result-work-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Titolo sotto il video, come nel modale */
  section[data-cid="slide-search-results"] .search-result-work-title {
    margin-top: 0 !important;
    margin-bottom: 0.75rem !important;
  }
  .search-results-header,
  .search-results-header .page-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
  }
  .search-results-header {
    margin-bottom: 1.5rem !important;
  }
  .search-results-header .page-title {
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
  }
  .search-results-list {
    gap: 1.5rem !important;
  }
  .search-result-work,
  .search-result-work-inner {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .search-result-work {
    padding-bottom: 1.5rem !important;
  }
  .search-result-work-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    font-size: 1.1rem !important;
    margin-bottom: 0.75rem !important;
  }
  .search-result-work-title a {
    color: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-decoration: none !important;
  }
  .search-result-work-title a:hover {
    text-decoration: none !important;
  }
  .search-result-work-player {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }
  .search-results-nav,
  .search-results-nav .nav-links,
  .search-results-nav .nav-previous a,
  .search-results-nav .nav-next a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
  }
  .search-results-nav .nav-links {
    display: flex !important;
    margin-top: 1.5rem !important;
    gap: 1.5rem !important;
  }
  /* MORE VIDEOS su pagina ricerca (slide blu): come modale — riempimento blu, testo e bordo bianchi */
  section[data-cid="slide-search-results"] .search-page-load-more-wrap .button.search-page-load-more-btn,
  section[data-cid="slide-search-results"] .search-page-load-more-wrap .button {
    color: #ffffff !important;
    background: #183557 !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    padding: 12px 20px !important;
  }
  section[data-cid="slide-search-results"] .search-page-load-more-wrap .button:hover:not(:disabled),
  section[data-cid="slide-search-results"] .search-page-load-more-wrap .button:focus:not(:disabled) {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    opacity: 0.92;
  }
}

/* 3. Disabilita completamente il modale risultati ricerca su mobile */
.search-results-modal {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.search-results-modal.search-results-modal--open {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Nascondi il pulsante close del popup di ricerca quando non è visibile */
.popup[data-popup-id="search"]:not(.visible) .close {
  display: none !important;
}

/* Popup ricerca: overlay scuro; blu solo su .wrap.spaces (come desktop) */
.popup[data-popup-id="search"] {
  background: rgba(0, 0, 0, 0.55) !important;
}
/* slides.css: .popup .content { height:100% } → card compatta, no fascia verticale */
.popup[data-popup-id="search"] .content {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 2rem) !important;
  width: min(560px, calc(100vw - 2rem)) !important;
  max-width: 560px !important;
  overflow: visible !important;
  overflow-y: visible !important;
  background: transparent !important;
  display: block !important;
  padding: 2rem 1rem !important;
  box-sizing: border-box !important;
}
.popup[data-popup-id="search"] .content .container,
.mobile .simplifiedMobile .popup[data-popup-id="search"] .content .container {
  background: transparent !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
}
.popup[data-popup-id="search"] .wrap.spaces {
  background-color: #183557 !important;
  background: #183557 !important;
  border-radius: 8px !important;
  padding: 2rem 1.5rem !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
}
.popup[data-popup-id="search"] .form-55,
.popup[data-popup-id="search"] .popupContent,
.popup[data-popup-id="search"] .form-55 .pad,
.popup[data-popup-id="search"] .pad {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.popup[data-popup-id="search"] .wrap p {
  margin: 0 0 1rem 0 !important;
}
.popup[data-popup-id="search"] .wrap p:first-child {
  margin-top: 0 !important;
}
.popup[data-popup-id="search"] .wrap p,
.popup[data-popup-id="search"] .wrap .opacity-8 {
  color: rgba(255, 255, 255, 0.95) !important;
  opacity: 1 !important;
}
.popup[data-popup-id="search"] input.square.wide,
.popup[data-popup-id="search"] #s {
  background: #ffffff !important;
  color: #183557 !important;
  border: 1px solid rgba(255, 255, 255, 0.95) !important;
  box-shadow: none !important;
}
.popup[data-popup-id="search"] button.button[type="submit"],
.popup[data-popup-id="search"] #searchform .button {
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  background: #183557 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}
.popup[data-popup-id="search"] .close svg,
.popup[data-popup-id="search"] .close svg use {
  fill: #ffffff !important;
}

/* Popup ricerca mobile: larghezza quasi a tutto schermo (prima: padding doppio + .fix-5-12 max 480px restringevano troppo) */
@media (max-width: 768px) {
  .popup[data-popup-id="search"] .content {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    padding: 1.25rem 12px !important;
    box-sizing: border-box !important;
  }
  .popup[data-popup-id="search"] .content .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .popup[data-popup-id="search"] .content .container .wrap.spaces {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem 1rem !important;
    box-sizing: border-box !important;
  }
  .popup[data-popup-id="search"] .form-55.fix-5-12.popupContent {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .popup[data-popup-id="search"] .form-55 .pad {
    padding: 0 !important;
    text-align: center !important;
  }
  .popup[data-popup-id="search"] form#searchform,
  .popup[data-popup-id="search"] form.slides-form {
    text-align: center !important;
  }
  .popup[data-popup-id="search"] .form-55 input.square.wide {
    width: 100% !important;
    max-width: 100% !important;
  }
  .popup[data-popup-id="search"] .form-55 button.wide,
  .popup[data-popup-id="search"] button.button[type="submit"],
  .popup[data-popup-id="search"] #searchform .button {
    width: auto !important;
    max-width: 100% !important;
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 3px !important;
    padding: 12px 22px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    transition: opacity 0.2s !important;
  }
  .popup[data-popup-id="search"] button.button[type="submit"]:hover,
  .popup[data-popup-id="search"] #searchform .button:hover {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    opacity: 0.92 !important;
  }
}

/* ---------- Sidebar / menu laterale su mobile ---------- */
/* Sidebar occupa tutta l’altezza e il contenuto è centrato con padding dai bordi */
.sidebar {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}

.sidebar .content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 2rem 1.5rem 2rem 1.5rem !important;
  padding-top: 5.5rem !important;
  padding-left: calc(1.5rem + 10px) !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

/* Nascondi il logo nella sidebar (evitare duplicato) */
.sidebar .content .logo {
  display: none !important;
}

/* Menu compatto in altezza: font e spaziatura ridotti */
.sidebar .mainMenu {
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar .mainMenu > li {
  margin-bottom: 0.35rem !important;
  line-height: 1.35 !important;
  font-size: 0.95rem !important;
}

.sidebar .mainMenu > li:last-child {
  margin-bottom: 0 !important;
}

/* Voci principali: maiuscole, leggermente più grandi delle sottocategorie */
.sidebar .mainMenu > li > a {
  text-transform: uppercase !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  padding: 0.1em 0 !important;
}

/* Sottocategorie: più piccole, indentate, poco spazio sopra/sotto */
.sidebar .mainMenu .sub-menu {
  list-style: none !important;
  padding-left: 1rem !important;
  margin: 0.15rem 0 0.4rem 0 !important;
}

.sidebar .mainMenu .sub-menu li {
  margin-bottom: 0.2rem !important;
  line-height: 1.3 !important;
}

.sidebar .mainMenu .sub-menu li a {
  font-size: 0.82em !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  opacity: 0.95 !important;
}

/* Social in fondo: poco spazio per restare compatti (legacy classe .social) */
.sidebar .content ul.social {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

/* Icone ricerca + social in fondo al pannello nero: centrate, in fila, dimensioni piccole */
.sidebar .content .menu.trim {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1rem !important;
  list-style: none !important;
  border: none !important;
}
.sidebar .content .menu.trim li {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sidebar .content .menu.trim li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.sidebar .content .menu.trim svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: currentColor !important;
}
.sidebar .content .menu.trim a {
  color: #fff !important;
  opacity: 0.9 !important;
}
.sidebar .content .menu.trim a:hover {
  opacity: 1 !important;
}

/* 4. Video home mobile: riempie tutto lo schermo, niente bande (Safari/Chrome) */
/* Video come layer fisso a tutta altezza così non compaiono bande sopra/sotto i controlli browser */
body.is-front-page {
  background: #183557 !important;
}

/* Pagina singolo video (mobile): sfondo bianco come su desktop, niente blu */
html body.single-works,
body.single-works {
  background: #fff !important;
}
html body.single-works .slides,
body.single-works .slides,
body.single-works .slides .slide,
body.single-works .slide.whiteSlide,
body.single-works section.slide,
body.single-works .content .container,
body.single-works .content .wrap {
  background-color: #fff !important;
  background: #fff !important;
}
body.single-works .content {
  background-color: transparent !important;
}

/* Pagina About: sfondo bianco come su desktop */
html body.page-about,
body.page-about {
  background: #fff !important;
}
html body.page-about .slides,
body.page-about .slides,
body.page-about .slides .slide,
body.page-about .slide.whiteSlide,
body.page-about section.slide,
body.page-about .content .container,
body.page-about .content .wrap {
  background-color: #fff !important;
  background: #fff !important;
}
body.page-about .content {
  background-color: transparent !important;
}

/* About: margini laterali ridotti come altrove (1rem dai bordi) */
body.page-about section.slide {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
body.page-about section.slide .content .container .wrap,
body.page-about section.slide .container .wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* About mobile: sezioni blu (servizi, ethos) devono restare blu con testo bianco leggibile */
body.page-about section.slide.darkblue,
body.page-about section.slide.about-services,
body.page-about section.slide.about-ethos {
  background-color: #183557 !important;
  background: #183557 !important;
}
body.page-about section.slide.darkblue .content .container,
body.page-about section.slide.darkblue .content .wrap,
body.page-about section.slide.about-services .content .container,
body.page-about section.slide.about-services .content .wrap,
body.page-about section.slide.about-ethos .content .container,
body.page-about section.slide.about-ethos .content .wrap {
  background-color: transparent !important;
  background: transparent !important;
}
body.page-about section.slide.darkblue .about-services-title,
body.page-about section.slide.darkblue .about-services-list,
body.page-about section.slide.darkblue .about-services-list li,
body.page-about section.slide.darkblue .about-ethos-text {
  color: #fff !important;
}

/* ---------- Pagina News (mobile): comportamento da pagina bianca come About/Single ---------- */
/* Niente colonne blu: html, body e tutti i wrapper bianchi a tutta larghezza */
html body.page-news,
body.page-news,
body:has(section[data-cid="slide-news"]) {
  background: #fff !important;
  background-color: #fff !important;
}
html body.page-news .slides,
body.page-news .slides,
body:has(section[data-cid="slide-news"]) .slides,
body.page-news .slides .slide,
body.page-news .slide.whiteSlide,
body.page-news section.slide,
body.page-news .content,
body.page-news .content .container,
body.page-news .content .wrap,
body:has(section[data-cid="slide-news"]) .slides .slide,
body:has(section[data-cid="slide-news"]) .content,
body:has(section[data-cid="slide-news"]) .content .container,
body:has(section[data-cid="slide-news"]) .content .wrap {
  background-color: #fff !important;
  background: #fff !important;
}
body.page-news .slides,
body.page-news .slides .slide,
body:has(section[data-cid="slide-news"]) .slides,
body:has(section[data-cid="slide-news"]) .slides .slide {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Sfondo bianco anche tramite selettore sulla slide (se body non ha .page-news) */
section[data-cid="slide-news"],
section[data-cid="slide-news"] .content,
section[data-cid="slide-news"] .container,
section[data-cid="slide-news"] .container .wrap,
section[data-cid="slide-news"] .news-page-inner {
  background: #fff !important;
  background-color: #fff !important;
}

/* News: corpo della news allineato a sinistra (non centrato) */
section[data-cid="slide-news"] .content .wrap,
section[data-cid="slide-news"] .container .wrap,
body.page-news section[data-cid="slide-news"] .wrap,
body.page-news .news-page-inner,
body.page-news .news-article,
body.page-news .news-article-body,
section[data-cid="slide-news"] .news-page-inner,
section[data-cid="slide-news"] .news-article,
section[data-cid="slide-news"] .news-article-body {
  text-align: left !important;
}
section[data-cid="slide-news"] .news-article-body p,
section[data-cid="slide-news"] .news-article-list,
section[data-cid="slide-news"] .news-article-figures,
section[data-cid="slide-news"] .news-article-thanks,
section[data-cid="slide-news"] .fix-12-12 {
  text-align: left !important;
}

@media (max-width: 767px) {
  /* News: la slide non è a tutta altezza, è un blocco contenuto-altezza */
  body.page-news section[data-cid="slide-news"],
  body.page-news section.slide[data-cid="slide-news"] {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: 0 1rem 2rem !important;
    background: #fff !important;
    background-color: #fff !important;
  }

  /* Annulla layout a tabella (table-cell + vertical-align) che crea il blocco blu */
  body.page-news section[data-cid="slide-news"] .content,
  body.page-news section[data-cid="slide-news"] .container,
  body.page-news section[data-cid="slide-news"] .container .wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 1.5rem 0 !important;
    text-align: left !important;
    vertical-align: top !important;
    background: #fff !important;
    background-color: #fff !important;
  }
  body.page-news section[data-cid="slide-news"] .content {
    position: relative !important;
  }
}

body.page-news section.slide {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
body.page-news section.slide .content .container .wrap,
body.page-news section.slide .container .wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

.slides .slide {
  background-color: transparent !important;
  background: transparent !important;
}

/* Solo homepage: slide a tutta altezza */
body.is-front-page .slides .slide:first-child,
body.is-front-page .slide.fade-3:not(:has(.fullscreenSlider)) {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: 100vh !important;
  height: 100dvh !important;
  position: relative !important;
}

/* Home: container video FISSO a schermo intero (nessuna banda sopra/sotto), sempre visibile */
body.is-front-page .background.vimeo.home-video-mobile,
body.is-front-page .slide.fade-3:not(:has(.fullscreenSlider)) .background.vimeo {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  height: 100svh !important;
  min-height: 100vh !important;
  min-height: -webkit-fill-available !important;
  overflow: hidden !important;
  background-color: #183557 !important;
  background: #183557 !important;
  z-index: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.is-front-page .background.vimeo.home-video-mobile iframe,
body.is-front-page .slide.fade-3:not(:has(.fullscreenSlider)) .background.vimeo iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  -webkit-transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  min-height: -webkit-fill-available !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Contenuto hero (logo, titolo, pulsanti) sopra il video con z-index */
body.is-front-page .slide.fade-3:not(:has(.fullscreenSlider)) .content {
  position: relative !important;
  z-index: 1 !important;
}

/* 5. Corporate e Advertising su mobile - video a schermo intero come la home + CTA Explore */
/* Solo dove c'è .fullscreenSlider (Corporate/Advertising), NON sulla homepage */

/* Container principale: schermo intero su mobile (come la home) */
section.slide.fade-3:has(.fullscreenSlider) {
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  position: relative;
}

section.slide.fade-3:has(.fullscreenSlider) .fullscreenSlider {
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  position: relative;
}

/* Slide e slider a tutta altezza */
section.slide.fade-3 .fullscreenSlider > .slider,
section.slide.fade-3 .fullscreenSlider > .slider > li {
  display: block;
  position: absolute;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

/* Slide background a schermo intero */
section.slide.fade-3 .fullscreenSlider .slide-background {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

/* Contenuto (titolo + CTA Explore Corporate/Advertising) centrato e sopra il video */
section.slide.fade-3 .fullscreenSlider .slide-background .content {
  position: relative;
  z-index: 10;
  text-align: center;
  color: white;
  width: 100%;
}

/* Background video a tutta altezza e centrato orizzontalmente */
section.slide.fade-3 .fullscreenSlider .slide-background .background.vimeo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  overflow: hidden;
  z-index: 0;
  /* Anteprima (background-image) centrata */
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

section.slide.fade-3 .fullscreenSlider .slide-background .background.vimeo iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  -webkit-transform: translate(-50%, -50%) !important;
  transform-origin: center center !important;
  -webkit-transform-origin: center center !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  object-fit: cover;
  max-width: none !important;
  max-height: none !important;
}

/* Overlay a tutta altezza */
section.slide.fade-3 .fullscreenSlider .slide-background .fullscreen-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

/* Slick slider a schermo intero */
section.slide.fade-3 .fullscreenSlider .slick-slider {
  position: relative;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

section.slide.fade-3 .fullscreenSlider .slick-slide {
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

/* Frecce slider Corporate/Advertising: frecce strette e alte come prima, ma senza cerchio */
section.slide.fade-3 .fullscreenSlider .slick-prev,
section.slide.fade-3 .fullscreenSlider .slick-next {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: 50px !important;
  height: 50px !important;
  padding: 0 !important;
  bottom: 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Nascondi il ::before di Slick (eventuale carattere) e mostra solo l’icona SVG */
section.slide.fade-3 .fullscreenSlider .slick-prev.slick-arrow::before,
section.slide.fade-3 .fullscreenSlider .slick-next.slick-arrow::before {
  display: none !important;
}

section.slide.fade-3 .fullscreenSlider .slick-prev .sideArrow,
section.slide.fade-3 .fullscreenSlider .slick-next .sideArrow,
section.slide.fade-3 .fullscreenSlider .slick-prev svg,
section.slide.fade-3 .fullscreenSlider .slick-next svg {
  display: block !important;
  width: 24px !important;
  height: 48px !important;
  fill: white !important;
}

/* ---------- Pagina sottocategoria / single work: video largo come i bottoni sottocategorie ---------- */
/* Stessa distanza dai lati della sezione sottocategorie (1rem); layout stabile per evitare salti */
.slide--featured-video,
.slide.whiteSlide.autoHeight {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  overflow: visible !important;
}

/* Flusso normale: titolo sopra, video sotto; titolo sempre visibile sopra il player */
.slide--featured-video .content .wrap.wrap--video-centered,
.slide.whiteSlide.autoHeight .content .wrap.wrap--video-centered {
  display: block !important;
}

.slide--featured-video .content .wrap.wrap--video-centered h1:first-of-type,
.slide.whiteSlide.autoHeight .content .wrap.wrap--video-centered h1:first-of-type {
  position: relative !important;
  z-index: 2 !important;
  background-color: inherit !important;
}

/* Regista sotto titolo in evidenza: stessa dimensione del titolo, stesso font, peso light */
.slide--featured-video .taxonomy-featured-regista {
  font-size: 1.35rem !important;
  font-weight: 300 !important;
  font-family: inherit !important;
  color: rgba(255, 255, 255, 0.95) !important;
  text-align: center !important;
}
.slide.whiteSlide .taxonomy-featured-regista {
  color: inherit !important;
}

/* Player sotto il titolo, mai sopra (z-index inferiore) */
.slide--featured-video .video-responsive-wrapper--height-driven,
.slide.whiteSlide.autoHeight .video-responsive-wrapper--height-driven {
  position: relative !important;
  z-index: 1 !important;
}

/* Player a tutta larghezza del contenitore (rispetta il padding 1rem della section), rapporto 16:9 */
.video-responsive-wrapper--height-driven {
  width: 100% !important;
  max-width: 100% !important;
  height: 0 !important;
  padding-bottom: 56.25% !important; /* 9/16 */
  min-height: 0 !important;
}

.video-responsive-wrapper--height-driven .video-responsive--fill {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.video-responsive-wrapper--height-driven .video-responsive--fill iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Assicura che la sezione sottocategorie sia visibile subito sotto */
section#subcategories {
  position: relative !important;
  margin-top: 0 !important;
  padding: 1rem !important; /* stessa distanza dallo schermo che tra le card */
}

/* Contenitore senza margini extra, larghezza utile */
section#subcategories .content .container .wrap,
section#subcategories .container .wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* Sottocategorie: rettangoli bassi e larghi, uno sotto l’altro */
section#subcategories .fix-12-12 ul.flex {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 1rem !important;
}

section#subcategories .fix-12-12 ul.flex > li {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}

/* Card dimezzate in altezza, larghezza fino ai padding (quasi tutto lo schermo) */
section#subcategories .box-131 {
  display: block !important;
  position: relative !important;
  min-height: 100px !important;
  height: 100px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}

/* Immagine di sfondo della card (poster) */
section#subcategories .box-131 .poster {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
}

section#subcategories .box-131 .box-131-inner {
  position: relative !important;
  z-index: 1 !important;
  min-height: 100px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0.75rem 1rem !important;
}

section#subcategories .box-131-inner h3 {
  position: relative !important;
  left: 0 !important;
  bottom: 0 !important;
  margin: 0 0 0.25rem 0 !important;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

section#subcategories .box-131-inner p {
  margin: 0 !important;
  color: rgba(255,255,255,0.9) !important;
  font-size: 0.9em !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* ---------- Griglia video correlati (sottocategoria / single work): stesso formato di #subcategories ---------- */
/* Stessa distanza dai bordi (1rem); più spazio sopra tra titolo del video e elenco correlati */
.work-cat-grid-slide {
  padding: 1rem !important;
  padding-top: 2rem !important;
}
.work-cat-grid-slide .content .container .wrap,
.work-cat-grid-slide .container .wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* Distanza tra i blocchi = uguale a #subcategories (1rem) */
.work-cat-grid-slide #work-cat-grid,
.work-cat-grid-slide #single-work-related-grid,
.work-cat-grid-slide .flex-69 {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  /* gap: 1rem !important; */
}

.work-cat-grid-slide .flex-69 > li {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 0 !important;
}

/* Blocchi anteprima stesso formato di #subcategories .box-131: 100px altezza, bordi, cover */
.work-cat-grid-slide .box-69 {
  display: block !important;
  position: relative !important;
  min-height: 100px !important;
  height: 100px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  background-size: cover !important;
  background-position: center !important;
}

.work-cat-grid-slide .box-69::after {
  height: 100% !important;
  min-height: 100px !important;
}

.work-cat-grid-slide .box-69 .cell-69,
.work-cat-grid-slide .box-69 .table.cell-69 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 1rem !important;
}

.work-cat-grid-slide .box-69 .cell h4,
.work-cat-grid-slide .box-69 h4 {
  margin: 0 !important;
  color: #fff !important;
  text-align: center !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  font-size: 1rem !important;
}
/* Regista in anteprime (griglia, More videos): dimensione maggiore per leggibilità, font light */
.work-cat-grid-slide .box-69 .work-cat-grid-item-regista {
  margin-top: 0.25rem !important;
  color: #fff !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  font-size: 1.25rem !important;
  font-weight: 300 !important;
  font-family: inherit !important;
  opacity: 0.95 !important;
}

/* MORE VIDEOS — slide blu (sottocategoria tax-work-cat su mobile): riempimento blu, testo e bordo bianchi */
body.tax-work-cat .work-cat-grid-slide p.text-center .button#work-cat-load-more,
body.tax-work-cat .work-cat-grid-slide #work-cat-load-more {
  display: inline-block !important;
  border-radius: 3px !important;
  padding: 12px 20px !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  outline: none !important;
  background: #183557 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  transition: opacity 0.2s !important;
}
body.tax-work-cat .work-cat-grid-slide p.text-center .button#work-cat-load-more:hover:not(:disabled),
body.tax-work-cat .work-cat-grid-slide p.text-center .button#work-cat-load-more:focus:not(:disabled),
body.tax-work-cat .work-cat-grid-slide #work-cat-load-more:hover:not(:disabled),
body.tax-work-cat .work-cat-grid-slide #work-cat-load-more:focus:not(:disabled) {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  opacity: 0.92 !important;
}
body.tax-work-cat .work-cat-grid-slide #work-cat-load-more:disabled {
  opacity: 0.75 !important;
  cursor: wait !important;
}

/* MORE VIDEOS — slide bianca (singolo video, archivio works): sfondo bianco, testo e bordo #183557 */
body.single-works .work-cat-grid-slide p.text-center .button#single-work-load-more,
body.single-works .work-cat-grid-slide #single-work-load-more,
#works-archive-load-more {
  display: inline-block !important;
  border-radius: 3px !important;
  padding: 12px 20px !important;
  color: #183557 !important;
  border: 2px solid #183557 !important;
  outline: none !important;
  background: #ffffff !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  transition: opacity 0.2s !important;
}
body.single-works .work-cat-grid-slide p.text-center .button#single-work-load-more:hover:not(:disabled),
body.single-works .work-cat-grid-slide p.text-center .button#single-work-load-more:focus:not(:disabled),
body.single-works .work-cat-grid-slide #single-work-load-more:hover:not(:disabled),
body.single-works .work-cat-grid-slide #single-work-load-more:focus:not(:disabled),
#works-archive-load-more:hover:not(:disabled),
#works-archive-load-more:focus:not(:disabled) {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  opacity: 0.92 !important;
}
body.single-works .work-cat-grid-slide #single-work-load-more:disabled,
#works-archive-load-more:disabled {
  opacity: 0.75 !important;
  cursor: wait !important;
}

/* Regista in single work: stessa dimensione del titolo (h1), stesso font Abril Fatface, peso light */
.single-work-regista {
  font-size: 2.25rem !important;
  font-weight: 300 !important;
  font-family: "Abril Fatface", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
  letter-spacing: 0.022em !important;
  opacity: 0.95 !important;
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

/* ---------- Pagina About: sezioni servizi, showcase, ethos (mobile) ---------- */
.about-services .about-services-grid {
  flex-direction: column;
  padding: 2rem 0;
  gap: 2rem;
}
.about-services-col {
  flex: none;
  width: 100%;
  padding: 0 0 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.about-services-col .about-services-title,
.about-services-col .about-services-list {
  text-align: center;
}
.about-services-col .about-services-list li {
  text-align: center;
}
.about-services-col:last-child {
  border-bottom: none;
}
.about-services-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-bottom: 0.5rem !important;
}
.about-services-list {
  font-size: 1.5rem !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  margin-top: 0.5rem !important;
}
.about-services-list li {
  text-transform: uppercase !important;
  font-weight: 400 !important;
}
.about-showcase-image {
  max-height: 60vh;
  min-height: 200px;
}
.about-showcase-image img {
  max-height: 60vh;
}
.about-showcase-cta-box {
  padding: 1.25rem 1.5rem;
  max-width: 90%;
  background: rgba(24, 53, 87, 0.85) !important;
  border-radius: 8px;
}
.about-showcase-cta-box .about-showcase-logo {
  width: 80px;
  height: 80px;
}
.about-showcase-cta-box .about-showcase-logo use {
  fill: #fff !important;
}
.about-showcase-cta-title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: #fff !important;
}
.about-showcase-cta-button {
  padding: 0.6rem 1.5rem;
  font-size: 0.9rem;
  color: #183557 !important;
  background: #fff !important;
}
.about-showcase-cta-button:hover {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #183557 !important;
}
.about-ethos {
  display: flex;
  align-items: center;
  min-height: 240px;
  padding: 2rem 1rem;
}
.about-ethos .content {
  width: 100%;
}
.about-ethos-text {
  font-size: 2rem;
  line-height: 1.6;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/* Contact: su mobile colonne in stack (prima sedi, poi mappa), fascia resta full width */
@media (max-width: 768px) {
  /* About: nascondi showcase (CTA) ed ethos (testo blu) su mobile */
  section.about-showcase,
  section[data-cid="slide-about-showcase"],
  section.about-ethos,
  section[data-cid="slide-about-ethos"] {
    display: none !important;
  }
  section[data-cid="slide-contact"] .container .wrap {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  section[data-cid="slide-contact"] .container .wrap .margin-bottom-4 {
    margin-bottom: 0.75rem !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  section[data-cid="slide-contact"] .container .wrap h1,
  section[data-cid="slide-contact"] .container .wrap h1.ae-1,
  section[data-cid="slide-contact"] .container .wrap h1.fromLeft {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  section[data-cid="slide-contact"] .container .wrap p,
  section[data-cid="slide-contact"] .container .wrap p.ae-2,
  section[data-cid="slide-contact"] .container .wrap p.fromLeft {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  .contact-fullwidth-row {
    padding-bottom: 3rem;
  }
  /* Mobile: nascondi layout desktop, mostra layout mobile */
  .contact-desktop-layout {
    display: none !important;
  }
  .contact-mobile-layout {
    display: block !important;
  }
  /* Mobile: ogni sede con la sua mappa sotto */
  .contact-mobile-sede-block {
    margin-bottom: 2rem;
    background: #fff;
  }
  .contact-mobile-sede-block:last-of-type {
    margin-bottom: 0;
  }
  .contact-mobile-sede-info {
    padding: 1.25rem 1rem;
  }
  .contact-mobile-sede-info .contact-sede-city {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
  }
  .contact-mobile-sede-info .contact-sede-address {
    font-size: 0.85rem;
    line-height: 1.3;
  }
  .contact-sede-map-mobile-wrap {
    width: 100%;
    height: 0;
    padding-bottom: 75%;
    position: relative;
    overflow: hidden;
    background: #e8e8e8;
  }
  .contact-sede-map-mobile {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 250px;
  }
  .contact-global-mobile-top {
    margin-top: 0;
    margin-bottom: 2rem;
    padding: 2rem 1rem;
    border-top: none;
    border-bottom: none;
    background: transparent !important;
    display: block !important;
    visibility: visible !important;
  }
  /* Email e telefono grandi e dominanti su sfondo blu */
  .contact-global-mobile-top .contact-email,
  .contact-global-mobile-top .contact-phone {
    margin-bottom: 1.5rem;
  }
  .contact-global-mobile-top .contact-email:last-child,
  .contact-global-mobile-top .contact-phone:last-child {
    margin-bottom: 0;
  }
  .contact-global-mobile-top .contact-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9) !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: 0.5rem;
  }
  .contact-global-mobile-top .contact-email a,
  .contact-global-mobile-top .contact-phone a {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff !important;
    text-decoration: none;
    display: block;
    line-height: 1.3;
  }
  /* Email tutta minuscola */
  .contact-global-mobile-top .contact-email,
  .contact-global-mobile-top .contact-email a {
    text-transform: lowercase !important;
  }
  .contact-global-mobile {
    margin-top: 2rem;
    padding: 1.25rem 1rem;
    border-top: 1px solid rgba(0,0,0,0.1);
  }
  /* Mappe mobile bloccate: disabilita interazione touch per non interferire con scroll */
  .contact-sede-map-mobile-wrap {
    touch-action: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
  }
  .contact-sede-map-mobile-wrap .contact-sede-map-mobile {
    pointer-events: none;
  }
  .contact-sede-map-mobile-wrap .leaflet-container {
    pointer-events: none !important;
  }
  .contact-global-mobile .contact-label {
    font-size: 0.7rem;
  }
  .contact-global-mobile p {
    margin-bottom: 0.75rem;
  }
  .contact-global-mobile p:last-child {
    margin-bottom: 0;
  }
}

/* ---------- Pagina News (mobile): box, allineamento, font leggibili ---------- */
@media (max-width: 767px) {
  body.page-news .news-page-inner,
  body.page-news section[data-cid="slide-news"] .news-page-inner {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #183557 !important;
    background: transparent !important;
  }
  body.page-news .news-page-inner h1,
  body.page-news .news-page-inner h2,
  body.page-news .news-page-inner p,
  body.page-news .news-page-inner li,
  body.page-news .news-page-inner a,
  body.page-news .news-article-body,
  body.page-news .news-article-title {
    color: inherit !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.page-news .news-article--left {
    text-align: left !important;
  }
  body.page-news .news-article-title {
    font-size: 1.5rem !important;
  }
  body.page-news .news-article-body,
  body.page-news .news-article-list,
  body.page-news .news-article-figures {
    font-size: 1.1rem !important;
  }
  body.page-news .fix-12-12 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}