.wp-block-heading { overflow-wrap: break-word; hyphens: auto; text-wrap: balance; } .wp-block-heading:lang(ko), .wp-block-heading:lang(th), .wp-block-heading:lang(lo), .wp-block-heading:lang(my), .wp-block-heading:lang(km), .wp-block-heading:lang(ar), .wp-block-heading:lang(ur) { word-break: keep-all; hyphens: manual; } @keyframes ext-object-drift { from { transform: translateY(10px); } to { transform: translateY(-10px); } } @media (prefers-reduced-motion: reduce) { @keyframes ext-object-drift { from { transform: none; } to { transform: none; } } }

/* =========================================
   ACCADEMIA MUSICALE GUSTAV MAHLER
   HEADER + NAVIGAZIONE + HERO
   ========================================= */


/* =========================================
   STRUTTURA HEADER
   ========================================= */

.mahler-header-row {
  position: relative;
  flex-wrap: nowrap !important;
  align-items: center;
  background-color: rgba(247, 239, 226, 0.82);
}

.mahler-header-row .wp-block-site-logo {
  order: 1;
  flex: 0 0 auto;
}

.mahler-header-row .wp-block-navigation {
  order: 2;
  flex: 1 1 0 !important;
  min-width: 0;
  margin: 0;
}

.mahler-header-row .wp-block-social-links {
  order: 3;
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: row;
  gap: 6px !important;
  margin: 0 0 0 10px !important;
  padding: 0;
  font-size: 18px !important;
}


/* =========================================
   MENU PRINCIPALE
   ========================================= */

.mahler-header-row .wp-block-navigation__container {
  width: 100% !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  column-gap: 0.7rem !important;
  row-gap: 0.4rem !important;
}


/* =========================================
   ICONE SOCIAL
   ========================================= */

.mahler-header-row .wp-block-social-links .wp-social-link {
  background: transparent !important;
  color: #102a43 !important;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.mahler-header-row .wp-block-social-links .wp-social-link svg {
  fill: currentColor !important;
}

.mahler-header-row .wp-block-social-links .wp-social-link:hover {
  color: #c6a15b !important;
  transform: translateY(-2px);
}


/* =========================================
   HOME
   ========================================= */

.home .mahler-header-row {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  width: 100%;
  z-index: 999;

  background-color: rgba(247, 239, 226, 0.82);

  transform: translateY(-10px);
}


/* =========================================
   PAGINE INTERNE
   Stesso aspetto della Home
   ========================================= */

body:not(.home) header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 999;
  background: transparent;
}

body:not(.home) .mahler-header-row {
  background-color: rgba(247, 239, 226, 0.82);
}


/* =========================================
   SFUMATURA INFERIORE
   Stessa su desktop e mobile
   ========================================= */

.mahler-header-row::after {
  content: "";

  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;

  height: 12px;

  background: linear-gradient(
    to bottom,
    rgba(247, 239, 226, 0.18) 0%,
    rgba(247, 239, 226, 0.08) 45%,
    rgba(247, 239, 226, 0) 100%
  );

  opacity: 0;
  pointer-events: none;
}


/* =========================================
   ANIMAZIONI SCROLL
   Desktop + tablet
   ========================================= */

@supports (animation-timeline: scroll()) {

  .mahler-header-row {
    animation: mahler-header-scroll linear both;
    animation-timeline: scroll(root block);
    animation-range: 0px 180px;
  }

  .mahler-header-row .wp-block-site-logo img {
    animation: mahler-logo-scroll linear both;
    animation-timeline: scroll(root block);
    animation-range: 0px 180px;
    transform-origin: left center;
  }

  .mahler-header-row::after {
    animation: mahler-edge-fade linear both;
    animation-timeline: scroll(root block);
    animation-range: 110px 180px;
  }
}


/* =========================================
   HEADER DURANTE LO SCROLL
   Uguale su tutte le pagine
   ========================================= */

@keyframes mahler-header-scroll {

  from {
    background-color: rgba(247, 239, 226, 0.82);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }

  to {
    background-color: rgba(247, 239, 226, 0.97);
    box-shadow: 0 7px 22px rgba(0, 0, 0, 0.13);
  }
}


/* =========================================
   RIDUZIONE LOGO DESKTOP
   ========================================= */

@keyframes mahler-logo-scroll {

  from {
    width: 460px;
  }

  to {
    width: 180px;
  }
}


/* =========================================
   COMPARSA SFUMATURA
   ========================================= */

