/* INIZIO - Fondamenta mobile-first Mega Menu */
.avemm { align-items: center; display: flex; position: static; }
.avemm *, .avemm *::before, .avemm *::after { box-sizing: border-box; }
.avemm-visually-hidden { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0 0 0 0); white-space: nowrap; }
.avemm-toggle, .avemm-navigation__close, .avemm-item__toggle, .avemm-item__title-toggle { appearance: none; background: transparent; border: 0; color: inherit; cursor: pointer; font: inherit; text-align: left; }
/* INIZIO FIX204 - Il titolo con pannello è un controllo espandibile, non un link */
.avemm-item__title-toggle { cursor: default; }
/* FINE FIX204 - Il titolo con pannello è un controllo espandibile, non un link */
.avemm-toggle { align-items: center; display: inline-flex; font-size: 1.5rem; min-height: 2.75rem; min-width: 2.75rem; padding: .5rem; }
.avemm-navigation { background: #fff; bottom: 0; box-shadow: 0 0 1.25rem rgb(0 0 0 / 18%); color: #111; left: 0; max-width: 24rem; overflow-y: auto; position: fixed; top: 0; transform: translateX(-105%); transition: transform .2s ease; width: min(90vw, 24rem); z-index: 1052; }
.avemm-navigation--open { transform: translateX(0); }
.avemm-navigation__header { align-items: center; border-bottom: 1px solid #d9dee2; display: flex; justify-content: space-between; min-height: 4rem; padding: .75rem 1rem; }
.avemm-navigation__close { font-size: 2rem; min-height: 2.75rem; min-width: 2.75rem; }
.avemm-list, .avemm-links, .avemm-links__children, .avemm-brands, .avemm-products { list-style: none; margin: 0; padding: 0; }
.avemm-item { border-bottom: 1px solid #e2e5e8; }
.avemm-item__heading { align-items: stretch; display: flex; }
.avemm-item__link { align-items: center; color: inherit; display: flex; flex: 1; gap: .4rem; min-height: 3.25rem; padding: .75rem 1rem; text-decoration: none; }
/* INIZIO FIX202 - Freccia semplice: in basso da chiusa, a sinistra da aperta */
.avemm-item__toggle { align-items: center; display: inline-flex; justify-content: center; min-height: 3.25rem; min-width: 3.25rem; padding: .75rem; }
.avemm-item__chevron { border-bottom: .1rem solid currentColor; border-right: .1rem solid currentColor; display: block; height: .45rem; transform: rotate(45deg); transform-origin: 60% 60%; transition: transform .16s ease; width: .45rem; }
.avemm-item--open .avemm-item__chevron { transform: rotate(135deg); }
/* FINE FIX202 - Freccia semplice: in basso da chiusa, a sinistra da aperta */
.avemm-badge { background: #e8f2ed; border-radius: 1rem; color: #146c43; font-size: .7rem; padding: .15rem .45rem; }
.avemm-panel { background: #f8f9fa; }
.avemm-panel__inner { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); padding: 1rem; }
.avemm-panel__automatic { display: grid; gap: 1rem; grid-column: 1 / -1; min-width: 0; }
.avemm-panel__automatic-links { min-width: 0; }
/* INIZIO FIX204 - Tutte le categorie del pannello bianco sono link navigabili */
.avemm-panel__primary-link { color: inherit; display: inline-block; font-weight: 700; margin-bottom: .75rem; text-decoration: none; }
.avemm-panel__primary-link { cursor: pointer; }
.avemm-panel__primary-link:hover, .avemm-panel__primary-link:focus-visible { text-decoration: underline; }
/* FINE FIX204 - Tutte le categorie del pannello bianco sono link navigabili */
.avemm-panel__category-links { display: grid; gap: .6rem 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); list-style: none; margin: 0; padding: 0; }
.avemm-panel__category-links a { color: inherit; cursor: pointer; display: block; text-decoration: none; }
.avemm-panel__category-links a:hover, .avemm-panel__category-links a:focus-visible { text-decoration: underline; }
/* INIZIO - Gerarchia ricorsiva delle sottocategorie automatiche */
.avemm-panel__category-children {
  display: grid;
  gap: .45rem;
  list-style: none;
  margin: .45rem 0 0;
  padding-inline-start: 1.25rem;
}
.avemm-panel__category-children a {
  white-space: normal;
  overflow-wrap: anywhere;
}
/* FINE - Gerarchia ricorsiva delle sottocategorie automatiche */
.avemm-panel__menu-image { display: block; height: auto; max-height: 16rem; max-width: 100%; object-fit: contain; width: 100%; }
.avemm-column { display: grid; gap: 1.25rem; min-width: 0; }
.avemm-block { min-width: 0; }
.avemm-block--mobile-hidden, .avemm-column--mobile-hidden { display: none; }
.avemm-block__title { font-size: 1rem; font-weight: 700; margin: 0 0 .75rem; }
.avemm-block__description { color: #5c636a; margin: .5rem 0 0; }
/* INIZIO - Contenuto responsive del blocco Contenuto personalizzato */
.avemm-block-html { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
.avemm-block-html > :first-child { margin-top: 0; }
.avemm-block-html > :last-child { margin-bottom: 0; }
.avemm-block-html p, .avemm-block-html ul, .avemm-block-html ol { margin: 0 0 .75rem; }
.avemm-block-html ul, .avemm-block-html ol { padding-left: 1.25rem; }
.avemm-block-html a { overflow-wrap: anywhere; }
.avemm-block-html img, .avemm-block-html video { height: auto; max-width: 100%; }
.avemm-block-html table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; width: max-content; }
.avemm-block-html th, .avemm-block-html td { padding: .35rem .5rem; vertical-align: top; }
/* FINE - Contenuto responsive del blocco Contenuto personalizzato */
.avemm-links { display: grid; gap: .6rem; }
.avemm-links a { color: inherit; text-decoration: none; }
.avemm-links a:hover, .avemm-links a:focus-visible { text-decoration: underline; }
.avemm-links__primary { font-weight: 600; }
.avemm-links__children { display: grid; gap: .35rem; margin-top: .45rem; padding-left: .75rem; }
.avemm-links__children a { color: #5c636a; font-size: .925rem; }
.avemm-brands { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.avemm-brands a { align-items: center; background: #fff; border: 1px solid #e2e5e8; border-radius: .25rem; color: inherit; display: flex; flex-direction: column; gap: .35rem; min-height: 5.5rem; padding: .5rem; text-align: center; text-decoration: none; }
.avemm-brands img { height: 3rem; max-width: 100%; object-fit: contain; width: auto; }
.avemm-brands span { font-size: .8rem; }
.avemm-banner { color: inherit; display: grid; gap: .4rem; text-decoration: none; }
.avemm-banner img { display: block; height: auto; max-width: 100%; width: 100%; }
.avemm-products { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.avemm-products a { color: inherit; display: grid; gap: .35rem; text-decoration: none; }
.avemm-products img { aspect-ratio: 1; height: auto; object-fit: contain; width: 100%; }
.avemm-separator { border: 0; border-top: 1px solid #d9dee2; margin: .5rem 0; opacity: 1; }
.avemm-backdrop { background: rgb(0 0 0 / 45%); border: 0; bottom: 0; left: 0; position: fixed; right: 0; top: 0; z-index: 1051; }
/* INIZIO FIX207 - Overlay leggero sotto il pannello Mega Menu desktop */
.avemm-page-overlay { background: rgb(0 0 0 / 55%); border: 0; bottom: 0; left: 0; opacity: 0; padding: 0; pointer-events: none; position: fixed; right: 0; transition: opacity 200ms ease-in-out; z-index: 1039; }
.avemm-page-overlay--visible { opacity: 1; pointer-events: auto; }
/* FINE FIX207 - Overlay leggero sotto il pannello Mega Menu desktop */
.avemm-page-locked { overflow: hidden; }
.avemm a:focus-visible, .avemm button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
/* FINE - Fondamenta mobile-first Mega Menu */

/* INIZIO - Adattamento tablet Mega Menu */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .avemm-navigation { max-width: 34rem; width: min(80vw, 34rem); }
  .avemm-panel__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .avemm-column { grid-column: span 2; }
  .avemm-panel__automatic--with-image { align-items: start; grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr); }
}
/* FINE - Adattamento tablet Mega Menu */

/* INIZIO - Layout desktop a tutta larghezza Mega Menu */
@media (min-width: 1200px) {
  .avemm-toggle, .avemm-navigation__header, .avemm-backdrop { display: none; }
  .avemm-navigation { background: transparent; bottom: auto; box-shadow: none; max-width: none; overflow: visible; position: static; transform: none; transition: none; width: auto; }
  .avemm-list { align-items: stretch; display: flex; }
  .avemm-item { border: 0; position: static; }
  .avemm-item__heading { height: 100%; }
  /* INIZIO - Allineamento freccia al titolo nel layout desktop */
  .avemm-item__link { flex: 0 1 auto; min-height: 4rem; padding: .75rem .35rem .75rem .7rem; white-space: nowrap; }
  .avemm-item__toggle { min-height: 4rem; min-width: 1.35rem; padding: 0 .45rem 0 .15rem; }
  /* FINE - Allineamento freccia al titolo nel layout desktop */
  /* INIZIO FIX205/FIX206 - Dissolvenza coordinata sempre sotto la barra */
  .avemm-panel { box-shadow: 0 .75rem 1.5rem rgb(0 0 0 / 15%); left: 0; max-height: calc(100vh - 6rem); opacity: 0; overflow-y: auto; pointer-events: none; position: fixed; right: 0; transform: translateY(4px); transform-origin: top center; transition: opacity var(--avemm-panel-duration, 200ms) ease-in-out, transform var(--avemm-panel-duration, 200ms) ease-in-out; z-index: 1040; }
  .avemm-panel--visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
  /* FINE FIX205/FIX206 - Dissolvenza coordinata sempre sotto la barra */
  .avemm-panel__inner { background: #fff; gap: 1.5rem; grid-template-columns: repeat(12, minmax(0, 1fr)); margin: 0 auto; max-width: 1320px; padding: 1.5rem; }
  /* INIZIO FIX221 - Categorie, colonne configurate e immagine sulla stessa griglia desktop */
  .avemm-panel__automatic { display: contents; }
  .avemm-panel__automatic-links {
    align-self: start;
    grid-column: span 3;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .avemm-panel__menu-image {
    align-self: start;
    grid-column: 10 / -1;
  }
  .avemm-column { align-self: start; }
  /* FINE FIX221 - Categorie, colonne configurate e immagine sulla stessa griglia desktop */
  /* INIZIO FIX200/FIX221 - Titolo separato e sottocategorie in unica colonna verticale */
  .avemm-panel__primary-link { white-space: nowrap; }
  .avemm-panel__category-links { grid-template-columns: minmax(0, 1fr); }
  /* FINE FIX200/FIX221 - Titolo separato e sottocategorie in unica colonna verticale */
  .avemm-block--mobile-hidden, .avemm-column--mobile-hidden { display: block; }
  .avemm-block--desktop-hidden, .avemm-column--desktop-hidden { display: none; }
  .avemm-column--span-3 { grid-column: span 3; }
  .avemm-column--span-4 { grid-column: span 4; }
  .avemm-column--span-1 { grid-column: span 1; }
  .avemm-column--span-2 { grid-column: span 2; }
  .avemm-column--span-5 { grid-column: span 5; }
  .avemm-column--span-6 { grid-column: span 6; }
  .avemm-column--span-7 { grid-column: span 7; }
  .avemm-column--span-8 { grid-column: span 8; }
  .avemm-column--span-9 { grid-column: span 9; }
  .avemm-column--span-10 { grid-column: span 10; }
  .avemm-column--span-11 { grid-column: span 11; }
  .avemm-column--span-12 { grid-column: span 12; }
  .avemm-brands { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .avemm-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* FINE - Layout desktop a tutta larghezza Mega Menu */

/* INIZIO FIX241 - Pipe decorative al posto dei chevron nelle voci principali */
@media (min-width: 1200px),
  (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
  .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__toggle {
    display: none;
  }

  .avemm-list > .avemm-item:not(:last-child) > .avemm-item__heading::after {
    align-self: center;
    color: #e2ffd7;
    content: "|";
    flex: none;
    margin-inline: .1rem;
    pointer-events: none;
  }

  .avemm-list > .avemm-item--open > .avemm-item__heading > .avemm-item__link,
  .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__link[aria-expanded="true"] {
    color: #000;
  }
}

@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
  .header-bottom .avemm #avemm-navigation.avemm-navigation > .avemm-list > .avemm-item:hover > .avemm-item__heading > .avemm-item__link,
  .header-bottom .avemm #avemm-navigation.avemm-navigation > .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__link:hover {
    color: #fffb00 !important;
  }
}
/* FINE FIX241 - Pipe decorative al posto dei chevron nelle voci principali */

/* INIZIO FIX244 — Separatori categorie Mega Menu */
@media (min-width: 1200px),
  (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
  /* INIZIO FIX246 — Gerarchia visiva e separatori alla fine del ramo */
  .avemm-panel__category-links .avemm-panel__category-children {
    padding-inline-start: 1.5rem;
  }

  .avemm-panel__category-links > li:has(> .avemm-panel__category-children):not(:last-child)::after,
  .avemm-panel__category-links > li:not(:has(> .avemm-panel__category-children)):not(:last-child)::after {
    border-bottom: 1px solid #e2ede8;
    content: "";
    display: block;
  }
  /* FINE FIX246 — Gerarchia visiva e separatori alla fine del ramo */
}
/* FINE FIX244 — Separatori categorie Mega Menu */

/* INIZIO FIX238 - Tablet touch landscape: categorie a sinistra e contenuti in alto a destra */
@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
  .avemm-panel__inner {
    align-items: start;
    grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.6fr);
  }

  .avemm-panel__automatic {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    min-width: 0;
  }

  .avemm-panel__automatic--with-image {
    grid-template-columns: minmax(0, 1fr);
  }

  .avemm-panel__inner > .avemm-column {
    grid-column: 2;
    align-self: start;
    min-width: 0;
  }

  .avemm-banner,
  .avemm-banner img,
  .avemm-panel__menu-image {
    max-width: 100%;
    min-width: 0;
  }

  .avemm-banner img,
  .avemm-panel__menu-image {
    height: auto;
    object-fit: contain;
  }

  /* INIZIO FIX239 - Miniatura banner configurato compatta su tablet landscape */
  .avemm-banner img {
    width: auto;
    max-width: 70%;
    max-height: 280px;
    margin: 0 auto .5rem 0;
    justify-self: start;
  }
  /* FINE FIX239 - Miniatura banner configurato compatta su tablet landscape */

  /* INIZIO FIX240 - Colonna editoriale effettiva sulla prima riga a destra */
  .avemm-panel__inner > .avemm-column:has(.avemm-banner) {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    width: min(100%, 42rem);
  }

  .avemm-panel__inner > .avemm-column:has(.avemm-banner) .avemm-banner {
    align-content: start;
    width: 100%;
  }

  .avemm-panel__inner > .avemm-column:has(.avemm-banner) .avemm-banner img {
    width: auto;
    max-width: 100%;
    max-height: 240px;
    margin: 0 0 .5rem auto;
    justify-self: end;
  }
  /* FINE FIX240 - Colonna editoriale effettiva sulla prima riga a destra */
}
/* FINE FIX238 - Tablet touch landscape: categorie a sinistra e contenuti in alto a destra */

/* INIZIO - Riduzione animazioni Mega Menu */
@media (prefers-reduced-motion: reduce) {
  .avemm-navigation, .avemm-item__chevron, .avemm-panel, .avemm-page-overlay { transition: none; }
  .avemm-panel { opacity: 1; transform: none; }
}
/* FINE - Riduzione animazioni Mega Menu */
