/* =====================================================================
   VINALTUM ARCHIVIO — foglio unico delle parti nuove (IT / EN / DE)
   Classi: architettura.md §4.2 (famiglie senza prefisso) + §6-bis.
   Valori: mockup approvato (assets/vinaltum.css) e design-system.md.
   Colori: palette di Avada (Opzioni globali), con il valore di riserva.
   Vietati: ombre, angoli arrotondati, gradienti, opacità sul testo.

   Indice
    0. Colori
    1. Comuni: etichetta, link testuale, segnaposto, testo libero, glifo
    2. Aperture (hero_pagina) e classi d'accento dei Format
    3. Titoli di banda
    4. Bande stampate dall'archivio (section.banda_foto / section.banda_glifo)
    5. Archivio: titolo_anno, dicitura_anno, fatti_anno
    6. Barra dell'edizione (anni + sezioni) e ancore
    7. Espositori
    8. Programma
    9. Galleria segnaposto
   10. Rassegna stampa
   11. Calendario
   12. Banda foto dei format
   13. Home e Esperienze (card_format, anno_home, elenco_format, fatti, logo_format)
   14. Chiusura e citazione
   15. Menu a tutto schermo a gruppi (solo con body.vnl_menu_gruppi)
   16. Responsive
   ===================================================================== */

/* ---------------------------------------------------------------------
   0. COLORI
   --------------------------------------------------------------------- */