@keyframes mahler-edge-fade {

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


/* =========================================
   MENU A TENDINA
   ========================================= */

@media (min-width: 1200px) {

  .mahler-header-row .wp-block-navigation__submenu-container {
    min-width: 220px !important;

    background: rgba(247, 239, 226, 0.98) !important;

    border: none !important;
    border-radius: 14px !important;

    padding: 9px !important;

    opacity: 0;
    transform: translateY(-2px);
    transform-origin: top center;

    transition:
      opacity 0.55s ease,
      transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 0.55s ease !important;

    box-shadow:
      0 12px 34px rgba(16, 42, 67, 0.07);

    overflow: hidden;
    will-change: opacity, transform;
  }

  .mahler-header-row
  .wp-block-navigation-submenu:hover
  > .wp-block-navigation__submenu-container,

  .mahler-header-row
  .wp-block-navigation-submenu:focus-within
  > .wp-block-navigation__submenu-container {
    opacity: 1;
    transform: translateY(0);

    box-shadow:
      0 16px 40px rgba(16, 42, 67, 0.11);
  }


  /* Singole voci */

  .mahler-header-row
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    border-radius: 8px;
    padding: 11px 14px !important;

    transition:
      background-color 0.35s ease,
      color 0.35s ease;
  }

  .mahler-header-row
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content:hover {
    background-color: rgba(198, 161, 91, 0.10);
    color: #102a43 !important;
  }


  /* Freccina */

  .mahler-header-row
  .wp-block-navigation__submenu-icon svg {
    transition:
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .mahler-header-row
  .wp-block-navigation-submenu:hover
  > .wp-block-navigation__submenu-icon svg,

  .mahler-header-row
  .wp-block-navigation-submenu:focus-within
  > .wp-block-navigation__submenu-icon svg {
    transform: rotate(180deg);
  }
}


/* =========================================
   HERO
   ========================================= */

.mahler-new-hero {
  overflow: hidden;
}

.mahler-new-hero .wp-block-cover__inner-container {
  width: min(1180px, calc(100% - 72px));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.mahler-new-hero .mahler-hero-intro {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.mahler-new-hero .wp-block-buttons {
  justify-content: flex-start !important;
}


/* =========================================
   PULSANTE HERO
   ========================================= */

.mahler-hero-btn .wp-block-button__link {
  transition:
    background-color 0.35s ease,
    color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.mahler-hero-btn .wp-block-button__link:hover,
.mahler-hero-btn .wp-block-button__link:focus {
  background-color: #c6a15b !important;
  color: #102a43 !important;

  transform: translateY(-2px);

  box-shadow:
    0 8px 22px rgba(16, 42, 67, 0.18);
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

  .home .mahler-hero {
    padding-top: 170px !important;
  }

  .mahler-new-hero .wp-block-cover__inner-container {
    width: calc(100% - 40px);
  }
}


/* =========================================
   MOBILE — HERO
   ========================================= */

@media (max-width: 600px) {

  .mahler-new-hero .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    padding-left: 26px !important;
    padding-right: 26px !important;

    box-sizing: border-box !important;
  }


  /* Titolo */

  .mahler-hero-title {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 0 24px 0 !important;

    font-size: 34px !important;
    line-height: 1.06 !important;

    white-space: normal !important;

    word-break: normal !important;
    overflow-wrap: normal !important;

    hyphens: none !important;
    -webkit-hyphens: none !important;

    box-sizing: border-box !important;
  }


  /* Paragrafo */

  .mahler-hero-intro {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 28px 0 !important;

    font-size: 16px !important;
    line-height: 1.55 !important;

    box-sizing: border-box !important;
  }


  /* Pulsante */

  .mahler-new-hero .wp-block-buttons {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    justify-content: flex-start !important;
  }

  .mahler-hero-btn .wp-block-button__link {
    font-size: 17px !important;
    max-width: 100% !important;
  }
}


/* =========================================
   A CAPO TITOLO
   Solo su telefono
   ========================================= */

.mahler-hero-title br {
  display: none;
}

@media (max-width: 600px) {

  .mahler-hero-title br {
    display: block;
  }
}


/* =========================================
   HEADER MOBILE
   Stesso comportamento del desktop,
   dimensioni adattate allo smartphone
   ========================================= */

@media (max-width: 600px) {

  .mahler-header-row {
    padding: 8px 14px !important;
    min-height: 0 !important;
    gap: 10px !important;
  }

  .mahler-header-row .wp-block-site-logo {
    flex: 1 1 auto;
    max-width: calc(100% - 50px);
    margin: 0 !important;
  }

  .mahler-header-row .wp-block-site-logo img {
    width: 300px;
    max-width: 100% !important;
    height: auto !important;
  }

  .mahler-header-row .wp-block-navigation {
    flex: 0 0 auto !important;
  }


  /* Contrazione mobile 300 → 160 */

  @supports (animation-timeline: scroll()) {

    .mahler-header-row .wp-block-site-logo img {
      animation:
        mahler-logo-scroll-mobile linear both !important;

      animation-timeline:
        scroll(root block) !important;

      animation-range:
        0px 180px !important;

      transform-origin:
        left center;
    }
  }
}


/* =========================================
   RIDUZIONE LOGO MOBILE
   ========================================= */

@keyframes mahler-logo-scroll-mobile {

  from {
    width: 300px;
  }

  to {
    width: 160px;
  }
}


/* =========================================
   ACCESSIBILITÀ
   ========================================= */

@media (prefers-reduced-motion: reduce) {

  .mahler-header-row
  .wp-block-navigation__submenu-container,

  .mahler-header-row
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content,

  .mahler-header-row
  .wp-block-navigation__submenu-icon svg,

  .mahler-hero-btn
  .wp-block-button__link {

    transition: none !important;
  }
}

.mahler-header-row {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* =========================================
   KICKER SEZIONE IDENTITÀ
   ========================================= */

.mahler-section-kicker {
  margin: 0 0 14px 0 !important;

  color: #c6a15b !important;

  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;

  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

/* =========================================
   TITOLO SEZIONE IDENTITÀ
   ========================================= */

.mahler-section-title {
  margin: 0 0 22px 0 !important;

  color: #102a43 !important;

  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 1.05 !important;

  letter-spacing: -0.02em;
}

/* Mobile */

@media (max-width: 600px) {

  .mahler-section-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
    margin-bottom: 18px !important;
  }
}

/* =========================================
   TESTO SEZIONE IDENTITÀ
   ========================================= */

.mahler-identity-intro p:not(.mahler-section-kicker) {
  max-width: 760px;
  margin-top: 0 !important;

  color: #443833;

  font-size: 18px !important;
  line-height: 1.65 !important;
}

.mahler-identity-intro p:not(.mahler-section-kicker):not(:last-child) {
  margin-bottom: 16px !important;
}

.mahler-identity-intro p:not(.mahler-section-kicker):last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 600px) {

  .mahler-identity-intro p:not(.mahler-section-kicker) {
    max-width: 100%;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   FOTO SEZIONE IDENTITÀ
   ========================================= */

.mahler-identity-photo {
  margin: 0 !important;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(16, 42, 67, 0.10);
}

.mahler-identity-photo img {
  display: block;
  width: 100% !important;
  height: auto !important;
  border-radius: 16px;
}

/* Mobile */

@media (max-width: 600px) {
  .mahler-identity-photo {
    margin-top: 34px !important;
    border-radius: 12px;
  }

  .mahler-identity-photo img {
    border-radius: 12px;
  }
}

/* =========================================
   SEZIONE IDENTITÀ — LAYOUT
   ========================================= */

.mahler-identity-section {
  padding-top: 110px !important;
  padding-bottom: 110px !important;
  background-color: #f7efe2;
}

.mahler-identity-section > .wp-block-columns {
  align-items: flex-start !important;
  gap: clamp(50px, 6vw, 90px) !important;
}

.mahler-identity-section > .wp-block-columns > .wp-block-column:first-child {
  flex-basis: 55% !important;
  padding-top: 55px;
}

.mahler-identity-section > .wp-block-columns > .wp-block-column:last-child {
  flex-basis: 45% !important;
}

/* Mobile */

@media (max-width: 781px) {

  .mahler-identity-section {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .mahler-identity-section > .wp-block-columns {
    gap: 36px !important;
  }

  .mahler-identity-section > .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
  }

  .mahler-identity-section > .wp-block-columns > .wp-block-column:first-child {
    padding-top: 0;
  }
}

/* =========================================
   RIFINITURA MOBILE — SEZIONE IDENTITÀ
   ========================================= */

@media (max-width: 781px) {
  .mahler-identity-section > .wp-block-columns {
    gap: 24px !important;
  }
}

@media (max-width: 600px) {
  .mahler-identity-photo {
    margin-top: 0 !important;
  }
}

/* =========================================
   INTRO GALLERIA
   ========================================= */

.mahler-gallery-intro p:not(.mahler-section-kicker) {
  max-width: 720px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  color: #443833;

  font-size: 18px !important;
  line-height: 1.65 !important;
}

@media (max-width: 600px) {

  .mahler-gallery-intro p:not(.mahler-section-kicker) {
    max-width: 100%;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   GALLERIA HOME — LAYOUT EDITORIALE
   ========================================= */

.mahler-home-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: clamp(180px, 14vw, 225px);
  gap: 16px !important;
}

/* Prima foto protagonista */

.mahler-home-gallery > figure:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

/* Tutte le fotografie */

.mahler-home-gallery > figure {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 14px;
}

.mahler-home-gallery > figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;

  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Movimento molto leggero al passaggio del mouse */

@media (hover: hover) {
  .mahler-home-gallery > figure:hover img {
    transform: scale(1.025);
  }
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

  .mahler-home-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto;
    gap: 14px !important;
  }

  .mahler-home-gallery > figure {
    aspect-ratio: 4 / 3;
  }

  .mahler-home-gallery > figure:first-child {
    grid-column: span 2;
    grid-row: auto;
    aspect-ratio: 16 / 9;
  }
}


/* =========================================
   SMARTPHONE
   ========================================= */

@media (max-width: 600px) {

  .mahler-home-gallery {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .mahler-home-gallery > figure,
  .mahler-home-gallery > figure:first-child {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 4 / 3;
    border-radius: 12px;
  }
}

/* =========================================
   GALLERIA HOME — STRUTTURA REALE 3×2
   ========================================= */

.mahler-home-gallery > .wp-block-column {
  display: contents !important;
}

.mahler-home-gallery > .wp-block-column > figure {
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 14px;
}

.mahler-home-gallery > .wp-block-column > figure img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Prima foto protagonista */

.mahler-home-gallery
> .wp-block-column:first-child
> figure:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

/* Hover desktop */

@media (hover: hover) {
  .mahler-home-gallery > .wp-block-column > figure:hover img {
    transform: scale(1.025);
  }
}


/* Tablet */

@media (max-width: 900px) {

  .mahler-home-gallery
  > .wp-block-column:first-child
  > figure:first-child {
    grid-column: span 2;
    grid-row: auto;
    aspect-ratio: 16 / 9;
  }

  .mahler-home-gallery > .wp-block-column > figure {
    aspect-ratio: 4 / 3;
    height: auto;
  }
}


/* Smartphone */

@media (max-width: 600px) {

  .mahler-home-gallery
  > .wp-block-column:first-child
  > figure:first-child,
  .mahler-home-gallery > .wp-block-column > figure {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 4 / 3;
    height: auto;
    border-radius: 12px;
  }
}

/* =========================================
   GALLERIA — PUNTI FOCALI
   ========================================= */

/* Inquadratura generale */
.mahler-home-gallery img {
  object-position: center 35% !important;
}

/* Foto grande principale */
.mahler-home-gallery
> .wp-block-column:first-child
> figure:first-child
> img {
  object-position: center 30% !important;
}

/* Foto centrale in basso — clarinetti:
   più chiavi e corpi degli strumenti visibili */
.mahler-home-gallery
> .wp-block-column:nth-child(3)
> figure:first-child
> img {
  object-position: center 20% !important;
}

/* Foto in basso a destra */
.mahler-home-gallery
> .wp-block-column:nth-child(3)
> figure:nth-of-type(2)
> img {
  object-position: center 45% !important;
}

/* =========================================
   SMARTPHONE — GALLERIA A MOSAICO
   ========================================= */

@media (max-width: 600px) {

  .mahler-home-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 10px !important;
  }

  /* Foto normali: due per riga */
  .mahler-home-gallery > .wp-block-column > figure {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 12px;
  }

  /* Prima foto protagonista: tutta larghezza */
  .mahler-home-gallery
  > .wp-block-column:first-child
  > figure:first-child {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  /* Ultima foto: tutta larghezza */
  .mahler-home-gallery
  > .wp-block-column:nth-child(3)
  > figure:nth-of-type(2) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
}

/* =========================================
   INTRO — LE NOSTRE ATTIVITÀ
   ========================================= */

.mahler-services-intro p:not(.mahler-section-kicker) {
  max-width: 820px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  color: #443833;

  font-size: 18px !important;
  line-height: 1.65 !important;
}

@media (max-width: 600px) {
  .mahler-services-intro p:not(.mahler-section-kicker) {
    max-width: 100%;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   LE NOSTRE ATTIVITÀ — CARD
   ========================================= */

.mahler-services-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

/* Singola card */
.mahler-services-grid > .wp-block-media-text {
  display: flex !important;
  flex-direction: column !important;

  overflow: hidden;
  margin: 0 !important;

  background: rgba(255, 252, 247, 0.72) !important;
  border: 1px solid rgba(16, 42, 67, 0.08);
  border-radius: 16px;

  box-shadow: 0 12px 32px rgba(16, 42, 67, 0.06);

  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease;
}

/* Foto */
.mahler-services-grid > .wp-block-media-text > .wp-block-media-text__media {
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.mahler-services-grid > .wp-block-media-text > .wp-block-media-text__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;

  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Parte testuale */
.mahler-services-grid > .wp-block-media-text > .wp-block-media-text__content {
  width: 100% !important;
  padding: 30px 32px 34px !important;

  background: transparent !important;
}

/* Elimina i vecchi fondi rosa/gialli interni */
.mahler-services-grid .wp-block-group {
  background-color: transparent !important;
}

/* Titoli */
.mahler-services-grid h3 {
  margin: 0 0 14px 0 !important;

  color: #102a43 !important;

  font-size: 27px !important;
  line-height: 1.1 !important;
}

/* Testi */
.mahler-services-grid p {
  margin: 0 !important;

  color: #443833 !important;

  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

/* Hover desktop */
@media (hover: hover) {

  .mahler-services-grid > .wp-block-media-text:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(16, 42, 67, 0.11);
  }

  .mahler-services-grid > .wp-block-media-text:hover
  > .wp-block-media-text__media img {
    transform: scale(1.025);
  }
}

/* =========================================
   SMARTPHONE
   ========================================= */

@media (max-width: 781px) {

  .mahler-services-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .mahler-services-grid > .wp-block-media-text {
    border-radius: 12px;
  }

  .mahler-services-grid > .wp-block-media-text > .wp-block-media-text__content {
    padding: 24px 24px 28px !important;
  }

  .mahler-services-grid h3 {
    font-size: 24px !important;
  }

  .mahler-services-grid p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   ATTIVITÀ — ALLINEAMENTO FOTO
   ========================================= */

@media (min-width: 782px) {

  .mahler-services-grid
  > .wp-block-media-text
  > .wp-block-media-text__media {
    width: 100% !important;
    height: clamp(300px, 26vw, 400px) !important;
    aspect-ratio: auto !important;
    flex: 0 0 auto !important;
  }

  .mahler-services-grid
  > .wp-block-media-text
  > .wp-block-media-text__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* =========================================
   NEWS — BLOCCO DEFINITIVO
   ========================================= */


/* =========================================
   INTRO NEWS
   ========================================= */

.mahler-news-intro p:not(.mahler-section-kicker) {
  max-width: 760px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  color: #443833;

  font-size: 18px !important;
  line-height: 1.65 !important;
}


/* =========================================
   GRIGLIA NEWS
   ========================================= */

.mahler-news-grid .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  gap: 24px !important;

  align-items: start !important;
}

.mahler-news-grid .wp-block-post-template > li {
  margin: 0 !important;
  padding: 0 !important;

  height: auto !important;
  min-height: 0 !important;
}

/* Prima notizia protagonista */
.mahler-news-grid .wp-block-post-template > li:first-child {
  grid-column: 1 / -1;
}


/* =========================================
   CARD NEWS
   ========================================= */

.mahler-news-card {
  display: flex !important;
  flex-direction: column !important;

  justify-content: flex-start !important;
  align-items: stretch !important;

  gap: 0 !important;

  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: rgba(255, 252, 247, 0.72) !important;

  border: 1px solid rgba(16, 42, 67, 0.08);
  border-radius: 16px;

  box-shadow: 0 12px 32px rgba(16, 42, 67, 0.05);
}


/* =========================================
   IMMAGINE NEWS
   ========================================= */

/*
 * Il contenitore della foto stabilisce direttamente il rapporto 16:9.
 * In questo modo il placeholder usato dal lazy-loading di WordPress/Safari
 * non può più espandere verticalmente la card prima del caricamento reale.
 */
.mahler-news-card-image {
  display: block !important;

  position: static !important;

  flex: 0 0 auto !important;
  align-self: stretch !important;

  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  aspect-ratio: 16 / 9 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

/*
 * Tutti i wrapper interni riempiono il contenitore 16:9.
 * Nessun margine o padding può creare fasce bianche.
 */
.mahler-news-card-image > figure,
.mahler-news-card-image .wp-block-post-featured-image,
.mahler-news-card-image .wp-block-post-featured-image > a,
.mahler-news-card-image > a {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  line-height: 0 !important;
}

/*
 * La foto riempie sempre il box 16:9.
 * object-fit: cover evita spazi vuoti anche con immagini future
 * di proporzioni diverse.
 */
.mahler-news-card-image img,
.mahler-news-grid .wp-block-post-featured-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  min-height: 0 !important;
  max-height: none !important;

  object-fit: cover !important;
  object-position: center !important;

  margin: 0 !important;
  padding: 0 !important;

  vertical-align: middle !important;

  transition:
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================
   CONTENUTO NEWS
   ========================================= */

.mahler-news-card-content {
  display: block !important;

  position: static !important;

  flex: 0 0 auto !important;
  align-self: stretch !important;

  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 28px 24px 26px !important;

  background: transparent !important;
}

/* Neutralizza eventuali gruppi interni che si espandono */
.mahler-news-card-content .wp-block-group {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  flex-grow: 0 !important;
}


/* Categoria */

.mahler-news-grid .wp-block-post-terms {
  margin: 0 0 12px 0 !important;

  color: #c6a15b !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mahler-news-grid .wp-block-post-terms a {
  color: inherit !important;
  text-decoration: none !important;
}


/* Titolo */

.mahler-news-grid .wp-block-post-title {
  margin: 0 0 12px 0 !important;

  color: #102a43 !important;

  line-height: 1.12 !important;
}


/* Riassunto */

.mahler-news-grid .wp-block-post-excerpt {
  margin: 0 !important;

  color: #443833 !important;

  line-height: 1.6 !important;
}


/* Nasconde autore tecnico */

.mahler-news-grid .wp-block-post-author,
.mahler-news-grid .wp-block-post-author-name,
.mahler-news-grid .wp-block-avatar {
  display: none !important;
}


/* Data */

.mahler-news-grid .wp-block-post-date {
  display: block !important;

  margin-top: 20px !important;
  margin-bottom: 0 !important;

  color: #8a6d54 !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  letter-spacing: 0.08em;
  text-transform: uppercase;
}


/* Hover immagine */

@media (hover: hover) {

  .mahler-news-card:hover
  .mahler-news-card-image img {
    transform: scale(1.015);
  }
}


/* =========================================
   PULSANTE TUTTE LE NEWS
   ========================================= */

.mahler-news-button .wp-block-button__link {
  background-color: #102a43 !important;
  color: #ffffff !important;

  border: 0 !important;
  border-radius: 6px !important;

  padding: 13px 22px !important;

  font-size: 16px !important;
  font-weight: 500 !important;

  text-decoration: none !important;

  transition:
    background-color 0.35s ease,
    color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

@media (hover: hover) {

  .mahler-news-button .wp-block-button__link:hover {
    background-color: #c6a15b !important;
    color: #102a43 !important;

    transform: translateY(-2px);

    box-shadow:
      0 8px 22px rgba(16, 42, 67, 0.16);
  }
}


/* =========================================
   NEWS — TABLET / SMARTPHONE
   ========================================= */

@media (max-width: 781px) {

  .mahler-news-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .mahler-news-grid .wp-block-post-template > li:first-child {
    grid-column: auto !important;
  }

  .mahler-news-card {
    border-radius: 12px;
  }

  .mahler-news-card-content {
    padding: 22px 20px 24px !important;
  }
}


@media (max-width: 600px) {

  .mahler-news-intro p:not(.mahler-section-kicker) {
    max-width: 100%;

    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   MUSICA OLTRE L’ORIZZONTE
   ========================================= */


/* =========================================
   INTRO
   ========================================= */

.mahler-events-intro p:not(.mahler-section-kicker) {
  max-width: 820px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  color: #443833;

  font-size: 18px !important;
  line-height: 1.65 !important;
}


/* =========================================
   GRIGLIA EVENTI
   ========================================= */

.mahler-events-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;

  align-items: stretch !important;
}


/* =========================================
   CARD
   ========================================= */

.mahler-event-card {
  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: rgba(255, 252, 247, 0.72) !important;

  border: 1px solid rgba(16, 42, 67, 0.08) !important;
  border-radius: 16px !important;

  box-shadow: 0 12px 32px rgba(16, 42, 67, 0.06);

  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease;
}


/* =========================================
   IMMAGINE
   ========================================= */

.mahler-event-card .ext-card-image {
  width: 100% !important;

  aspect-ratio: 16 / 10 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: transparent !important;
}

.mahler-event-card .ext-card-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  margin: 0 !important;
}


/* =========================================
   CONTENUTO
   ========================================= */

.mahler-event-card .ext-card-content {
  display: flex !important;
  flex: 1 1 auto !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

.mahler-event-card .ext-card-body {
  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;

  padding: 28px 28px 30px !important;

  background: transparent !important;
}


/* Elimina eventuali vecchi fondi del preset Extendable */

.mahler-event-card .wp-block-group {
  background-color: transparent !important;
}


/* =========================================
   TITOLI
   ========================================= */

.mahler-event-card h3 {
  margin: 0 0 18px 0 !important;

  color: #102a43 !important;

  font-size: 26px !important;
  line-height: 1.12 !important;

  letter-spacing: -0.01em;
}


/* =========================================
   PERIODO / LUOGO
   ========================================= */

.mahler-event-card .ext-meta {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  gap: 8px !important;

  margin: 0 0 20px 0 !important;

  color: #8a6d54 !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.05em;
}


/* =========================================
   TESTO
   ========================================= */

.mahler-event-card .ext-card-body > p {
  margin: 0 !important;

  color: #443833 !important;

  font-size: 16px !important;
  line-height: 1.6 !important;
}


/* =========================================
   HOVER DESKTOP
   ========================================= */

@media (hover: hover) {

  .mahler-event-card:hover {
    transform: translateY(-4px);

    box-shadow:
      0 18px 42px rgba(16, 42, 67, 0.11);
  }

  .mahler-event-card .ext-card-image img {
    transition:
      transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .mahler-event-card:hover .ext-card-image img {
    transform: scale(1.025);
  }
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1000px) {

  .mahler-events-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .mahler-event-card .ext-card-image {
    aspect-ratio: 16 / 9 !important;
  }
}


/* =========================================
   SMARTPHONE
   ========================================= */

@media (max-width: 600px) {

  .mahler-events-intro p:not(.mahler-section-kicker) {
    max-width: 100%;

    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .mahler-events-grid {
    gap: 18px !important;
  }

  .mahler-event-card {
    border-radius: 12px !important;
  }

  .mahler-event-card .ext-card-body {
    padding: 24px 22px 26px !important;
  }

  .mahler-event-card h3 {
    font-size: 24px !important;
  }

  .mahler-event-card .ext-card-image {
    aspect-ratio: 16 / 10 !important;
  }
}

/* =========================================
   CARD EVENTI — LINK SU TUTTA LA CARD
   ========================================= */

.mahler-event-card {
  position: relative !important;
}

.mahler-event-card h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.mahler-event-card h3 a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  cursor: pointer;
}

/* =========================================
   IONIO INTERNATIONAL MUSIC FESTIVAL
   MICRO-IDENTITÀ — VERSIONE FORTE
   ========================================= */

.mahler-event-card.mahler-event-ionio {
  background: #fffdf8 !important;

  border: 1px solid rgba(14, 52, 77, 0.16) !important;
  border-radius: 16px !important;

  overflow: hidden !important;
}

/* Fondo contenuto */
.mahler-event-ionio .ext-card-content,
.mahler-event-ionio .ext-card-body,
.mahler-event-ionio .wp-block-group {
  background: #fffdf8 !important;
}

/* Titolo — fascia blu Ionio + simbolo in negativo */
.mahler-event-ionio h3 {
  margin:
    -28px -28px 22px -28px !important;

  padding:
    22px 132px 20px 28px !important;

  background-color: #0e344d !important;

  /*
   * Il primo livello blu attenua leggermente il simbolo,
   * così funziona come filigrana senza perdere riconoscibilità.
   */
  background-image:
    linear-gradient(
      rgba(14, 52, 77, 0.22),
      rgba(14, 52, 77, 0.22)
    ),
    url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/simbolo_negativa-scaled.png") !important;

  background-repeat:
    no-repeat,
    no-repeat !important;

  background-position:
    center,
    right 20px center !important;

  background-size:
    100% 100%,
    auto 84% !important;

  border-bottom:
    4px solid #d0ae69 !important;

  color: #ffffff !important;
}

/* Link titolo */
.mahler-event-ionio h3 a {
  color: #ffffff !important;
}

/* Periodo + luogo */
.mahler-event-ionio .ext-meta {
  color: #a98545 !important;
}

/* Icone */
.mahler-event-ionio .ext-meta svg {
  color: #d0ae69 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Testo */
.mahler-event-ionio .ext-card-body > p {
  color: #443833 !important;
}

/* Hover */
@media (hover: hover) {

  .mahler-event-ionio:hover {
    box-shadow:
      0 18px 42px rgba(14, 52, 77, 0.16);

    border-color:
      rgba(14, 52, 77, 0.30) !important;
  }
}

/* =========================================
   CONCORSO INTERNAZIONALE DI MUSICA
   MICRO-IDENTITÀ PROVVISORIA
   ========================================= */

.mahler-event-card.mahler-event-concorso {
  background: #fffaf4 !important;

  border: 1px solid rgba(110, 31, 42, 0.18) !important;
  border-radius: 16px !important;

  overflow: hidden !important;
}

/* Fondo contenuto */
.mahler-event-concorso .ext-card-content,
.mahler-event-concorso .ext-card-body,
.mahler-event-concorso .wp-block-group {
  background: #fffaf4 !important;
}

/* Titolo — fascia bordeaux + logo provvisorio */
.mahler-event-concorso h3 {
  margin:
    -28px -28px 22px -28px !important;

  padding:
    22px 122px 20px 28px !important;

  background-color: #6e1f2a !important;

  /*
   * Il velo bordeaux attenua i rossi/aranci del logo
   * senza modificare il titolo e mantiene la card più istituzionale.
   */
  background-image:
    linear-gradient(
      rgba(110, 31, 42, 0.34),
      rgba(110, 31, 42, 0.34)
    ),
    url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/CONCORSO-INTERNAZIONALE-DI-MUSICA-LOGO-TRASPARENTE.png") !important;

  background-repeat:
    no-repeat,
    no-repeat !important;

  background-position:
    center,
    right 10px center !important;

  /*
   * 132 px è calibrato sulla tela trasparente del PNG:
   * il cerchio visibile risulta proporzionato al simbolo Ionio.
   */
  background-size:
    100% 100%,
    112px auto !important;

  border-bottom:
    4px solid #c6a15b !important;

  color: #fffaf4 !important;
}

/* Evita sillabazioni tipo "Internazio- / nale" */
.mahler-event-concorso h3,
.mahler-event-concorso h3 a {
  hyphens: none !important;
  -webkit-hyphens: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Link titolo */
.mahler-event-concorso h3 a {
  color: #fffaf4 !important;
}

/* Periodo + luogo */
.mahler-event-concorso .ext-meta {
  color: #7b3340 !important;
}

/* Icone */
.mahler-event-concorso .ext-meta svg {
  color: #c6a15b !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Testo */
.mahler-event-concorso .ext-card-body > p {
  color: #443833 !important;
}

/* Hover */
@media (hover: hover) {

  .mahler-event-concorso:hover {
    border-color:
      rgba(110, 31, 42, 0.34) !important;

    box-shadow:
      0 18px 42px rgba(84, 23, 32, 0.15);
  }
}

/* =========================================
   CAMPUS MUSICALE ESTIVO
   MICRO-IDENTITÀ PROVVISORIA
   ========================================= */

.mahler-event-card.mahler-event-campus {
  background: #f7f8f3 !important;

  border: 1px solid rgba(53, 92, 74, 0.18) !important;
  border-radius: 16px !important;

  overflow: hidden !important;
}

/* Fondo contenuto — avorio con leggerissimo richiamo salvia */
.mahler-event-campus .ext-card-content,
.mahler-event-campus .ext-card-body,
.mahler-event-campus .wp-block-group {
  background: #f7f8f3 !important;
}

/* Titolo — fascia verde istituzionale + marchio Accademia */
.mahler-event-campus h3 {
  margin:
    -28px -28px 22px -28px !important;

  padding:
    22px 108px 20px 28px !important;

  background-color: #355c4a !important;

  /*
   * Il leggero velo verde integra il marchio dell'Accademia
   * nella fascia senza farlo risultare troppo brillante.
   */
  background-image:
    linear-gradient(
      rgba(53, 92, 74, 0.14),
      rgba(53, 92, 74, 0.14)
    ),
    url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/15-orizzontale-convenzione-trasparente-copia.png") !important;

  background-repeat:
    no-repeat,
    no-repeat !important;

  background-position:
    center,
    right 16px center !important;

  background-size:
    100% 100%,
    84px auto !important;

  border-bottom:
    4px solid #c6a15b !important;

  color: #fffaf4 !important;
}

/* Evita sillabazioni indesiderate nel titolo */
.mahler-event-campus h3,
.mahler-event-campus h3 a {
  hyphens: none !important;
  -webkit-hyphens: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Link titolo */
.mahler-event-campus h3 a {
  color: #fffaf4 !important;
}

/* Periodo + luogo */
.mahler-event-campus .ext-meta {
  color: #52705f !important;
}

/* Icone */
.mahler-event-campus .ext-meta svg {
  color: #c6a15b !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Testo */
.mahler-event-campus .ext-card-body > p {
  color: #443833 !important;
}

/* Hover */
@media (hover: hover) {

  .mahler-event-campus:hover {
    border-color:
      rgba(53, 92, 74, 0.34) !important;

    box-shadow:
      0 18px 42px rgba(39, 68, 56, 0.15);
  }
}

/* =========================================
   HEADER — TELEFONO + POSIZIONE
   Mantiene il comportamento originale del menu
   ========================================= */

/*
 * La riga non distribuisce più i quattro blocchi con spazio libero:
 * è la NAVIGAZIONE a crescere, come prima, e a distribuire
 * equidistantemente le proprie voci.
 */
.mahler-header-row {
  justify-content: flex-start !important;
  column-gap: 0 !important;
}

/* La navigazione torna a occupare tutto lo spazio disponibile */
.mahler-header-row .wp-block-navigation {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 10px 0 0 !important;
}

/* Ripristina la distribuzione originale ed equidistante delle voci */
.mahler-header-row
.wp-block-navigation__container {
  width: 100% !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  column-gap: 0.45rem !important;
  row-gap: 0.4rem !important;
}

/* Niente ritorni a capo nelle singole voci */
.mahler-header-row
.wp-block-navigation-item__content {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}


/* =========================================
   TELEFONO + POSIZIONE
   ========================================= */

.mahler-header-actions {
  order: 3;

  display: flex;
  align-items: center;

  gap: 7px;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 auto;
}

.mahler-header-action {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 26px;
  height: 28px;

  margin: 0 !important;
  padding: 0 !important;

  color: #102a43 !important;
  text-decoration: none !important;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.mahler-header-action svg {
  display: block;

  width: 18px;
  height: 18px;

  fill: currentColor;
}

.mahler-header-action:hover,
.mahler-header-action:focus {
  color: #c6a15b !important;
  transform: translateY(-2px);
}


/* =========================================
   FACEBOOK + INSTAGRAM
   Stessa distanza delle altre due icone
   ========================================= */

.mahler-header-row .wp-block-social-links {
  order: 4;

  display: flex !important;
  align-items: center !important;

  gap: 7px !important;

  margin: 0 0 0 7px !important;
  padding: 0 !important;

  flex: 0 0 auto !important;

  font-size: 19px !important;
}

.mahler-header-row
.wp-block-social-links
.wp-social-link {
  margin: 0 !important;
  padding: 0 !important;
}

.mahler-header-row
.wp-block-social-links
.wp-social-link
a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 26px !important;
  height: 28px !important;

  margin: 0 !important;
  padding: 0 !important;
}

.mahler-header-row
.wp-block-social-links
.wp-social-link
svg {
  width: 18px !important;
  height: 18px !important;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

  .mahler-header-row {
    column-gap: 0 !important;
  }

  /*
   * Il blocco logo occupa tutto lo spazio residuo:
   * così, sia aperto sia contratto, menu + 4 icone
   * restano un gruppo compatto sulla destra.
   */
  .mahler-header-row .wp-block-site-logo {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 4px 0 0 !important;
  }

  .mahler-header-row .wp-block-site-logo img {
    max-width: 100% !important;
    height: auto !important;
  }

  /*
   * Il menu mobile non deve più espandersi:
   * resta immediatamente accanto alla cornetta.
   */
  .mahler-header-row .wp-block-navigation {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 6px 0 0 !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container-open
  svg {
    width: 25px !important;
    height: 25px !important;
  }

  .mahler-header-actions {
    gap: 7px;
    margin: 0 !important;
  }

  .mahler-header-action {
    width: 32px;
    height: 32px;
  }

  .mahler-header-action svg {
    width: 18px;
    height: 18px;
  }

  .mahler-header-row
  .wp-block-social-links {
    gap: 7px !important;
    margin-left: 7px !important;
    font-size: 18px !important;
  }

  .mahler-header-row
  .wp-block-social-links
  .wp-social-link
  a {
    width: 32px !important;
    height: 32px !important;
  }

  .mahler-header-row
  .wp-block-social-links
  .wp-social-link
  svg {
    width: 21px !important;
    height: 21px !important;
  }
}

/* =========================================
   FOOTER — IDENTITÀ MAHLER
   ========================================= */

.mahler-footer {
  background: #102a43 !important;
  color: #f7efe2 !important;
  border-top: 3px solid #c6a15b !important;

  padding:
    clamp(46px, 5vw, 72px)
    clamp(24px, 4vw, 64px)
    24px !important;
}

/* Neutralizza i fondi ereditati dal preset del tema */
.mahler-footer .wp-block-group,
.mahler-footer .wp-block-columns,
.mahler-footer .wp-block-column {
  background: transparent !important;
}


/* =========================================
   LOGO SUPERIORE
   ========================================= */

.mahler-footer > .wp-block-group:first-child {
  justify-content: center !important;

  margin: 0 0 42px 0 !important;
  padding: 0 0 32px 0 !important;

  border-bottom:
    1px solid rgba(198, 161, 91, 0.34) !important;
}

.mahler-footer > .wp-block-group:first-child
.wp-block-site-logo {
  margin: 0 !important;
}

.mahler-footer > .wp-block-group:first-child
.wp-block-site-logo img {
  display: block;

  width: 290px !important;
  max-width: min(72vw, 290px) !important;
  height: auto !important;
}


/* =========================================
   TRE COLONNE
   ========================================= */

.mahler-footer-columns {
  align-items: flex-start !important;

  gap: clamp(34px, 5vw, 76px) !important;

  margin: 0 0 52px 0 !important;
  padding: 0 !important;
}

.mahler-footer-columns .wp-block-column {
  min-width: 0 !important;
}

/* Titoli */
.mahler-footer-columns h3 {
  margin: 0 0 18px 0 !important;

  color: #f7efe2 !important;

  font-size: clamp(21px, 1.8vw, 27px) !important;
  line-height: 1.18 !important;
}

.mahler-footer-columns h3::after {
  content: "";

  display: block;

  width: 38px;
  height: 2px;

  margin-top: 11px;

  background: #c6a15b;
}

/* Testi */
.mahler-footer-columns p {
  margin-top: 0 !important;
  margin-bottom: 14px !important;

  color: rgba(247, 239, 226, 0.88) !important;

  font-size: 15px !important;
  line-height: 1.7 !important;
}

.mahler-footer-columns
.wp-block-column:first-child p {
  max-width: 390px;
}


/* =========================================
   LINK
   ========================================= */

.mahler-footer a {
  color: #f7efe2 !important;

  text-decoration-color:
    rgba(198, 161, 91, 0.52) !important;

  text-underline-offset: 3px;

  transition:
    color 0.22s ease,
    text-decoration-color 0.22s ease,
    opacity 0.22s ease;
}

.mahler-footer a:hover,
.mahler-footer a:focus {
  color: #d8b66f !important;

  text-decoration-color:
    #d8b66f !important;
}


/* =========================================
   LINK UTILI
   ========================================= */

.mahler-footer-columns ul {
  list-style: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.mahler-footer-columns li {
  position: relative;

  margin: 0 0 9px 0 !important;
  padding: 0 0 0 15px !important;

  color: rgba(247, 239, 226, 0.88) !important;

  font-size: 15px !important;
  line-height: 1.45 !important;
}

.mahler-footer-columns li::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0.62em;

  width: 5px;
  height: 5px;

  border-radius: 50%;

  background: #c6a15b;
}

.mahler-footer-columns li a {
  text-decoration: none !important;
}

.mahler-footer-columns li a:hover,
.mahler-footer-columns li a:focus {
  color: #d8b66f !important;
}


/* =========================================
   RIGA FINALE
   ========================================= */

.mahler-footer-bottom {
  align-items: center !important;
  justify-content: space-between !important;

  gap: 24px !important;

  margin: 0 !important;
  padding: 22px 0 0 0 !important;

  border-top:
    1px solid rgba(198, 161, 91, 0.30) !important;
}

/* Nome Accademia */
.mahler-footer-bottom
.wp-block-site-title {
  margin: 0 !important;

  color: rgba(247, 239, 226, 0.76) !important;

  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.035em !important;
}

.mahler-footer-bottom
.wp-block-site-title a {
  color: inherit !important;
  text-decoration: none !important;
}


/* =========================================
   SOCIAL
   ========================================= */

.mahler-footer-bottom
.wp-block-social-links {
  display: flex !important;
  align-items: center !important;

  gap: 9px !important;

  margin: 0 !important;
  padding: 0 !important;
}

.mahler-footer-bottom
.wp-block-social-links
.wp-social-link {
  margin: 0 !important;

  background: transparent !important;
  color: #f7efe2 !important;
}

.mahler-footer-bottom
.wp-block-social-links
.wp-social-link a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 34px !important;
  height: 34px !important;

  padding: 0 !important;

  border:
    1px solid rgba(247, 239, 226, 0.25) !important;

  border-radius: 50% !important;

  color: #f7efe2 !important;

  transition:
    color 0.22s ease,
    border-color 0.22s ease,
    background-color 0.22s ease,
    transform 0.22s ease;
}

.mahler-footer-bottom
.wp-block-social-links
.wp-social-link a:hover,
.mahler-footer-bottom
.wp-block-social-links
.wp-social-link a:focus {
  color: #d8b66f !important;

  border-color:
    rgba(216, 182, 111, 0.72) !important;

  background:
    rgba(198, 161, 91, 0.08) !important;

  transform: translateY(-2px);
}

.mahler-footer-bottom
.wp-block-social-links
svg {
  width: 16px !important;
  height: 16px !important;
}


/* =========================================
   FOOTER — TABLET / MOBILE
   ========================================= */

@media (max-width: 781px) {

  .mahler-footer {
    padding:
      42px 24px
      22px !important;
  }

  .mahler-footer > .wp-block-group:first-child {
    margin-bottom: 34px !important;
    padding-bottom: 27px !important;
  }

  .mahler-footer > .wp-block-group:first-child
  .wp-block-site-logo img {
    width: 245px !important;
    max-width: 72vw !important;
  }

  .mahler-footer-columns {
    gap: 30px !important;
    margin-bottom: 40px !important;
  }

  .mahler-footer-columns
  .wp-block-column {
    width: 100% !important;
  }

  .mahler-footer-columns h3 {
    margin-bottom: 14px !important;
  }

  .mahler-footer-bottom {
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 16px !important;

    text-align: center !important;
  }
}

/* =========================================
   FOOTER — SIGILLO + SOCIAL
   RIFINITURA DEFINITIVA
   ========================================= */

/* Sigillo: dimensione controllata e centrata */
.mahler-footer .mahler-footer-seal {
  display: block !important;

  width: 170px !important;
  max-width: 170px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  flex: 0 0 170px !important;
}

.mahler-footer .mahler-footer-seal img {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;

  object-fit: contain !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Riga superiore del footer */
.mahler-footer > .wp-block-group:first-child {
  min-height: 0 !important;

  justify-content: center !important;
  align-items: center !important;

  margin: 0 0 38px 0 !important;
  padding: 0 0 30px 0 !important;

  overflow: visible !important;
}

/* Social: spazio libero per il selettore lingua TranslatePress */
@media (min-width: 782px) {

  .mahler-footer-bottom
  .wp-block-social-links {
    margin-right: 185px !important;
  }
}

/* Tablet / smartphone */
@media (max-width: 781px) {

  .mahler-footer .mahler-footer-seal {
    width: 145px !important;
    max-width: 145px !important;

    flex-basis: 145px !important;
  }

  .mahler-footer-bottom {
    padding-bottom: 76px !important;
  }

  .mahler-footer-bottom
  .wp-block-social-links {
    margin-right: 0 !important;
  }
}

/* =========================================
   FOOTER — CORREZIONE TITOLO PRIMA COLONNA
   ========================================= */

/* Evita qualsiasi sillabazione nei titoli del Footer */
.mahler-footer-columns h3 {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Desktop: un po' più spazio alla prima colonna,
   così "Accademia Musicale" resta insieme */
@media (min-width: 782px) {

  .mahler-footer-columns
  > .wp-block-column:first-child {
    flex: 1.18 1 0 !important;
    min-width: 290px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:first-child h3 {
    font-size: clamp(21px, 1.65vw, 25px) !important;
  }
}

/* Mobile/tablet: torna fluido a tutta larghezza */
@media (max-width: 781px) {

  .mahler-footer-columns
  > .wp-block-column:first-child {
    min-width: 0 !important;
  }
}

/* Footer: spazio per il selettore lingua */
@media (min-width: 782px) {
  .mahler-footer-bottom {
    padding-right: 220px !important;
  }

  .mahler-footer-bottom .wp-block-social-links {
    margin-right: 0 !important;
  }
}

/* =========================================
   FOOTER — 4 COLONNE + ENTI E PARTNER
   ========================================= */

/* Desktop: quattro colonne equilibrate */
@media (min-width: 782px) {

  .mahler-footer-columns {
    gap: clamp(24px, 2.5vw, 40px) !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(1) {
    flex: 1.15 1 0 !important;
    min-width: 270px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(2) {
    flex: 1.28 1 0 !important;
    min-width: 285px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(3) {
    flex: 1.05 1 0 !important;
    min-width: 220px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(4) {
    flex: 1.35 1 0 !important;
    min-width: 280px !important;
  }
}

/* Le email della colonna Contatti restano su una sola riga */
.mahler-footer-columns
> .wp-block-column:nth-child(2)
a[href^="mailto:"] {
  white-space: nowrap !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
}


/* =========================================
   FOOTER — GRIGLIA PARTNER 2 × 3
   ========================================= */

.mahler-footer .mahler-footer-partners {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;

  width: 100% !important;

  margin: 0 0 14px 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

.mahler-footer .mahler-footer-partners > .wp-block-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-width: 0 !important;
  height: 92px !important;

  margin: 0 !important;
  padding: 10px !important;

  box-sizing: border-box !important;

  overflow: hidden !important;

  background: #f7efe2 !important;
  border: 1px solid rgba(198, 161, 91, 0.28) !important;
  border-radius: 9px !important;
}

.mahler-footer .mahler-footer-partners > .wp-block-image img {
  display: block !important;

  width: auto !important;
  max-width: 100% !important;

  height: auto !important;
  max-height: 70px !important;

  object-fit: contain !important;
  object-position: center !important;

  margin: 0 auto !important;
}

/* Testo "Tutti gli enti e partner" sotto la griglia */
.mahler-footer-columns
> .wp-block-column:nth-child(4)
> p:last-child {
  margin-top: 12px !important;
  margin-bottom: 0 !important;

  color: #d8b66f !important;

  font-size: 14px !important;
  line-height: 1.45 !important;
}


/* =========================================
   FOOTER — TABLET / MOBILE CON PARTNER
   ========================================= */

@media (max-width: 781px) {

  .mahler-footer-columns
  > .wp-block-column:nth-child(1),
  .mahler-footer-columns
  > .wp-block-column:nth-child(2),
  .mahler-footer-columns
  > .wp-block-column:nth-child(3),
  .mahler-footer-columns
  > .wp-block-column:nth-child(4) {
    width: 100% !important;
    min-width: 0 !important;
    flex-basis: 100% !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(2)
  a[href^="mailto:"] {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
  }

  .mahler-footer .mahler-footer-partners {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    max-width: 420px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image {
    height: 96px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image img {
    max-height: 74px !important;
  }
}

@media (max-width: 420px) {

  .mahler-footer .mahler-footer-partners {
    gap: 8px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image {
    height: 88px !important;
    padding: 8px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image img {
    max-height: 68px !important;
  }
}

/* =========================================
   FOOTER — RIFINITURA FINALE
   Logo centrato + linea intera + partner compatti
   ========================================= */

/* La fascia superiore occupa tutta la larghezza utile del footer */
.mahler-footer > .wp-block-group:first-child {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  box-sizing: border-box !important;

  justify-content: center !important;
  align-items: center !important;
}

/* Sigillo realmente centrato rispetto all'intero footer */
.mahler-footer > .wp-block-group:first-child .mahler-footer-seal {
  margin-left: auto !important;
  margin-right: auto !important;

  align-self: center !important;
  justify-self: center !important;
}

/* Desktop: quarta colonna meno invadente */
@media (min-width: 782px) {

  .mahler-footer-columns
  > .wp-block-column:nth-child(1) {
    flex: 1.16 1 0 !important;
    min-width: 275px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(2) {
    flex: 1.22 1 0 !important;
    min-width: 285px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(3) {
    flex: 1.02 1 0 !important;
    min-width: 225px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(4) {
    flex: 0.92 1 0 !important;
    min-width: 245px !important;
  }
}

/* Partner più piccoli e leggeri */
.mahler-footer .mahler-footer-partners {
  max-width: 250px !important;

  gap: 7px !important;

  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.mahler-footer .mahler-footer-partners > .wp-block-image {
  height: 64px !important;

  padding: 7px !important;

  background: rgba(247, 239, 226, 0.97) !important;

  border:
    1px solid rgba(198, 161, 91, 0.22) !important;

  border-radius: 7px !important;
}

.mahler-footer .mahler-footer-partners > .wp-block-image img {
  max-width: 100% !important;
  max-height: 46px !important;
}

/* Link alla pagina completa: più discreto */
.mahler-footer-columns
> .wp-block-column:nth-child(4)
> p:last-child {
  margin-top: 9px !important;

  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Tablet: partner comunque compatti */
@media (max-width: 781px) {

  .mahler-footer .mahler-footer-partners {
    max-width: 300px !important;
    gap: 8px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image {
    height: 70px !important;
    padding: 8px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image img {
    max-height: 52px !important;
  }
}

/* Smartphone */
@media (max-width: 420px) {

  .mahler-footer .mahler-footer-partners {
    max-width: 100% !important;
    gap: 7px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image {
    height: 66px !important;
    padding: 7px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image img {
    max-height: 48px !important;
  }
}

/* =========================================
   FOOTER — PARTNER 3 × 2
   Riduce il vuoto a destra senza ingrandire i loghi
   ========================================= */

.mahler-footer .mahler-footer-partners {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;

  width: 100% !important;
  max-width: 370px !important;

  margin: 0 0 10px 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

.mahler-footer .mahler-footer-partners > .wp-block-image {
  height: 64px !important;
  padding: 7px !important;

  background: rgba(247, 239, 226, 0.97) !important;
  border: 1px solid rgba(198, 161, 91, 0.22) !important;
  border-radius: 7px !important;
}

.mahler-footer .mahler-footer-partners > .wp-block-image img {
  display: block !important;

  width: auto !important;
  max-width: 100% !important;

  height: auto !important;
  max-height: 46px !important;

  object-fit: contain !important;
  object-position: center !important;

  margin: 0 auto !important;
}

/* Link alla pagina completa centrato sotto tutta la griglia */
.mahler-footer-columns
> .wp-block-column:nth-child(4)
> p:last-child {
  width: 100% !important;
  max-width: 370px !important;

  margin-top: 9px !important;
  margin-bottom: 0 !important;

  text-align: center !important;

  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Su tablet e smartphone restano 2 colonne per non rimpicciolire troppo i loghi */
@media (max-width: 781px) {

  .mahler-footer .mahler-footer-partners {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 300px !important;
    gap: 8px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(4)
  > p:last-child {
    max-width: 300px !important;
    text-align: left !important;
  }
}

@media (max-width: 420px) {

  .mahler-footer .mahler-footer-partners {
    max-width: 100% !important;
    gap: 7px !important;
  }

  .mahler-footer-columns
  > .wp-block-column:nth-child(4)
  > p:last-child {
    max-width: 100% !important;
  }
}

/* =========================================
   FOOTER — BLOCCO 4 COLONNE CENTRATO
   Distribuzione simmetrica sotto il sigillo
   ========================================= */

@media (min-width: 782px) {

  .mahler-footer-columns {
    display: grid !important;
    grid-template-columns:
      minmax(0, 1.10fr)
      minmax(0, 1.08fr)
      minmax(0, 0.98fr)
      minmax(0, 1.12fr) !important;

    column-gap: clamp(34px, 3vw, 52px) !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
    align-items: start !important;
    justify-content: stretch !important;
  }

  .mahler-footer-columns > .wp-block-column {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Mantiene la griglia partner allineata alla quarta colonna */
  .mahler-footer-columns
  > .wp-block-column:nth-child(4) {
    justify-self: stretch !important;
  }

  .mahler-footer .mahler-footer-partners {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================
   FOOTER — COMPATTAZIONE VERTICALE
   + CERCHIO AVORIO DIETRO IL SIGILLO
   ========================================= */

/* Footer complessivamente meno alto */
.mahler-footer {
  padding:
    clamp(34px, 3.6vw, 50px)
    clamp(24px, 4vw, 64px)
    20px !important;
}

/* Fascia del sigillo più compatta */
.mahler-footer > .wp-block-group:first-child {
  margin-bottom: 26px !important;
  padding-bottom: 20px !important;
}

/* Sigillo: stessa presenza visiva, ma con fondo avorio leggibile */
.mahler-footer .mahler-footer-seal {
  width: 154px !important;
  max-width: 154px !important;
  flex: 0 0 154px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 8px !important;
  box-sizing: content-box !important;

  background: #f7efe2 !important;
  border-radius: 50% !important;

  box-shadow:
    0 0 0 1px rgba(198, 161, 91, 0.28),
    0 8px 22px rgba(0, 0, 0, 0.08) !important;
}

.mahler-footer .mahler-footer-seal img {
  display: block !important;

  width: 154px !important;
  max-width: 154px !important;
  height: 154px !important;

  object-fit: contain !important;

  margin: 0 !important;
  padding: 0 !important;

  border-radius: 50% !important;
}

/* Riduce leggermente lo spazio sotto le colonne */
.mahler-footer-columns {
  margin-bottom: 40px !important;
}

/* Riga finale un po' più compatta */
.mahler-footer-bottom {
  padding-top: 16px !important;
}

/* Tablet / smartphone */
@media (max-width: 781px) {

  .mahler-footer {
    padding-top: 34px !important;
  }

  .mahler-footer > .wp-block-group:first-child {
    margin-bottom: 22px !important;
    padding-bottom: 18px !important;
  }

  .mahler-footer .mahler-footer-seal {
    width: 132px !important;
    max-width: 132px !important;
    flex-basis: 132px !important;
    padding: 7px !important;
  }

  .mahler-footer .mahler-footer-seal img {
    width: 132px !important;
    max-width: 132px !important;
    height: 132px !important;
  }

  .mahler-footer-columns {
    margin-bottom: 32px !important;
  }
}

/* =========================================
   FOOTER — ULTIMA COMPATTAZIONE
   Sigillo con cerchio avorio aderente
   ========================================= */

/* Footer ancora più compatto in altezza */
.mahler-footer {
  padding:
    clamp(26px, 2.8vw, 38px)
    clamp(24px, 4vw, 64px)
    14px !important;
}

/* Fascia del sigillo più stretta */
.mahler-footer > .wp-block-group:first-child {
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
}

/* Cerchio avorio aderente esattamente al sigillo */
.mahler-footer .mahler-footer-seal {
  width: 150px !important;
  max-width: 150px !important;
  flex: 0 0 150px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 0 !important;
  box-sizing: border-box !important;

  background: #f7efe2 !important;
  border-radius: 50% !important;

  box-shadow:
    0 0 0 1px rgba(198, 161, 91, 0.20),
    0 5px 16px rgba(0, 0, 0, 0.06) !important;
}

.mahler-footer .mahler-footer-seal img {
  display: block !important;

  width: 150px !important;
  max-width: 150px !important;
  height: 150px !important;

  object-fit: contain !important;

  margin: 0 !important;
  padding: 0 !important;

  border-radius: 50% !important;
}

/* Riduce ancora lo spazio tra colonne e fascia finale */
.mahler-footer-columns {
  margin-bottom: 26px !important;
}

.mahler-footer-bottom {
  padding-top: 12px !important;
}

/* Tablet / smartphone */
@media (max-width: 781px) {

  .mahler-footer {
    padding-top: 26px !important;
    padding-bottom: 14px !important;
  }

  .mahler-footer > .wp-block-group:first-child {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
  }

  .mahler-footer .mahler-footer-seal {
    width: 126px !important;
    max-width: 126px !important;
    flex-basis: 126px !important;
    padding: 0 !important;
  }

  .mahler-footer .mahler-footer-seal img {
    width: 126px !important;
    max-width: 126px !important;
    height: 126px !important;
  }

  .mahler-footer-columns {
    margin-bottom: 22px !important;
  }

  .mahler-footer-bottom {
    padding-top: 10px !important;
  }
}

/* =========================================
   FOOTER — SIGILLO: AVORIO FINO AL BORDO DORATO
   + SPAZI SUPERIORI/INFERIORI SIMMETRICI
   ========================================= */

/* Riduce il blu sopra il sigillo */
.mahler-footer {
  padding-top: 12px !important;
}

/* Il gruppo del sigillo non aggiunge spazio extra sopra */
.mahler-footer > .wp-block-group:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;

  /* distanza sigillo → linea dorata */
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}

/* Il contenitore del sigillo diventa trasparente */
.mahler-footer .mahler-footer-seal {
  position: relative !important;

  width: 150px !important;
  max-width: 150px !important;
  height: 150px !important;
  flex: 0 0 150px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 0 !important;

  background: transparent !important;
  border-radius: 50% !important;

  box-shadow: none !important;
  overflow: visible !important;
}

/* Disco avorio separato:
   più piccolo del canvas del logo, fino al bordo dorato */
.mahler-footer .mahler-footer-seal::before {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  width: 86% !important;
  height: 86% !important;

  transform: translate(-50%, -50%) !important;

  background: #f7efe2 !important;
  border-radius: 50% !important;

  box-shadow:
    0 0 0 1px rgba(198, 161, 91, 0.18),
    0 4px 12px rgba(0, 0, 0, 0.05) !important;

  z-index: 0 !important;
}

/* Il logo resta identico e sopra il disco avorio */
.mahler-footer .mahler-footer-seal img {
  position: relative !important;
  z-index: 1 !important;

  width: 150px !important;
  max-width: 150px !important;
  height: 150px !important;

  object-fit: contain !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border-radius: 50% !important;
}

/* Tablet / smartphone */
@media (max-width: 781px) {

  .mahler-footer {
    padding-top: 10px !important;
  }

  .mahler-footer > .wp-block-group:first-child {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
  }

  .mahler-footer .mahler-footer-seal {
    width: 126px !important;
    max-width: 126px !important;
    height: 126px !important;
    flex-basis: 126px !important;
  }

  .mahler-footer .mahler-footer-seal img {
    width: 126px !important;
    max-width: 126px !important;
    height: 126px !important;
  }

  .mahler-footer .mahler-footer-seal::before {
    width: 86% !important;
    height: 86% !important;
  }
}

/* =========================================
   HEADER — HOVER MENU + SOTTOMENU
   Coerente con icone telefono/social
   ========================================= */

/* Rimuove l'effetto sottolineato dalle voci principali */
.mahler-header-row
.wp-block-navigation__container
> .wp-block-navigation-item
> .wp-block-navigation-item__content {
  color: #443833 !important;

  text-decoration: none !important;
  text-decoration-line: none !important;

  transform: translateY(0) scale(1);
  transform-origin: center center;

  transition:
    color 0.25s ease,
    transform 0.25s ease !important;
}

/* Hover/focus menu principale: oro + piccolo ingrandimento */
.mahler-header-row
.wp-block-navigation__container
> .wp-block-navigation-item
> .wp-block-navigation-item__content:hover,
.mahler-header-row
.wp-block-navigation__container
> .wp-block-navigation-item
> .wp-block-navigation-item__content:focus-visible {
  color: #c6a15b !important;

  transform: translateY(-1px) scale(1.025);

  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Freccia delle voci con sottomenu: segue il colore della voce */
.mahler-header-row
.wp-block-navigation-submenu
> .wp-block-navigation__submenu-icon {
  color: inherit !important;

  transition:
    color 0.25s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.mahler-header-row
.wp-block-navigation-submenu:hover
> .wp-block-navigation__submenu-icon,
.mahler-header-row
.wp-block-navigation-submenu:focus-within
> .wp-block-navigation__submenu-icon {
  color: #c6a15b !important;
}

/* Sottomenu: stesso linguaggio, un filo più delicato */
.mahler-header-row
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
  color: #443833 !important;

  text-decoration: none !important;
  text-decoration-line: none !important;

  transform: translateY(0) scale(1);
  transform-origin: left center;

  transition:
    color 0.25s ease,
    transform 0.25s ease,
    background-color 0.25s ease !important;
}

/* Hover/focus sottomenu */
.mahler-header-row
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover,
.mahler-header-row
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content:focus-visible {
  color: #c6a15b !important;

  transform: translateY(-1px) scale(1.02);

  background-color: rgba(198, 161, 91, 0.06) !important;

  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Neutralizza eventuali pseudo-elementi/underline del tema */
.mahler-header-row
.wp-block-navigation-item__content::before,
.mahler-header-row
.wp-block-navigation-item__content::after {
  text-decoration: none !important;
}

/* Accessibilità: niente movimento se l'utente lo richiede */
@media (prefers-reduced-motion: reduce) {

  .mahler-header-row
  .wp-block-navigation__container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content,

  .mahler-header-row
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    transform: none !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
  }
}

/* =========================================
   HEADER — HOVER LOGO HOME
   Piccolo feedback visivo per indicare che è cliccabile
   ========================================= */

/* Anima il link contenitore, non l'immagine:
   così non interferisce con la riduzione del logo durante lo scroll */
.mahler-header-row .wp-block-site-logo > a {
  display: inline-block !important;

  transform: translateY(0) scale(1);
  transform-origin: left center;

  transition:
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.28s ease !important;

  cursor: pointer;
}

@media (hover: hover) {

  .mahler-header-row .wp-block-site-logo > a:hover,
  .mahler-header-row .wp-block-site-logo > a:focus-visible {
    transform: translateY(-1px) scale(1.025);

    filter:
      drop-shadow(0 4px 8px rgba(16, 42, 67, 0.10))
      drop-shadow(0 0 5px rgba(198, 161, 91, 0.16));
  }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {

  .mahler-header-row .wp-block-site-logo > a {
    transform: none !important;
    transition: filter 0.2s ease !important;
  }
}

/* =========================================
   HEADER — TABLET / iPAD
   Hamburger fino a 1199 px
   ========================================= */

/* Forza il comportamento mobile della navigazione fino a 1199 px */
@media (max-width: 1199px) {

  /* Nasconde il menu desktop finché il pannello non è aperto */
  .mahler-header-row
  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  /* Mostra sempre il pulsante hamburger */
  .mahler-header-row
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #102a43 !important;

    transition:
      color 0.25s ease,
      transform 0.25s ease !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container-open:hover,
  .mahler-header-row
  .wp-block-navigation__responsive-container-open:focus-visible {
    color: #c6a15b !important;
    transform: translateY(-1px) scale(1.04);
  }

  /* Pannello menu aperto */
  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;

    background: rgba(247, 239, 226, 0.99) !important;
    color: #443833 !important;

    padding:
      28px
      clamp(24px, 5vw, 56px) !important;

    z-index: 100000 !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    width: 100% !important;
  }

  /* Voci in verticale dentro il pannello mobile/tablet */
  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;

    gap: 4px !important;
    flex-wrap: nowrap !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
    width: 100% !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    display: inline-flex !important;

    width: auto !important;

    padding: 10px 0 !important;

    color: #443833 !important;

    font-size: 17px !important;
    line-height: 1.35 !important;

    white-space: normal !important;
  }

  /* Nei pannelli tablet/mobile i sottomenu restano leggibili e non ereditano
     animazioni/posizionamenti del desktop */
  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container {
    position: static !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 0 4px 18px !important;

    opacity: 1 !important;
    visibility: visible !important;

    transform: none !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    padding: 7px 0 !important;

    font-size: 15px !important;

    color: #6d5a4d !important;
  }

  /* Pulsante chiusura coordinato con la palette */
  .mahler-header-row
  .wp-block-navigation__responsive-container-close {
    color: #102a43 !important;

    transition:
      color 0.25s ease,
      transform 0.25s ease !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container-close:hover,
  .mahler-header-row
  .wp-block-navigation__responsive-container-close:focus-visible {
    color: #c6a15b !important;
    transform: scale(1.05);
  }
}


/* =========================================
   TABLET / iPAD — 601 → 1199 px
   ========================================= */

@media (min-width: 601px) and (max-width: 1199px) {

  .mahler-header-row {
    padding: 9px 18px !important;
    min-height: 0 !important;
    column-gap: 0 !important;
  }

  /* Il logo prende lo spazio residuo senza schiacciare le icone */
  .mahler-header-row .wp-block-site-logo {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 10px 0 0 !important;
  }

  .mahler-header-row .wp-block-site-logo img {
    width: 340px;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Hamburger compatto accanto alle azioni */
  .mahler-header-row .wp-block-navigation {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 8px 0 0 !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container-open {
    width: 36px !important;
    height: 36px !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container-open
  svg {
    width: 26px !important;
    height: 26px !important;
  }

  /* Telefono + posizione */
  .mahler-header-actions {
    gap: 7px !important;
    margin: 0 !important;
  }

  .mahler-header-action {
    width: 32px !important;
    height: 32px !important;
  }

  .mahler-header-action svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Social */
  .mahler-header-row .wp-block-social-links {
    gap: 7px !important;

    margin:
      0 0 0 7px !important;

    font-size: 18px !important;
  }

  .mahler-header-row
  .wp-block-social-links
  .wp-social-link
  a {
    width: 32px !important;
    height: 32px !important;
  }

  .mahler-header-row
  .wp-block-social-links
  .wp-social-link
  svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Contrazione logo tablet durante lo scroll: 340 → 180 */
  @supports (animation-timeline: scroll()) {

    .mahler-header-row .wp-block-site-logo img {
      animation:
        mahler-logo-scroll-tablet linear both !important;

      animation-timeline:
        scroll(root block) !important;

      animation-range:
        0px 180px !important;

      transform-origin:
        left center !important;
    }
  }
}

@keyframes mahler-logo-scroll-tablet {
  from {
    width: 340px;
  }

  to {
    width: 180px;
  }
}


/* =========================================
   SMARTPHONE — pannello menu
   ========================================= */

@media (max-width: 600px) {

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open {
    padding:
      24px
      22px !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    font-size: 16px !important;
  }

  .mahler-header-row
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    font-size: 15px !important;
  }
}

/* =========================================
   FOOTER — TABLET / iPAD 2 × 2
   782 px → 1199 px
   ========================================= */

@media (min-width: 782px) and (max-width: 1199px) {

  .mahler-footer-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    column-gap: clamp(30px, 4vw, 48px) !important;
    row-gap: 34px !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    align-items: start !important;
    justify-content: stretch !important;
  }

  .mahler-footer-columns > .wp-block-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    flex: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Partner compatti anche su iPad/tablet */
  .mahler-footer .mahler-footer-partners {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;
    max-width: 300px !important;

    gap: 8px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image {
    height: 70px !important;
    padding: 8px !important;
  }

  .mahler-footer .mahler-footer-partners > .wp-block-image img {
    max-height: 52px !important;
  }
}


/* =========================================
   PAGINA ACCADEMIA — EDITORIAL / MAGAZINE V2
   Benchmark visivo: grandi accademie e conservatori internazionali
   Aggiornamento 26/09/2026
   ========================================= */


/* =========================================
   REGOLE COMUNI — STORIA
   ========================================= */

.mahler-storia-fondatore,
.mahler-storia-continua {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding-top: clamp(88px, 8vw, 132px) !important;
  padding-bottom: clamp(88px, 8vw, 132px) !important;
  background: #f7efe2 !important;
}

.mahler-storia-fondatore > .wp-block-columns,
.mahler-storia-continua > .wp-block-columns {
  width: min(1240px, calc(100% - 96px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  gap: clamp(56px, 7vw, 116px) !important;
  align-items: center !important;
}

/* Niente sillabazioni artificiali nei titoli */
.mahler-storia-fondatore .wp-block-heading,
.mahler-storia-continua .wp-block-heading,
.mahler-academia-pillars .wp-block-heading {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Titoli editoriali */
.mahler-storia-fondatore h2,
.mahler-storia-continua h2 {
  max-width: 760px;
  margin: 0 0 28px 0 !important;
  color: #102a43 !important;
  font-size: clamp(46px, 4.7vw, 68px) !important;
  line-height: 0.99 !important;
  letter-spacing: -0.035em;
  text-align: left !important;
  text-wrap: balance;
}

/* Corpo testo */
.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:last-child p,
.mahler-storia-continua > .wp-block-columns > .wp-block-column:first-child p:not(.mahler-history-kicker) {
  max-width: 650px;
  margin-top: 0 !important;
  color: #443833 !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  text-align: left !important;
}


/* =========================================
   FONDATORE — DAL 1986
   Più editoriale, meno "card"
   ========================================= */

.mahler-storia-fondatore > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.38fr) !important;
}

.mahler-storia-fondatore > .wp-block-columns > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  min-width: 0 !important;
}

.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* Ritratto: niente cornice, niente ombra "card" */
.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child > .wp-block-image {
  width: min(100%, 410px) !important;
  max-width: 410px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  background: transparent !important;
}

.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child > .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 2px !important;
  filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  -webkit-filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Didascalia */
.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child > p {
  width: min(100%, 410px) !important;
  max-width: 410px !important;
  margin: 14px 0 0 0 !important;
  padding-top: 11px;
  border-top: 1px solid rgba(198, 161, 91, 0.58);
  color: #766454 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.015em;
  text-align: left !important;
}

.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child > p strong {
  display: block;
  margin-bottom: 2px;
  color: #102a43 !important;
  font-weight: 600 !important;
}

.mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child > p em {
  color: #8a6d54 !important;
}


/* =========================================
   UNA STORIA CHE CONTINUA — MAGAZINE
   ========================================= */

/* Elimina completamente il "riquadro bianco" */
.mahler-storia-continua,
.mahler-storia-continua.has-background {
  background: #f7efe2 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Piccolo segno editoriale oro */
.mahler-storia-continua::before {
  content: "";
  position: absolute;
  top: clamp(56px, 5vw, 78px);
  left: max(48px, calc((100% - 1240px) / 2));
  width: 54px;
  height: 2px;
  background: #c6a15b;
}

/* Layout aperto, foto protagonista */
.mahler-storia-continua > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(390px, 1.08fr) !important;
  gap: clamp(72px, 8vw, 136px) !important;
  align-items: center !important;
}

.mahler-storia-continua > .wp-block-columns > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  min-width: 0 !important;
}

/* Kicker 1986 — OGGI */
.mahler-history-kicker {
  margin: 0 0 22px 0 !important;
  color: #b58e49 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.19em !important;
  text-transform: uppercase;
}

/* Foto padre/figlio: niente card, niente ombra */
.mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-self: end;
  width: 100% !important;
  max-width: 540px !important;
}

.mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child > .wp-block-image {
  width: 100% !important;
  max-width: 540px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  background: transparent !important;
}

.mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child > .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 2px !important;
  filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  -webkit-filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Didascalia molto asciutta */
.mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child > p {
  width: 100% !important;
  max-width: 540px !important;
  margin: 13px 0 0 0 !important;
  padding-top: 10px;
  border-top: 1px solid rgba(16, 42, 67, 0.16);
  color: #766454 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.015em;
  text-align: left !important;
}


/* =========================================
   TRE PILASTRI — MODULI EDITORIALI BORDERLESS
   Formazione / Produzione / Territorio
   ========================================= */

.mahler-academia-pillars {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(28px, 3.5vw, 54px) !important;
  align-items: start !important;
  margin-top: clamp(52px, 6vw, 88px) !important;
}

/* Non sono più "card" */
.mahler-academia-pillars > * {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  transform: none;
}

/* Leggera asimmetria editoriale su desktop */
@media (min-width: 1051px) {
  .mahler-academia-pillars > *:nth-child(2) {
    margin-top: 54px !important;
  }
}

/* Neutralizza completamente i vecchi preset colorati */
.mahler-academia-pillars > * .wp-block-group,
.mahler-academia-pillars > * .ext-card-content,
.mahler-academia-pillars > * .ext-card-body,
.mahler-academia-pillars > * .has-background {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Corpo testo senza scatola */
.mahler-academia-pillars > * .ext-card-body,
.mahler-academia-pillars > * > .wp-block-group:not(.mahler-academia-card-photo) {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 24px 0 0 0 !important;
}


/* =========================================
   PILASTRI — FOTOGRAFIE ORIGINALI, SENZA FILTRI
   ========================================= */

.mahler-academia-card-photo {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 3 / 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;

  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  background: transparent !important;
  flex: 0 0 auto !important;
}

/* Elimina eventuali veli/pseudo-overlay del preset */
.mahler-academia-card-photo::before,
.mahler-academia-card-photo::after {
  display: none !important;
  content: none !important;
}

.mahler-academia-card-photo img,
.mahler-academia-pillars figure img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  margin: 0 !important;
  border-radius: 2px !important;

  filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  -webkit-filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;

  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================
   PILASTRI — TIPOGRAFIA / TESTI
   ========================================= */

.mahler-academia-pillars h3,
.mahler-academia-pillars h4 {
  margin: 24px 0 14px 0 !important;
  color: #102a43 !important;
  font-size: clamp(25px, 2vw, 31px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.022em;
  text-align: left !important;
}

.mahler-academia-pillars p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  color: #443833 !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  text-align: left !important;
}

/* Fallback per blocchi figli diretti */
.mahler-academia-pillars > * > h3,
.mahler-academia-pillars > * > h4,
.mahler-academia-pillars > * > p {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mahler-academia-pillars > * > h3,
.mahler-academia-pillars > * > h4 {
  margin-top: 24px !important;
}

/* Micro-link: piccolo dettaglio editoriale, non bottone */
.mahler-academia-pillars p:last-child {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(16, 42, 67, 0.14);
}

.mahler-academia-pillars a {
  display: inline-block;
  color: #102a43 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.035em;
  text-decoration: none !important;
  transition:
    color 0.28s ease,
    transform 0.28s ease;
}

@media (hover: hover) {

  /* Niente salto della "card": si muove solo la fotografia */
  .mahler-academia-pillars > *:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .mahler-academia-pillars > *:hover .mahler-academia-card-photo img {
    transform: scale(1.018);
  }

  .mahler-academia-pillars a:hover,
  .mahler-academia-pillars a:focus {
    color: #c6a15b !important;
    transform: translateX(4px);
  }
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1050px) {

  .mahler-storia-fondatore > .wp-block-columns,
  .mahler-storia-continua > .wp-block-columns {
    width: calc(100% - 56px) !important;
    gap: 48px !important;
  }

  .mahler-storia-fondatore h2,
  .mahler-storia-continua h2 {
    font-size: clamp(40px, 5.4vw, 54px) !important;
  }

  .mahler-storia-continua > .wp-block-columns {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr) !important;
  }

  .mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child {
    max-width: 440px !important;
  }

  .mahler-academia-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 38px 28px !important;
  }

  .mahler-academia-pillars > *:nth-child(2) {
    margin-top: 0 !important;
  }

  .mahler-academia-pillars > *:nth-child(3) {
    grid-column: 1 / -1;
    width: calc((100% - 28px) / 2) !important;
    justify-self: center;
  }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 781px) {

  .mahler-storia-fondatore,
  .mahler-storia-continua {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .mahler-storia-fondatore > .wp-block-columns,
  .mahler-storia-continua > .wp-block-columns {
    display: flex !important;
    flex-direction: column !important;
    width: calc(100% - 40px) !important;
    gap: 34px !important;
  }

  .mahler-storia-fondatore h2,
  .mahler-storia-continua h2 {
    margin-bottom: 18px !important;
    font-size: clamp(36px, 10vw, 46px) !important;
    line-height: 1.03 !important;
  }

  .mahler-storia-fondatore > .wp-block-columns > .wp-block-column:last-child p,
  .mahler-storia-continua > .wp-block-columns > .wp-block-column:first-child p:not(.mahler-history-kicker) {
    font-size: 16px !important;
    line-height: 1.64 !important;
  }

  /* Fondatore: immagine prima del testo */
  .mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child {
    width: 100% !important;
  }

  .mahler-storia-fondatore > .wp-block-columns > .wp-block-column:first-child > .wp-block-image {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
  }

  /* Storia continua: testo prima, foto dopo */
  .mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch;
  }

  .mahler-storia-continua > .wp-block-columns > .wp-block-column:last-child > .wp-block-image {
    width: 100% !important;
    max-width: none !important;
  }

  .mahler-storia-continua::before {
    top: 40px;
    left: 20px;
    width: 42px;
  }

  .mahler-history-kicker {
    margin-bottom: 16px !important;
  }

  .mahler-academia-pillars {
    grid-template-columns: 1fr !important;
    gap: 52px !important;
  }

  .mahler-academia-pillars > *:nth-child(3) {
    grid-column: auto;
    width: 100% !important;
    justify-self: stretch;
  }

  .mahler-academia-pillars > * {
    width: 100% !important;
    margin-top: 0 !important;
  }

  .mahler-academia-card-photo {
    aspect-ratio: 4 / 3 !important;
  }

  .mahler-academia-pillars h3,
  .mahler-academia-pillars h4 {
    font-size: 27px !important;
  }
}


/* =========================================
   ACCESSIBILITÀ
   ========================================= */

@media (prefers-reduced-motion: reduce) {

  .mahler-academia-card-photo img,
  .mahler-academia-pillars a {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================
   PAGINA ACCADEMIA — HERO V4 CINEMATOGRAFICA
   Video full-width + testo editoriale sovrapposto
   Aggiornamento 27/09/2026
   ========================================= */

/*
 * La struttura Gutenberg resta quella già costruita:
 * .mahler-accademia-hero-v3
 *   .mahler-accademia-hero-columns
 *     .mahler-accademia-hero-copy
 *     .mahler-accademia-hero-media
 *
 * Visivamente, però, non esistono più "due colonne":
 * il video diventa lo sfondo a tutta larghezza e il testo
 * entra nella scena con una sfumatura avorio molto morbida.
 */


/* =========================================
   NASCONDE LA VECCHIA HERO / TITOLO TEMPLATE
   SOLO NELLA PAGINA CHE CONTIENE LA NUOVA HERO
   ========================================= */

/* Titolo pagina standard di WordPress */
body:has(.mahler-accademia-hero-v3) main > .wp-block-post-title,
body:has(.mahler-accademia-hero-v3) main > * > .wp-block-post-title {
  display: none !important;
}

/*
 * Fallback per eventuale contenitore del titolo/featured hero del tema.
 * Viene applicato soltanto quando quel contenitore contiene un Post Title
 * ed è precedente alla nuova Hero Accademia.
 */
body:has(.mahler-accademia-hero-v3)
main > *:has(.wp-block-post-title):not(:has(.mahler-accademia-hero-v3)) {
  display: none !important;
}


/* =========================================
   CONTENITORE HERO
   ========================================= */

.mahler-accademia-hero-v3 {
  position: relative !important;
  isolation: isolate;
  width: 100vw !important;
  max-width: 100vw !important;

  height: clamp(520px, 56vh, 570px) !important;
  min-height: 520px !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: #f7efe2 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================
   SFUMATURA EDITORIALE
   Avorio → trasparente, senza "riquadro"
   ========================================= */

.mahler-accademia-hero-v3::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(247, 239, 226, 0.95) 0%,
      rgba(247, 239, 226, 0.91) 17%,
      rgba(247, 239, 226, 0.75) 28%,
      rgba(247, 239, 226, 0.48) 39%,
      rgba(247, 239, 226, 0.20) 50%,
      rgba(247, 239, 226, 0.05) 58%,
      rgba(247, 239, 226, 0) 64%
    );
}


/* =========================================
   COLONNE GUTENBERG → UN'UNICA SCENA
   ========================================= */

.mahler-accademia-hero-columns {
  position: relative !important;
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

.mahler-accademia-hero-columns > .wp-block-column {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: none !important;
  flex-basis: auto !important;
}


/* =========================================
   FILTRO VIDEO — RICHIAMO VISIVO ALLA HOME
   Scuritura uniforme e molto leggera
   ========================================= */

.mahler-accademia-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
    linear-gradient(
      rgba(8, 18, 28, 0.42),
      rgba(8, 18, 28, 0.42)
    );
}


/* =========================================
   VIDEO — PROTAGONISTA FULL-WIDTH
   ========================================= */

.mahler-accademia-hero-media {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  background: #f7efe2 !important;
}

.mahler-accademia-hero-video,
.mahler-accademia-hero-media > .wp-block-video {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;

  line-height: 0 !important;
}

.mahler-accademia-hero-video video,
.mahler-accademia-hero-media > .wp-block-video video {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  -webkit-filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;

  background: #f7efe2 !important;
}


/* =========================================
   TESTO — TERZO INFERIORE SINISTRO
   ========================================= */

.mahler-accademia-hero-copy {
  position: absolute !important;

  left: clamp(34px, 4.2vw, 72px) !important;
  bottom: clamp(42px, 5.5vh, 58px) !important;

  z-index: 2 !important;

  display: block !important;

  width: min(560px, 39vw) !important;
  max-width: 560px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================
   KICKER
   ========================================= */

.mahler-accademia-hero-kicker {
  max-width: none !important;

  margin: 0 0 24px 0 !important;

  color: #b58e49 !important;

  font-family:
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.19em !important;
  text-transform: uppercase !important;

  white-space: nowrap;

  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* =========================================
   TITOLO
   Più contemporaneo, meno "monumentale"
   ========================================= */

.mahler-accademia-hero-title {
  max-width: 100% !important;

  margin: 0 0 30px 0 !important;

  color: #102a43 !important;

  font-family:
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: clamp(66px, 6.5vw, 104px) !important;
  font-weight: 500 !important;
  line-height: 0.91 !important;

  letter-spacing: -0.058em !important;

  text-align: left !important;
  text-wrap: balance;

  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* =========================================
   LEAD
   ========================================= */

.mahler-accademia-hero-lead {
  max-width: 470px !important;

  margin: 0 !important;

  color: #443833 !important;

  font-family:
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: clamp(18px, 1.45vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;

  letter-spacing: -0.012em !important;
  text-align: left !important;

  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* =========================================
   TABLET / LAPTOP PICCOLI
   ========================================= */

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

  .mahler-accademia-hero-v3 {
    width: 100vw !important;
    max-width: 100vw !important;

    height: clamp(500px, 56vh, 600px) !important;
    min-height: 500px !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .mahler-accademia-hero-v3::before {
    background:
      linear-gradient(
        90deg,
        rgba(247, 239, 226, 0.96) 0%,
        rgba(247, 239, 226, 0.90) 24%,
        rgba(247, 239, 226, 0.70) 40%,
        rgba(247, 239, 226, 0.38) 55%,
        rgba(247, 239, 226, 0.10) 69%,
        rgba(247, 239, 226, 0) 80%
      );
  }

  .mahler-accademia-hero-copy {
    left: clamp(28px, 4vw, 44px) !important;
    bottom: clamp(36px, 5vh, 52px) !important;

    width: min(500px, 58vw) !important;
    max-width: 500px !important;
  }

  .mahler-accademia-hero-kicker {
    margin-bottom: 17px !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.15em !important;
    white-space: normal;
  }

  .mahler-accademia-hero-title {
    margin-bottom: 20px !important;
    font-size: clamp(58px, 8.2vw, 82px) !important;
    line-height: 0.92 !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 430px !important;
    font-size: clamp(17px, 2vw, 19px) !important;
    line-height: 1.5 !important;
  }
}


/* =========================================
   SMARTPHONE — HERO CINEMATOGRAFICA
   Stesso linguaggio visivo del desktop
   ========================================= */

@media (max-width: 699px) {

  .mahler-accademia-hero-v3 {
    position: relative !important;
    isolation: isolate;

    display: block !important;

    width: 100vw !important;
    max-width: 100vw !important;

    height: clamp(470px, 64vh, 560px) !important;
    height: clamp(470px, 64svh, 560px) !important;
    min-height: 470px !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background: #f7efe2 !important;
  }

  /*
   * Sul telefono conserviamo lo stesso principio della versione desktop:
   * il video riempie tutta la hero e l'avorio entra da sinistra.
   * Una seconda sfumatura dal basso rende il testo leggibile senza creare box.
   */
  .mahler-accademia-hero-v3::before {
    display: block !important;
    content: "" !important;

    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background:
      linear-gradient(
        90deg,
        rgba(247, 239, 226, 0.96) 0%,
        rgba(247, 239, 226, 0.90) 26%,
        rgba(247, 239, 226, 0.70) 47%,
        rgba(247, 239, 226, 0.42) 63%,
        rgba(247, 239, 226, 0.16) 78%,
        rgba(247, 239, 226, 0) 100%
      ),
      linear-gradient(
        0deg,
        rgba(247, 239, 226, 0.34) 0%,
        rgba(247, 239, 226, 0.10) 35%,
        rgba(247, 239, 226, 0) 62%
      );
  }

  .mahler-accademia-hero-columns {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .mahler-accademia-hero-media {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
  }

  .mahler-accademia-hero-media::after {
    background:
      linear-gradient(
        rgba(8, 18, 28, 0.38),
        rgba(8, 18, 28, 0.38)
      );
  }

  .mahler-accademia-hero-video,
  .mahler-accademia-hero-media > .wp-block-video {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    aspect-ratio: auto !important;

    overflow: hidden !important;
  }

  .mahler-accademia-hero-video video,
  .mahler-accademia-hero-media > .wp-block-video video {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;

    filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
    -webkit-filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  }

  .mahler-accademia-hero-copy {
    position: absolute !important;

    left: 20px !important;
    right: 20px !important;
    bottom: clamp(34px, 5.5vh, 48px) !important;

    z-index: 2 !important;

    display: block !important;

    width: auto !important;
    max-width: 390px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
  }

  .mahler-accademia-hero-kicker {
    max-width: 320px !important;

    margin: 0 0 15px 0 !important;

    font-size: 9.5px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;

    letter-spacing: 0.145em !important;
    white-space: normal !important;
  }

  .mahler-accademia-hero-title {
    max-width: 100% !important;

    margin: 0 0 18px 0 !important;

    font-size: clamp(48px, 14.5vw, 64px) !important;
    font-weight: 500 !important;
    line-height: 0.92 !important;

    letter-spacing: -0.052em !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 315px !important;

    margin: 0 !important;

    font-size: clamp(15px, 4.2vw, 17px) !important;
    line-height: 1.5 !important;
  }
}


/* =========================================
   SMARTPHONE PICCOLO
   ========================================= */

@media (max-width: 430px) {

  .mahler-accademia-hero-v3 {
    height: clamp(460px, 66vh, 545px) !important;
    height: clamp(460px, 66svh, 545px) !important;
    min-height: 460px !important;
  }

  .mahler-accademia-hero-copy {
    left: 18px !important;
    right: 18px !important;
    bottom: 32px !important;

    max-width: 350px !important;
  }

  .mahler-accademia-hero-kicker {
    max-width: 280px !important;
    margin-bottom: 13px !important;
    font-size: 9px !important;
    letter-spacing: 0.13em !important;
  }

  .mahler-accademia-hero-title {
    margin-bottom: 16px !important;
    font-size: clamp(45px, 14vw, 58px) !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 285px !important;
    font-size: 15.5px !important;
  }
}


/* =========================================
   SMARTPHONE MOLTO STRETTO
   ========================================= */

@media (max-width: 360px) {

  .mahler-accademia-hero-copy {
    left: 16px !important;
    right: 16px !important;
  }

  .mahler-accademia-hero-title {
    font-size: 43px !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 265px !important;
    font-size: 15px !important;
  }
}


/* =========================================
   ACCESSIBILITÀ / RIDUZIONE MOVIMENTO
   ========================================= */

@media (prefers-reduced-motion: reduce) {

  .mahler-accademia-hero-video,
  .mahler-accademia-hero-video video,
  .mahler-accademia-hero-media video {
    transition: none !important;
    animation: none !important;
  }
}

/* =========================================
   MOBILE V4.5 — FULL WIDTH, PIÙ BASSA E CENTRATA
   Mantiene la larghezza a tutto schermo.
   Riduce solo l'altezza e centra testo/video.
   ========================================= */

@media (max-width: 699px) {

  .mahler-accademia-hero-v3 {
    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;

    height: clamp(360px, 48svh, 430px) !important;
    min-height: 360px !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;
  }

  /* Video sempre a piena larghezza e centrato nel crop */
  .mahler-accademia-hero-media {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
  }

  .mahler-accademia-hero-video,
  .mahler-accademia-hero-media > .wp-block-video {
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    aspect-ratio: auto !important;
  }

  .mahler-accademia-hero-video video,
  .mahler-accademia-hero-media > .wp-block-video video {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Sfumatura più compatta, senza allargare visivamente la hero */
  .mahler-accademia-hero-v3::before {
    background:
      linear-gradient(
        90deg,
        rgba(247, 239, 226, 0.93) 0%,
        rgba(247, 239, 226, 0.83) 24%,
        rgba(247, 239, 226, 0.60) 46%,
        rgba(247, 239, 226, 0.30) 66%,
        rgba(247, 239, 226, 0.08) 84%,
        rgba(247, 239, 226, 0) 100%
      ) !important;
  }

  /* Testo centrato sia orizzontalmente sia verticalmente */
  .mahler-accademia-hero-copy {
    position: absolute !important;

    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;

    width: calc(100% - 40px) !important;
    max-width: 390px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translate(-50%, -50%) !important;

    text-align: center !important;
  }

  .mahler-accademia-hero-kicker {
    max-width: 100% !important;

    margin: 0 auto 12px auto !important;

    font-size: 8.8px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.13em !important;

    text-align: center !important;
    white-space: normal !important;
  }

  .mahler-accademia-hero-title {
    max-width: 100% !important;

    margin: 0 auto 14px auto !important;

    font-size: clamp(42px, 12.8vw, 55px) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.045em !important;

    text-align: center !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 300px !important;

    margin: 0 auto !important;

    font-size: clamp(14.5px, 4vw, 16px) !important;
    line-height: 1.45 !important;

    text-align: center !important;
  }
}


/* =========================================
   SMARTPHONE PICCOLO
   ========================================= */

@media (max-width: 390px) {

  .mahler-accademia-hero-v3 {
    height: clamp(340px, 47svh, 395px) !important;
    min-height: 340px !important;
  }

  .mahler-accademia-hero-copy {
    width: calc(100% - 30px) !important;
    max-width: 345px !important;
  }

  .mahler-accademia-hero-title {
    font-size: clamp(40px, 12.5vw, 50px) !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 275px !important;
    font-size: 14.5px !important;
  }
}

/* =========================================
   MOBILE V4.6 — FULL WIDTH, PIÙ BASSA, TESTO A SINISTRA
   Mantiene il concept desktop anche su smartphone
   ========================================= */

@media (max-width: 699px) {

  .mahler-accademia-hero-v3 {
    width: 100vw !important;
    max-width: 100vw !important;

    height: clamp(360px, 48svh, 430px) !important;
    min-height: 360px !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    overflow: hidden !important;
  }

  /* Video a tutta larghezza e centrato */
  .mahler-accademia-hero-media,
  .mahler-accademia-hero-video,
  .mahler-accademia-hero-media > .wp-block-video {
    width: 100% !important;
    height: 100% !important;
  }

  .mahler-accademia-hero-video video,
  .mahler-accademia-hero-media > .wp-block-video video {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Sfumatura da sinistra come nella versione desktop */
  .mahler-accademia-hero-v3::before {
    background:
      linear-gradient(
        90deg,
        rgba(247, 239, 226, 0.95) 0%,
        rgba(247, 239, 226, 0.89) 27%,
        rgba(247, 239, 226, 0.68) 48%,
        rgba(247, 239, 226, 0.36) 68%,
        rgba(247, 239, 226, 0.10) 86%,
        rgba(247, 239, 226, 0) 100%
      ) !important;
  }

  /* Blocco testo: a sinistra come desktop, ma centrato verticalmente */
  .mahler-accademia-hero-copy {
    position: absolute !important;

    left: 22px !important;
    right: 22px !important;
    top: 50% !important;
    bottom: auto !important;

    width: auto !important;
    max-width: 355px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;

    text-align: left !important;
  }

  .mahler-accademia-hero-kicker {
    max-width: 310px !important;

    margin: 0 0 12px 0 !important;

    font-size: 8.8px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.13em !important;

    text-align: left !important;
    white-space: normal !important;
  }

  .mahler-accademia-hero-title {
    max-width: 100% !important;

    margin: 0 0 14px 0 !important;

    font-size: clamp(42px, 12.8vw, 55px) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.045em !important;

    text-align: left !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 295px !important;

    margin: 0 !important;

    font-size: clamp(14.5px, 4vw, 16px) !important;
    line-height: 1.45 !important;

    text-align: left !important;
  }
}


/* =========================================
   SMARTPHONE PICCOLO
   ========================================= */

@media (max-width: 390px) {

  .mahler-accademia-hero-v3 {
    height: clamp(340px, 47svh, 395px) !important;
    min-height: 340px !important;
  }

  .mahler-accademia-hero-copy {
    left: 18px !important;
    right: 18px !important;
    max-width: 330px !important;
  }

  .mahler-accademia-hero-title {
    font-size: clamp(40px, 12.5vw, 50px) !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 270px !important;
    font-size: 14.5px !important;
  }
}

/* =========================================
   MOBILE V4.7 — STESSO LOOK DESKTOP, FORMATO 16:9
   Full width, più bassa, testo in basso a sinistra
   ========================================= */

@media (max-width: 699px) {

  /* Hero realmente 16:9: nessun effetto "verticale" */
  .mahler-accademia-hero-v3 {
    position: relative !important;
    isolation: isolate;

    width: 100vw !important;
    max-width: 100vw !important;

    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;
    overflow: hidden !important;
  }

  .mahler-accademia-hero-columns {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Video: intero fotogramma 16:9, centrato */
  .mahler-accademia-hero-media {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
  }

  .mahler-accademia-hero-video,
  .mahler-accademia-hero-media > .wp-block-video {
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    aspect-ratio: 16 / 9 !important;
  }

  .mahler-accademia-hero-video video,
  .mahler-accademia-hero-media > .wp-block-video video {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;

    filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
    -webkit-filter: brightness(0.94) saturate(0.96) contrast(1.03) !important;
  }

  /* Stessa scuritura della versione desktop */
  .mahler-accademia-hero-media::after {
    background:
      linear-gradient(
        rgba(8, 18, 28, 0.42),
        rgba(8, 18, 28, 0.42)
      ) !important;
  }

  /* Stessa luce/gradiente avorio del desktop */
  .mahler-accademia-hero-v3::before {
    display: block !important;
    content: "" !important;

    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background:
      linear-gradient(
        90deg,
        rgba(247, 239, 226, 0.95) 0%,
        rgba(247, 239, 226, 0.91) 17%,
        rgba(247, 239, 226, 0.75) 28%,
        rgba(247, 239, 226, 0.48) 39%,
        rgba(247, 239, 226, 0.20) 50%,
        rgba(247, 239, 226, 0.05) 58%,
        rgba(247, 239, 226, 0) 64%
      ) !important;
  }

  /* Testo esattamente in basso a sinistra, come desktop */
  .mahler-accademia-hero-copy {
    position: absolute !important;

    left: 18px !important;
    right: auto !important;
    top: auto !important;
    bottom: 18px !important;

    z-index: 2 !important;

    width: 48% !important;
    max-width: 205px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
    background: transparent !important;
  }

  .mahler-accademia-hero-kicker {
    max-width: 195px !important;

    margin: 0 0 7px 0 !important;

    color: #b58e49 !important;

    font-size: 7.4px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0.115em !important;
    text-align: left !important;

    white-space: normal !important;
  }

  .mahler-accademia-hero-title {
    max-width: 100% !important;

    margin: 0 0 8px 0 !important;

    color: #102a43 !important;

    font-size: clamp(35px, 9.8vw, 43px) !important;
    font-weight: 500 !important;
    line-height: 0.92 !important;

    letter-spacing: -0.048em !important;
    text-align: left !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 190px !important;

    margin: 0 !important;

    color: #443833 !important;

    font-size: clamp(11.5px, 3vw, 13.5px) !important;
    line-height: 1.38 !important;

    text-align: left !important;
  }
}


/* =========================================
   SMARTPHONE PICCOLO
   ========================================= */

@media (max-width: 390px) {

  .mahler-accademia-hero-copy {
    left: 15px !important;
    bottom: 15px !important;

    width: 50% !important;
    max-width: 180px !important;
  }

  .mahler-accademia-hero-kicker {
    max-width: 175px !important;
    margin-bottom: 6px !important;
    font-size: 6.8px !important;
  }

  .mahler-accademia-hero-title {
    margin-bottom: 7px !important;
    font-size: clamp(32px, 9.5vw, 38px) !important;
  }

  .mahler-accademia-hero-lead {
    max-width: 170px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
}



/* =========================================
   HOME — HERO SLIDER V2
   7 slide full-screen + dots + fade
   Il cambio slide è gestito da JS.
   ========================================= */

.home .mahler-home-slider {
  position: relative !important;
  isolation: isolate;

  width: 100% !important;
  max-width: none !important;
  height: 100svh !important;
  min-height: 680px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  background: #102a43 !important;
}

/* Le cover diventano livelli sovrapposti dello stesso hero. */
.home .mahler-home-slider .mahler-home-slide {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;

  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: scale(1.018);

  transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 1.05s,
    transform 7.2s cubic-bezier(0.22, 1, 0.36, 1) !important;

  will-change: opacity, transform;
}

/* Prima slide visibile anche prima che il JS termini l'inizializzazione. */
.home .mahler-home-slider .mahler-home-slide:first-child,
.home .mahler-home-slider .mahler-home-slide.is-active {
  z-index: 2 !important;

  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transform: scale(1);

  transition-delay: 0s, 0s, 0s !important;
}

/* Quando il JS è attivo, decide esclusivamente lui quale slide mostrare. */
.home .mahler-home-slider.is-initialized .mahler-home-slide:first-child:not(.is-active) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1 !important;
}

.home .mahler-home-slider .mahler-home-slide .wp-block-cover__background,
.home .mahler-home-slider .mahler-home-slide .wp-block-cover__image-background,
.home .mahler-home-slider .mahler-home-slide video.wp-block-cover__video-background {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.home .mahler-home-slider .mahler-home-slide .wp-block-cover__image-background,
.home .mahler-home-slider .mahler-home-slide video.wp-block-cover__video-background {
  object-fit: cover !important;
}

/* Il contenuto resta allineato alla griglia editoriale Mahler. */
.home .mahler-home-slider .mahler-home-slide .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 4 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;

  min-height: 100% !important;

  padding-top: clamp(150px, 18vh, 220px) !important;
  padding-bottom: 118px !important;
}

/* Evita che titoli e testi diventino troppo larghi su monitor grandi. */
.home .mahler-home-slider .mahler-home-slide h1,
.home .mahler-home-slider .mahler-home-slide h2 {
  max-width: 820px !important;
}

.home .mahler-home-slider .mahler-home-slide p:not(.mahler-home-slide-kicker) {
  max-width: 760px !important;
}

/* =========================================
   NAVIGAZIONE A PALLINI
   ========================================= */

.home .mahler-home-slider-nav {
  position: absolute;
  left: max(36px, calc((100vw - 1180px) / 2));
  bottom: 38px;
  z-index: 40;

  display: flex;
  align-items: center;
  gap: 11px;

  margin: 0;
  padding: 9px 0;

  pointer-events: auto;
}

.home .mahler-home-slider-dot {
  appearance: none;
  -webkit-appearance: none;

  position: relative;

  width: 10px;
  height: 10px;
  min-width: 10px;

  margin: 0;
  padding: 0;

  border: 1.5px solid rgba(247, 239, 226, 0.95);
  border-radius: 999px;

  background: rgba(247, 239, 226, 0.18);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);

  cursor: pointer;

  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.home .mahler-home-slider-dot::before {
  content: "";
  position: absolute;
  inset: -8px;
}

.home .mahler-home-slider-dot:hover,
.home .mahler-home-slider-dot:focus-visible {
  border-color: #c6a15b;
  transform: scale(1.16);
  outline: none;
}

.home .mahler-home-slider-dot.is-active,
.home .mahler-home-slider-dot[aria-current="true"] {
  background: #c6a15b;
  border-color: #c6a15b;
  box-shadow:
    0 1px 5px rgba(0, 0, 0, 0.24),
    0 0 0 3px rgba(198, 161, 91, 0.18);
}

/* Testo solo per screen reader. */
.mahler-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* =========================================
   TABLET — HERO SLIDER
   ========================================= */

@media (max-width: 900px) {
  .home .mahler-home-slider {
    min-height: 650px !important;
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-cover__inner-container {
    padding-top: 170px !important;
    padding-bottom: 100px !important;
  }

  .home .mahler-home-slider-nav {
    left: 20px;
    bottom: 28px;
  }
}

/* =========================================
   SMARTPHONE — HERO SLIDER
   ========================================= */

@media (max-width: 600px) {
  .home .mahler-home-slider {
    height: 100svh !important;
    min-height: 620px !important;
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-cover__inner-container {
    justify-content: flex-end !important;

    padding-top: 170px !important;
    padding-bottom: 92px !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    max-width: 100% !important;
  }

  .home .mahler-home-slider .mahler-home-slide p:not(.mahler-home-slide-kicker) {
    max-width: 100% !important;
  }

  .home .mahler-home-slider-nav {
    left: 26px;
    bottom: 24px;
    gap: 10px;
  }

  .home .mahler-home-slider-dot {
    width: 9px;
    height: 9px;
    min-width: 9px;
  }
}

/* =========================================
   ACCESSIBILITÀ — HERO SLIDER
   ========================================= */

@media (prefers-reduced-motion: reduce) {
  .home .mahler-home-slider .mahler-home-slide {
    transform: none !important;
    transition: none !important;
  }

  .home .mahler-home-slider-dot {
    transition: none !important;
  }
}

/* =========================================
   HOME — HERO SLIDER V3
   Full-bleed reale + leggibilita testi
   ========================================= */

/*
 * Il tema mantiene un piccolo margine laterale sul contenuto della Home.
 * Il breakout qui sotto porta SOLO lo slider fino ai bordi reali della viewport.
 */
.home .mahler-home-slider {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100svh !important;
  min-height: 100svh !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;

  overflow: hidden !important;
}

/* Nessun raggio o margine residuo sulle singole Cover. */
.home .mahler-home-slider .mahler-home-slide,
.home .mahler-home-slider .mahler-home-slide.wp-block-cover {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
}

/* Le immagini riempiono sempre l'intera slide. */
.home .mahler-home-slider .mahler-home-slide .wp-block-cover__image-background,
.home .mahler-home-slider .mahler-home-slide video.wp-block-cover__video-background {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}

/*
 * Velo editoriale: piu scuro dove vive il testo, molto leggero a destra.
 * Non altera le fotografie: serve soltanto al contrasto tipografico.
 */
.home .mahler-home-slider .mahler-home-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(7, 18, 29, 0.78) 0%,
      rgba(7, 18, 29, 0.66) 24%,
      rgba(7, 18, 29, 0.43) 44%,
      rgba(7, 18, 29, 0.16) 68%,
      rgba(7, 18, 29, 0.05) 100%
    ),
    linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.24) 0%,
      rgba(0, 0, 0, 0.06) 34%,
      rgba(0, 0, 0, 0) 62%
    );
}

/* Il contenuto rimane sopra il nuovo velo. */
.home .mahler-home-slider .mahler-home-slide .wp-block-cover__inner-container {
  z-index: 4 !important;

  width: min(1180px, calc(100% - 96px)) !important;
  max-width: 1180px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-top: clamp(142px, 17vh, 205px) !important;
  padding-bottom: 112px !important;
}

/* Kicker oro piu netto. */
.home .mahler-home-slider .mahler-home-slide-kicker {
  color: #d8b66e !important;
  font-weight: 700 !important;
  letter-spacing: 0.17em !important;

  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.45),
    0 0 12px rgba(0, 0, 0, 0.18) !important;
}

/* Titolo bianco ad alto contrasto senza effetto pesante. */
.home .mahler-home-slider .mahler-home-slide h1,
.home .mahler-home-slider .mahler-home-slide h2 {
  max-width: 760px !important;

  color: #ffffff !important;
  text-wrap: balance;

  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.38),
    0 1px 2px rgba(0, 0, 0, 0.42) !important;
}

/* Corpo testo piu leggibile e meno largo. */
.home .mahler-home-slider .mahler-home-slide p:not(.mahler-home-slide-kicker) {
  max-width: 690px !important;

  color: rgba(255, 255, 255, 0.96) !important;
  font-weight: 450 !important;
  line-height: 1.58 !important;

  text-shadow:
    0 1px 5px rgba(0, 0, 0, 0.42),
    0 1px 1px rgba(0, 0, 0, 0.34) !important;
}

/* CTA piu separato visivamente dallo sfondo fotografico. */
.home .mahler-home-slider .mahler-hero-btn .wp-block-button__link,
.home .mahler-home-slider .wp-block-button__link {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

/* Pallini leggermente piu staccati dal bordo inferiore. */
.home .mahler-home-slider-nav {
  bottom: 34px !important;
}

/* =========================================
   TABLET — FULL-BLEED + TESTI
   ========================================= */

@media (max-width: 900px) {
  .home .mahler-home-slider {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-cover__inner-container {
    width: calc(100% - 56px) !important;
    max-width: none !important;

    padding-top: 150px !important;
    padding-bottom: 96px !important;
  }

  .home .mahler-home-slider .mahler-home-slide::after {
    background:
      linear-gradient(
        90deg,
        rgba(7, 18, 29, 0.76) 0%,
        rgba(7, 18, 29, 0.58) 40%,
        rgba(7, 18, 29, 0.22) 72%,
        rgba(7, 18, 29, 0.08) 100%
      ),
      linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.24) 0%,
        rgba(0, 0, 0, 0) 58%
      );
  }
}

/* =========================================
   SMARTPHONE — FULL-SCREEN + LEGGIBILITA
   ========================================= */

@media (max-width: 600px) {
  .home .mahler-home-slider {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .home .mahler-home-slider .mahler-home-slide::after {
    background:
      linear-gradient(
        0deg,
        rgba(7, 18, 29, 0.82) 0%,
        rgba(7, 18, 29, 0.66) 34%,
        rgba(7, 18, 29, 0.25) 62%,
        rgba(7, 18, 29, 0.08) 100%
      );
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 26px !important;
    padding-right: 26px !important;
    padding-top: 150px !important;
    padding-bottom: 86px !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2,
  .home .mahler-home-slider .mahler-home-slide p:not(.mahler-home-slide-kicker) {
    max-width: 100% !important;
  }

  .home .mahler-home-slider-nav {
    left: 26px !important;
    bottom: 22px !important;
  }
}


/* =========================================================
   HOME — SLIDER V4
   Movimento orizzontale + tipografia editoriale ordinata
   + rail destro MENU/social in stile istituzionale
   ========================================================= */

/* ---------------------------------------------------------
   1. TRANSIZIONE SLIDE: DA DESTRA VERSO SINISTRA
   Lo zoom resta SOLO sull'immagine; il testo non viene scalato.
   --------------------------------------------------------- */

.home .mahler-home-slider .mahler-home-slide {
  opacity: 1 !important;
  visibility: hidden;
  pointer-events: none;

  transform: translate3d(100%, 0, 0) !important;

  transition:
    transform 1.05s cubic-bezier(0.76, 0, 0.24, 1),
    visibility 0s linear 1.05s !important;

  will-change: transform;
}

.home .mahler-home-slider .mahler-home-slide:first-child,
.home .mahler-home-slider .mahler-home-slide.is-active {
  opacity: 1 !important;
  visibility: visible;
  pointer-events: auto;

  transform: translate3d(0, 0, 0) !important;

  transition:
    transform 1.05s cubic-bezier(0.76, 0, 0.24, 1),
    visibility 0s linear 0s !important;
}

.home .mahler-home-slider.is-initialized
.mahler-home-slide:first-child:not(.is-active) {
  opacity: 1 !important;
  visibility: hidden;
  pointer-events: none;

  transform: translate3d(100%, 0, 0) !important;
}

/* Stato di entrata/uscita gestito dal JS V2. */
.home .mahler-home-slider .mahler-home-slide.is-entering-right {
  z-index: 4 !important;
  visibility: visible !important;
  transform: translate3d(100%, 0, 0) !important;
  transition: none !important;
}

.home .mahler-home-slider .mahler-home-slide.is-entering-left {
  z-index: 4 !important;
  visibility: visible !important;
  transform: translate3d(-100%, 0, 0) !important;
  transition: none !important;
}

.home .mahler-home-slider .mahler-home-slide.is-leaving-left {
  z-index: 3 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(-100%, 0, 0) !important;
}

.home .mahler-home-slider .mahler-home-slide.is-leaving-right {
  z-index: 3 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(100%, 0, 0) !important;
}

.home .mahler-home-slider .mahler-home-slide.is-active {
  z-index: 4 !important;
}

/* Zoom cinematografico: SOLO fotografia/video, mai testi. */
.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__image-background,
.home .mahler-home-slider
.mahler-home-slide
video.wp-block-cover__video-background {
  transform: scale(1.025) !important;
  transform-origin: center center !important;

  transition:
    transform 7.4s cubic-bezier(0.16, 1, 0.3, 1) !important;

  will-change: transform;
}

.home .mahler-home-slider
.mahler-home-slide.is-active
.wp-block-cover__image-background,
.home .mahler-home-slider
.mahler-home-slide.is-active
video.wp-block-cover__video-background,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-left
.wp-block-cover__image-background,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-right
.wp-block-cover__image-background {
  transform: scale(1.075) !important;
}

/* Il contenuto non riceve MAI scale/zoom. */
.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__inner-container {
  transform: none !important;
  animation: none !important;
}


/* ---------------------------------------------------------
   2. GRIGLIA TESTI — PIU' ORDINATA E ALLINEATA
   --------------------------------------------------------- */

@media (min-width: 901px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    justify-content: center !important;
    align-items: flex-start !important;

    padding:
      148px
      190px
      118px
      clamp(72px, 7vw, 112px) !important;

    box-sizing: border-box !important;
  }

  .home .mahler-home-slider .mahler-home-slide-kicker {
    width: min(720px, 60vw) !important;

    margin: 0 0 22px 0 !important;

    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.18em !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    width: min(800px, 64vw) !important;
    max-width: 800px !important;

    margin: 0 !important;

    font-size: clamp(48px, 5vw, 76px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.025em !important;

    text-align: left !important;
    text-wrap: balance;
  }

  /* Linea di divisione editoriale sotto il titolo. */
  .home .mahler-home-slider .mahler-home-slide h1::after,
  .home .mahler-home-slider .mahler-home-slide h2::after {
    content: "";
    display: block;

    width: min(620px, 58vw);
    height: 1px;

    margin: 28px 0 26px 0;

    background: rgba(247, 239, 226, 0.78);
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    width: min(620px, 55vw) !important;
    max-width: 620px !important;

    margin: 0 0 28px 0 !important;

    font-size: 17px !important;
    line-height: 1.58 !important;

    text-align: left !important;
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-buttons {
    width: min(620px, 55vw) !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-content: flex-start !important;
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-button {
    margin: 0 !important;
  }
}


/* ---------------------------------------------------------
   3. DOTS — PIU' VICINI AL LINGUAGGIO DI SANTA CECILIA
   oro attivo + avorio inattivi, piccoli e netti
   --------------------------------------------------------- */

.home .mahler-home-slider-nav {
  gap: 9px !important;
}

.home .mahler-home-slider-dot {
  width: 11px !important;
  height: 11px !important;
  min-width: 11px !important;

  border: 1px solid rgba(247, 239, 226, 0.96) !important;
  border-radius: 1px !important;

  background: rgba(247, 239, 226, 0.96) !important;

  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}

.home .mahler-home-slider-dot.is-active,
.home .mahler-home-slider-dot[aria-current="true"] {
  background: #c6a15b !important;
  border-color: #c6a15b !important;

  transform: none !important;

  box-shadow: none !important;
}



/* ---------------------------------------------------------
   5. TABLET / MOBILE — TESTI ORDINATI
   Mantiene l'header compatto già esistente.
   --------------------------------------------------------- */

@media (max-width: 900px) {

  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    margin: 0 !important;

    font-size: clamp(40px, 7vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1::after,
  .home .mahler-home-slider .mahler-home-slide h2::after {
    content: "";
    display: block;

    width: min(520px, 82vw);
    height: 1px;

    margin: 22px 0 22px 0;

    background: rgba(247, 239, 226, 0.72);
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    margin: 0 0 24px 0 !important;

    font-size: 16px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 600px) {

  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1::after,
  .home .mahler-home-slider .mahler-home-slide h2::after {
    width: min(330px, 82vw);
    margin: 18px 0 18px 0;
  }

  .home .mahler-home-slider-nav {
    gap: 8px !important;
  }

  .home .mahler-home-slider-dot {
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
  }
}


/* ---------------------------------------------------------
   6. ACCESSIBILITA'
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .home .mahler-home-slider .mahler-home-slide {
    transition: none !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__image-background,
  .home .mahler-home-slider
  .mahler-home-slide
  video.wp-block-cover__video-background {
    transform: none !important;
    transition: none !important;
  }
}


/* ---------------------------------------------------------
   2. TESTI HERO — FONT PIU' CONTEMPORANEO, NIENTE SILLABAZIONI
   --------------------------------------------------------- */

.home .mahler-home-slider .mahler-home-slide h1,
.home .mahler-home-slider .mahler-home-slide h2 {
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-weight: 700 !important;

  hyphens: none !important;
  -webkit-hyphens: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;

  text-wrap: balance !important;
}

.home .mahler-home-slider .mahler-home-slide-kicker,
.home .mahler-home-slider .mahler-home-slide p,
.home .mahler-home-slider .mahler-home-slide .wp-block-button__link {
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;
}


/* ---------------------------------------------------------
   3. GRIGLIA EDITORIALE HERO — KICKER / TITOLO / LINEA / TESTO
   --------------------------------------------------------- */

@media (min-width: 901px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    justify-content: flex-end !important;
    align-items: flex-start !important;

    padding:
      190px
      210px
      112px
      clamp(72px, 7vw, 108px) !important;

    box-sizing: border-box !important;

    transform: none !important;
    animation: none !important;
  }

  .home .mahler-home-slider .mahler-home-slide-kicker {
    width: min(900px, 70vw) !important;
    max-width: 900px !important;

    margin: 0 0 18px 0 !important;

    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.18em !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    width: min(980px, 72vw) !important;
    max-width: 980px !important;

    margin: 0 !important;

    font-size: clamp(46px, 4.3vw, 66px) !important;
    line-height: 1.01 !important;
    letter-spacing: -0.035em !important;

    text-align: left !important;
  }

  .home .mahler-home-slider .mahler-home-slide h1::after,
  .home .mahler-home-slider .mahler-home-slide h2::after {
    content: "";

    display: block;

    width: min(650px, 58vw);
    height: 1px;

    margin: 25px 0 23px 0;

    background: rgba(247, 239, 226, 0.78);
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    width: min(650px, 58vw) !important;
    max-width: 650px !important;

    margin: 0 0 28px 0 !important;

    font-size: 17px !important;
    line-height: 1.55 !important;

    text-align: left !important;
  }

  .home .mahler-home-slider .mahler-home-slide .wp-block-buttons {
    width: min(650px, 58vw) !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-content: flex-start !important;
  }
}


/* ---------------------------------------------------------
   4. SLIDER — TESTI SEMPRE FERMI, ZOOM SOLO SULLA FOTO
   --------------------------------------------------------- */

.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__inner-container * {
  animation-name: none !important;
}

.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__inner-container {
  transform: none !important;
}

.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__image-background,
.home .mahler-home-slider
.mahler-home-slide
video.wp-block-cover__video-background {
  transform: scale(1.025) !important;
  transform-origin: center center !important;

  transition:
    transform 7.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.home .mahler-home-slider
.mahler-home-slide.is-active
.wp-block-cover__image-background,
.home .mahler-home-slider
.mahler-home-slide.is-active
video.wp-block-cover__video-background,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-left
.wp-block-cover__image-background,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-right
.wp-block-cover__image-background {
  transform: scale(1.07) !important;
}


/* ---------------------------------------------------------
   5. PALLINI — PICCOLI QUADRATI, ORO ATTIVO
   --------------------------------------------------------- */

.home .mahler-home-slider-nav {
  gap: 9px !important;
}

.home .mahler-home-slider-dot {
  width: 11px !important;
  height: 11px !important;
  min-width: 11px !important;

  border: 1px solid rgba(247, 239, 226, 0.96) !important;
  border-radius: 1px !important;

  background: rgba(247, 239, 226, 0.96) !important;

  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}

.home .mahler-home-slider-dot.is-active,
.home .mahler-home-slider-dot[aria-current="true"] {
  background: #c6a15b !important;
  border-color: #c6a15b !important;

  transform: none !important;

  box-shadow: none !important;
}



/* ---------------------------------------------------------
   12. RIDUZIONE MOVIMENTO
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__image-background,
  .home .mahler-home-slider
  .mahler-home-slide
  video.wp-block-cover__video-background {
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   V6.1 — FIX VISIBILITÀ EXT-ANIMATE
   Il tema/plug-in Extender lascia alcuni elementi a opacity:0
   quando l'animazione viene disattivata. Qui forziamo visibili
   SOLO logo e contenuti della slide attiva.
   ========================================================= */

/* Logo fisso sempre visibile. */
.home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
.home .mahler-header-row .mahler-fixed-logo,
.home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo *,
.home .mahler-header-row .mahler-fixed-logo * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Contenuto della slide attiva sempre visibile. */
.home .mahler-home-slider
.mahler-home-slide.is-active
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide.is-active
.wp-block-cover__inner-container * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Anche durante entrata/uscita il testo non deve sparire per Extender. */
.home .mahler-home-slider
.mahler-home-slide.is-entering-right
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide.is-entering-right
.wp-block-cover__inner-container *,
.home .mahler-home-slider
.mahler-home-slide.is-entering-left
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide.is-entering-left
.wp-block-cover__inner-container *,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-left
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-left
.wp-block-cover__inner-container *,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-right
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide.is-leaving-right
.wp-block-cover__inner-container * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Evita che eventuali classi di animazione del tema spostino i testi. */
.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__inner-container,
.home .mahler-home-slider
.mahler-home-slide
.wp-block-cover__inner-container * {
  translate: none !important;
}

/* Il sigillo non deve ereditare trasformazioni/opacity durante lo scroll. */
.home .mahler-header-row .mahler-fixed-logo,
.home .mahler-header-row .mahler-fixed-logo *,
.home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
.home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo * {
  translate: none !important;
}


/* =========================================================
   HOME — MASTER HEADER / RAIL / MENU
   Versione pulita
   =========================================================

   Comportamento:
   - logo: fermo durante le slide orizzontali, scorre via in verticale
   - CERCA: gestito dal blocco HTML dedicato; stesso comportamento del logo
   - MENU: unico elemento sempre fixed alla viewport
   - telefono + posizione + social: un unico rail visivo sotto MENU;
     fermi durante le slide, scorrono via verticalmente con la hero
   - menu overlay: usa la Navigazione WordPress già verificata
   ========================================================= */


/* ---------------------------------------------------------
   1. HEADER HOME — SOVRAPPOSTO ALLA HERO, NON STICKY
   --------------------------------------------------------- */

.home header.wp-block-template-part {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 10000 !important;

  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  background: transparent !important;
}

.home .mahler-header-row {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 10000 !important;

  display: block !important;

  width: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;

  pointer-events: none !important;
}

.home .mahler-header-row::after {
  display: none !important;
  content: none !important;
}

.home .mahler-header-row > * {
  pointer-events: auto !important;
}


/* ---------------------------------------------------------
   2. LOGO — FERMO SULLE SLIDE, SCORRE VIA CON LA HERO
   --------------------------------------------------------- */

.home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
.home .mahler-header-row .mahler-fixed-logo {
  position: absolute !important;

  top: 24px !important;
  left: max(36px, calc((100vw - 1180px) / 2)) !important;
  right: auto !important;

  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

  margin: 0 !important;
  padding: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: none !important;

  z-index: 1000010 !important;
}

.home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo img,
.home .mahler-header-row .mahler-fixed-logo img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: auto !important;

  margin: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: none !important;

  filter:
    drop-shadow(0 2px 7px rgba(0, 0, 0, 0.13))
    drop-shadow(0 0 1px rgba(247, 239, 226, 0.40));
}


/* ---------------------------------------------------------
   3. MENU — L'UNICO ELEMENTO SEMPRE FIXED
   --------------------------------------------------------- */

.home .mahler-header-row .wp-block-navigation {
  position: fixed !important;

  top: calc(50dvh - 48px) !important;
  right: 0 !important;
  left: auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;

  pointer-events: auto !important;

  z-index: 1000030 !important;
}

/* Nasconde il menu desktop tradizionale: usiamo sempre il trigger responsive. */
.home .mahler-header-row
.wp-block-navigation__responsive-container:not(.is-menu-open) {
  display: none !important;
}

.home .mahler-header-row
.wp-block-navigation__responsive-container-open,
.home .mahler-header-row
button.wp-block-navigation__responsive-container-open {
  position: relative !important;

  display: inline-flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important;
  justify-content: center !important;

  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;

  margin: 0 !important;
  padding: 14px 8px 12px !important;

  opacity: 1 !important;
  visibility: visible !important;

  pointer-events: auto !important;

  z-index: 1000031 !important;

  gap: 7px !important;

  color: #102a43 !important;
  background: rgba(247, 239, 226, 0.98) !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12) !important;

  filter: none !important;
  transform: none !important;
}

.home .mahler-header-row
.wp-block-navigation__responsive-container-open::before,
.home .mahler-header-row
button.wp-block-navigation__responsive-container-open::before {
  content: "MENU";

  display: block !important;

  color: currentColor !important;

  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
}

.home .mahler-header-row
.wp-block-navigation__responsive-container-open svg,
.home .mahler-header-row
button.wp-block-navigation__responsive-container-open svg {
  width: 31px !important;
  height: 31px !important;
}

@media (hover: hover) {
  .home .mahler-header-row
  .wp-block-navigation__responsive-container-open:hover {
    color: #c6a15b !important;
  }
}


/* ---------------------------------------------------------
   4. TELEFONO + POSIZIONE + SOCIAL
   UN UNICO RAIL VISIVO SOTTO MENU
   Scorre via verticalmente insieme alla hero.
   --------------------------------------------------------- */

@media (min-width: 783px) {

  .home .mahler-header-actions {
    position: absolute !important;

    top: calc(50vh + 64px) !important;
    right: 0 !important;
    left: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 96px !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  .home .mahler-header-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #f7efe2 !important;

    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.34));
  }

  .home .mahler-header-action svg {
    width: 23px !important;
    height: 23px !important;
  }

  .home .mahler-header-row .wp-block-social-links {
    position: absolute !important;

    top: calc(50vh + 152px) !important;
    right: 0 !important;
    left: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 96px !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link {
    margin: 0 !important;

    background: transparent !important;
    color: #f7efe2 !important;
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 36px !important;

    padding: 0 !important;

    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.34));
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link svg {
    width: 24px !important;
    height: 24px !important;

    fill: currentColor !important;
  }

  @media (hover: hover) {
    .home .mahler-header-action:hover,
    .home .mahler-header-action:focus-visible,
    .home .mahler-header-row
    .wp-block-social-links
    .wp-social-link:hover {
      color: #c6a15b !important;
    }
  }
}


/* ---------------------------------------------------------
   5. MENU OVERLAY — FULL SCREEN, ORDINATO
   --------------------------------------------------------- */

.home .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  inset: 0 !important;

  display: block !important;

  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  background: #f7efe2 !important;
  color: #102a43 !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  z-index: 1000040 !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-close,
.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-dialog {
  position: static !important;

  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  min-height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-content {
  position: static !important;

  display: block !important;

  width: min(1220px, calc(100% - 230px)) !important;
  max-width: 1220px !important;

  height: auto !important;
  min-height: 0 !important;

  margin: auto !important;
  padding: 56px 0 !important;

  transform: none !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container {
  display: grid !important;

  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  gap: 42px 58px !important;

  align-items: start !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container
> .wp-block-navigation-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 0 22px 0 !important;

  border-bottom: 1px solid rgba(16, 42, 67, 0.14) !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container
> .wp-block-navigation-item
> .wp-block-navigation-item__content {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #102a43 !important;

  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 650 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;

  white-space: normal !important;
  text-decoration: none !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-container {
  position: static !important;

  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 16px 0 0 0 !important;
  padding: 0 !important;

  gap: 8px !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #443833 !important;

  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;

  text-decoration: none !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-icon {
  display: none !important;
}


/* ---------------------------------------------------------
   6. CHIUSURA MENU — FRECCIA NELLO STESSO PUNTO
   --------------------------------------------------------- */

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-close,
.home .wp-block-navigation__responsive-container.is-menu-open
button.wp-block-navigation__responsive-container-close {
  position: fixed !important;

  top: 50% !important;
  right: 0 !important;
  left: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  width: 96px !important;
  height: 96px !important;

  margin: 0 !important;
  padding: 10px 8px !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: translateY(-50%) !important;

  color: #102a43 !important;
  background: #ffffff !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.11) !important;

  cursor: pointer !important;
  pointer-events: auto !important;

  z-index: 1000050 !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-close svg,
.home .wp-block-navigation__responsive-container.is-menu-open
button.wp-block-navigation__responsive-container-close svg {
  display: none !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-close::before,
.home .wp-block-navigation__responsive-container.is-menu-open
button.wp-block-navigation__responsive-container-close::before {
  content: "›" !important;

  display: block !important;

  margin: -4px 0 4px 0 !important;

  color: #102a43 !important;

  font-family: Arial, sans-serif !important;

  font-size: 48px !important;
  font-weight: 300 !important;
  line-height: 0.70 !important;
}

.home .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-close::after,
.home .wp-block-navigation__responsive-container.is-menu-open
button.wp-block-navigation__responsive-container-close::after {
  content: "MENU" !important;

  display: block !important;

  color: #102a43 !important;

  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
}


/* ---------------------------------------------------------
   7. TABLET
   --------------------------------------------------------- */

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

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo {
    top: 20px !important;
    left: 36px !important;
    right: auto !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    width: calc(100% - 170px) !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 40px !important;
  }
}


/* ---------------------------------------------------------
   8. MOBILE
   --------------------------------------------------------- */

@media (max-width: 782px) {

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo {
    top: 14px !important;
    left: 26px !important;
    right: auto !important;

    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }

  .home .mahler-header-row .wp-block-navigation {
    width: 72px !important;
    height: 82px !important;
    min-width: 72px !important;
  }

  .home .mahler-header-row
  .wp-block-navigation__responsive-container-open {
    width: 72px !important;
    height: 82px !important;

    padding: 11px 5px 10px !important;

    gap: 5px !important;
  }

  .home .mahler-header-row
  .wp-block-navigation__responsive-container-open::before {
    font-size: 10px !important;
  }

  .home .mahler-header-row
  .wp-block-navigation__responsive-container-open svg {
    width: 27px !important;
    height: 27px !important;
  }

  /* Telefono + posizione */
  .home .mahler-header-actions {
    position: absolute !important;

    top: calc(50vh + 55px) !important;
    right: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 72px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  .home .mahler-header-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 32px !important;

    color: #f7efe2 !important;
  }

  .home .mahler-header-action svg {
    width: 20px !important;
    height: 20px !important;
  }

  /* Social subito sotto: visivamente è lo stesso blocco. */
  .home .mahler-header-row .wp-block-social-links {
    position: absolute !important;

    top: calc(50vh + 127px) !important;
    right: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 72px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link {
    background: transparent !important;
    color: #f7efe2 !important;
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 32px !important;
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link svg {
    width: 18px !important;
    height: 18px !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    width: calc(100% - 96px) !important;

    margin-left: 24px !important;
    margin-right: 72px !important;

    padding: 42px 0 !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close,
  .home .wp-block-navigation__responsive-container.is-menu-open
  button.wp-block-navigation__responsive-container-close {
    width: 72px !important;
    height: 82px !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close::before,
  .home .wp-block-navigation__responsive-container.is-menu-open
  button.wp-block-navigation__responsive-container-close::before {
    font-size: 40px !important;
  }

  .home .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close::after,
  .home .wp-block-navigation__responsive-container.is-menu-open
  button.wp-block-navigation__responsive-container-close::after {
    font-size: 10px !important;
  }
}


/* ---------------------------------------------------------
   9. ACCESSIBILITÀ
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  .home .mahler-header-action,
  .home .mahler-header-row .wp-social-link,
  .home .mahler-header-row
  .wp-block-navigation__responsive-container-open {
    transition: none !important;
  }
}

/* =========================================================
   MAHLER — CERCA V8
   Icona sola + campo "Cerca nel sito" a pillola
   Fermo durante le slide / scorre via con la HERO
   ========================================================= */

.mahler-rail-controls {
  position: absolute !important;
  right: 0 !important;
  top: calc(50vh - 112px) !important;

  width: 96px !important;
  height: 64px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  z-index: 1000020 !important;
}

.mahler-rail-controls button {
  appearance: none;
  -webkit-appearance: none;

  border: 0;
  border-radius: 0;

  margin: 0;
  padding: 0;

  box-shadow: none;

  cursor: pointer;
  font-family: inherit;
}

/* Stato della ricerca: niente JavaScript, toggle via checkbox */
.mahler-search-state {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Trigger: SOLO ICONA */
.mahler-search-toggle {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 96px !important;
  height: 64px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #f7efe2 !important;
  background: transparent !important;

  opacity: 1 !important;
  visibility: visible !important;

  transition:
    color 0.2s ease,
    opacity 0.2s ease !important;

  filter: drop-shadow(0 1px 3px rgba(0,0,0,.34));

  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.mahler-search-toggle:hover,
.mahler-search-toggle:focus-visible {
  color: #c6a15b !important;
}

.mahler-search-toggle svg {
  width: 29px !important;
  height: 29px !important;

  fill: none !important;
  stroke: currentColor !important;

  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Nessuna scritta CERCA nel trigger */
.mahler-search-toggle > span {
  display: none !important;
}

/* Pannello di ricerca */
.mahler-search-panel {
  position: absolute !important;

  top: 50% !important;
  right: 18px !important;

  width: min(460px, calc(100vw - 150px)) !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  transform:
    translateY(-50%)
    translateX(14px) !important;

  transition:
    opacity .22s ease,
    transform .22s ease,
    visibility .22s ease !important;

  z-index: 1000025 !important;
}

.mahler-search-state:checked ~ .mahler-search-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transform:
    translateY(-50%)
    translateX(0) !important;
}

.mahler-search-state:checked ~ .mahler-search-toggle {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.mahler-search-form {
  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  height: 52px !important;

  margin: 0 !important;
  padding: 0 14px 0 18px !important;

  background: #ffffff !important;

  border: 0 !important;
  border-radius: 999px !important;

  box-shadow:
    0 10px 30px rgba(0,0,0,.12) !important;
}

.mahler-search-form-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 auto !important;

  width: 28px !important;
  height: 28px !important;

  margin-right: 10px !important;

  color: #c65b21 !important;
}

.mahler-search-form-icon svg {
  width: 22px !important;
  height: 22px !important;

  fill: none !important;
  stroke: currentColor !important;

  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.mahler-search-input {
  flex: 1 1 auto !important;

  min-width: 0 !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #102a43 !important;
  background: transparent !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.mahler-search-input::placeholder {
  color: #443833 !important;
  opacity: .90 !important;
}

.mahler-search-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 auto !important;

  width: 36px !important;
  height: 36px !important;

  margin-left: 8px !important;

  color: #9fb1bd !important;
  background: transparent !important;

  border-radius: 50% !important;

  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.mahler-search-close:hover,
.mahler-search-close:focus-visible {
  color: #102a43 !important;
}

.mahler-search-close svg {
  width: 19px !important;
  height: 19px !important;

  fill: none !important;
  stroke: currentColor !important;

  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

/* =========================================================
   MENU V11 — OVERLAY CUSTOM STABILE
   Non usa più l'overlay responsive nativo di Gutenberg.
   ========================================================= */

/* Nasconde soltanto la Navigazione WordPress nativa sulla Home. */
.mahler-header-row > .wp-block-navigation {
  display: none !important;
}


/* ---------------------------------------------------------
   STATO MENU
   --------------------------------------------------------- */

.mahler-menu-state {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ---------------------------------------------------------
   PULSANTE MENU — SEMPRE FISSO
   --------------------------------------------------------- */

.mahler-menu-toggle-custom {
  position: fixed !important;

  top: calc(50dvh - 48px) !important;
  right: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  width: 96px !important;
  height: 96px !important;

  margin: 0 !important;
  padding: 12px 8px 11px !important;

  gap: 7px !important;

  color: #102a43 !important;
  background: #f7efe2 !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: 0 8px 28px rgba(0,0,0,.11) !important;

  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;

  z-index: 1000030 !important;
}

.mahler-menu-toggle-custom svg {
  display: block !important;

  width: 31px !important;
  height: 31px !important;

  fill: none !important;
  stroke: currentColor !important;

  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
}

.mahler-menu-toggle-custom span {
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
}


/* ---------------------------------------------------------
   OVERLAY
   --------------------------------------------------------- */

.mahler-menu-overlay {
  position: fixed !important;
  inset: 0 !important;

  width: 100vw !important;
  height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  color: #f7efe2 !important;
  background:
    radial-gradient(circle at 18% 14%, rgba(198,161,91,.10), transparent 32%),
    linear-gradient(135deg, #102a43 0%, #17364d 58%, #21475a 100%) !important;

  opacity: 1 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  transform: translate3d(-100%, 0, 0) !important;
  will-change: transform !important;

  transition:
    transform .48s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear .48s !important;

  z-index: 1000040 !important;
}

.mahler-menu-state:checked ~ .mahler-menu-overlay {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transform: translate3d(0, 0, 0) !important;
  transition-delay: 0s !important;
}

.mahler-menu-state:checked ~ .mahler-menu-toggle-custom {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ---------------------------------------------------------
   FRECCIA CHIUSURA — STESSO RIQUADRO DEL MENU
   --------------------------------------------------------- */

.mahler-menu-close-custom {
  position: fixed !important;

  top: calc(50dvh - 48px) !important;
  right: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  width: 96px !important;
  height: 96px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #102a43 !important;
  background: #f7efe2 !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: 0 8px 28px rgba(0,0,0,.11) !important;

  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;

  z-index: 1000050 !important;
}

.mahler-menu-close-custom::before {
  content: "›" !important;

  display: block !important;

  color: #102a43 !important;

  font-family: Arial, sans-serif !important;
  font-size: 47px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  transform: translateY(-2px) !important;
}


/* ---------------------------------------------------------
   CONTENUTO OVERLAY
   --------------------------------------------------------- */

.mahler-menu-inner {
  box-sizing: border-box !important;

  width: min(1280px, calc(100vw - 250px)) !important;
  max-width: 1280px !important;

  min-height: 100dvh !important;

  margin: 0 auto !important;
  padding: clamp(105px, 13vh, 135px) 0 clamp(72px, 9vh, 100px) !important;

  display: flex !important;
  align-items: center !important;

  transform: translateY(34px) !important;
}

.mahler-menu-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  width: 100% !important;

  column-gap: clamp(44px, 5vw, 78px) !important;
  row-gap: clamp(30px, 4.2vh, 48px) !important;

  align-items: start !important;
}

.mahler-menu-group {
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 0 20px 0 !important;

  border-bottom: 1px solid rgba(247,239,226,.16) !important;
}

.mahler-menu-title {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #f7efe2 !important;

  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: clamp(26px, 1.8vw, 30px) !important;
  font-weight: 400 !important;
  line-height: 1.10 !important;
  letter-spacing: 0.005em !important;

  text-decoration: none !important;

  overflow-wrap: anywhere !important;

  transition:
    color .18s ease,
    text-shadow .18s ease,
    transform .18s ease !important;
}

.mahler-menu-title:hover,
.mahler-menu-title:focus-visible {
  color: #d8b873 !important;
  text-shadow: 0 0 16px rgba(198,161,91,.28) !important;
  transform: translateX(3px) !important;
}

.mahler-menu-sub {
  display: flex !important;
  flex-direction: column !important;

  gap: 7px !important;

  margin: 14px 0 0 0 !important;
  padding: 0 !important;
}

.mahler-menu-sub a {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: rgba(247,239,226,.84) !important;

  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;

  text-decoration: none !important;

  transition:
    color .18s ease,
    text-shadow .18s ease,
    transform .18s ease !important;
}

.mahler-menu-sub a:hover,
.mahler-menu-sub a:focus-visible {
  color: #d8b873 !important;
  text-shadow: 0 0 14px rgba(198,161,91,.24) !important;
  transform: translateX(3px) !important;
}




/* Ultima voce centrata: composizione 3 colonne più simmetrica */
.mahler-menu-grid > .mahler-menu-group:nth-child(10) {
  grid-column: 2 !important;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

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

  .mahler-menu-inner {
    width: calc(100vw - 190px) !important;
  }

  .mahler-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 42px !important;
    row-gap: 30px !important;
  }
}


/* ---------------------------------------------------------
   MOBILE — CERCA + MENU CUSTOM
   --------------------------------------------------------- */

@media (max-width: 782px) {

  .mahler-rail-controls {
    top: calc(50vh - 94px) !important;

    width: 72px !important;
    height: 56px !important;
  }

  .mahler-search-toggle {
    width: 72px !important;
    height: 56px !important;
  }

  .mahler-search-toggle svg {
    width: 25px !important;
    height: 25px !important;
  }

  .mahler-search-panel {
    right: 10px !important;

    width: min(360px, calc(100vw - 94px)) !important;
  }

  .mahler-search-form {
    height: 48px !important;
  }

  .mahler-search-input {
    font-size: 15px !important;
  }

  .mahler-menu-toggle-custom,
  .mahler-menu-close-custom {
    top: calc(50dvh - 41px) !important;

    width: 72px !important;
    height: 82px !important;
  }

  .mahler-menu-toggle-custom svg {
    width: 27px !important;
    height: 27px !important;
  }

  .mahler-menu-toggle-custom span {
    font-size: 10px !important;
  }

  .mahler-menu-close-custom::before {
    font-size: 44px !important;
  }

  .mahler-menu-inner {
    width: calc(100vw - 112px) !important;

    min-height: 100dvh !important;

    margin: 0 88px 0 24px !important;
    padding: 34px 0 !important;

    align-items: flex-start !important;

    transform: none !important;
  }

  .mahler-menu-grid {
    grid-template-columns: 1fr !important;

    row-gap: 20px !important;
  }

  .mahler-menu-grid > .mahler-menu-group:nth-child(10) {
    grid-column: 1 !important;
  }


  .mahler-menu-title {
    font-size: 25px !important;
    font-weight: 400 !important;
  }

  .mahler-menu-sub a {
    font-size: 16.5px !important;
    font-weight: 400 !important;
  }
}


/* ---------------------------------------------------------
   ACCESSIBILITÀ
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  .mahler-menu-overlay {
    transition: none !important;
  }
}

/* =========================================================
   MAHLER — DISATTIVA DEFINITIVAMENTE IL MENU NATIVO GUTENBERG
   Il menu pubblico è quello custom V11.
   ========================================================= */

body .mahler-header-row .wp-block-navigation.wp-block-navigation {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Gutenberg sposta il pannello responsive fuori dall'Header quando è aperto:
   lo neutralizziamo comunque, così non può più comparire sopra il menu custom. */
body .wp-block-navigation__responsive-container.is-menu-open {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* ---------------------------------------------------------
   MENU V11 — INTERAZIONI HOVER / TOUCH
   --------------------------------------------------------- */

.mahler-menu-toggle-custom,
.mahler-menu-close-custom {
  transition:
    background-color .20s ease,
    color .20s ease,
    box-shadow .20s ease !important;
}

/* Desktop: cambia solo il simbolo, non il riquadro */
@media (hover: hover) and (pointer: fine) {
  .mahler-menu-toggle-custom:hover {
    color: #c6a15b !important;
    background: #f7efe2 !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.11) !important;
  }

  .mahler-menu-close-custom:hover {
    color: #102a43 !important;
    background: #f7efe2 !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.11) !important;
  }

  .mahler-menu-close-custom:hover::before {
    color: #c6a15b !important;
  }
}

/* Tastiera e tocco: evidenzia solo il simbolo */
.mahler-menu-toggle-custom:focus-visible,
.mahler-menu-toggle-custom:active {
  color: #c6a15b !important;
  background: #f7efe2 !important;
  outline: 2px solid rgba(198,161,91,.45) !important;
  outline-offset: -2px !important;
}

.mahler-menu-close-custom:focus-visible,
.mahler-menu-close-custom:active {
  color: #102a43 !important;
  background: #f7efe2 !important;
  outline: 2px solid rgba(198,161,91,.45) !important;
  outline-offset: -2px !important;
}

.mahler-menu-close-custom:focus-visible::before,
.mahler-menu-close-custom:active::before {
  color: #c6a15b !important;
}


/* ---------------------------------------------------------
   MENU V11 — LOGO NELL'OVERLAY APERTO
   Usa lo stesso logo WordPress già presente nell'Header.
   --------------------------------------------------------- */

.mahler-header-row:has(.mahler-menu-state:checked)
.wp-block-site-logo.mahler-fixed-logo,
.mahler-header-row:has(.mahler-menu-state:checked)
.mahler-fixed-logo {
  position: fixed !important;

  top: 24px !important;
  /* Stessa identica posizione del logo sulle slide */
  left: max(36px, calc((100vw - 1180px) / 2)) !important;
  right: auto !important;

  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;

  z-index: 1000060 !important;

  overflow: visible !important;
}



/* Linea istituzionale a destra del logo nel menu aperto */
.mahler-header-row:has(.mahler-menu-state:checked)
.wp-block-site-logo.mahler-fixed-logo::after,
.mahler-header-row:has(.mahler-menu-state:checked)
.mahler-fixed-logo::after {
  content: "" !important;

  position: absolute !important;
  top: 50% !important;
  left: calc(100% + 36px) !important;

  width: 1px !important;
  height: 118px !important;

  background: rgba(247,239,226,.50) !important;

  transform: translateY(-50%) !important;

  pointer-events: none !important;
}

@media (max-width: 782px) {
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 14px !important;
    left: 26px !important;

    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
}
/* =========================================================
   HOME HERO — TIPOGRAFIA ISTITUZIONALE V12
   Titoli più misurati, eleganti e meno "pubblicitari".
   ========================================================= */

.home .mahler-home-slider .mahler-home-slide h1,
.home .mahler-home-slider .mahler-home-slide h2 {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-weight: 400 !important;
  font-size: clamp(42px, 3.7vw, 58px) !important;
  line-height: 1.06 !important;
  letter-spacing: 0.01em !important;

  max-width: 900px !important;
}

.home .mahler-home-slider .mahler-home-slide-kicker {
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
}

.home .mahler-home-slider
.mahler-home-slide
p:not(.mahler-home-slide-kicker) {
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 450 !important;
  line-height: 1.58 !important;

  max-width: 620px !important;
}

.home .mahler-home-slider
.mahler-home-slide
.wp-block-button__link {
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
}


/* TABLET */
@media (max-width: 900px) {
  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    font-size: clamp(38px, 6vw, 50px) !important;
    line-height: 1.04 !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    font-size: 15.5px !important;
  }
}


/* MOBILE */
@media (max-width: 600px) {
  .home .mahler-home-slider .mahler-home-slide h1,
  .home .mahler-home-slider .mahler-home-slide h2 {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.07 !important;
  }

  .home .mahler-home-slider .mahler-home-slide-kicker {
    font-size: 13px !important;
    letter-spacing: .14em !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    font-size: 15px !important;
    line-height: 1.52 !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-button__link {
    font-size: 15px !important;
  }
}

@media (max-width: 782px) {

  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo::after,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo::after {
    display: none !important;
  }
}
/* ---------------------------------------------------------
   MENU APERTO — ALONE LOGO UNIFORME
   Nessun drop-shadow sul PNG: il bagliore è un gradiente morbido
   dietro al logo, così non segue i bordi circolari.
   --------------------------------------------------------- */

.mahler-header-row:has(.mahler-menu-state:checked)
.wp-block-site-logo.mahler-fixed-logo,
.mahler-header-row:has(.mahler-menu-state:checked)
.mahler-fixed-logo {
  isolation: isolate !important;
}

.mahler-header-row:has(.mahler-menu-state:checked)
.wp-block-site-logo.mahler-fixed-logo img,
.mahler-header-row:has(.mahler-menu-state:checked)
.mahler-fixed-logo img {
  position: relative !important;
  z-index: 2 !important;

  filter: none !important;
}

.mahler-header-row:has(.mahler-menu-state:checked)
.wp-block-site-logo.mahler-fixed-logo::before,
.mahler-header-row:has(.mahler-menu-state:checked)
.mahler-fixed-logo::before {
  content: "" !important;

  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  width: 205px !important;
  height: 205px !important;

  border-radius: 50% !important;

  background:
    radial-gradient(
      circle,
      rgba(198,161,91,.14) 0%,
      rgba(198,161,91,.08) 34%,
      rgba(198,161,91,.035) 54%,
      rgba(198,161,91,0) 74%
    ) !important;

  transform: translate(-50%, -50%) !important;

  filter: blur(8px) !important;

  pointer-events: none !important;
  z-index: 1 !important;
}
@media (max-width: 782px) {
  .mahler-menu-inner {
    transform: none !important;
  }
}
/* =========================================================
   PAGINE INTERNE — HEADER NUOVO V13
   Stesso linguaggio della Home:
   - niente vecchia fascia header
   - logo sovrapposto in alto a sinistra
   - CERCA / telefono / posizione / social sul rail destro
   - MENU custom sempre fixed
   - tutti gli elementi, tranne MENU, scorrono via con la pagina
   ========================================================= */

body:not(.home) header.wp-block-template-part {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 10000 !important;

  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  background: transparent !important;
}

body:not(.home) .mahler-header-row {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 10000 !important;

  display: block !important;

  width: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;

  pointer-events: none !important;
}

body:not(.home) .mahler-header-row::after {
  display: none !important;
  content: none !important;
}

body:not(.home) .mahler-header-row > * {
  pointer-events: auto !important;
}


/* Logo pagine interne */
body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
body:not(.home) .mahler-header-row .mahler-fixed-logo {
  position: absolute !important;

  top: 24px !important;
  left: max(36px, calc((100vw - 1180px) / 2)) !important;
  right: auto !important;

  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

  margin: 0 !important;
  padding: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: none !important;

  z-index: 1000010 !important;
}

body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo img,
body:not(.home) .mahler-header-row .mahler-fixed-logo img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: auto !important;

  margin: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: none !important;

  filter:
    drop-shadow(0 2px 7px rgba(0,0,0,.13))
    drop-shadow(0 0 1px rgba(247,239,226,.40)) !important;
}


/* Telefono + posizione + social — pagine interne */
@media (min-width: 783px) {

  body:not(.home) .mahler-header-actions {
    position: absolute !important;

    top: calc(50vh + 64px) !important;
    right: 0 !important;
    left: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 96px !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  body:not(.home) .mahler-header-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #f7efe2 !important;

    filter: drop-shadow(0 1px 3px rgba(0,0,0,.34));
  }

  body:not(.home) .mahler-header-action svg {
    width: 23px !important;
    height: 23px !important;
  }

  body:not(.home) .mahler-header-row .wp-block-social-links {
    position: absolute !important;

    top: calc(50vh + 152px) !important;
    right: 0 !important;
    left: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 96px !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link {
    margin: 0 !important;

    background: transparent !important;
    color: #f7efe2 !important;
  }

  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 36px !important;

    padding: 0 !important;

    filter: drop-shadow(0 1px 3px rgba(0,0,0,.34));
  }

  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link svg {
    width: 24px !important;
    height: 24px !important;

    fill: currentColor !important;
  }

  @media (hover: hover) {
    body:not(.home) .mahler-header-action:hover,
    body:not(.home) .mahler-header-action:focus-visible,
    body:not(.home) .mahler-header-row
    .wp-block-social-links
    .wp-social-link:hover {
      color: #c6a15b !important;
    }
  }
}


/* Tablet */
@media (max-width: 1100px) and (min-width: 783px) {

  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo {
    top: 20px !important;
    left: 36px !important;
    right: auto !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }
}


/* Mobile */
@media (max-width: 782px) {

  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo {
    top: 14px !important;
    left: 26px !important;
    right: auto !important;

    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }

  body:not(.home) .mahler-header-actions {
    position: absolute !important;

    top: calc(50vh + 55px) !important;
    right: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 72px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  body:not(.home) .mahler-header-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 32px !important;

    color: #f7efe2 !important;
  }

  body:not(.home) .mahler-header-action svg {
    width: 20px !important;
    height: 20px !important;
  }

  body:not(.home) .mahler-header-row .wp-block-social-links {
    position: absolute !important;

    top: calc(50vh + 127px) !important;
    right: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 72px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 1000012 !important;
  }

  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link {
    background: transparent !important;
    color: #f7efe2 !important;
  }

  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 32px !important;
  }

  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link svg {
    width: 18px !important;
    height: 18px !important;
  }
}


/* Allineamento esatto del logo alla griglia testi tra 783 e 900 px */
@media (max-width: 900px) and (min-width: 783px) {
  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo,
  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo {
    left: 20px !important;
  }
}


/* Menu aperto — logo identico alla posizione del logo slide su tablet */
@media (max-width: 1100px) and (min-width: 901px) {
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 20px !important;
    left: 36px !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }
}

@media (max-width: 900px) and (min-width: 783px) {
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 20px !important;
    left: 20px !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }
}
/* =========================================================
   MAHLER V15 — ALLINEAMENTO ESATTO LOGO / KICKER + MENU
   =========================================================
   Il PNG ha circa il 7,05% di trasparenza sul lato sinistro.
   Per questo il BOX del logo deve partire un po' prima:
   il primo pixel visibile del sigillo coincide così con
   l'inizio del kicker e di tutti i testi della hero.

   Il medesimo posizionamento è usato anche a menu aperto,
   quindi il logo non si sposta di un pixel.
   ========================================================= */


/* ---------------------------------------------------------
   DESKTOP > 1100
   Testi hero: padding-left clamp(72px, 7vw, 108px)
   Logo: 220px -> trasparenza sinistra ≈ 15.52px
   --------------------------------------------------------- */

@media (min-width: 1101px) {

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo,
  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 24px !important;
    left: calc(clamp(72px, 7vw, 108px) - 15.52px) !important;
    right: auto !important;

    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    transform: none !important;
  }
}


/* ---------------------------------------------------------
   TABLET 901–1100
   Stessa griglia testi desktop
   Logo: 180px -> trasparenza sinistra ≈ 12.70px
   --------------------------------------------------------- */

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

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo,
  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 20px !important;
    left: calc(clamp(72px, 7vw, 108px) - 12.70px) !important;
    right: auto !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;

    transform: none !important;
  }
}


/* ---------------------------------------------------------
   TABLET 601–900
   Inner hero: 100% - 40px -> inizio testi ≈ 20px
   --------------------------------------------------------- */

@media (max-width: 900px) and (min-width: 783px) {

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo,
  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 20px !important;
    left: 7.30px !important;
    right: auto !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;

    transform: none !important;
  }
}

@media (max-width: 782px) and (min-width: 601px) {

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo,
  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 14px !important;
    left: 10.26px !important;
    right: auto !important;

    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;

    transform: none !important;
  }
}


/* ---------------------------------------------------------
   MOBILE <= 600
   Hero: padding-left 26px
   Logo 138px -> trasparenza sinistra ≈ 9.74px
   --------------------------------------------------------- */

@media (max-width: 600px) {

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo,
  body:not(.home) .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  body:not(.home) .mahler-header-row .mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .wp-block-site-logo.mahler-fixed-logo,
  .mahler-header-row:has(.mahler-menu-state:checked)
  .mahler-fixed-logo {
    top: 14px !important;
    left: 16.26px !important;
    right: auto !important;

    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;

    transform: none !important;
  }
}


/* ---------------------------------------------------------
   MENU — APERTURA DA DESTRA VERSO SINISTRA
   --------------------------------------------------------- */

.mahler-menu-overlay {
  transform: translate3d(100%, 0, 0) !important;
  will-change: transform !important;

  transition:
    transform .90s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear .90s !important;
}

.mahler-menu-state:checked ~ .mahler-menu-overlay {
  transform: translate3d(0, 0, 0) !important;

  transition:
    transform .90s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear 0s !important;
}


/* ---------------------------------------------------------
   MENU APERTO — PIÙ SPAZIO TRA LOGO E VOCI
   Spostiamo in basso l'intera griglia, non cambiamo i font.
   --------------------------------------------------------- */

@media (min-width: 1101px) {
  .mahler-menu-inner {
    transform: translateY(94px) !important;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .mahler-menu-inner {
    transform: translateY(82px) !important;
  }
}

@media (max-width: 900px) and (min-width: 783px) {
  .mahler-menu-inner {
    transform: translateY(72px) !important;
  }
}

@media (max-width: 782px) {
  .mahler-menu-inner {
    transform: none !important;
  }
}

/* =========================================================
   MAHLER V7 — SLIDE 4 CONCORSO — IMMAGINI RESPONSIVE
   Desktop: mantiene l'immagine impostata direttamente in WordPress.
   Tablet/iPad: usa la composizione 2048×1536.
   Smartphone: usa la composizione 1440×2560.
   Nessun'altra slide o elemento viene modificato.
   ========================================================= */

/* TABLET / iPAD — 601px → 1200px */
@media (min-width: 601px) and (max-width: 1200px) {

  .mahler-slide-concorso {
    background-image: url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Concorso_Mahler_Hero_01_Editoriale_Tablet_2048x1536.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .mahler-slide-concorso .wp-block-cover__image-background {
    display: none !important;
  }
}

/* iPAD PRO GRANDE IN ORIZZONTALE — fino a 1366px, formato 4:3 */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4 / 3) {

  .mahler-slide-concorso {
    background-image: url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Concorso_Mahler_Hero_01_Editoriale_Tablet_2048x1536.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .mahler-slide-concorso .wp-block-cover__image-background {
    display: none !important;
  }
}

/* SMARTPHONE — fino a 600px */
@media (max-width: 600px) {

  .mahler-slide-concorso {
    background-image: url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Concorso_Mahler_Hero_01_Editoriale_Mobile_1440x2560.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .mahler-slide-concorso .wp-block-cover__image-background {
    display: none !important;
  }
}

/* FINE — SLIDE 4 CONCORSO — IMMAGINI RESPONSIVE */

/* =========================================================
   MAHLER V7 — SLIDE 3 IONIO — IMMAGINI RESPONSIVE
   Desktop: mantiene l'immagine impostata direttamente in WordPress.
   Tablet/iPad: usa la composizione 2048×1536.
   Smartphone: usa la composizione 1440×2560.
   Nessun'altra slide o elemento viene modificato.
   ========================================================= */

/* TABLET / iPAD — 601px → 1200px */
@media (min-width: 601px) and (max-width: 1200px) {

  .mahler-home-slide-3 {
    background-image: url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Ionio_Hero_01_Editoriale_Tablet_2048x1536.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .mahler-home-slide-3 .wp-block-cover__image-background {
    display: none !important;
  }
}

/* iPAD PRO GRANDE IN ORIZZONTALE — fino a 1366px, formato 4:3 */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4 / 3) {

  .mahler-home-slide-3 {
    background-image: url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Ionio_Hero_01_Editoriale_Tablet_2048x1536.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .mahler-home-slide-3 .wp-block-cover__image-background {
    display: none !important;
  }
}

/* SMARTPHONE — fino a 600px */
@media (max-width: 600px) {

  .mahler-home-slide-3 {
    background-image: url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Ionio_Hero_01_Editoriale_Mobile_1440x2560.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .mahler-home-slide-3 .wp-block-cover__image-background {
    display: none !important;
  }
}

/* FINE — SLIDE 3 IONIO — IMMAGINI RESPONSIVE */

/* =========================================================
   MAHLER V7 — HOME SMARTPHONE — RIFINITURA GENERALE V2
   Obiettivi:
   - swipe orizzontale sì, trascinamento dell'intera pagina no;
   - logo / rail / architettura fermi durante il gesto;
   - meno spazio vuoto sopra;
   - proporzioni tipografiche più adatte allo smartphone;
   - testi sempre fuori dal rail destro;
   - fotografie ferme (niente zoom cinematografico mobile);
   - primi punti focali dedicati alle slide senza asset mobile.
   ========================================================= */


/* ---------------------------------------------------------
   1. BLOCCO DELLO SPOSTAMENTO ORIZZONTALE DELLA PAGINA
   Il gesto orizzontale rimane disponibile al JS dello slider.
   Lo scroll verticale della pagina resta normale.
   --------------------------------------------------------- */

@media (max-width: 600px) {

  html,
  body.home {
    overflow-x: hidden !important;
    overscroll-behavior-x: none;
  }

  body.home .wp-site-blocks,
  body.home main,
  body.home .wp-block-post-content {
    overflow-x: hidden !important;
  }

  .home .mahler-home-slider {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    overflow: hidden !important;
    overscroll-behavior-x: none;

    /*
     * pan-y: Safari può scorrere verticalmente la pagina,
     * ma non può trascinarla lateralmente.
     * Lo swipe orizzontale resta leggibile dal JS dello slider.
     */
    touch-action: pan-y pinch-zoom;
    -webkit-user-select: none;
    user-select: none;
  }

  .home .mahler-home-slider .mahler-home-slide {
    width: 100% !important;
    max-width: 100% !important;

    left: 0 !important;
    right: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ---------------------------------------------------------
   2. GRIGLIA MOBILE
   Posizione più alta e area sicura a destra per MENU/social.
   --------------------------------------------------------- */

@media (max-width: 600px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    display: flex !important;
    flex-direction: column !important;

    justify-content: flex-start !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    /*
     * 88px a destra = rail mobile da 72px + respiro.
     * Il contenuto parte molto prima rispetto alla versione precedente.
     */
    padding:
      clamp(210px, 30svh, 250px)
      88px
      96px
      24px !important;

    box-sizing: border-box !important;

    transform: none !important;
    translate: none !important;
  }


  /* Kicker */
  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 11px 0 !important;

    font-size: 10.5px !important;
    line-height: 1.38 !important;

    letter-spacing: .13em !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    hyphens: none !important;
    -webkit-hyphens: none !important;
  }


  /* Titoli */
  .home .mahler-home-slider
  .mahler-home-slide h1,
  .home .mahler-home-slider
  .mahler-home-slide h2 {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    font-size: clamp(30px, 8.5vw, 37px) !important;
    line-height: 1.045 !important;

    letter-spacing: -0.025em !important;

    text-align: left !important;
    text-wrap: balance !important;
  }


  /* Linea editoriale */
  .home .mahler-home-slider
  .mahler-home-slide h1::after,
  .home .mahler-home-slider
  .mahler-home-slide h2::after {
    width: 100% !important;
    max-width: 290px !important;

    height: 1px !important;

    margin: 15px 0 15px 0 !important;
  }


  /* Corpo testo */
  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 18px 0 !important;

    font-size: 13.5px !important;
    line-height: 1.47 !important;

    text-align: left !important;

    word-break: normal !important;
    overflow-wrap: normal !important;

    hyphens: none !important;
    -webkit-hyphens: none !important;
  }


  /* CTA */
  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-buttons {
    width: auto !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-content: flex-start !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-button__link {
    padding: 11px 17px !important;

    font-size: 14px !important;
    line-height: 1.2 !important;
  }


  /* Dots */
  .home .mahler-home-slider-nav {
    left: 24px !important;
    bottom: 22px !important;

    gap: 8px !important;
  }

  .home .mahler-home-slider-dot {
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
  }
}


/* ---------------------------------------------------------
   3. SMARTPHONE STRETTI
   --------------------------------------------------------- */

@media (max-width: 390px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    padding:
      clamp(200px, 29svh, 235px)
      82px
      90px
      20px !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide h1,
  .home .mahler-home-slider
  .mahler-home-slide h2 {
    font-size: clamp(29px, 8.7vw, 35px) !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .home .mahler-home-slider-nav {
    left: 20px !important;
  }
}


/* ---------------------------------------------------------
   4. SU MOBILE LA FOTO RESTA FERMA
   Niente zoom continuo: migliora stabilità e ritaglio.
   --------------------------------------------------------- */

@media (max-width: 600px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__image-background,
  .home .mahler-home-slider
  .mahler-home-slide
  video.wp-block-cover__video-background {
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide.is-active
  .wp-block-cover__image-background,
  .home .mahler-home-slider
  .mahler-home-slide.is-leaving-left
  .wp-block-cover__image-background,
  .home .mahler-home-slider
  .mahler-home-slide.is-leaving-right
  .wp-block-cover__image-background {
    transform: none !important;
  }
}


/* ---------------------------------------------------------
   5. PUNTI FOCALI MOBILE — SLIDE SENZA ASSET VERTICALE
   Sono correzioni conservative basate sulle foto attuali.
   Ionio (3) e Concorso (4) NON vengono toccati:
   usano già le immagini mobile dedicate.
   --------------------------------------------------------- */

@media (max-width: 600px) {

  /* Slide 1 — Accademia */
  .home .mahler-home-slide-1
  .wp-block-cover__image-background {
    object-position: 50% 44% !important;
  }

  /* Slide 2 — Didattica */
  .home .mahler-home-slide-2
  .wp-block-cover__image-background {
    object-position: 58% 50% !important;
  }

  /* Slide 5 — Campus */
  .home .mahler-home-slide-5
  .wp-block-cover__image-background {
    object-position: 52% 50% !important;
  }

  /* Slide 6 — Alta Formazione */
  .home .mahler-home-slide-6
  .wp-block-cover__image-background {
    object-position: 55% 48% !important;
  }

  /* Slide 7 — Saggi & Eventi */
  .home .mahler-home-slide-7
  .wp-block-cover__image-background {
    object-position: 50% 42% !important;
  }
}

/* FINE — HOME SMARTPHONE — RIFINITURA GENERALE V2 */

/* =========================================================
   MAHLER V7 — MENU LOGO SCORREVOLE V16
   Il logo del menu è una copia del logo reale generata dal
   blocco HTML custom. All'apertura:
   - il logo originale dell'header si nasconde;
   - la copia compare nella stessa posizione;
   - logo e voci appartengono allo stesso flusso scrollabile;
   - il pulsante di chiusura resta fixed.
   ========================================================= */


/* ---------------------------------------------------------
   1. NASCONDE SOLO IL LOGO ORIGINALE QUANDO IL MENU È APERTO
   La copia nel menu NON ha la classe .mahler-fixed-logo.
   --------------------------------------------------------- */

.mahler-header-row:has(.mahler-menu-state:checked)
> .wp-block-site-logo.mahler-fixed-logo,
.mahler-header-row:has(.mahler-menu-state:checked)
> .mahler-fixed-logo {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ---------------------------------------------------------
   2. IL CONTENUTO DELL'OVERLAY DIVENTA UN VERO FLUSSO VERTICALE
   --------------------------------------------------------- */

.mahler-menu-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;

  width: 100% !important;
  max-width: none !important;

  min-height: 100dvh !important;

  margin: 0 !important;
  padding: 24px 0 80px !important;

  transform: none !important;
}


/* ---------------------------------------------------------
   3. SLOT DEL LOGO
   --------------------------------------------------------- */

.mahler-menu-logo-flow {
  display: block !important;
  flex: 0 0 auto !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  pointer-events: none !important;
}


/* Copia reale del Site Logo */
.mahler-menu-logo-flow .mahler-menu-logo-clone {
  position: relative !important;

  display: block !important;

  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

  height: auto !important;

  margin:
    0
    0
    0
    calc(clamp(72px, 7vw, 108px) - 15.52px) !important;

  padding: 0 !important;

  overflow: visible !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: none !important;

  z-index: 1 !important;
}

.mahler-menu-logo-flow .mahler-menu-logo-clone img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: none !important;

  filter:
    drop-shadow(0 2px 7px rgba(0,0,0,.13))
    drop-shadow(0 0 1px rgba(247,239,226,.40)) !important;
}


/* Linea istituzionale accanto al logo, come prima */
.mahler-menu-logo-flow .mahler-menu-logo-clone::after {
  content: "" !important;

  position: absolute !important;
  top: 50% !important;
  left: calc(100% + 36px) !important;

  width: 1px !important;
  height: 118px !important;

  background: rgba(247,239,226,.50) !important;

  transform: translateY(-50%) !important;

  pointer-events: none !important;
}


/* ---------------------------------------------------------
   4. GRIGLIA MENU — SOTTO IL LOGO
   --------------------------------------------------------- */

.mahler-menu-grid {
  flex: 0 0 auto !important;

  width: min(1280px, calc(100vw - 250px)) !important;
  max-width: 1280px !important;

  margin: 56px auto 0 !important;
}


/* ---------------------------------------------------------
   5. TABLET 901–1100
   --------------------------------------------------------- */

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

  .mahler-menu-inner {
    padding-top: 20px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;

    margin-left:
      calc(clamp(72px, 7vw, 108px) - 12.70px) !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone::after {
    left: calc(100% + 30px) !important;
    height: 104px !important;
  }

  .mahler-menu-grid {
    width: calc(100vw - 190px) !important;
    margin-top: 48px !important;
  }
}


/* ---------------------------------------------------------
   6. TABLET 783–900
   --------------------------------------------------------- */

@media (max-width: 900px) and (min-width: 783px) {

  .mahler-menu-inner {
    padding-top: 20px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;

    margin-left: 7.30px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone::after {
    left: calc(100% + 26px) !important;
    height: 100px !important;
  }

  .mahler-menu-grid {
    width: calc(100vw - 190px) !important;
    margin-top: 46px !important;
  }
}


/* ---------------------------------------------------------
   7. TABLET 601–782
   --------------------------------------------------------- */

@media (max-width: 782px) and (min-width: 601px) {

  .mahler-menu-inner {
    min-height: 100dvh !important;

    margin: 0 !important;
    padding: 14px 0 54px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone {
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;

    margin-left: 10.26px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone::after {
    display: none !important;
    content: none !important;
  }

  .mahler-menu-grid {
    width: calc(100vw - 112px) !important;

    margin:
      38px
      88px
      0
      24px !important;
  }
}


/* ---------------------------------------------------------
   8. SMARTPHONE <= 600
   Il primo pixel visibile del sigillo coincide con i 26px
   della griglia mobile dei testi.
   --------------------------------------------------------- */

@media (max-width: 600px) {

  .mahler-menu-inner {
    min-height: 100dvh !important;

    margin: 0 !important;
    padding: 14px 0 48px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone {
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;

    margin-left: 16.26px !important;
  }

  .mahler-menu-logo-flow .mahler-menu-logo-clone::after {
    display: none !important;
    content: none !important;
  }

  .mahler-menu-grid {
    width: calc(100vw - 112px) !important;

    margin:
      36px
      88px
      0
      24px !important;
  }
}


/* ---------------------------------------------------------
   9. SICUREZZA — IL CLONE NON È CLICCABILE
   --------------------------------------------------------- */

.mahler-menu-logo-flow .mahler-menu-logo-clone,
.mahler-menu-logo-flow .mahler-menu-logo-clone * {
  pointer-events: none !important;
}

/* FINE — MENU LOGO SCORREVOLE V16 */

/* =========================================================
   MAHLER V7 — TOUCH STABILITY + SNAP MOBILE V17
   - impedisce il trascinamento orizzontale della Home fuori slider;
   - elimina la fascia avorio laterale durante gesture orizzontali;
   - mantiene scroll verticale e swipe dello slider;
   - rende molto più rapido lo snap della slide dopo il rilascio.
   Il drag "pixel-per-pixel" verrà gestito dal JS dello slider.
   ========================================================= */

@media (max-width: 600px) {

  /* Root stabile: nessun rubber-band orizzontale della pagina. */
  html,
  body.home,
  body.home .wp-site-blocks {
    overflow-x: clip !important;
    overscroll-behavior-x: none !important;
  }

  body.home {
    position: relative !important;

    /*
     * Il browser può scorrere verticalmente e fare pinch-zoom,
     * ma non deve trascinare lateralmente l'intera pagina.
     */
    touch-action: pan-y pinch-zoom;
  }

  body.home main,
  body.home .wp-block-post-content {
    overflow-x: clip !important;
    overscroll-behavior-x: none !important;
  }

  /* Lo slider resta il punto destinato al gesto di cambio slide. */
  .home .mahler-home-slider {
    overflow: hidden !important;
    overscroll-behavior-x: none !important;
    touch-action: pan-y pinch-zoom;
  }


  /* -------------------------------------------------------
     SNAP MOBILE PIÙ RAPIDO
     Da 1.05 s a 0.36 s.
     ------------------------------------------------------- */

  .home .mahler-home-slider .mahler-home-slide {
    transition:
      transform .36s cubic-bezier(.22, 1, .36, 1),
      visibility 0s linear .36s !important;
  }

  .home .mahler-home-slider .mahler-home-slide:first-child,
  .home .mahler-home-slider .mahler-home-slide.is-active {
    transition:
      transform .36s cubic-bezier(.22, 1, .36, 1),
      visibility 0s linear 0s !important;
  }

  /*
   * Gli stati di preparazione restano istantanei.
   * Il movimento vero parte soltanto quando il JS cambia stato.
   */
  .home .mahler-home-slider .mahler-home-slide.is-entering-right,
  .home .mahler-home-slider .mahler-home-slide.is-entering-left {
    transition: none !important;
  }
}

/* FINE — TOUCH STABILITY + SNAP MOBILE V17 */

/* =========================================================
   MAHLER V7 — MENU TOUCH STABILE V19
   Cross-device:
   - un solo tap su apertura/chiusura (HTML usa veri button);
   - overlay = solo animazione orizzontale;
   - .mahler-menu-inner = vero contenitore scrollabile;
   - inerzia verticale naturale su touch;
   - logo e voci scorrono insieme;
   - niente scroll della pagina dietro al menu.
   ========================================================= */


/* Pulsanti menu: risposta immediata e nessuna semantica da label. */
.mahler-menu-toggle-custom,
.mahler-menu-close-custom {
  -webkit-appearance: none !important;
  appearance: none !important;

  font: inherit !important;

  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}


/* La pagina sotto non deve muoversi quando il menu è aperto. */
html.mahler-menu-open,
html.mahler-menu-open body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}


/* ---------------------------------------------------------
   TOUCH / PEN / DISPOSITIVI IBRIDI
   Non dipende dal marchio del dispositivo.
   --------------------------------------------------------- */

@media (any-pointer: coarse) {

  /*
   * L'overlay non è più il contenitore che scrolla:
   * può quindi animarsi orizzontalmente senza interferire
   * con l'inerzia verticale.
   */
  .mahler-menu-overlay {
    overflow: hidden !important;

    overscroll-behavior: none !important;
    touch-action: none !important;

    -webkit-overflow-scrolling: auto !important;
  }

  /*
   * Questo è l'unico vero scroller del menu.
   * Logo + voci sono entrambi suoi figli e scorrono insieme.
   */
  .mahler-menu-inner {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    -webkit-overflow-scrolling: touch !important;

    overscroll-behavior-x: none !important;
    overscroll-behavior-y: contain !important;

    touch-action: pan-y !important;

    scroll-behavior: auto !important;

    /*
     * Isola il repaint dello scroller dal pannello animato.
     * Migliora la fluidità durante il primo gesto.
     */
    contain: layout paint !important;
  }

  .mahler-menu-grid,
  .mahler-menu-logo-flow {
    touch-action: pan-y !important;
  }

  .mahler-menu-title,
  .mahler-menu-sub a {
    touch-action: pan-y !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /*
   * Evita che il clone del logo richieda filtri costosi
   * durante l'inerzia dello scroll.
   */
  .mahler-menu-logo-flow .mahler-menu-logo-clone img {
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.08)) !important;
  }
}


/* Fallback per browser touch che non espongono any-pointer bene. */
@media (hover: none) {

  .mahler-menu-overlay {
    overflow: hidden !important;
  }

  .mahler-menu-inner {
    height: 100% !important;
    min-height: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
}

/* FINE — MENU TOUCH STABILE V19 */

/* =========================================================
   MAHLER V7 — STABILITÀ ORIZZONTALE GLOBALE TOUCH V20
   Valida su TUTTE le pagine e su tutti i dispositivi touch:
   - niente trascinamento laterale della pagina;
   - niente fascia avorio a destra/sinistra;
   - scroll verticale normale;
   - pinch zoom consentito;
   - slider Home e menu mantengono i propri gesti JS/touch.
   ========================================================= */


/* ---------------------------------------------------------
   TOUCH / PEN / DISPOSITIVI IBRIDI
   --------------------------------------------------------- */

@media (any-pointer: coarse) {

  html,
  body {
    overflow-x: hidden !important;
    overflow-x: clip !important;

    overscroll-behavior-x: none !important;
  }

  body {
    position: relative !important;

    /*
     * La pagina può scorrere solo verticalmente.
     * Il gesto orizzontale non trascina più il canvas del sito.
     */
    touch-action: pan-y pinch-zoom;
  }

  body .wp-site-blocks,
  body main,
  body .wp-block-post-content,
  body header.wp-block-template-part,
  body footer.wp-block-template-part {
    overflow-x: hidden !important;
    overflow-x: clip !important;

    overscroll-behavior-x: none !important;
  }

  /*
   * Lo slider Home continua a ricevere i gesti del dito
   * tramite il proprio JavaScript.
   */
  .home .mahler-home-slider {
    overflow: hidden !important;
    overscroll-behavior-x: none !important;

    touch-action: pan-y pinch-zoom;
  }

  /*
   * Il menu aperto mantiene il proprio scroller verticale.
   */
  .mahler-menu-inner {
    touch-action: pan-y !important;
  }
}


/* ---------------------------------------------------------
   FALLBACK PER BROWSER TOUCH CHE NON ESPONGONO
   CORRETTAMENTE any-pointer
   --------------------------------------------------------- */

@media (hover: none) {

  html,
  body {
    overflow-x: hidden !important;
    overflow-x: clip !important;

    overscroll-behavior-x: none !important;
  }

  body .wp-site-blocks,
  body main,
  body .wp-block-post-content {
    overflow-x: hidden !important;
    overflow-x: clip !important;

    overscroll-behavior-x: none !important;
  }
}

/* FINE — STABILITÀ ORIZZONTALE GLOBALE TOUCH V20 */

/* =========================================================
   MAHLER V7 — LOGO HOME CLICCABILE V21
   - logo Header cliccabile verso Home;
   - clone nel menu cliccabile verso Home;
   - piccolo indicatore HOME nel menu;
   - logo e indicatore scorrono insieme alle voci;
   - nessuna modifica al layout o al comportamento touch.
   ========================================================= */


/* Logo originale Header */
.mahler-header-row .wp-block-site-logo a,
.mahler-header-row .mahler-fixed-logo a {
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}


/* Il contenitore del logo menu torna interattivo. */
.mahler-menu-logo-flow {
  pointer-events: auto !important;
}


/* Override delle vecchie regole che rendevano il clone non cliccabile. */
.mahler-menu-logo-flow .mahler-menu-logo-clone,
.mahler-menu-logo-flow .mahler-menu-logo-clone * {
  pointer-events: auto !important;
}


/* Link Home dentro il clone del menu */
.mahler-menu-logo-flow .mahler-menu-logo-home-link {
  position: relative !important;

  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;

  color: inherit !important;
  text-decoration: none !important;

  cursor: pointer !important;

  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}


/* Piccolo richiamo HOME, utile anche sui dispositivi touch */
.mahler-menu-logo-flow .mahler-logo-home-label {
  display: block !important;

  margin-top: 7px !important;

  color: #c6a15b !important;

  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  letter-spacing: .18em !important;
  text-transform: uppercase !important;

  opacity: .82 !important;

  transition:
    opacity .25s ease,
    transform .25s ease !important;
}


/* Desktop: feedback molto discreto */
@media (hover: hover) and (pointer: fine) {

  .mahler-menu-logo-flow
  .mahler-menu-logo-home-link:hover
  .mahler-logo-home-label,
  .mahler-menu-logo-flow
  .mahler-menu-logo-home-link:focus-visible
  .mahler-logo-home-label {
    opacity: 1 !important;
    transform: translateY(1px) !important;
  }
}


/* Focus accessibile */
.mahler-menu-logo-flow
.mahler-menu-logo-home-link:focus-visible {
  outline: 1px solid rgba(198,161,91,.78) !important;
  outline-offset: 6px !important;
  border-radius: 2px !important;
}

/* FINE — LOGO HOME CLICCABILE V21 */

/* =========================================================
   MAHLER V7 — HOME MENU ALLINEATA V22
   Allinea la scritta HOME con l'inizio della voce "Accademia"
   senza spostare il sigillo.
   ========================================================= */

@media (max-width: 782px) {

  .mahler-menu-logo-flow .mahler-menu-logo-home-link {
    display: block !important;
    width: 100% !important;
  }

  .mahler-menu-logo-flow .mahler-logo-home-label {
    width: auto !important;

    margin-top: 7px !important;
    margin-left: 7.74px !important;

    text-align: left !important;
  }
}

/* FINE — HOME MENU ALLINEATA V22 */

/* =========================================================
   MAHLER V7 — ALLINEAMENTO HOME + STABILITÀ GLOBALE V24

   1) HOME nel menu allineata alla colonna "Accademia"
      anche su desktop/tablet, senza spostare il sigillo.
   2) Nessun quadrato/outline sul click del logo.
   3) Stop al trascinamento/rubber-band orizzontale dell'intero
      sito anche con trackpad desktop (Mac/Windows), su TUTTE
      le pagine.
   4) Nessuna width/max-width forzata sui wrapper WordPress.
   ========================================================= */


/* ---------------------------------------------------------
   A. STABILITÀ ORIZZONTALE GLOBALE — TUTTI I DISPOSITIVI
   --------------------------------------------------------- */

html,
body {
  overflow-x: hidden !important;
  overflow-x: clip !important;

  overscroll-behavior-x: none !important;
}

body .wp-site-blocks,
body main,
body .wp-block-post-content,
body header.wp-block-template-part,
body footer.wp-block-template-part {
  overflow-x: hidden !important;
  overflow-x: clip !important;

  overscroll-behavior-x: none !important;
}


/*
 * Gli elementi che DEVONO gestire un gesto proprio
 * mantengono il loro comportamento interno.
 */
.home .mahler-home-slider {
  overflow: hidden !important;
  overscroll-behavior-x: none !important;
}

.mahler-menu-overlay,
.mahler-menu-inner {
  overscroll-behavior-x: none !important;
}


/* ---------------------------------------------------------
   B. NESSUN QUADRATO SUL CLICK DEL LOGO
   --------------------------------------------------------- */

.mahler-header-row .wp-block-site-logo a,
.mahler-header-row .mahler-fixed-logo a,
.mahler-menu-logo-flow .mahler-menu-logo-home-link {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;

  -webkit-tap-highlight-color: transparent !important;
}

.mahler-header-row .wp-block-site-logo a:focus,
.mahler-header-row .wp-block-site-logo a:active,
.mahler-header-row .mahler-fixed-logo a:focus,
.mahler-header-row .mahler-fixed-logo a:active,
.mahler-menu-logo-flow .mahler-menu-logo-home-link:focus,
.mahler-menu-logo-flow .mahler-menu-logo-home-link:active,
.mahler-menu-logo-flow .mahler-menu-logo-home-link:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}


/*
 * Manteniamo comunque un feedback accessibile ma senza box:
 * da tastiera viene sottolineata soltanto la parola HOME.
 */
.mahler-menu-logo-flow
.mahler-menu-logo-home-link:focus-visible
.mahler-logo-home-label {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}


/* ---------------------------------------------------------
   C. HOME ALLINEATA CON "ACCADEMIA" — TABLET 901–1100
   Griglia menu: bordo sinistro = 95px.
   Il valore della label è relativo al bordo del clone.
   --------------------------------------------------------- */

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

  .mahler-menu-logo-flow .mahler-menu-logo-home-link {
    display: block !important;
    width: 100% !important;
  }

  .mahler-menu-logo-flow .mahler-logo-home-label {
    width: auto !important;

    margin-top: 7px !important;
    margin-left:
      calc(
        95px -
        (clamp(72px, 7vw, 108px) - 12.70px)
      ) !important;

    text-align: left !important;
  }
}


/* ---------------------------------------------------------
   D. HOME ALLINEATA CON "ACCADEMIA" — TABLET 783–900
   Griglia menu: bordo sinistro = 95px.
   Clone: left = 7.30px.
   --------------------------------------------------------- */

@media (max-width: 900px) and (min-width: 783px) {

  .mahler-menu-logo-flow .mahler-menu-logo-home-link {
    display: block !important;
    width: 100% !important;
  }

  .mahler-menu-logo-flow .mahler-logo-home-label {
    width: auto !important;

    margin-top: 7px !important;
    margin-left: 87.70px !important;

    text-align: left !important;
  }
}


/* ---------------------------------------------------------
   E. HOME ALLINEATA CON "ACCADEMIA" — DESKTOP >=1101

   Bordo sinistro griglia:
   - 125px finché la griglia usa calc(100vw - 250px)
   - (100vw - 1280px)/2 quando raggiunge max-width 1280px.

   Bordo sinistro clone:
   clamp(72px, 7vw, 108px) - 15.52px.

   La differenza tra i due produce l'allineamento reale.
   --------------------------------------------------------- */

@media (min-width: 1101px) {

  .mahler-menu-logo-flow .mahler-menu-logo-home-link {
    display: block !important;
    width: 100% !important;
  }

  .mahler-menu-logo-flow .mahler-logo-home-label {
    width: auto !important;

    margin-top: 7px !important;

    margin-left:
      calc(
        max(125px, calc((100vw - 1280px) / 2))
        -
        (clamp(72px, 7vw, 108px) - 15.52px)
      ) !important;

    text-align: left !important;
  }
}

/* FINE — ALLINEAMENTO HOME + STABILITÀ GLOBALE V24 */

/* =========================================================
   MAHLER V7 — RESPONSIVE RAIL + COMPACT DESKTOP + AUTOPLAY V25

   1) Rail destro coerente tra Safari / Chrome / iOS / Android:
      tutti gli elementi usano la STESSA unità dinamica dvh.
   2) Finestra desktop stretta/bassa:
      layout compatto dedicato, senza sovrapposizioni.
   3) Autoplay:
      più morbido e lento SOLO durante avanzamento automatico.
      Drag/swipe manuale resta rapido e segue il dito via JS.
   ========================================================= */


/* ---------------------------------------------------------
   A. AUTOPLAY PIÙ MORBIDO
   La classe .is-autoplaying viene applicata dal JS V3.
   --------------------------------------------------------- */

.home .mahler-home-slider.is-autoplaying
.mahler-home-slide {
  transition:
    transform 1.38s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear 1.38s !important;
}

.home .mahler-home-slider.is-autoplaying
.mahler-home-slide.is-active {
  transition:
    transform 1.38s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear 0s !important;
}

.home .mahler-home-slider.is-autoplaying
.mahler-home-slide.is-entering-right,
.home .mahler-home-slider.is-autoplaying
.mahler-home-slide.is-entering-left {
  transition: none !important;
}


/* ---------------------------------------------------------
   B. RAIL MOBILE / TABLET STRETTO
   Un'unica origine verticale: 50dvh.
   Niente più mix 50vh / 50dvh.
   --------------------------------------------------------- */

@media (max-width: 782px) {

  /* CERCA: termina esattamente dove inizia MENU */
  .mahler-rail-controls {
    position: absolute !important;

    top: calc(50dvh - 97px) !important;
    right: 0 !important;
    left: auto !important;

    width: 72px !important;
    height: 56px !important;
  }

  .mahler-search-toggle {
    width: 72px !important;
    height: 56px !important;
  }

  /* MENU: -41 → +41 */
  .mahler-menu-toggle-custom,
  .mahler-menu-close-custom {
    top: calc(50dvh - 41px) !important;
    right: 0 !important;

    width: 72px !important;
    height: 82px !important;
  }

  /* TELEFONO + POSIZIONE: parte 6px sotto il MENU */
  .home .mahler-header-actions,
  body:not(.home) .mahler-header-actions {
    position: absolute !important;

    top: calc(50dvh + 47px) !important;
    right: 0 !important;
    left: auto !important;

    width: 72px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2 azioni × 32px + gap 6px = 70px.
     Social parte 6px dopo: +47 + 70 + 6 = +123. */
  .home .mahler-header-row .wp-block-social-links,
  body:not(.home) .mahler-header-row .wp-block-social-links {
    position: absolute !important;

    top: calc(50dvh + 123px) !important;
    right: 0 !important;
    left: auto !important;

    width: 72px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;
  }
}


/* ---------------------------------------------------------
   C. RAIL DESKTOP / TABLET LARGO
   Anche qui usiamo un unico riferimento dvh.
   --------------------------------------------------------- */

@media (min-width: 783px) {

  .mahler-rail-controls {
    top: calc(50dvh - 112px) !important;
  }

  .mahler-menu-toggle-custom,
  .mahler-menu-close-custom {
    top: calc(50dvh - 48px) !important;
  }

  .home .mahler-header-actions,
  body:not(.home) .mahler-header-actions {
    top: calc(50dvh + 64px) !important;
  }

  .home .mahler-header-row .wp-block-social-links,
  body:not(.home) .mahler-header-row .wp-block-social-links {
    top: calc(50dvh + 152px) !important;
  }
}


/* ---------------------------------------------------------
   D. COMPACT DESKTOP
   Per finestre Mac/Windows ridotte: niente desktop "schiacciato".
   Si attiva solo con mouse/trackpad, NON sui dispositivi touch.
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) and (max-width: 900px) {

  .home .mahler-home-slider {
    min-height: 560px !important;
  }

  .home .mahler-header-row .wp-block-site-logo.mahler-fixed-logo,
  .home .mahler-header-row .mahler-fixed-logo {
    top: 14px !important;
    left: 18px !important;

    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
      clamp(165px, 27dvh, 210px)
      88px
      86px
      22px !important;

    box-sizing: border-box !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    width: 100% !important;
    max-width: 100% !important;

    margin-bottom: 8px !important;

    font-size: 9.5px !important;
    line-height: 1.35 !important;
    letter-spacing: .12em !important;

    white-space: normal !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide h1,
  .home .mahler-home-slider
  .mahler-home-slide h2 {
    width: 100% !important;
    max-width: 100% !important;

    font-size: clamp(28px, 5.2vw, 36px) !important;
    line-height: 1.04 !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide h1::after,
  .home .mahler-home-slider
  .mahler-home-slide h2::after {
    margin: 12px 0 12px 0 !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    width: 100% !important;
    max-width: 100% !important;

    margin-bottom: 14px !important;

    font-size: 12.5px !important;
    line-height: 1.42 !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-button__link {
    padding: 10px 15px !important;

    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .home .mahler-home-slider-nav {
    left: 22px !important;
    bottom: 18px !important;
  }

  /* Rail più compatto nella finestra desktop stretta */
  .mahler-rail-controls {
    top: calc(50dvh - 88px) !important;

    width: 64px !important;
    height: 48px !important;
  }

  .mahler-search-toggle {
    width: 64px !important;
    height: 48px !important;
  }

  .mahler-search-toggle svg {
    width: 22px !important;
    height: 22px !important;
  }

  .mahler-menu-toggle-custom,
  .mahler-menu-close-custom {
    top: calc(50dvh - 40px) !important;

    width: 64px !important;
    height: 80px !important;
  }

  .mahler-menu-toggle-custom svg {
    width: 25px !important;
    height: 25px !important;
  }

  .mahler-menu-toggle-custom span {
    font-size: 9.5px !important;
  }

  .home .mahler-header-actions,
  body:not(.home) .mahler-header-actions {
    top: calc(50dvh + 46px) !important;

    width: 64px !important;
    gap: 4px !important;
  }

  .home .mahler-header-action,
  body:not(.home) .mahler-header-action {
    width: 34px !important;
    height: 28px !important;
  }

  .home .mahler-header-row .wp-block-social-links,
  body:not(.home) .mahler-header-row .wp-block-social-links {
    top: calc(50dvh + 110px) !important;

    width: 64px !important;
    gap: 4px !important;
  }

  .home .mahler-header-row
  .wp-block-social-links
  .wp-social-link a,
  body:not(.home) .mahler-header-row
  .wp-block-social-links
  .wp-social-link a {
    width: 34px !important;
    height: 28px !important;
  }
}


/* ---------------------------------------------------------
   E. FINESTRA DESKTOP ANCHE BASSA
   Protegge da sovrapposizioni verticali.
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) and (max-height: 650px) {

  .home .mahler-home-slider {
    min-height: 520px !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    padding-top: 145px !important;
    padding-bottom: 66px !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide h1,
  .home .mahler-home-slider
  .mahler-home-slide h2 {
    font-size: clamp(27px, 4vw, 34px) !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  p:not(.mahler-home-slide-kicker) {
    font-size: 12px !important;
    line-height: 1.38 !important;
  }
}

/* FINE — RESPONSIVE RAIL + COMPACT DESKTOP + AUTOPLAY V25 */

/* =========================================================
   MAHLER V7 — SLIDE 1 RESPONSIVE FOCUS V26
   Accademia: centratura palco / pianoforte / monogramma GM.
   Desktop normale invariato.
   ========================================================= */

/* Smartphone */
@media (max-width: 600px) {
  .home .mahler-home-slide-1
  .wp-block-cover__image-background {
    object-position: 56% 44% !important;
  }
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1200px) {
  .home .mahler-home-slide-1
  .wp-block-cover__image-background {
    object-position: 53% center !important;
  }
}

/* iPad Pro / tablet largo */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {
  .home .mahler-home-slide-1
  .wp-block-cover__image-background {
    object-position: 52% center !important;
  }
}

/* FINE — SLIDE 1 RESPONSIVE FOCUS V26 */

/* =========================================================
   MAHLER V7 — SLIDE 5 RESPONSIVE FOCUS V27
   Campus Musicale Estivo:
   spostamento deciso dell'inquadratura verso destra
   per valorizzare tramonto + area strumento/scena.
   Desktop normale invariato.
   ========================================================= */

/* Smartphone */
@media (max-width: 600px) {
  .home .mahler-home-slide-5
  .wp-block-cover__image-background {
    object-position: 68% 50% !important;
  }
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1200px) {
  .home .mahler-home-slide-5
  .wp-block-cover__image-background {
    object-position: 61% 50% !important;
  }
}

/* iPad Pro / tablet largo */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {
  .home .mahler-home-slide-5
  .wp-block-cover__image-background {
    object-position: 58% 50% !important;
  }
}

/* FINE — SLIDE 5 RESPONSIVE FOCUS V27 */

/* =========================================================
   MAHLER V7 — SLIDE 6 RESPONSIVE FOCUS V32 — SOLO CSS
   Alta Formazione:
   nuova inquadratura calcolata sulla foto originale.
   Obiettivo: il batterista deve comparire appena sul bordo destro,
   con il taglio circa a filo nuca, lasciando più spazio agli allievi.
   Nessun asset aggiuntivo. Desktop normale invariato.
   ========================================================= */

/* Smartphone */
@media (max-width: 600px) {
  .home .mahler-home-slide-6
  .wp-block-cover__image-background {
    object-position: 61% 48% !important;
  }
}

/* Tablet / iPad portrait */
@media (min-width: 601px) and (max-width: 1200px) and (orientation: portrait) {
  .home .mahler-home-slide-6
  .wp-block-cover__image-background {
    object-position: 56% 50% !important;
  }
}

/* Tablet / iPad landscape */
@media (min-width: 601px) and (max-width: 1200px) and (orientation: landscape) {
  .home .mahler-home-slide-6
  .wp-block-cover__image-background {
    object-position: 28% 50% !important;
  }
}

/* iPad Pro / tablet largo */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {
  .home .mahler-home-slide-6
  .wp-block-cover__image-background {
    object-position: 28% 50% !important;
  }
}

/* FINE — SLIDE 6 RESPONSIVE FOCUS V32 — SOLO CSS */

/* =========================================================
   MAHLER V7 — SEARCH + TABLET ALIGNMENT V33

   1) Barra CERCA: non deve più essere tagliata a destra
      su Mac, smartphone o tablet.
   2) Tablet/iPad: kicker e CTA allineati a sinistra,
      come smartphone e desktop.
   3) Nessuna modifica a immagini, slider, swipe, menu,
      autoplay o centrature già approvate.
   ========================================================= */


/* ---------------------------------------------------------
   A. CERCA — CORREZIONE OVERFLOW DELLA PILLOLA
   Il problema era il width:100% del form sommato al padding
   con box-sizing content-box.
   --------------------------------------------------------- */

.mahler-search-panel {
  box-sizing: border-box !important;
  max-width: calc(100vw - 20px) !important;
}

.mahler-search-form {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.mahler-search-input {
  min-width: 0 !important;
}


/* Smartphone: manteniamo il respiro dal bordo destro */
@media (max-width: 600px) {

  .mahler-search-panel {
    right: 10px !important;
    width: min(360px, calc(100vw - 94px)) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .mahler-search-form {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Tablet / iPad */
@media (min-width: 601px) and (max-width: 1200px) {

  .mahler-search-panel {
    right: 14px !important;
    width: min(460px, calc(100vw - 130px)) !important;
    max-width: calc(100vw - 28px) !important;
  }

  .mahler-search-form {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* iPad Pro / tablet largo */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {

  .mahler-search-panel {
    right: 18px !important;
    width: min(460px, calc(100vw - 150px)) !important;
    max-width: calc(100vw - 36px) !important;
  }
}


/* Desktop */
@media (min-width: 1367px) {

  .mahler-search-panel {
    right: 18px !important;
    width: min(460px, calc(100vw - 150px)) !important;
    max-width: calc(100vw - 36px) !important;
  }
}


/* ---------------------------------------------------------
   B. TABLET / iPAD — KICKER E CTA SEMPRE A SINISTRA
   --------------------------------------------------------- */

@media (min-width: 601px) and (max-width: 1200px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    align-self: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    text-align: left !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-buttons {
    align-self: flex-start !important;

    width: auto !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    justify-content: flex-start !important;
    text-align: left !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-button {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* iPad Pro / tablet largo */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-cover__inner-container {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    align-self: flex-start !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    text-align: left !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-buttons {
    align-self: flex-start !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    justify-content: flex-start !important;
    text-align: left !important;
  }

  .home .mahler-home-slider
  .mahler-home-slide
  .wp-block-button {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* FINE — SEARCH + TABLET ALIGNMENT V33 */

/* =========================================================
   MAHLER V7 — KICKER V39
   DIMENSIONI APPROVATE + ALLINEAMENTO TESTI + WRAP MOBILE

   - Mantiene ESATTAMENTE le dimensioni kicker approvate nel V38.
   - Kicker, titolo, paragrafo e CTA partono dalla stessa X
     su smartphone, tablet/iPad e computer.
   - SOLO smartphone:
       Slide 1 Accademia:
       ACCADEMIA MUSICALE
       “GUSTAV MAHLER”

       Slide 3 Festival:
       IONIO INTERNATIONAL
       MUSIC FESTIVAL

       Slide 4 Concorso:
       CONCORSO INTERNAZIONALE DI MUSICA
       “GUSTAV MAHLER”
   - Nessuna modifica a immagini, slider, swipe, autoplay,
     search, menu, titoli, paragrafi o CTA.
   ========================================================= */


/* ---------------------------------------------------------
   A. ALLINEAMENTO ORIZZONTALE COMUNE — TUTTI I DISPOSITIVI
   --------------------------------------------------------- */

.home .mahler-home-slider
.mahler-home-slide
.mahler-home-slide-kicker,

.home .mahler-home-slider
.mahler-home-slide h1,

.home .mahler-home-slider
.mahler-home-slide h2,

.home .mahler-home-slider
.mahler-home-slide
p:not(.mahler-home-slide-kicker),

.home .mahler-home-slider
.mahler-home-slide
.wp-block-buttons {
  align-self: flex-start !important;

  margin-left: 0 !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-inline-start: 0 !important;

  text-indent: 0 !important;
  text-align: left !important;

  box-sizing: border-box !important;
}

.home .mahler-home-slider
.mahler-home-slide
.wp-block-button {
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* ---------------------------------------------------------
   B. DESKTOP NORMALE — DIMENSIONE APPROVATA
   --------------------------------------------------------- */

.home .mahler-home-slider
.mahler-home-slide
.mahler-home-slide-kicker {
  --mahler-kicker-size: 17.5px;

  font-size: var(--mahler-kicker-size) !important;
}


/* ---------------------------------------------------------
   C. TABLET / iPAD — DIMENSIONE APPROVATA
   --------------------------------------------------------- */

@media (min-width: 601px) and (max-width: 1200px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    --mahler-kicker-size: 16.5px;

    width: 100% !important;
    max-width: 100% !important;

    font-size: var(--mahler-kicker-size) !important;

    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
  }
}


/* ---------------------------------------------------------
   D. DESKTOP CON FINESTRA COMPATTA
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) and
       (min-width: 601px) and (max-width: 900px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    --mahler-kicker-size: 14.5px;

    font-size: var(--mahler-kicker-size) !important;
  }
}


/* ---------------------------------------------------------
   E. iPAD PRO / TABLET LARGO
   --------------------------------------------------------- */

@media (min-width: 1201px) and (max-width: 1366px) and
       (max-aspect-ratio: 4/3) {

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    --mahler-kicker-size: 16.5px;

    font-size: var(--mahler-kicker-size) !important;
  }
}


/* ---------------------------------------------------------
   F. SMARTPHONE — DIMENSIONE APPROVATA
   --------------------------------------------------------- */

@media (max-width: 600px) {

  .home .mahler-home-slider
  .mahler-home-slide
  .mahler-home-slide-kicker {
    --mahler-kicker-size: 13.5px;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 11px 0 !important;
    padding: 0 !important;

    font-size: var(--mahler-kicker-size) !important;
    line-height: 1.30 !important;
    letter-spacing: .13em !important;

    text-align: left !important;
  }


  /* -------------------------------------------------------
     G. KICKER MOBILI A DUE RIGHE — STRUTTURA COMUNE
     ------------------------------------------------------- */

  .home .mahler-home-slide-1
  .mahler-home-slide-kicker,

  .home .mahler-home-slide-3
  .mahler-home-slide-kicker,

  .home .mahler-home-slide-4
  .mahler-home-slide-kicker,

  .home .mahler-slide-concorso
  .mahler-home-slide-kicker {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    /* 13.5px × 1.30 × 2 righe */
    height: 35.1px !important;
    min-height: 35.1px !important;
    max-height: 35.1px !important;

    margin: 0 0 11px 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    /* Nasconde il testo originale senza creare
       una seconda riga o altezza residua. */
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-shadow: none !important;

    text-align: left !important;
  }


  .home .mahler-home-slide-1
  .mahler-home-slide-kicker > *,

  .home .mahler-home-slide-3
  .mahler-home-slide-kicker > *,

  .home .mahler-home-slide-4
  .mahler-home-slide-kicker > *,

  .home .mahler-slide-concorso
  .mahler-home-slide-kicker > * {
    display: none !important;
  }


  /* Base grafica identica per i tre kicker speciali */
  .home .mahler-home-slide-1
  .mahler-home-slide-kicker::before,

  .home .mahler-home-slide-3
  .mahler-home-slide-kicker::before,

  .home .mahler-home-slide-4
  .mahler-home-slide-kicker::before,

  .home .mahler-slide-concorso
  .mahler-home-slide-kicker::before {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: pre !important;

    font-family:
      "Avenir Next",
      Avenir,
      "Helvetica Neue",
      Helvetica,
      Arial,
      sans-serif !important;

    font-size: 13.5px !important;
    font-weight: 700 !important;
    line-height: 1.30 !important;
    letter-spacing: .13em !important;

    color: #d8b66e !important;

    text-shadow:
      0 1px 2px rgba(0, 0, 0, 0.45),
      0 0 12px rgba(0, 0, 0, 0.18) !important;

    text-indent: 0 !important;
    text-align: left !important;
  }


  /* SLIDE 1 — ACCADEMIA */
  .home .mahler-home-slide-1
  .mahler-home-slide-kicker::before {
    content:
      "ACCADEMIA MUSICALE\A“GUSTAV MAHLER”";
  }


  /* SLIDE 3 — IONIO INTERNATIONAL MUSIC FESTIVAL */
  .home .mahler-home-slide-3
  .mahler-home-slide-kicker::before {
    content:
      "IONIO INTERNATIONAL\AMUSIC FESTIVAL";
  }


  /* SLIDE 4 — CONCORSO */
  .home .mahler-home-slide-4
  .mahler-home-slide-kicker::before,

  .home .mahler-slide-concorso
  .mahler-home-slide-kicker::before {
    content:
      "CONCORSO INTERNAZIONALE DI MUSICA\A“GUSTAV MAHLER”";
  }


  /* Nessun margine superiore residuo sui titoli
     dopo i kicker speciali. */
  .home .mahler-home-slide-1 h1,
  .home .mahler-home-slide-1 h2,

  .home .mahler-home-slide-3 h1,
  .home .mahler-home-slide-3 h2,

  .home .mahler-home-slide-4 h1,
  .home .mahler-home-slide-4 h2,

  .home .mahler-slide-concorso h1,
  .home .mahler-slide-concorso h2 {
    margin-top: 0 !important;
  }
}

/* FINE — KICKER V39 */

/* =========================================================
   MAHLER V7 — ALLINEAMENTO OTTICO KICKER V40

   Le dimensioni e i ritorni a capo restano IDENTICI al V39.
   Correzione unica:
   il kicker viene spostato otticamente di 2px verso destra
   su TUTTI i dispositivi, così l'inizio visibile delle lettere
   coincide con titolo e paragrafo.

   Nessuna modifica a titoli, paragrafi, CTA, immagini,
   slider, swipe, autoplay, menu o search.
   ========================================================= */

.home .mahler-home-slider
.mahler-home-slide
.mahler-home-slide-kicker {
  transform: translateX(2px) !important;
}

/* FINE — ALLINEAMENTO OTTICO KICKER V40 */

/* =========================================================
   MAHLER V7 — iPAD/TABLET SWIPE MINIMALE V42

   SOLO tablet/iPad touch:
   - nessuna modifica a html/body o alla larghezza della pagina;
   - niente più banda bianca laterale;
   - il gesto verticale resta nativo;
   - lo swipe orizzontale resta gestito dal JS dello slider.
   Smartphone e computer invariati.
   ========================================================= */

@media (min-width: 601px) and (max-width: 1366px) and (hover: none) {

  .home .mahler-home-slider,
  .home .mahler-home-slider .mahler-home-slide,
  .home .mahler-home-slider .wp-block-cover,
  .home .mahler-home-slider .wp-block-cover__inner-container {
    touch-action: pan-y !important;
    overscroll-behavior-x: none !important;
  }

  .home .mahler-home-slider {
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .home .mahler-home-slider img.wp-block-cover__image-background {
    -webkit-user-drag: none !important;
    user-select: none !important;
  }
}

/* FINE — iPAD/TABLET SWIPE MINIMALE V42 */

/* =========================================================
   MAHLER V7 — iPAD/TABLET CONCORSO + MENU HOME V44

   SOLO iPad/tablet:
   1) Slide Concorso: ancora più a destra, fino ad allineare
      il bordo destro dell'immagine al bordo destro della hero,
      così il Direttore rientra interamente nel ritaglio.
   2) Menu overlay: HOME resta allineata con "Accademia".
   Smartphone e computer invariati.
   ========================================================= */


/* ---------------------------------------------------------
   A. SLIDE CONCORSO — TABLET / iPAD PORTRAIT
   --------------------------------------------------------- */

@media (min-width: 601px) and (max-width: 1200px) and (orientation: portrait) {

  .home .mahler-slide-concorso {
    background-position: right center !important;
  }
}


/* ---------------------------------------------------------
   B. SLIDE CONCORSO — TABLET / iPAD LANDSCAPE
   --------------------------------------------------------- */

@media (min-width: 601px) and (max-width: 1200px) and (orientation: landscape) {

  .home .mahler-slide-concorso {
    background-position: 72% center !important;
  }
}


/* ---------------------------------------------------------
   C. iPAD PRO / TABLET LARGO
   --------------------------------------------------------- */

@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {

  .home .mahler-slide-concorso {
    background-position: 72% center !important;
  }
}


/* ---------------------------------------------------------
   D. MENU OVERLAY — HOME ALLINEATA CON "ACCADEMIA"
   iPad/tablet portrait 601–782px.
   --------------------------------------------------------- */

@media (min-width: 601px) and (max-width: 782px) {

  .mahler-menu-logo-flow
  .mahler-logo-home-label {
    margin-left: 13.74px !important;
    text-align: left !important;
  }
}

/* FINE — iPAD/TABLET CONCORSO + MENU HOME V44 */

/* =========================================================
   MAHLER V7 — iPAD/TABLET FESTIVAL V45

   SOLO iPad/tablet:
   Slide Ionio International Music Festival:
   sposta l'inquadratura verso destra per mostrare
   interamente la "I" / colonna grafica sul lato destro.

   Smartphone e computer invariati.
   Tutte le altre correzioni del V44 restano intatte.
   ========================================================= */


/* Tablet / iPad — portrait */
@media (min-width: 601px) and (max-width: 1200px) and (orientation: portrait) {

  .home .mahler-home-slide-3 {
    background-position: right center !important;
  }
}


/* Tablet / iPad — landscape */
@media (min-width: 601px) and (max-width: 1200px) and (orientation: landscape) {

  .home .mahler-home-slide-3 {
    background-position: 64% center !important;
  }
}


/* iPad Pro / tablet largo */
@media (min-width: 1201px) and (max-width: 1366px) and (max-aspect-ratio: 4/3) {

  .home .mahler-home-slide-3 {
    background-position: 64% center !important;
  }
}

/* FINE — iPAD/TABLET FESTIVAL V45 */

/* =========================================================
   MAHLER V7 — DESKTOP FESTIVAL + CONCORSO V46

   SOLO COMPUTER:
   - usa gli asset desktop dedicati;
   - ancora l'immagine al bordo destro;
   - mantiene background-size: cover;
   - in questo modo la parte grafica/logo a destra
     non viene più tagliata dal centraggio del background.

   Smartphone e tablet/iPad restano invariati.
   ========================================================= */


/* Desktop largo + desktop 1201–1366 con mouse/puntatore preciso */
@media (min-width: 1367px),
       (min-width: 1201px) and (max-width: 1366px) and
       (hover: hover) and (pointer: fine) {

  /* IONIO INTERNATIONAL MUSIC FESTIVAL */
  .home .mahler-home-slide-3 {
    background-image:
      url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Ionio_Hero_01_Editoriale_Desktop_3840x2160-scaled.webp") !important;

    background-size: cover !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
  }

  .home .mahler-home-slide-3
  .wp-block-cover__image-background {
    display: none !important;
  }


  /* CONCORSO INTERNAZIONALE DI MUSICA “GUSTAV MAHLER” */
  .home .mahler-home-slide-4,
  .home .mahler-slide-concorso {
    background-image:
      url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Concorso_Mahler_Hero_01_Editoriale_Desktop_3840x2160-scaled.webp") !important;

    background-size: cover !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
  }

  .home .mahler-home-slide-4
  .wp-block-cover__image-background,
  .home .mahler-slide-concorso
  .wp-block-cover__image-background {
    display: none !important;
  }
}

/* FINE — DESKTOP FESTIVAL + CONCORSO V46 */

/* =========================================================
   MAHLER V7 — MOBILE FESTIVAL + CONCORSO V53

   SOLO SMARTPHONE:
   - Festival: stessa scala del V50, ma sfondo spostato
     leggermente più a destra per portare la sporgenza
     superiore della "I" a filo del lato destro della hero;
   - Festival resta ancorato in basso;
   - Concorso: stessa scala del V50, ma ancorato in basso
     per mostrare per intero la parte inferiore del logo;
   - desktop e tablet/iPad invariati;
   - tutto il resto del sito invariato.
   ========================================================= */

@media (max-width: 600px) {

  /* -------------------------------------------------------
     IONIO INTERNATIONAL MUSIC FESTIVAL
     ------------------------------------------------------- */

  .home .mahler-home-slide-3 {
    background-image:
      url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Ionio_Hero_01_Editoriale_Mobile_1440x2560.webp") !important;

    background-size: auto 121% !important;

    /* Avanzamento maggiore oltre il bordo destro:
       serve a portare la sporgenza alta della "I" fino al bordo. */
    background-position: calc(100% + 28px) bottom !important;

    background-repeat: no-repeat !important;
  }

  .home .mahler-home-slide-3
  .wp-block-cover__image-background {
    display: none !important;
  }

  /* Manteniamo la linea corta già approvata */
  .home .mahler-home-slide-3 h1::after,
  .home .mahler-home-slide-3 h2::after {
    width: min(285px, 72vw) !important;
  }


  /* -------------------------------------------------------
     CONCORSO INTERNAZIONALE DI MUSICA “GUSTAV MAHLER”
     ------------------------------------------------------- */

  .home .mahler-home-slide-4,
  .home .mahler-slide-concorso {
    background-image:
      url("https://www.accademiagustavmahler.it/wp-content/uploads/2026/09/Concorso_Mahler_Hero_01_Editoriale_Mobile_1440x2560.webp") !important;

    background-size: auto 123% !important;

    /* Ancora il fondo dell'immagine alla hero:
       la parte bassa del logo resta visibile e il soggetto
       si alza rispetto al precedente centraggio verticale. */
    background-position: right bottom !important;

    background-repeat: no-repeat !important;
  }

  .home .mahler-home-slide-4
  .wp-block-cover__image-background,
  .home .mahler-slide-concorso
  .wp-block-cover__image-background {
    display: none !important;
  }
}

/* FINE — MOBILE FESTIVAL + CONCORSO V53 */

/* =========================================================
   MAHLER V7 — TABLET FESTIVAL V55

   SOLO TABLET / iPAD:
   - Festival: leggero zoom verticale della grafica;
   - bordo superiore ancorato in alto, così la parte alta
     resta esattamente dove si trova ora;
   - la grafica si estende verso il basso fino a far arrivare
     la base a filo del bordo inferiore della hero;
   - smartphone e desktop invariati;
   - Concorso invariato.
   ========================================================= */

@media (min-width: 601px) and (max-width: 1366px) and (hover: none) {

  .home .mahler-home-slide-3 {
    background-size: auto 105% !important;
    background-position: right top !important;
    background-repeat: no-repeat !important;
  }
}

/* FINE — TABLET FESTIVAL V55 */

/* =========================================================
   MAHLER V7 — PROSSIMI APPUNTAMENTI V56

   SOLO sezione TEST / Prossimi appuntamenti.
   Classi richieste:
   - mahler-prossimi-appuntamenti
   - mahler-eventi-sinistra
   - mahler-eventi-destra
   - mahler-calendario-eventi
   - mahler-lista-eventi

   Nessuna regola dello slider/Home V55 viene modificata.
   ========================================================= */


/* ---------------------------------------------------------
   1. STRUTTURA GENERALE
   --------------------------------------------------------- */

.mahler-prossimi-appuntamenti {
  --mahler-events-ivory: #F7EFE2;
  --mahler-events-blue: #102A43;
  --mahler-events-gold: #C6A15B;
  --mahler-events-text: #443833;
  --mahler-events-line: rgba(16, 42, 67, 0.16);

  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: clamp(56px, 5.2vw, 88px) clamp(28px, 5vw, 84px) !important;
  gap: clamp(42px, 5vw, 86px) !important;

  background: var(--mahler-events-ivory) !important;
  color: var(--mahler-events-text) !important;

  align-items: flex-start !important;
}

.mahler-prossimi-appuntamenti,
.mahler-prossimi-appuntamenti * {
  box-sizing: border-box;
}

.mahler-eventi-sinistra,
.mahler-eventi-destra {
  min-width: 0 !important;
}

.mahler-eventi-sinistra {
  position: relative;
}

.mahler-eventi-destra {
  padding-top: 2px !important;
}


/* ---------------------------------------------------------
   2. TITOLO + INTRODUZIONE
   --------------------------------------------------------- */

.mahler-eventi-sinistra > h2,
.mahler-eventi-sinistra h2:first-child {
  margin: 0 0 22px !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: clamp(38px, 3.1vw, 54px) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.035em !important;

  color: var(--mahler-events-blue) !important;
}

.mahler-eventi-sinistra > p,
.mahler-eventi-sinistra h2 + p {
  max-width: 32ch !important;
  margin: 0 0 34px !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;

  color: var(--mahler-events-text) !important;
}


/* ---------------------------------------------------------
   3. CALENDARIO — COMPATTO / EDITORIALE
   --------------------------------------------------------- */

.mahler-calendario-eventi {
  width: 100% !important;
  max-width: 370px !important;
  margin: 12px 0 0 !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: var(--mahler-events-blue) !important;
}

.mahler-calendario-eventi > *,
.mahler-calendario-eventi [class*="sugar-calendar"] {
  box-shadow: none !important;
}

/* Header mese / navigazione */
.mahler-calendario-eventi button,
.mahler-calendario-eventi select {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.mahler-calendario-eventi button {
  min-width: 36px !important;
  min-height: 36px !important;
  border: 1px solid var(--mahler-events-line) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--mahler-events-blue) !important;
  box-shadow: none !important;
}

.mahler-calendario-eventi button:hover,
.mahler-calendario-eventi button:focus-visible {
  border-color: var(--mahler-events-gold) !important;
  background: rgba(198, 161, 91, 0.10) !important;
}

/* Griglia calendario */
.mahler-calendario-eventi table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 4px 7px !important;
  background: transparent !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.mahler-calendario-eventi thead,
.mahler-calendario-eventi tbody,
.mahler-calendario-eventi tr {
  border: 0 !important;
  background: transparent !important;
}

.mahler-calendario-eventi th {
  height: 28px !important;
  padding: 0 2px 5px !important;
  border: 0 !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  color: rgba(68, 56, 51, 0.58) !important;
  background: transparent !important;
}

.mahler-calendario-eventi td {
  width: 14.285% !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;

  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 38px !important;
  text-align: center !important;

  color: var(--mahler-events-blue) !important;
  background: transparent !important;
}

.mahler-calendario-eventi td a {
  display: inline-flex !important;
  width: 34px !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 50% !important;

  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  color: var(--mahler-events-blue) !important;
  background: rgba(198, 161, 91, 0.24) !important;
}

.mahler-calendario-eventi td a:hover,
.mahler-calendario-eventi td a:focus-visible {
  color: #fff !important;
  background: var(--mahler-events-blue) !important;
}


/* ---------------------------------------------------------
   4. LISTA EVENTI — BASE
   --------------------------------------------------------- */

.mahler-lista-eventi,
.mahler-lista-eventi .sugar-calendar-event-list-block,
.mahler-lista-eventi .sugar-calendar-event-list-block__base-container {
  width: 100% !important;
  max-width: none !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: var(--mahler-events-text) !important;
}

/* Grid Sugar Calendar + fallback listview */
.mahler-lista-eventi [class*="gridview"],
.mahler-lista-eventi .sugar-calendar-event-list-block__listview {
  gap: clamp(18px, 2vw, 28px) !important;
}

/* Se il plugin espone una griglia, due card per riga su desktop */
.mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}


/* ---------------------------------------------------------
   5. CARD EVENTO
   --------------------------------------------------------- */

.mahler-lista-eventi
:is(
  [class*="gridview__event"],
  .sugar-calendar-event-list-block__listview__event
) {
  overflow: hidden !important;

  border: 1px solid var(--mahler-events-line) !important;
  border-radius: 0 !important;

  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none !important;
}

/* Immagine */
.mahler-lista-eventi
:is(
  [class*="__body__image__container"],
  [class*="event__image"]
) {
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;

  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* Corpo card */
.mahler-lista-eventi
:is(
  [class*="__body__content"],
  [class*="event__content"]
) {
  padding: 22px 22px 24px !important;
}

/* Date card */
.mahler-lista-eventi [class*="date-card"] {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mahler-events-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.mahler-lista-eventi [class*="date-card"] * {
  color: #fff !important;
}

/* Titoli */
.mahler-lista-eventi
:is(
  [class*="event__title"],
  [class*="__body__content"]
)
:is(h2, h3, h4, h5, h6),
.mahler-lista-eventi
:is(h2, h3, h4, h5, h6) {
  margin-top: 0 !important;
  margin-bottom: 10px !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: clamp(20px, 1.6vw, 25px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;

  color: var(--mahler-events-blue) !important;
}

.mahler-lista-eventi
:is(h2, h3, h4, h5, h6) a,
.mahler-lista-eventi [class*="event__title"] a {
  color: inherit !important;
  text-decoration: none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Descrizione */
.mahler-lista-eventi
:is(
  [class*="description"],
  [class*="excerpt"]
),
.mahler-lista-eventi
:is(
  [class*="__body__content"],
  [class*="event__content"]
) p {
  margin: 0 !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;

  color: var(--mahler-events-text) !important;
}

/* Metadati / ora / luogo */
.mahler-lista-eventi
:is(
  [class*="meta"],
  [class*="time"],
  [class*="location"],
  [class*="venue"]
) {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: rgba(68, 56, 51, 0.72) !important;
}

.mahler-lista-eventi a {
  text-underline-offset: 3px !important;
}

.mahler-lista-eventi a:hover,
.mahler-lista-eventi a:focus-visible {
  color: var(--mahler-events-gold) !important;
}


/* ---------------------------------------------------------
   6. TABLET
   --------------------------------------------------------- */

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

  .mahler-prossimi-appuntamenti {
    padding: 56px 34px !important;
    gap: 38px !important;
  }

  .mahler-eventi-sinistra > h2,
  .mahler-eventi-sinistra h2:first-child {
    font-size: 38px !important;
  }

  .mahler-calendario-eventi {
    max-width: 330px !important;
  }

  .mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mahler-lista-eventi
  :is(
    [class*="__body__content"],
    [class*="event__content"]
  ) {
    padding: 18px 18px 20px !important;
  }
}


/* ---------------------------------------------------------
   7. SMARTPHONE
   --------------------------------------------------------- */

@media (max-width: 600px) {

  .mahler-prossimi-appuntamenti {
    display: flex !important;
    flex-direction: column !important;

    padding: 42px 22px 48px !important;
    gap: 38px !important;
  }

  .mahler-eventi-sinistra,
  .mahler-eventi-destra {
    width: 100% !important;
    flex-basis: 100% !important;
  }

  .mahler-eventi-sinistra > h2,
  .mahler-eventi-sinistra h2:first-child {
    margin-bottom: 16px !important;
    font-size: 32px !important;
    line-height: 1.02 !important;
  }

  .mahler-eventi-sinistra > p,
  .mahler-eventi-sinistra h2 + p {
    max-width: none !important;
    margin-bottom: 26px !important;
    font-size: 15px !important;
  }

  .mahler-calendario-eventi {
    max-width: 100% !important;
  }

  .mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) {
    grid-template-columns: 1fr !important;
  }

  .mahler-lista-eventi
  :is(
    [class*="gridview__event"],
    .sugar-calendar-event-list-block__listview__event
  ) {
    width: 100% !important;
  }

  .mahler-lista-eventi
  :is(
    [class*="__body__content"],
    [class*="event__content"]
  ) {
    padding: 18px 18px 21px !important;
  }

  .mahler-lista-eventi
  :is(h2, h3, h4, h5, h6) {
    font-size: 21px !important;
  }
}

/* FINE — PROSSIMI APPUNTAMENTI V56 */

/* =========================================================
   MAHLER V7 — PROSSIMI APPUNTAMENTI V57
   CORREZIONE VISIVA FORTE DELLA V56

   Obiettivo:
   - calendario realmente compatto, non alto una pagina;
   - colonna sinistra più stretta e ordinata;
   - area eventi più ampia;
   - card editoriali, leggibili e scorrevoli;
   - nessun effetto su Home/slider/menu/search.
   ========================================================= */

.mahler-prossimi-appuntamenti {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 68px 72px 72px !important;
  gap: 56px !important;
  align-items: flex-start !important;
}

/* Colonne: sinistra realmente compatta, destra dominante */
.mahler-prossimi-appuntamenti > .mahler-eventi-sinistra {
  flex: 0 0 320px !important;
  width: 320px !important;
  max-width: 320px !important;
}

.mahler-prossimi-appuntamenti > .mahler-eventi-destra {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Titolo e intro */
.mahler-eventi-sinistra > h2,
.mahler-eventi-sinistra h2:first-child {
  max-width: 290px !important;
  margin: 0 0 24px !important;
  font-size: 49px !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}

.mahler-eventi-sinistra > p,
.mahler-eventi-sinistra h2 + p {
  max-width: 285px !important;
  margin: 0 0 30px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* =========================================================
   CALENDARIO: AZZERA LE ALTEZZE "DA CALENDARIO FULL WIDTH"
   ========================================================= */

.mahler-calendario-eventi {
  width: 320px !important;
  max-width: 320px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Tutti i wrapper interni non devono imporre altezza */
.mahler-calendario-eventi > div,
.mahler-calendario-eventi [class*="calendar"],
.mahler-calendario-eventi [class*="month"],
.mahler-calendario-eventi [role="grid"] {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}

/* Header del mese */
.mahler-calendario-eventi [class*="header"] {
  min-height: 0 !important;
  height: auto !important;
}

.mahler-calendario-eventi select {
  max-width: 180px !important;
  min-height: 36px !important;
  padding: 5px 28px 5px 8px !important;
  border: 0 !important;
  background-color: transparent !important;
  color: #102A43 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Griglia: compatta in qualunque markup usi Sugar Calendar */
.mahler-calendario-eventi table {
  table-layout: fixed !important;
  height: auto !important;
  min-height: 0 !important;
  border-collapse: collapse !important;
  border: 1px solid rgba(16,42,67,.16) !important;
}

.mahler-calendario-eventi thead tr,
.mahler-calendario-eventi [role="row"]:first-child {
  height: 34px !important;
  min-height: 34px !important;
}

.mahler-calendario-eventi tbody tr,
.mahler-calendario-eventi [role="row"]:not(:first-child),
.mahler-calendario-eventi [class*="week"] {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}

.mahler-calendario-eventi th,
.mahler-calendario-eventi [role="columnheader"] {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  vertical-align: middle !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(16,42,67,.12) !important;
  font-size: 10px !important;
  line-height: 34px !important;
}

.mahler-calendario-eventi td,
.mahler-calendario-eventi [role="gridcell"],
.mahler-calendario-eventi [class*="day"] {
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  vertical-align: middle !important;
  line-height: 42px !important;
}

/* Se Sugar Calendar usa DIV per le settimane/celle */
.mahler-calendario-eventi [class*="week"] > *,
.mahler-calendario-eventi [role="row"] > [role="gridcell"] {
  min-height: 42px !important;
  height: 42px !important;
  max-height: 42px !important;
}

/* Evita celle che si allungano per contenuti interni */
.mahler-calendario-eventi td > *,
.mahler-calendario-eventi [role="gridcell"] > *,
.mahler-calendario-eventi [class*="day"] > * {
  min-height: 0 !important;
  max-height: 38px !important;
}

/* Numeri dei giorni */
.mahler-calendario-eventi td,
.mahler-calendario-eventi [role="gridcell"] {
  font-size: 13px !important;
  color: #443833 !important;
}

/* Giorno con evento */
.mahler-calendario-eventi td a,
.mahler-calendario-eventi [role="gridcell"] a {
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 6px auto !important;
  padding: 0 !important;
  line-height: 30px !important;
  border-radius: 50% !important;
  background: #C6A15B !important;
  color: #102A43 !important;
  font-weight: 700 !important;
}

/* =========================================================
   EVENTI: CARD PIÙ GRANDI, ORDINATE, SCORRIMENTO ORIZZONTALE
   ========================================================= */

.mahler-lista-eventi {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Il contenitore grid diventa una fila editoriale scorrevole */
.mahler-lista-eventi [class*="gridview"]:not([class*="event__"]),
.mahler-lista-eventi [class*="grid-view"]:not([class*="event__"]) {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 26px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 2px 12px !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
}

.mahler-lista-eventi [class*="gridview"]:not([class*="event__"])::-webkit-scrollbar,
.mahler-lista-eventi [class*="grid-view"]:not([class*="event__"])::-webkit-scrollbar {
  display: none !important;
}

/* Ogni figlio diretto del grid = card */
.mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) > *,
.mahler-lista-eventi [class*="grid-view"]:not([class*="event__"]) > * {
  flex: 0 0 min(390px, calc((100% - 26px) / 2)) !important;
  width: min(390px, calc((100% - 26px) / 2)) !important;
  min-width: 315px !important;
  scroll-snap-align: start !important;
  overflow: hidden !important;
  border: 1px solid rgba(16,42,67,.17) !important;
  background: rgba(255,255,255,.62) !important;
  box-shadow: none !important;
}

/* Immagini, sia IMG sia background-image */
.mahler-lista-eventi img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

.mahler-lista-eventi [style*="background-image"] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Corpo: dà respiro anche se le classi interne cambiano */
.mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) > * > :not([style*="background-image"]):not(img),
.mahler-lista-eventi [class*="grid-view"]:not([class*="event__"]) > * > :not([style*="background-image"]):not(img) {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Titolo evento */
.mahler-lista-eventi h2,
.mahler-lista-eventi h3,
.mahler-lista-eventi h4,
.mahler-lista-eventi h5,
.mahler-lista-eventi h6 {
  margin: 18px 0 9px !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  color: #102A43 !important;
}

/* Date / orari: niente spezzature assurde */
.mahler-lista-eventi [class*="date"],
.mahler-lista-eventi [class*="time"],
.mahler-lista-eventi time {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: rgba(68,56,51,.72) !important;
}

/* Riassunto: massimo 4 righe sulla Home */
.mahler-lista-eventi p,
.mahler-lista-eventi [class*="description"],
.mahler-lista-eventi [class*="excerpt"] {
  margin: 12px 0 20px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #443833 !important;
}

.mahler-lista-eventi [class*="description"],
.mahler-lista-eventi [class*="excerpt"] {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
}

/* Date card */
.mahler-lista-eventi [class*="date-card"] {
  margin: 18px 20px 0 !important;
  padding: 9px 11px !important;
  width: fit-content !important;
  min-width: 64px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #102A43 !important;
  color: #fff !important;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (min-width: 601px) and (max-width: 1100px) {
  .mahler-prossimi-appuntamenti {
    padding: 54px 34px 60px !important;
    gap: 34px !important;
  }

  .mahler-prossimi-appuntamenti > .mahler-eventi-sinistra {
    flex-basis: 280px !important;
    width: 280px !important;
    max-width: 280px !important;
  }

  .mahler-calendario-eventi {
    width: 280px !important;
    max-width: 280px !important;
  }

  .mahler-eventi-sinistra > h2,
  .mahler-eventi-sinistra h2:first-child {
    font-size: 39px !important;
  }

  .mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) > *,
  .mahler-lista-eventi [class*="grid-view"]:not([class*="event__"]) > * {
    flex-basis: 300px !important;
    width: 300px !important;
    min-width: 300px !important;
  }
}

/* =========================================================
   SMARTPHONE
   ========================================================= */
@media (max-width: 600px) {
  .mahler-prossimi-appuntamenti {
    padding: 42px 20px 48px !important;
    gap: 34px !important;
  }

  .mahler-prossimi-appuntamenti > .mahler-eventi-sinistra,
  .mahler-prossimi-appuntamenti > .mahler-eventi-destra {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .mahler-calendario-eventi {
    width: 100% !important;
    max-width: 100% !important;
  }

  .mahler-eventi-sinistra > h2,
  .mahler-eventi-sinistra h2:first-child {
    max-width: 100% !important;
    font-size: 34px !important;
  }

  .mahler-lista-eventi [class*="gridview"]:not([class*="event__"]) > *,
  .mahler-lista-eventi [class*="grid-view"]:not([class*="event__"]) > * {
    flex-basis: 86vw !important;
    width: 86vw !important;
    min-width: 280px !important;
  }
}

/* FINE — PROSSIMI APPUNTAMENTI V57 */