:root {
  --vnl-bordeaux:      var(--awb-custom_color_8, #A52C2F);
  --vnl-crema:         var(--awb-custom_color_9, #FEF3E0);
  --vnl-beige:         var(--awb-custom_color_17, #D4C1B1);
  --vnl-rosa:          var(--awb-custom_color_18, #E38C9C);
  --vnl-ocra:          var(--awb-custom_color_19, #E4A45F);
  --vnl-salvia-grigio: var(--awb-custom_color_20, #B4B3A5);
  --vnl-salvia:        var(--awb-custom_color_21, #8EA392);
  --vnl-inchiostro:    var(--awb-color8, #212934);
  --vnl-serif: "Noto Serif Display", Georgia, "Times New Roman", serif;
}

/* ---------------------------------------------------------------------
   1. COMUNI
   --------------------------------------------------------------------- */
.etichetta {
  font-size: 14px; line-height: 25.2px; letter-spacing: 1px;
  text-transform: uppercase; font-weight: 400; margin: 0;
}
/* Quando l'etichetta è un titolo (h3 «Appuntamenti recenti») la tipografia globale di Avada per gli h3,
   diversa per lingua, non deve vincere */
h2.etichetta, h3.etichetta, h4.etichetta {
  font-family: var(--vnl-serif) !important; font-size: 14px !important; line-height: 25.2px !important;
  letter-spacing: 1px !important; text-transform: uppercase !important; font-weight: 400 !important;
  font-style: normal !important; color: inherit !important;
}
.link_testuale {
  font-size: 14px; line-height: 25.2px; letter-spacing: 1px;
  text-transform: uppercase; font-weight: 400;
  color: inherit; text-decoration: none;
}
.link_testuale:hover, .link_testuale:focus { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.link_testuale.rosa, .link_testuale.rosa:hover { color: var(--vnl-rosa); }
.segnaposto { font-style: italic; font-weight: 400; }
/* Frase d'attesa delle sezioni vuote di un'edizione «Annunciata» */
p.in_arrivo {
  font-family: var(--vnl-serif); font-size: 25px; line-height: 45px; font-style: italic; font-weight: 400;
  text-align: center; margin: 0 auto; padding: 60px 0; max-width: 760px; color: inherit;
}
@media (max-width: 800px) { p.in_arrivo { font-size: 20px; line-height: 34px; padding: 30px 0; } }
.testo_libero a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.testo_libero a:hover { color: var(--vnl-bordeaux); }

/* Glifi neri del sito (PNG con margine trasparente: segno visibile ~64 / ~58 px dal bordo della griglia) */
img.glifo, .fusion-imageframe.glifo { display: block; width: 86px; max-width: 86px; height: auto; flex: none; margin-left: -11px; }
img.glifo.fiore, .fusion-imageframe.glifo.fiore { width: 83px; max-width: 83px; margin-left: -12px; }
.fusion-imageframe.glifo img { width: 100%; height: auto; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* ---------------------------------------------------------------------
   2. APERTURE — contenitore .hero_pagina (Edizioni, Esperienze, modelli)
   Fondo e padding negli attributi del contenitore; qui tipografia e accento.
   --------------------------------------------------------------------- */
.hero_pagina { color: #fff; }
.hero_pagina .fusion-title-heading, .hero_pagina p { color: inherit; }
.etichetta_verticale, .etichetta_verticale p {
  writing-mode: vertical-rl; transform: rotate(180deg);
  font-size: 18px !important; line-height: 32.4px !important;
  text-transform: uppercase; white-space: nowrap; margin: 0;
}
.titolo_hero .fusion-title-heading, h1.titolo_hero, h2.titolo_hero {
  font-family: var(--vnl-serif); font-size: 50px !important; line-height: 56px !important;
  font-weight: 400 !important; margin: 0;
}
.titolo_hero em { font-style: italic; font-weight: 900; color: var(--vnl-rosa); }
.testo_hero { padding-left: 50px; margin-top: 50px; }
.testo_hero p { font-size: 18px; line-height: 32.4px; font-style: italic; }
.testo_hero p:last-child { margin-bottom: 0; }

/* Accento dei Format (classe sul <body> messa dal plugin) */
body.accento_bordeaux .hero_pagina   { background-color: var(--vnl-bordeaux) !important; color: #fff; }
body.accento_inchiostro .hero_pagina { background-color: var(--vnl-inchiostro) !important; color: #fff; }
body.accento_salvia .hero_pagina     { background-color: var(--vnl-salvia) !important; color: #000; }
body.accento_ocra .hero_pagina       { background-color: var(--vnl-ocra) !important; color: var(--vnl-inchiostro); }
body.accento_salvia .titolo_hero em  { color: #000; }
body.accento_ocra .titolo_hero em    { color: var(--vnl-inchiostro); }
body.accento_salvia .hero_pagina .link_testuale.rosa,
body.accento_ocra .hero_pagina .link_testuale.rosa { color: inherit; }
/* La barra dell'header prende il colore dell'apertura */
body.accento_bordeaux .fusion-header-wrapper .fusion-header   { background-color: var(--vnl-bordeaux) !important; }
body.accento_inchiostro .fusion-header-wrapper .fusion-header { background-color: var(--vnl-inchiostro) !important; }
body.accento_salvia .fusion-header-wrapper .fusion-header     { background-color: var(--vnl-salvia) !important; }
body.accento_ocra .fusion-header-wrapper .fusion-header       { background-color: var(--vnl-ocra) !important; }
body.accento_salvia .fusion-header .fusion-flyout-menu-icons a,
body.accento_ocra .fusion-header .fusion-flyout-menu-icons a,
body.accento_salvia .fusion-header .fusion-toggle-icon-line,
body.accento_ocra .fusion-header .fusion-toggle-icon-line { color: var(--vnl-inchiostro) !important; border-color: var(--vnl-inchiostro) !important; }
body.accento_salvia .fusion-header .fusion-toggle-icon-line,
body.accento_ocra .fusion-header .fusion-toggle-icon-line { background-color: var(--vnl-inchiostro) !important; }

/* ---------------------------------------------------------------------
   3. TITOLI DI BANDA — 50/56 700, due-tre righe col punto
   --------------------------------------------------------------------- */
.titolo_banda .fusion-title-heading, h2.titolo_banda {
  font-family: var(--vnl-serif); font-size: 50px !important; line-height: 56px !important;
  font-weight: 700 !important; margin: 0;
}

/* ---------------------------------------------------------------------
   4. BANDE STAMPATE DALL'ARCHIVIO [vinaltum_edizioni]
   section.banda_glifo > div > ( div(div(titolo) + glifo) , div.fatti_anno )
   section.banda_foto  > div > ( figure(img) , div(titolo + div.fatti_anno) )
   --------------------------------------------------------------------- */
section.crema         { background: var(--vnl-crema); }
section.beige         { background: var(--vnl-beige); }
section.salvia_grigio { background: var(--vnl-salvia-grigio); }
section.banda_glifo, section.banda_foto { color: #000; }

section.banda_glifo { padding: 70px 30px; }
section.banda_glifo > div {
  max-width: 1300px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 52px;
}
section.banda_glifo > div > div:first-child {
  display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 40px;
}
section.banda_glifo > div > div:last-child > :last-child { margin-bottom: 0; }

section.banda_foto { padding: 0 30px; }
section.banda_foto > div {
  max-width: 1300px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 541px) minmax(0, 1fr);
  column-gap: clamp(40px, 9vw, 162px);
}
section.banda_foto figure { position: relative; min-height: 676px; margin: 0; }
section.banda_foto figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
section.banda_foto > div > div { padding: 40px 0; }
section.banda_foto.centrata > div > div { align-self: center; padding: 70px 0; }
section.banda_foto.invertita > div { grid-template-columns: minmax(0, 1fr) minmax(0, 541px); }
section.banda_foto.invertita figure { order: 2; }
@media (min-width: 1400px) {
  section.banda_foto > div { grid-template-columns: 515px minmax(0, 1fr); column-gap: 188px; }
  section.banda_foto figure { margin-left: -26px; }
  section.banda_foto.invertita > div { grid-template-columns: minmax(0, 1fr) 515px; }
  section.banda_foto.invertita figure { margin-left: 0; margin-right: -26px; }
}

/* ---------------------------------------------------------------------
   5. ARCHIVIO
   --------------------------------------------------------------------- */
h2.titolo_anno, .titolo_anno .fusion-title-heading {
  font-family: var(--vnl-serif); font-size: 120px !important; line-height: 120px !important;
  font-weight: 700 !important; margin: 0; color: inherit;
}
.dicitura_anno { font-size: 25px; line-height: 45px; font-style: italic; margin: 10px 0 0; }
.fatti_anno p { margin: 0 0 10px; }
.fatti_anno .link_testuale { display: inline-block; margin-top: 20px; }
section.banda_foto .fatti_anno { margin-top: 40px; }

/* ---------------------------------------------------------------------
   6. BARRA DELL'EDIZIONE — contenitori Avada «Position Sticky» con classe barra_edizione
   Beige, 72 (56 sotto 900), linea 1px nera solo quando è agganciata (classe «agganciata», JS).
   --------------------------------------------------------------------- */
.barra_edizione { background-color: var(--vnl-beige); border-bottom: 1px solid transparent; min-height: 72px; }
.barra_edizione.agganciata { border-bottom-color: #000; }
.anni_edizione ul, .sezioni_edizione ul { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; }
.anni_edizione a, .anni_edizione span, .sezioni_edizione a { color: var(--vnl-inchiostro); text-decoration: none; }
.anni_edizione a:hover, .sezioni_edizione a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.anni_edizione li { font-family: var(--vnl-serif); font-size: 25px; line-height: 45px; font-style: italic; font-weight: 700; margin: 0; }
.anni_edizione li + li::before { content: "·"; font-style: normal; font-weight: 400; color: var(--vnl-inchiostro); margin: 0 12px; }
.anni_edizione span[aria-current="page"] { color: var(--vnl-bordeaux); }
.sezioni_edizione ul { gap: 40px; }
.sezioni_edizione li { font-family: var(--vnl-serif); font-size: 20px; line-height: 36px; font-style: italic; font-weight: 700; white-space: nowrap; margin: 0; }
.sezioni_edizione a.attiva { color: var(--vnl-bordeaux); }

/* Le ancore non finiscono sotto header + barra */
#espositori, #masterclass, #galleria, #rassegna-stampa, #calendario { scroll-margin-top: 220px; }
html.vnl_scorrimento_morbido { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html.vnl_scorrimento_morbido { scroll-behavior: auto; } }

/* Colonna agganciata della foto Masterclass: offset per dispositivo (prova 2).
   Sotto 1025 l'aggancio della colonna si spegne negli attributi (solo medium e large) e sotto 800 la foto è statica. */
@media (min-width: 1025px) {
  .colonna_agganciata { --awb-sticky-offset: 270px !important; }
}

/* ---------------------------------------------------------------------
   7. ESPOSITORI [vinaltum_espositori] — dentro la colonna salvia-grigio sui tappi
   --------------------------------------------------------------------- */
h2.titolo_pannello {
  font-family: var(--vnl-serif) !important; font-size: 35px !important; line-height: 56px !important; font-weight: 400 !important;
  letter-spacing: 0 !important; text-transform: uppercase !important; text-align: center; margin: 0 0 70px; color: inherit !important;
}
h2.titolo_pannello + .segnaposto { text-align: center; margin: 0; padding: 80px 0; }
ul.elenco_cantine {
  columns: 3; column-gap: 84px;
  padding: 0 0 0 40px; margin: 0;
  list-style: disc outside;
  text-transform: none; /* nomi delle cantine come si scrivono (09/11/2026) */
}
ul.elenco_cantine li { break-inside: avoid; margin: 0 0 20px; }
ul.elenco_cantine li.gruppo_cantine {
  column-span: all; list-style: none; margin: 30px 0 20px -40px;
  font-size: 14px; line-height: 25.2px; letter-spacing: 1px; font-weight: 700; text-transform: uppercase;
}
ul.elenco_cantine li.gruppo_cantine:first-child { margin-top: 0; }
.nota_pannello { font-size: 14px; line-height: 25.2px; font-style: italic; text-align: center; margin: 30px 0 0; }

/* ---------------------------------------------------------------------
   8. PROGRAMMA [vinaltum_programma]
   --------------------------------------------------------------------- */
.programma p { font-size: 20px; line-height: 36px; margin: 0 0 20px; }
.programma h3.programma_giorno {
  font-family: var(--vnl-serif); font-size: 25px !important; line-height: 45px !important;
  font-style: italic; font-weight: 400 !important; color: var(--vnl-bordeaux) !important;
  margin: 30px 0 15px; letter-spacing: 0; text-transform: none;
}
.programma h3.programma_giorno ~ h3.programma_giorno { margin-top: 60px; }
.programma .programma_ora { font-weight: 700; }
.programma .programma_sessione.talk { margin-top: 40px; font-weight: 700; }
.programma .link_testuale { font-size: 14px; line-height: 25.2px; }

/* ---------------------------------------------------------------------
   9. GALLERIA SEGNAPOSTO [vinaltum_galleria] (le foto vere: galleria nativa di Avada)
   --------------------------------------------------------------------- */
ul.galleria_segnaposto {
  list-style: none; padding: 0; margin: 40px 0 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
}
ul.galleria_segnaposto li {
  aspect-ratio: 3 / 2; background: var(--vnl-beige); color: #000;
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 15px; margin: 0;
}

/* ---------------------------------------------------------------------
   10. RASSEGNA STAMPA [vinaltum_rassegna]
   li.rassegna_riga > strong (testata) · time (data) · span (titolo) · a.link_testuale
   --------------------------------------------------------------------- */
p.segnaposto + ul.rassegna { margin-top: 30px; }
ul.rassegna {
  list-style: none; padding: 0; margin: 30px 0 0;
  border-top: 1px solid currentColor;
}
li.rassegna_riga {
  display: grid;
  grid-template-columns: minmax(160px, 260px) minmax(140px, 220px) minmax(0, 1fr) minmax(110px, 160px);
  column-gap: 20px; align-items: baseline;
  padding: 24px 0; margin: 0; border-bottom: 1px solid currentColor;
}
li.rassegna_riga > strong { font-weight: 700; text-transform: uppercase; }
li.rassegna_riga > time { font-style: italic; }
li.rassegna_riga > :last-child { justify-self: end; text-align: right; }
li.rassegna_riga.segnaposto > * { font-style: italic; font-weight: 400; text-transform: none; color: var(--vnl-inchiostro); }
li.rassegna_riga.segnaposto > :last-child { font-style: normal; text-transform: uppercase; }

/* ---------------------------------------------------------------------
   11. CALENDARIO [vinaltum_calendario]
   ul.calendario_filtro > li > button[aria-pressed]
   div.calendario_elenco > ( p.segnaposto + p.testo_libero | div[gruppo] ) , div[gruppo](h3.etichetta + ul) , p > a
   li.calendario_riga > span.calendario_data(time + small) · strong (format) · span (luogo) · a.link_testuale
   --------------------------------------------------------------------- */
ul.calendario_filtro { list-style: none; padding: 0; margin: 40px 0 0; display: flex; flex-wrap: wrap; align-items: center; row-gap: 10px; }
ul.calendario_filtro li { margin: 0; }
ul.calendario_filtro li + li::before { content: "·"; margin: 0 12px; }
ul.calendario_filtro button {
  background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: #000;
  font-family: var(--vnl-serif); font-size: 14px; line-height: 25.2px; letter-spacing: 1px;
  text-transform: uppercase; font-weight: 400;
}
ul.calendario_filtro button:hover { text-decoration: underline; text-underline-offset: 4px; }
ul.calendario_filtro button[aria-pressed="true"] { color: var(--vnl-bordeaux); font-weight: 700; }

.calendario_elenco > p.segnaposto:first-child { margin: 0 0 15px; }
.calendario_elenco > p.segnaposto:first-child + p.testo_libero { margin-bottom: 0; }
.calendario_elenco > * + [data-vnl-cal-gruppo] { margin-top: 50px; }
.calendario_elenco [data-vnl-cal-gruppo] > .etichetta { margin: 0 0 16px; }
.calendario_elenco ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid currentColor; }
.calendario_elenco [data-vnl-cal-vuoto], .calendario_elenco [data-vnl-cal-gruppo] > p.segnaposto { margin: 24px 0 0; }
.calendario_elenco > p:last-child:not(.segnaposto):not(.testo_libero) { margin: 30px 0 0; }
.calendario_elenco [hidden] { display: none !important; }

li.calendario_riga {
  display: grid;
  grid-template-columns: minmax(180px, 300px) minmax(160px, 300px) minmax(0, 1fr) minmax(110px, 160px);
  column-gap: 20px; align-items: baseline;
  padding: 24px 0; margin: 0; border-bottom: 1px solid currentColor;
}
.calendario_data { font-size: 25px; line-height: 45px; font-style: italic; color: var(--vnl-bordeaux); }
.calendario_data small { display: block; font-size: 18px; line-height: 32.4px; font-style: normal; color: #000; }
.calendario_data.senza_data { color: inherit; }
li.calendario_riga > strong { font-weight: 700; text-transform: uppercase; }
/* 1.0.8: descrizione breve dell'appuntamento, sopra il luogo, nella stessa colonna */
.calendario_descrizione { display: block; margin-bottom: 4px; font-style: italic; }
li.calendario_riga > a { justify-self: end; text-align: right; }
/* 1.0.9: prezzo, telefono e flyer dell'appuntamento, sotto il luogo */
.calendario_info { display: block; margin-top: 4px; }
.calendario_info > span { display: block; }
.calendario_prezzo { font-weight: 700; }
a.calendario_tel { color: var(--vnl-bordeaux); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
a.calendario_tel:hover, a.calendario_tel:focus-visible { text-decoration-thickness: 2px; }
button.calendario_flyer {
  display: flex; align-items: center; gap: 12px; margin: 12px 0 0; padding: 0;
  background: none; border: 0; color: inherit; font: inherit; cursor: zoom-in; text-align: left;
}
button.calendario_flyer img { display: block; width: 72px; height: auto; border: 1px solid currentColor; }
.calendario_flyer_testo { text-decoration: underline; text-underline-offset: 4px; }
button.calendario_flyer:hover .calendario_flyer_testo { text-decoration-thickness: 2px; }
button.calendario_flyer:focus-visible { outline: 2px solid var(--vnl-bordeaux); outline-offset: 4px; }
dialog.vnl_lightbox {
  padding: 0; border: 0; background: transparent; max-width: 100vw; max-height: 100vh;
  width: 100vw; height: 100vh; margin: 0; overflow: hidden;
}
dialog.vnl_lightbox::backdrop { background: rgba(0, 0, 0, .88); }
dialog.vnl_lightbox[open] { display: flex; align-items: center; justify-content: center; }
dialog.vnl_lightbox img { display: block; max-width: calc(100vw - 32px); max-height: calc(100vh - 96px); width: auto; height: auto; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
button.vnl_lightbox_chiudi {
  position: absolute; top: 12px; right: 12px; width: 48px; height: 48px; padding: 0;
  border: 1px solid #fff; border-radius: 50%; background: rgba(0, 0, 0, .4); color: #fff;
  font-size: 28px; line-height: 1; cursor: pointer;
}
button.vnl_lightbox_chiudi:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
html.vnl_lightbox_aperto { overflow: hidden; }

/* Compatto: dentro la colonna destra di una banda a due colonne (Esperienze e modello Format) */
@media (min-width: 1101px) {
  .calendario_elenco.compatto li.calendario_riga {
    grid-template-columns: minmax(0, 230px) minmax(0, 1fr);
    row-gap: 4px; align-items: start;
  }
  .calendario_elenco.compatto .calendario_data { grid-column: 1; grid-row: 1 / span 3; }
  .calendario_elenco.compatto li.calendario_riga > :not(.calendario_data) { grid-column: 2; }
  .calendario_elenco.compatto li.calendario_riga > strong,
  .calendario_elenco.compatto .calendario_data + span { padding-top: 6px; }
  .calendario_elenco.compatto li.calendario_riga > a { justify-self: start; text-align: left; margin-top: 6px; }
}
@media (max-width: 1100px) {
  .calendario_elenco.compatto li.calendario_riga { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 20px 0; }
  .calendario_elenco.compatto li.calendario_riga > a { align-self: flex-start; text-align: left; margin-top: 4px; }
}

/* ---------------------------------------------------------------------
   12. BANDA FOTO DEI FORMAT [vinaltum_foto] — 4:5 affiancate, passo 10, max 541
   --------------------------------------------------------------------- */
ul.foto_striscia { list-style: none; padding: 0; margin: 0 auto; max-width: 1300px; display: flex; justify-content: center; gap: 10px; }
ul.foto_striscia li { flex: 0 1 541px; margin: 0; }
ul.foto_striscia img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
ul.foto_striscia img.intera { object-fit: contain; }

/* ---------------------------------------------------------------------
   13. HOME ED ESPERIENZE (Post Card ed elementi del builder)
   --------------------------------------------------------------------- */
.card_format .fusion-title-heading, .card_format h3 { font-family: var(--vnl-serif); font-size: 25px !important; line-height: 1.3 !important; font-weight: 700 !important; }
.card_format p { font-size: 18px; line-height: 32.4px; }
.anno_home .fusion-title-heading { font-family: var(--vnl-serif); font-size: 50px !important; line-height: 56px !important; font-weight: 400 !important; }
.anno_home p { font-style: italic; margin-top: 8px; }
.fatti dt, .fatti strong { display: block; font-size: 20px; line-height: 36px; font-weight: 700; margin: 0; }
.fatti dd, .fatti p { font-size: 18px; line-height: 32.4px; margin: 0 0 15px; }
.fatti dd:last-child, .fatti p:last-child { margin-bottom: 0; }
img.logo_format, .logo_format img { display: block; width: auto; height: auto; max-width: min(260px, 100%); max-height: 80px; }

/* Esperienze: le bande si alternano (lato della foto e colore) */
.elenco_format .fusion-grid > li:nth-child(3n+1) .fusion-fullwidth,
.elenco_format .fusion-grid-column:nth-child(3n+1) > .fusion-column-wrapper { background-color: var(--vnl-beige); }
.elenco_format .fusion-grid > li:nth-child(3n+2) .fusion-fullwidth,
.elenco_format .fusion-grid-column:nth-child(3n+2) > .fusion-column-wrapper { background-color: var(--vnl-crema); }
.elenco_format .fusion-grid > li:nth-child(3n) .fusion-fullwidth,
.elenco_format .fusion-grid-column:nth-child(3n) > .fusion-column-wrapper { background-color: var(--vnl-salvia-grigio); }
@media (min-width: 801px) {
  .elenco_format .fusion-grid > li:nth-child(even) .fusion-builder-row,
  .elenco_format .fusion-grid-column:nth-child(even) .fusion-builder-row { flex-direction: row-reverse; }
}

/* ---------------------------------------------------------------------
   14. CHIUSURA E CITAZIONE
   --------------------------------------------------------------------- */
.azioni_cta { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; }
body.senza_foto_banda .fusion-fullwidth:has(.azioni_cta) { background-color: var(--vnl-beige) !important; }
.testo_citazione p, .testo_citazione {
  font-size: 35px; line-height: 45px; font-style: italic; text-align: center; color: #fff; margin: 0;
}

/* ---------------------------------------------------------------------
   15. MENU A TUTTO SCHERMO A GRUPPI (flyout v6, profondità 2)
   Si accende solo quando il menu principale ha voci con figlie (body.vnl_menu_gruppi):
   finché il menu non è riordinato (Fase 4) il flyout di oggi non cambia.
   --------------------------------------------------------------------- */
body.vnl_menu_gruppi .fusion-flyout-menu {
  align-items: flex-start !important;
  min-height: 0 !important; padding-top: 0 !important;
}
/* top/height solo a menu aperto (Fase 6, rilievo 1): da chiuso Avada lo porta a top:-1000%,
   e comunque da chiuso non deve intercettare click */
body.vnl_menu_gruppi .fusion-flyout-active .fusion-flyout-menu {
  top: 150px !important; height: calc(100% - 150px) !important;
}
body.vnl_menu_gruppi .fusion-header-has-flyout-menu:not(.fusion-flyout-active) .fusion-flyout-menu {
  visibility: hidden !important; pointer-events: none !important;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu {
  display: flex !important; flex-wrap: wrap; justify-content: center; align-items: flex-start;
  column-gap: 60px; max-width: 1200px; margin: 0 auto !important; padding: 45px 0 70px !important;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li { flex: 0 0 100%; float: none !important; margin: 0 !important; }
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.menu-item-has-children { flex: 0 0 360px; margin: 40px 0 60px !important; padding: 0 !important; }
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.menu-item-has-children > a {
  display: inline-block; margin: 0 0 5px; padding: 0 !important; line-height: 25.2px !important; min-height: 0 !important;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.menu-item-has-children > a .menu-text {
  font-family: var(--vnl-serif); font-size: 14px !important; line-height: 25.2px !important;
  letter-spacing: 1px; text-transform: uppercase; font-style: normal !important; font-weight: 400 !important;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.senza_link > a { cursor: default; }
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu .sub-menu {
  position: static !important; display: block !important; visibility: inherit !important; opacity: 1 !important; /* inherit: chiuso = nascosto, anche alla tastiera (bug hunt, rilievo 7) */
  width: auto !important; background: none !important; box-shadow: none !important; border: 0 !important;
  padding: 0 !important; margin: 0 !important; transform: none !important; list-style: none;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu .sub-menu li {
  display: block !important; float: none !important; border: 0 !important; background: none !important;
  padding: 0 !important; text-align: center;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu .sub-menu li > a {
  background: none !important; border: 0 !important; padding: 15px 0 !important; display: inline-block;
  font-family: var(--vnl-serif); font-size: 30px !important; line-height: 30px !important;
  font-style: italic; font-weight: 700; color: var(--vnl-inchiostro) !important;
}
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu .sub-menu li > a:hover,
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu .sub-menu li.current-menu-item > a,
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.current-menu-ancestor > a { color: var(--vnl-bordeaux) !important; }
/* Bandierine WPML in una riga, passo 20 (Avada dà loro width:100%) */
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.wpml-ls-item { flex: 0 0 auto; width: auto !important; margin: 30px -20px 0 !important; }
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.wpml-ls-item > a { padding: 4px !important; }
body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.wpml-ls-item + li.wpml-ls-item { margin-left: 0 !important; }

/* =====================================================================
   16. RESPONSIVE (tablet ≤1100, barra ≤900, mobile ≤800, ≤480)
   ===================================================================== */
@media (max-width: 1100px) {
  .sezioni_edizione ul { gap: 24px; }
  ul.elenco_cantine { column-gap: 40px; }
  body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu { column-gap: 30px; }
}
@media (max-width: 1024px) {
  #espositori, #masterclass, #galleria, #rassegna-stampa, #calendario { scroll-margin-top: 56px; }
}
@media (max-width: 960px) {
  ul.elenco_cantine { columns: 2; }
}
@media (max-width: 900px) {
  .barra_edizione { min-height: 56px; }
  .sezioni_edizione {
    overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .sezioni_edizione::-webkit-scrollbar { display: none; }
  .sezioni_edizione ul { gap: 40px; white-space: nowrap; }
}
@media (max-width: 800px) {
  /* Aperture */
  .testo_hero { margin-top: 30px; }
  .etichetta_verticale, .etichetta_verticale p { margin-bottom: 30px; }

  /* Bande dell'archivio: titolo, testo, glifo / foto in alto da bordo a bordo */
  section.banda_glifo { padding: 50px 30px; }
  section.banda_glifo > div { display: flex; flex-direction: column; gap: 30px; }
  section.banda_glifo > div > div:first-child { display: contents; }
  section.banda_glifo img.glifo { order: 9; }
  section.banda_foto > div { display: block; }
  section.banda_foto figure { margin: 0 -30px; min-height: 0; height: 480px; }
  section.banda_foto > div > div, section.banda_foto.centrata > div > div { padding: 40px 0 50px; }
  h2.titolo_anno, .titolo_anno .fusion-title-heading { font-size: 100px !important; line-height: 100px !important; }

  /* Espositori */
  h2.titolo_pannello { margin-bottom: 40px; }
  h2.titolo_pannello + .segnaposto { padding: 30px 0; }
  ul.elenco_cantine { columns: 1; padding-left: 20px; }
  ul.elenco_cantine li { margin-bottom: 15px; }
  ul.elenco_cantine li.gruppo_cantine { margin-left: -20px; }

  /* Programma: testo 18 */
  .programma p { font-size: 18px; line-height: 32.4px; }
  .programma h3.programma_giorno ~ h3.programma_giorno { margin-top: 50px; }

  /* Galleria segnaposto: 2 colonne */
  ul.galleria_segnaposto { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; }
  ul.galleria_segnaposto li { padding: 10px; }
  ul.galleria_segnaposto .etichetta { font-size: 12px; line-height: 20px; letter-spacing: .5px; }

  /* Rassegna e calendario: righe impilate */
  li.rassegna_riga, li.calendario_riga { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 20px 0; }
  li.rassegna_riga > :last-child, li.calendario_riga > a { align-self: flex-start; text-align: left; margin-top: 4px; }
  .calendario_elenco > * + [data-vnl-cal-gruppo] { margin-top: 40px; }
  ul.calendario_filtro { row-gap: 15px; column-gap: 24px; }
  ul.calendario_filtro li + li::before { content: none; }

  /* Banda foto: una sotto l'altra */
  ul.foto_striscia { flex-direction: column; }
  ul.foto_striscia li { flex: none; }

  img.logo_format, .logo_format img { max-height: 64px; }

  /* Menu a gruppi: una colonna */
  body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu { padding-top: 0 !important; }
  body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.menu-item-has-children { flex: 0 0 100%; margin: 40px 0 0 !important; }
  body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu > li.menu-item-has-children + li:not(.menu-item-has-children) { margin-top: 40px !important; }
  body.vnl_menu_gruppi .fusion-flyout-menu .fusion-menu .sub-menu li > a { line-height: 36px !important; padding: 12px 0 !important; }
}
@media (max-width: 480px) {
  .titolo_banda.lungo .fusion-title-heading, h2.titolo_banda.lungo { font-size: 42px !important; line-height: 48px !important; }
}

/* =====================================================================
   17. FASE 4 — CONTENITORI DEL BUILDER (pagine, modelli, Post Card)
   Le famiglie qui sotto vivono in contenitori/colonne/elementi nativi di Avada:
   colori e padding stanno negli attributi, qui solo ciò che gli attributi non danno.
   Nota: Avada tratta le griglie come «medium» fino a 2000px (grid_main_break_point):
   le colonne delle Post Card si danno qui, coi punti di rottura del mockup (1100 / 800).
   ===================================================================== */

/* Aperture: la scritta verticale ruota una volta sola (sul paragrafo) */
.fusion-text.etichetta_verticale { writing-mode: horizontal-tb; transform: none; }
.hero_pagina .fusion-title-heading, .hero_pagina .fusion-text, .hero_pagina .fusion-text p { color: inherit !important; }
.hero_pagina .testo_hero { margin-top: 50px !important; margin-bottom: 0 !important; }
.hero_pagina .fusion-text.etichetta { margin: 15px 0 30px !important; }
.hero_pagina .logo_format { margin: 0 !important; }
.hero_pagina .logo_format img { max-height: 80px; width: auto; }

/* Titoli dei builder: 50/56 700 (h2) senza i margini della tipografia globale */
.titolo_banda .fusion-title-heading { margin: 0 !important; }
.titolo_banda.destra .fusion-title-heading { text-align: right; }
.testo_bianco, .testo_bianco .fusion-title-heading, .testo_bianco .fusion-text, .testo_bianco a { color: #fff !important; }
.intro_banda p { margin: 0; }

/* Glifo (icona del sito) nelle bande due colonne: fermo, a filo griglia */
.glifo_banda { margin-top: 40px !important; }
.colonna_glifo > .fusion-column-wrapper { justify-content: space-between; }

/* Post Card: colonne come il mockup */
.schede_format .fusion-grid > .fusion-grid-column, .anni_home .fusion-grid > .fusion-grid-column { width: 25% !important; }
@media (max-width: 1100px) {
  .schede_format .fusion-grid > .fusion-grid-column, .anni_home .fusion-grid > .fusion-grid-column { width: 50% !important; }
}
@media (max-width: 800px) {
  .schede_format .fusion-grid > .fusion-grid-column, .anni_home .fusion-grid > .fusion-grid-column { width: 100% !important; }
}
.foto_card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.card_format.titolo_card .fusion-title-heading { margin: 24px 0 10px !important; }
.card_format.riga_card p { margin: 0 0 15px; }
.link_card p, .link_scheda p { margin: 0; }

/* Home: voce anno */
.anno_home a.voce_anno { display: block; color: inherit; text-decoration: none; }
.anno_home .voce_anno_numero { display: block; font-family: var(--vnl-serif); font-size: 50px; line-height: 56px; font-weight: 400; }
.anno_home .voce_anno_riga { display: block; font-style: italic; margin-top: 8px; font-size: 18px; line-height: 32.4px; }
.anno_home a.voce_anno:hover .voce_anno_numero { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 8px; }

/* Bande con foto del builder (Masterclass, Cos'è, bande format): foto 541 a filo, testo a destra */
.banda_foto_b .colonna_foto, .banda_foto_b .colonna_foto > .fusion-column-wrapper { padding: 0 !important; }
.colonna_foto .fusion-imageframe, .colonna_foto .fusion-image-element { display: block; width: 100%; height: 100%; margin: 0 !important; }
.colonna_foto .fusion-imageframe img { display: block; width: 100%; height: 100%; object-fit: cover; }
.colonna_foto .foto_45 img { aspect-ratio: 4 / 5; height: auto; }
.colonna_testo > .fusion-column-wrapper { padding: 70px 0 !important; }
.banda_masterclass .colonna_testo > .fusion-column-wrapper { padding: 40px 0 !important; }
@media (min-width: 801px) {
  .banda_foto_b .fusion-builder-row, .banda_format_card .fusion-builder-row-inner { flex-wrap: nowrap !important; }
  .colonna_foto { flex: 0 0 541px !important; width: 541px !important; max-width: 45%; margin: 0 !important; }
  .colonna_testo { flex: 1 1 auto !important; width: auto !important; margin: 0 !important; padding-left: clamp(40px, 9vw, 162px) !important; padding-right: 0 !important; }
  .invertita .colonna_testo, .banda_format_card .fusion-grid-column:nth-child(even) .colonna_testo { padding-left: 0 !important; padding-right: clamp(40px, 9vw, 162px) !important; }
}
@media (min-width: 1400px) {
  .colonna_foto { flex-basis: 515px !important; width: 515px !important; margin-left: -26px !important; }
  .colonna_testo { padding-left: 188px !important; }
}
/* Foto agganciata del programma: alta quanto lo schermo sotto header e barra */
.banda_masterclass .foto_agganciata img { height: calc(100vh - 220px); }
@media (max-width: 800px) {
  .colonna_foto { margin: 0 -30px !important; width: calc(100% + 60px) !important; max-width: none; }
  .colonna_foto .fusion-imageframe img { height: 480px; }
  .colonna_foto .foto_45 img { height: auto; }
  .banda_masterclass .foto_agganciata img { height: 480px; }
  .colonna_testo > .fusion-column-wrapper, .banda_masterclass .colonna_testo > .fusion-column-wrapper { padding: 40px 0 50px !important; }
}

/* Esperienze: banda format (Post Card) — logo, titolo, natura, fatti, link */
.banda_format_card .fusion-column-wrapper { background: none; }
.banda_format_card .logo_format { margin-bottom: 25px !important; }
.banda_format_card .titolo_banda .fusion-title-heading { margin-bottom: 30px !important; }
.banda_format_card .natura p { font-style: italic; margin: 0; }
.banda_format_card .fatti_etichetta { margin-top: 10px !important; }
.banda_format_card .fatti p { margin: 0; }
.banda_format_card .fatti_etichetta + .fatti { margin-bottom: 15px !important; }
.banda_format_card .link_scheda { margin-top: 30px !important; }
.elenco_format .fusion-grid { margin: 0 !important; }
.elenco_format .fusion-grid > .fusion-grid-column { padding: 0 !important; }
.elenco_format .fusion-grid > .fusion-grid-column > .fusion-column-wrapper { padding: 0 30px !important; }

/* Pannello espositori sui tappi: Avada gli dà 1140px anche in «medium» (fino a 2000), mai oltre la riga (Fase 6, rilievo 4) */
.pannello_cantine { max-width: 1140px; }
.fusion-layout-column.pannello_cantine { max-width: min(1140px, 100%) !important; }

/* Chiusura dei format: bottone + link a destra */
.banda_chiusura .titolo_banda .fusion-title-heading { margin-bottom: 26px !important; }
.banda_chiusura .bottone_cta { font-family: "Open Sans", Arial, sans-serif; font-size: 14px; font-weight: 600; text-transform: uppercase; padding: 12px 29px; }
.banda_chiusura .link_chiusura { margin-top: 20px !important; }
.banda_chiusura .link_chiusura p { margin: 0; }
@media (max-width: 800px) {
  .glifo_banda.glifo_mobile { margin-top: 30px !important; }
}
/* Ritocchi dopo il primo confronto col mockup */
.fusion-text.etichetta p { font-size: 14px; line-height: 25.2px; letter-spacing: 1px; text-transform: uppercase; margin: 0; }
.anno_home .voce_anno_numero, .anno_home p { font-style: normal; }
.colonna_glifo > .fusion-column-wrapper { justify-content: flex-start !important; }
.colonna_glifo .glifo_banda { margin-top: auto !important; padding-top: 40px; }
.colonna_sezioni > .fusion-column-wrapper { align-items: flex-end; }
.colonna_sezioni .sezioni_edizione ul { justify-content: flex-end; }
.colonna_testo .titolo_banda .fusion-title-heading { margin-bottom: 30px !important; }
.banda_format_card .titolo_banda .fusion-title-heading { margin-bottom: 30px !important; }
@media (min-width: 801px) { .colonna_foto { max-width: none; } }
@media (max-width: 800px) { .colonna_sezioni > .fusion-column-wrapper { align-items: flex-start; } .colonna_sezioni .sezioni_edizione ul { justify-content: flex-start; } }
.single-vnl_format #main, .single-vnl_edizione #main { padding-bottom: 0 !important; }
.barra_edizione .anni_edizione { overflow-x: auto; scrollbar-width: none; } .barra_edizione .anni_edizione::-webkit-scrollbar { display: none; } .barra_edizione .anni_edizione ul { white-space: nowrap; }
body.senza_foto_banda .fusion-fullwidth.banda_chiusura { --awb-background-color: var(--vnl-beige); background-color: var(--vnl-beige) !important; }

/* 18. Tedesco: parole lunghe nei titoli grandi (Fase 5, «Samstagvormittag» a 390) */
html[lang|="de"] h1,
html[lang|="de"] h2 {
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
}

/* 19. Fase 6 — correzioni del QA di consegna */
/* Contatti: la colonna dei recapiti entra con slideInLeft (impostazione preesistente del sito):
   sotto 800 l'animazione la porta fuori dal bordo sinistro, quindi lì la si mostra ferma */
@media (max-width: 800px) {
  .fusion-layout-column.fusion-animated:has(.contatti-txt-info) {
    animation: none !important; visibility: visible !important; opacity: 1 !important; transform: none !important;
  }
}
/* Barra edizione sopra 900: anni e sezioni su una riga, «2027» intero (la riga anni non scorre più) */
@media (min-width: 901px) {
  .barra_edizione .fusion-builder-row { flex-wrap: nowrap !important; }
  .barra_edizione .fusion-layout-column { width: auto !important; flex: 0 0 auto !important; }
  .barra_edizione .fusion-layout-column.colonna_sezioni { flex: 1 1 auto !important; min-width: 0; }
  .barra_edizione .anni_edizione { overflow: visible !important; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .anni_edizione li { font-size: 22px; }
  .anni_edizione li + li::before { margin: 0 8px; }
  .sezioni_edizione li { font-size: 18px; }
  .sezioni_edizione ul { gap: 20px; }
}

/* 20. Correzioni del bug hunt (26/10/2026) */
/* Barra edizione ≤900: la riga delle sezioni deve stringersi alla colonna per poter scorrere
   (il min-width:auto degli elementi flex la allargava quanto il contenuto, 608 px a 390) */
@media (max-width: 900px) {
  .barra_edizione .fusion-layout-column:has(.sezioni_edizione),
  .barra_edizione .fusion-layout-column:has(.sezioni_edizione) > .fusion-column-wrapper { min-width: 0 !important; max-width: 100%; }
  .barra_edizione .sezioni_edizione { min-width: 0; max-width: 100%; }
}
/* Home: il bottone dei biglietti («PARTECIPA») sta nella fascia dell'header (margine −100 del contenitore,
   preesistente anche su vinaltum.it): sopra l'header, ma non sopra il menu aperto */
body.home .post-content > .fusion-fullwidth:first-child:has(a[href*="clappit"]) { position: relative; z-index: 100000; pointer-events: none; }
body.home .post-content > .fusion-fullwidth:first-child:has(a[href*="clappit"]) a { pointer-events: auto; }
body.home:has(.fusion-flyout-active) .post-content > .fusion-fullwidth:first-child:has(a[href*="clappit"]) { visibility: hidden; }
/* Esito dei form Avada (Candidatura): i colori di serie (verde/rosso su trasparente) non si leggono sul bordeaux */
.fusion-form .form-submission-notices .fusion-alert {
  background-color: #fff !important; border-color: #fff !important; color: var(--vnl-inchiostro) !important;
}
.fusion-form .form-submission-notices .fusion-alert .fusion-alert-content,
.fusion-form .form-submission-notices .fusion-alert .close { color: var(--vnl-inchiostro) !important; border-color: var(--vnl-inchiostro) !important; }

/* 21. Ritocchi barra e galleria (27/10/2026) */
/* Barra edizione: le colonne Avada portano 20px di margine sotto di serie, che spingevano anni e sezioni
   verso l'alto (5px sopra, 26px sotto). Margini a zero e lo stesso spazio sopra e sotto: altezze invariate
   (65 con gli anni, 56 con le sole sezioni sotto 640), testo sulla linea mediana, ferma e agganciata. */
.barra_edizione > .fusion-builder-row > .fusion-layout-column { margin-top: 0 !important; margin-bottom: 0 !important; }
.fusion-fullwidth.barra_edizione { padding-top: 10px !important; padding-bottom: 10px !important; }
/* Sotto 640 la barra delle sezioni non mostra gli anni: senza sezioni accese (edizione annunciata) resterebbe una striscia vuota */
@media (max-width: 640px) {
  .fusion-fullwidth.barra_edizione:not(.barra_anni_mobile):not(:has(.sezioni_edizione li)) { display: none !important; }
}
/* Galleria fotografica (galleria nativa di Avada): staccata dal titolo come la galleria segnaposto e la rassegna.
   +5px perché la griglia di Avada ha margine −5 attorno alle foto. */
.single-vnl_edizione .titolo_banda + .awb-gallery-wrapper { margin-top: 45px; }
@media (max-width: 800px) {
  .single-vnl_edizione .titolo_banda + .awb-gallery-wrapper { margin-top: 35px; }
}
/* Ancore delle pagine edizione tra 641 e 1024: la barra agganciata è alta 65 (anni + sezioni), non 56: la sezione non finisce 9px sotto la barra */
@media (min-width: 641px) and (max-width: 1024px) {
  .single-vnl_edizione #espositori, .single-vnl_edizione #masterclass, .single-vnl_edizione #galleria, .single-vnl_edizione #rassegna-stampa { scroll-margin-top: 65px; }
}

/* 22. Moduli nella banda a due colonne (Candidatura: form Avada; Contatti: Quform) — 1.0.10, 09/11/2026
   La banda è la stessa del calendario di Esperienze (contenitore .banda_modulo, crema, ancora #modulo).
   Campi: fondo bianco, filetto 1px inchiostro, angoli vivi. Etichette 14 maiuscolo come .etichetta.
   Bottone pieno bordeaux come la chiusura dei format. Fuoco: filetto bordeaux 2px. Errore: bordeaux. */
#modulo { scroll-margin-top: 120px; }
.banda_modulo .titolo_banda .fusion-title-heading { margin-bottom: 30px !important; }
.banda_modulo .testo_modulo p { margin: 0 0 15px; }
.banda_modulo .testo_modulo strong { font-weight: 700; }
.banda_modulo .testo_modulo { margin-bottom: 0 !important; }
.banda_modulo .modulo_quform { margin: 0 !important; }

/* Form Avada */
.banda_modulo .fusion-form {
  --awb-form-label-color: var(--vnl-inchiostro) !important;
  --awb-form-text-color: var(--vnl-inchiostro) !important;
  --awb-form-placeholder-color: rgba(33, 41, 52, .55) !important;
}
/* Il form Avada porta un suo contenitore con il padding laterale di serie (30 sul mobile): a filo con la colonna */
.banda_modulo .fusion-form .fusion-fullwidth { padding-left: 0 !important; padding-right: 0 !important; --awb-padding-left: 0 !important; --awb-padding-right: 0 !important; }
.banda_modulo .fusion-form .fusion-builder-row { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.banda_modulo .fusion-form .fusion-layout-column { --awb-spacing-left-large: 0 !important; --awb-spacing-right-large: 0 !important; --awb-spacing-left-medium: 0 !important; --awb-spacing-right-medium: 0 !important; --awb-spacing-left-small: 0 !important; --awb-spacing-right-small: 0 !important; margin-bottom: 0 !important; }
.banda_modulo .fusion-form-field { margin-top: 0 !important; margin-bottom: 25px !important; }
.banda_modulo .fusion-form-label-wrapper label {
  font-family: var(--vnl-serif) !important; font-size: 14px !important; line-height: 25.2px !important;
  letter-spacing: 1px; text-transform: uppercase; color: var(--vnl-inchiostro) !important; margin-bottom: 6px;
}
.banda_modulo .fusion-form-element-required { color: var(--vnl-bordeaux) !important; text-decoration: none !important; border: 0 !important; cursor: default; }
.banda_modulo .fusion-form input.fusion-form-input:not([type="checkbox"]) {
  height: 50px; padding: 0 15px; background: #fff !important; color: var(--vnl-inchiostro) !important;
  border: 1px solid var(--vnl-inchiostro) !important; border-radius: 0 !important; box-shadow: none !important;
  font-family: var(--vnl-serif); font-size: 18px; line-height: 32.4px;
}
.banda_modulo .fusion-form .fusion-form-input-with-icon input.fusion-form-input { padding-left: 45px; }
.banda_modulo .fusion-form .awb-form-icon { color: var(--vnl-inchiostro) !important; left: 16px !important; }
/* Casella del consenso: Avada nasconde l'input e disegna il quadrato col ::before dell'etichetta */
.banda_modulo .fusion-form-checkbox label { font-family: var(--vnl-serif); font-size: 14px !important; line-height: 22px !important; color: var(--vnl-inchiostro) !important; }
.banda_modulo .fusion-form-checkbox label::before { border: 1px solid var(--vnl-inchiostro) !important; background-color: #fff !important; border-radius: 0 !important; }
.banda_modulo .fusion-form-checkbox input:checked + label::before { background-color: var(--vnl-bordeaux) !important; border-color: var(--vnl-bordeaux) !important; }
.banda_modulo .fusion-form-checkbox input:focus-visible + label::before { outline: 2px solid var(--vnl-bordeaux); outline-offset: 2px; }
.banda_modulo .fusion-form-field.error .fusion-form-checkbox label::before { border: 2px solid var(--vnl-bordeaux) !important; }
.banda_modulo .fusion-form-checkbox label a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.banda_modulo .fusion-form-checkbox label a:hover { color: var(--vnl-bordeaux); }
.banda_modulo .fusion-form .fusion-button.form-form-submit {
  background: var(--vnl-bordeaux) !important; background-image: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 12px 29px !important; line-height: 25px !important;
  font-family: "Open Sans", Arial, sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  text-transform: uppercase; letter-spacing: 0; color: #fff !important;
}
.banda_modulo .fusion-form .fusion-button.form-form-submit .fusion-button-text { color: #fff !important; }
.banda_modulo .fusion-form .fusion-button.form-form-submit:hover { background: var(--vnl-inchiostro) !important; }
/* Fuoco e errore */
.banda_modulo .fusion-form input:focus-visible,
.banda_modulo .fusion-form .fusion-button:focus-visible,
.banda_modulo .quform-field:focus-visible,
.banda_modulo .quform-submit:focus-visible { outline: 2px solid var(--vnl-bordeaux) !important; outline-offset: 2px; }
.banda_modulo .fusion-form input.fusion-form-input:not([type="checkbox"]):focus { border-color: var(--vnl-bordeaux) !important; }
.banda_modulo .fusion-form-field.error input.fusion-form-input:not([type="checkbox"]) { border: 2px solid var(--vnl-bordeaux) !important; }
.fusion-fullwidth.banda_modulo .fusion-form .fusion-form-field.error .fusion-form-label-wrapper label,
.fusion-fullwidth.banda_modulo .fusion-form .fusion-form-field.error .fusion-form-checkbox label,
.fusion-fullwidth.banda_modulo .fusion-form .fusion-form-field.error .fusion-form-element-required { color: var(--vnl-bordeaux) !important; }
/* Esito sulla banda crema: bianco con filetto inchiostro, come sopra */
.banda_modulo .fusion-form .form-submission-notices .fusion-alert { border: 1px solid var(--vnl-inchiostro) !important; border-radius: 0 !important; box-shadow: none !important; }
.banda_modulo .fusion-form .form-submission-notices .fusion-alert .fusion-alert-content { font-family: var(--vnl-serif); font-size: 18px; line-height: 32.4px; }

/* Quform (Contatti): etichette dentro i campi, come prima */
.banda_modulo .quform-elements .quform-element { margin-bottom: 0; }
.banda_modulo .quform-spacer { margin-bottom: 15px; }
.banda_modulo .quform-field.quform-field-text,
.banda_modulo .quform-field.quform-field-email,
.banda_modulo .quform-field.quform-field-textarea,
.banda_modulo .quform-field.quform-field-captcha {
  background: #fff !important; color: var(--vnl-inchiostro) !important; border: 1px solid var(--vnl-inchiostro) !important;
  border-radius: 0 !important; box-shadow: none !important; font-family: var(--vnl-serif) !important; font-size: 18px !important;
}
.banda_modulo .quform-field.quform-field-text, .banda_modulo .quform-field.quform-field-email, .banda_modulo .quform-field.quform-field-captcha { min-height: 50px; }
.banda_modulo .quform-field:focus { border-color: var(--vnl-bordeaux) !important; }
.banda_modulo .quform-labels-inside .quform-label, .banda_modulo .quform-labels-inside .quform-label-text,
.banda_modulo .quform-label-text { font-family: var(--vnl-serif) !important; color: var(--vnl-inchiostro) !important; }
.banda_modulo .quform-labels-inside .quform-label-text { font-size: 18px !important; }
.banda_modulo .quform-element-checkbox > .quform-spacer > .quform-label .quform-label-text {
  font-size: 14px !important; line-height: 25.2px; letter-spacing: 1px; text-transform: uppercase;
}
.banda_modulo .quform-required { color: var(--vnl-bordeaux) !important; }
.banda_modulo .quform-option-label, .banda_modulo .quform-option-label a, .banda_modulo .quform-description, .banda_modulo .quform-description a,
.banda_modulo .quform-element-checkbox a { color: var(--vnl-inchiostro) !important; font-family: var(--vnl-serif); font-size: 14px; line-height: 22px; }
.banda_modulo .quform-element-checkbox a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.banda_modulo .quform-field-checkbox { accent-color: var(--vnl-bordeaux); width: 18px; height: 18px; }
.banda_modulo .quform-submit, .banda_modulo .quform-button-submit button, .banda_modulo .quform-element-submit button {
  background: var(--vnl-bordeaux) !important; background-image: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 12px 29px !important;
  font-family: "Open Sans", Arial, sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  text-transform: uppercase; color: #fff !important;
}
.banda_modulo .quform-element-submit button:hover { background: var(--vnl-inchiostro) !important; }
.banda_modulo .quform-has-error .quform-field { border: 2px solid var(--vnl-bordeaux) !important; }
.banda_modulo .quform-error-inner { border-left: 0 !important; background: var(--vnl-bordeaux) !important; color: #fff !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--vnl-serif); font-size: 14px; }
.banda_modulo .quform-error-inner::after { border-top-color: var(--vnl-bordeaux) !important; }
.banda_modulo .quform-success-message { background: #fff !important; color: var(--vnl-inchiostro) !important; border: 1px solid var(--vnl-inchiostro) !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--vnl-serif); font-size: 18px; }
.banda_modulo .quform-error-message { background: #fff !important; color: var(--vnl-bordeaux) !important; border: 2px solid var(--vnl-bordeaux) !important; border-radius: 0 !important; box-shadow: none !important; }
@media (max-width: 800px) {
  .banda_modulo .fusion-form-field { margin-bottom: 20px !important; }
}
