/* =========================================================================
   Volontari del Soccorso VdA — foglio del modulo pagine.
   Tutto sotto .vds-pg, variabili --vds-*. I valori vengono dal mockup
   "Redesign Volontari del Soccorso VDA" (Claude Design).
   ========================================================================= */

/* Altezze di cio' che resta appiccicato in cima. Stanno su :root e non su
   .vds-pg perche' servono anche fuori dal modulo: sull'involucro che Oxygen
   mette attorno allo shortcode e sullo scroll-padding di html. Sono ripieghi,
   vds-pagine.js le rimisura e le riscrive. */
:root {
  --vds-h-topbar: 34px;
  --vds-h-header: 83px;
  --vds-h-subnav: 0px;
  --vds-h-admin: 0px;
}

.vds-pg {
  --vds-rosso: #C8102E;
  --vds-rosso-scuro: #8F0B20;
  --vds-rosso-hover: #A00D24;
  --vds-rosa: #FBECEE;
  --vds-rosa-bordo: #F0DDE0;
  --vds-rosa-ink: #6B0E1E;
  --vds-rosa-chiaro: #F0A5B0;
  --vds-ink: #22262B;
  --vds-ink-2: #171A1E;
  --vds-testo: #454B52;
  --vds-tenue: #5A6069;
  --vds-bordo: #EFEAE9;
  --vds-bordo-2: #EDE9E8;
  --vds-crema: #FAF7F6;
  --vds-verde: #1B7A3D; --vds-verde-bg: #EAF6EE; --vds-verde-ink: #14512A;
  --vds-blu: #1F4E79;   --vds-blu-bg: #EAF1F8;   --vds-blu-ink: #173A5A;
  --vds-giallo-bg: #FFF6E8; --vds-giallo-bordo: #F0D9AE; --vds-giallo-ink: #6B4E14;
  --vds-ff-t: 'Poppins', system-ui, sans-serif;
  --vds-ff-b: 'Source Sans 3', system-ui, sans-serif;
  --vds-wrap: 1180px;
  --vds-wrap-s: 880px;
  --vds-gutter: 24px;
  --vds-raggio: 14px;
  --vds-ombra: 0 2px 10px rgba(34,17,20,.04);
  --vds-ombra-2: 0 14px 34px rgba(34,17,20,.12);

  font-family: var(--vds-ff-b);
  color: var(--vds-ink);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
.vds-pg *, .vds-pg *::before, .vds-pg *::after { box-sizing: border-box; }
.vds-pg p, .vds-pg h1, .vds-pg h2, .vds-pg h3, .vds-pg ul, .vds-pg ol, .vds-pg dl, .vds-pg dd, .vds-pg blockquote { margin: 0; }
.vds-pg ul, .vds-pg ol { padding: 0; list-style: none; }
/* Solo i link senza classe prendono il rosso: cosi' una regola generica
   sull'elemento non batte le classi dei pulsanti (specificita' 0,0,1). */
.vds-pg a { text-decoration: none; }
:where(.vds-pg) a:where(:not([class])) { color: var(--vds-rosso); }
:where(.vds-pg) a:where(:not([class])):hover { color: var(--vds-rosso-scuro); }
.vds-pg img { max-width: 100%; height: auto; display: block; }
.vds-pg button { font: inherit; }
html { scroll-padding-top: calc(var(--vds-h-admin) + var(--vds-h-header) + var(--vds-h-subnav) + 16px); }
.vds-pg :focus-visible { outline: 3px solid var(--vds-rosso); outline-offset: 3px; }
.vds-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ---------- Griglia e sezioni ---------- */
.vds-wrap { max-width: var(--vds-wrap); margin: 0 auto; padding: 0 var(--vds-gutter); }
.vds-wrap.is-stretto { max-width: var(--vds-wrap-s); }
.vds-sec { position: relative; }
.vds-sec.is-sp-normale { padding: 80px 0; }
.vds-sec.is-sp-stretto { padding: 48px 0; }
.vds-sec.is-sp-largo   { padding: 96px 0; }
.vds-sec.is-sp-nullo   { padding: 0; }
.vds-sec.is-sp-sopra   { padding: 72px 0 0; }
.vds-sec.is-sp-sotto   { padding: 0 0 72px; }
.vds-sec.is-bianco { background: #fff; }
.vds-sec.is-crema  { background: var(--vds-crema); }
.vds-sec.is-scuro  { background: var(--vds-ink); color: #fff; }
.vds-sec.is-rosso  { background: var(--vds-rosso); color: #fff; overflow: hidden; }
.vds-sec + .vds-sec.is-bianco.is-sp-normale:not(.is-tm) { padding-top: 72px; }

/* Blocchi annidati nelle colonne: solo spazio interno. */
.vds-blk + .vds-blk { margin-top: 22px; }

/* Anello decorativo delle fasce rosse. */
.vds-anello {
  position: absolute; right: -140px; top: -160px; width: 440px; height: 440px;
  border-radius: 50%; border: 70px solid rgba(255,255,255,.07); pointer-events: none;
}

/* ---------- Tipografia ---------- */
.vds-h1, .vds-h2, .vds-h3 { color: inherit; }
.vds-h1 { font-family: var(--vds-ff-t); font-weight: 800; font-size: clamp(32px, 4.2vw, 46px); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
.vds-h2 { font-family: var(--vds-ff-t); font-weight: 800; font-size: clamp(26px, 3vw, 34px); line-height: 1.18; letter-spacing: -.02em; text-wrap: balance; }
.vds-h3 { font-family: var(--vds-ff-t); font-weight: 800; font-size: 22px; line-height: 1.25; letter-spacing: -.01em; }
.vds-occhiello { color: var(--vds-rosso); font-family: var(--vds-ff-t); font-weight: 700; font-size: 13.5px; letter-spacing: .1em; text-transform: uppercase; }
.is-scuro .vds-occhiello, .is-rosso .vds-occhiello { color: var(--vds-rosa-chiaro); }
.is-rosso .vds-occhiello { color: rgba(255,255,255,.8); }
.vds-sub { font-size: 17.5px; line-height: 1.6; color: var(--vds-testo); max-width: 720px; }
.is-scuro .vds-sub { color: rgba(255,255,255,.8); }
.is-rosso .vds-sub { color: rgba(255,255,255,.92); }
.vds-p { font-size: 17px; line-height: 1.65; color: var(--vds-testo); }
.vds-p + .vds-p { margin-top: 14px; }
.vds-p.is-tenue { font-size: 15.5px; color: var(--vds-tenue); }
.is-scuro .vds-p { color: rgba(255,255,255,.85); }
.is-rosso .vds-p { color: rgba(255,255,255,.92); }
.vds-p strong { color: var(--vds-ink); }
.is-scuro .vds-p strong, .is-rosso .vds-p strong { color: #fff; }
.vds-shead { display: flex; flex-direction: column; gap: 12px; max-width: 800px; margin-bottom: 40px; }
.vds-shead.is-flush { margin-bottom: 0; }
.vds-shead .vds-sub { margin-top: 4px; }
.vds-tm-testo .vds-shead + .vds-p, .vds-shead + .vds-p { margin-top: 18px; }
.vds-shead.is-flush + .vds-p { margin-top: 18px; }
.vds-testata-riga { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; }
.vds-testata-riga .vds-shead { margin-bottom: 0; }
.vds-vt { font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; }
.vds-vp { font-size: 15.5px; line-height: 1.55; color: var(--vds-tenue); }

/* ---------- Icone ---------- */
.vds-ic { width: 24px; height: 24px; flex: none; }
.vds-ic.is-s { width: 18px; height: 18px; }
.vds-ic.is-xs { width: 14px; height: 14px; }
.vds-itile { width: 52px; height: 52px; border-radius: 12px; background: var(--vds-rosa); color: var(--vds-rosso); display: grid; place-items: center; }
.vds-itile .vds-ic { width: 26px; height: 26px; }

/* ---------- Pulsanti e link ---------- */
.vds-btn {
  display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid transparent;
  font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; padding: 14px 30px; border-radius: 999px;
  cursor: pointer; transition: background .2s, color .2s, border-color .2s; white-space: nowrap; line-height: 1.2;
}
.vds-btn.is-pieno  { background: var(--vds-rosso); color: #fff; }
.vds-btn.is-pieno:hover { background: var(--vds-rosso-scuro); color: #fff; }
.vds-btn.is-vuoto  { border-color: var(--vds-rosso); color: var(--vds-rosso); background: transparent; }
.vds-btn.is-vuoto:hover { background: var(--vds-rosa); color: var(--vds-rosso-scuro); }
.vds-btn.is-chiaro { background: #fff; color: var(--vds-rosso); }
.vds-btn.is-chiaro:hover { background: var(--vds-rosa); color: var(--vds-rosso-scuro); }
.vds-btn.is-velo   { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.7); color: #fff; }
.vds-btn.is-velo:hover { background: rgba(255,255,255,.28); color: #fff; }
.vds-btn.is-piccolo { font-size: 14.5px; padding: 9px 20px; }
.is-rosso .vds-btn.is-pieno { background: #fff; color: var(--vds-rosso); }
.is-rosso .vds-btn.is-pieno:hover { background: var(--vds-rosa); color: var(--vds-rosso-scuro); }
.vds-tlink { display: inline-flex; align-items: center; gap: 8px; font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; white-space: nowrap; }
.vds-tlink.is-testata { padding-bottom: 6px; }
.vds-ctas { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 26px; }
.vds-tm-testo .vds-ctas { margin-top: 20px; }

/* ---------- Badge, chip ---------- */
.vds-badge, .vds-chip {
  display: inline-flex; align-self: flex-start; align-items: center; font-family: var(--vds-ff-t); font-weight: 700;
  font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 6px; line-height: 1.3;
}
.vds-badge.is-rosa  { background: var(--vds-rosa); color: var(--vds-rosso); }
.vds-badge.is-verde { background: var(--vds-verde-bg); color: var(--vds-verde-ink); }
.vds-badge.is-verde-pieno { background: var(--vds-verde); color: #fff; }
.vds-badge.is-blu   { background: var(--vds-blu-bg); color: var(--vds-blu-ink); }
.vds-badge.is-rosso { background: var(--vds-rosso); color: #fff; }
.vds-chip.is-hero { background: rgba(200,16,46,.9); color: #fff; font-size: 13px; letter-spacing: .08em; padding: 7px 14px; }

/* ---------- Immagini ---------- */
.vds-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--vds-raggio); }
.vds-img.is-cover { border-radius: 0; }
.vds-ph { display: grid; place-items: center; background: repeating-linear-gradient(135deg, #EDE9E8 0 12px, #F5F1F0 12px 24px); color: var(--vds-tenue); text-align: center; min-height: 160px; }
.vds-ph-t { font-family: var(--vds-ff-t); font-weight: 600; font-size: 13.5px; padding: 12px 18px; background: rgba(255,255,255,.85); border-radius: 8px; max-width: 80%; }
.vds-media-1 { height: var(--vds-h, 380px); border-radius: 16px; overflow: hidden; }
.vds-media-1 .vds-img { border-radius: 16px; }
.vds-mosaico { display: grid; gap: 16px; min-width: 0; }
.vds-mosaico.is-n3 { grid-template-columns: 1fr 1fr; grid-template-rows: 200px 200px; }
.vds-mosaico.is-n3 .vds-mos-c:first-child { grid-row: 1 / 3; }
.vds-mosaico.is-n3.is-basso { grid-template-rows: 170px 170px; }
.vds-mosaico.is-n5 { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); grid-template-rows: 190px 190px; }
.vds-mosaico.is-n5 .vds-mos-c:first-child { grid-row: 1 / 3; }
.vds-mos-c { min-width: 0; min-height: 0; }
.vds-mos-c .vds-img { height: 100%; }
/* Truccatori: due sopra, una larga sotto. */
.vds-mosaico.is-n3.is-largo-sotto .vds-mos-c:first-child { grid-row: auto; }
.vds-mosaico.is-n3.is-largo-sotto .vds-mos-c:last-child { grid-column: 1 / 3; }

/* =========================================================================
   Header
   ========================================================================= */
.vds-topbar { background: var(--vds-rosso-scuro); color: #fff; font-size: 13.5px; }
.vds-topbar .vds-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 7px; padding-bottom: 7px; }
.vds-topbar-sos { font-weight: 700; letter-spacing: .02em; }
.vds-topbar-dx { display: flex; align-items: center; gap: 20px; opacity: .95; }
.vds-topbar a { color: #fff; }
.vds-topbar a.is-forte { font-weight: 600; }
.vds-head-sticky { position: sticky; top: calc(var(--vds-h-admin) - var(--vds-h-topbar)); z-index: 50; }
.vds-header { background: #fff; border-bottom: 1px solid var(--vds-bordo-2); position: relative; }
.vds-header .vds-wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 14px; padding-bottom: 14px; }
.vds-marchio { display: flex; align-items: center; flex: none; }
.vds-marchio .vds-marchio-img { display: block; width: auto; height: 54px; }
.vds-nav-ul { display: flex; align-items: center; gap: 26px; font-family: var(--vds-ff-t); font-size: 14.5px; font-weight: 600; }
.vds-nav-a { color: var(--vds-ink); }
.vds-nav-a:hover, .current-menu-item > .vds-nav-a { color: var(--vds-rosso); }
.vds-nav-btn { background: var(--vds-rosso); color: #fff; padding: 10px 20px; border-radius: 999px; font-weight: 700; display: inline-block; }
.vds-nav-btn:hover { background: var(--vds-rosso-scuro); color: #fff; }
.vds-nav-manca { font-size: 13px; color: var(--vds-tenue); }
.vds-burger { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; flex-direction: column; justify-content: center; gap: 5px; padding: 8px; }
.vds-burger span { display: block; height: 2px; background: var(--vds-ink); border-radius: 2px; transition: transform .2s, opacity .2s; }

/* =========================================================================
   Footer
   ========================================================================= */
.vds-footer { background: var(--vds-ink-2); color: rgba(255,255,255,.75); font-size: 15px; }
.vds-footer a { color: rgba(255,255,255,.75); }
.vds-footer a:hover { color: #fff; }
.vds-footer-g { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 44px; padding-top: 64px; padding-bottom: 28px; }
.vds-footer-brand { display: flex; flex-direction: column; gap: 14px; line-height: 1.6; }
.vds-marchio.is-footer { align-self: flex-start; background: #fff; border-radius: 10px; padding: 10px 14px; }
.vds-marchio.is-footer .vds-marchio-img { height: 46px; }
.vds-footer-t { font-family: var(--vds-ff-t); font-weight: 700; color: #fff; font-size: 15px; margin-bottom: 14px; }
.vds-footer-ul { display: flex; flex-direction: column; gap: 10px; }
.vds-footer-legal { border-top: 1px solid rgba(255,255,255,.1); }
.vds-footer-legal .vds-wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 18px; padding-bottom: 18px; font-size: 13px; color: rgba(255,255,255,.45); }
.vds-footer-legal a { color: rgba(255,255,255,.45); }
.vds-footer-legal-ul { display: flex; gap: 18px; }

/* =========================================================================
   Hero
   ========================================================================= */
.vds-hero.is-home { position: relative; min-height: 620px; display: flex; align-items: stretch; color: #fff; overflow: hidden; }
.vds-hero-sfondo { position: absolute; inset: 0; }
.vds-hero-sfondo .vds-img, .vds-hero-sfondo .vds-ph { width: 100%; height: 100%; border-radius: 0; }
.vds-hero-sfondo .vds-ph { background: linear-gradient(135deg, #3a3f46, #22262B); place-items: end; }
.vds-hero-sfondo .vds-ph-t { margin: 0 24px 24px 0; font-size: 12px; opacity: .8; }
.vds-hero-velo { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(20,8,10,.82) 0%, rgba(20,8,10,.55) 45%, rgba(20,8,10,.12) 75%); pointer-events: none; }
.vds-hero.is-home .vds-hero-in { position: relative; width: 100%; padding-top: 110px; padding-bottom: 130px; display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.vds-hero.is-home .vds-h1 { font-size: clamp(36px, 5vw, 54px); max-width: 640px; }
.vds-hero.is-home .vds-sub { color: rgba(255,255,255,.92); font-size: 19px; max-width: 540px; }
.vds-hero.is-home .vds-ctas { margin-top: 8px; }
.vds-hero.is-interno { background: var(--vds-rosso); color: #fff; overflow: hidden; }
.vds-hero.is-interno .vds-hero-in { position: relative; padding-top: 72px; padding-bottom: 76px; display: flex; flex-direction: column; gap: 16px; }
.vds-hero.is-interno .vds-sub { color: rgba(255,255,255,.92); font-size: 19px; }
.vds-crumb ol { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13.5px; font-weight: 600; color: rgba(255,255,255,.75); }
.vds-crumb li + li::before { content: "/"; margin-right: 6px; }
.vds-crumb a { color: rgba(255,255,255,.75); }
.vds-crumb a:hover { color: #fff; }

/* =========================================================================
   Subnav
   ========================================================================= */
.vds-subnav { background: #fff; border-bottom: 1px solid var(--vds-bordo-2); position: sticky; top: calc(var(--vds-h-admin) + var(--vds-h-header)); z-index: 40; }
.vds-subnav ul { display: flex; gap: 26px; overflow-x: auto; font-family: var(--vds-ff-t); font-size: 14px; font-weight: 600; scrollbar-width: none; }
.vds-subnav ul::-webkit-scrollbar { display: none; }
.vds-subnav a { color: var(--vds-tenue); padding: 15px 0; white-space: nowrap; display: block; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.vds-subnav a:hover, .vds-subnav a.is-attivo { color: var(--vds-rosso); }
.vds-subnav a.is-attivo { border-bottom-color: var(--vds-rosso); }

/* =========================================================================
   Avviso
   ========================================================================= */
.vds-sec-avviso.is-sp-normale { padding: 0; }
.vds-sec-avviso + .vds-sec.is-sp-normale { padding-top: 32px; }
.vds-avviso { border-radius: 12px; padding: 18px 24px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1.5px solid transparent; }
.vds-avviso.is-rosso { background: var(--vds-rosa); border-color: var(--vds-rosso); }
.vds-avviso.is-rosso .vds-avviso-h, .vds-avviso.is-rosso p { color: var(--vds-rosso-scuro); }
.vds-avviso.is-giallo { background: var(--vds-giallo-bg); border-color: var(--vds-giallo-bordo); color: var(--vds-giallo-ink); }
.vds-avviso.is-verde { background: var(--vds-verde-bg); border-color: var(--vds-verde-bg); color: var(--vds-verde-ink); }
.vds-avviso.is-crema { background: var(--vds-crema); border-color: var(--vds-crema); color: var(--vds-testo); }
.vds-avviso.is-rosa { background: var(--vds-rosa); border-color: var(--vds-rosa); color: var(--vds-testo); }
.vds-avviso.is-compatto { padding: 16px 20px; font-size: 14.5px; margin-top: 18px; }
.vds-avviso-b { width: 44px; height: 44px; border-radius: 50%; background: var(--vds-rosso); color: #fff; display: grid; place-items: center; font-family: var(--vds-ff-t); font-weight: 800; font-size: 15px; flex: none; }
.vds-avviso-t { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.6; }
.vds-avviso-h { font-family: var(--vds-ff-t); font-weight: 700; font-size: 17px; }
.vds-avviso .vds-btn.is-avviso { margin-left: auto; }

/* =========================================================================
   Testo, testo-media
   ========================================================================= */
.vds-sec-testo .vds-shead { margin-bottom: 16px; }
.vds-tm { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 64px; align-items: center; }
.is-inverso .vds-tm { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
.is-inverso .vds-tm-testo { order: 2; }
.is-inverso .vds-tm-media { order: 1; }
.is-alto .vds-tm { align-items: start; }
.vds-tm-testo { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.vds-tm-testo .vds-p + .vds-p, .vds-tm-testo .vds-shead + .vds-p, .vds-tm-testo .vds-shead.is-flush + .vds-p { margin-top: 0; }
.vds-tm-media { min-width: 0; }
.vds-punti { display: flex; flex-direction: column; gap: 12px; }
.vds-punti li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.55; color: var(--vds-testo); }
.vds-punti li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vds-rosso); flex: none; margin-top: 8px; }
.vds-punti strong { color: var(--vds-ink); }
.vds-quote { padding: 18px 24px; background: var(--vds-rosa); border-radius: 12px; font-family: var(--vds-ff-t); font-weight: 600; font-size: 17px; color: var(--vds-rosso-scuro); font-style: italic; }
.vds-nota { background: var(--vds-crema); border-radius: 12px; padding: 18px 22px; font-size: 15px; line-height: 1.6; color: var(--vds-testo); }
.is-scuro .vds-nota { background: rgba(255,255,255,.06); color: rgba(255,255,255,.85); }
.vds-tm-media .vds-cards { gap: 16px; }

/* =========================================================================
   Cards
   ========================================================================= */
.vds-cards { display: grid; gap: 20px; }
.vds-cards.is-c1 { grid-template-columns: 1fr; gap: 14px; }
.vds-cards.is-c2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.vds-cards.is-c3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.vds-cards.is-c4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.vds-card { background: #fff; border: 1px solid var(--vds-bordo); border-radius: var(--vds-raggio); padding: 28px 26px; display: flex; flex-direction: column; gap: 12px; color: var(--vds-ink); min-width: 0; }
.vds-card.is-link { box-shadow: var(--vds-ombra); transition: box-shadow .2s, transform .2s; }
.vds-card.is-link:hover { color: var(--vds-ink); box-shadow: var(--vds-ombra-2); transform: translateY(-3px); }
.vds-cards.is-crema .vds-card { background: var(--vds-crema); border-color: var(--vds-crema); padding: 18px 22px; gap: 3px; }
.vds-cards.is-trasp .vds-card { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.22); color: #fff; padding: 22px 20px; gap: 8px; }
.is-scuro .vds-cards.is-trasp .vds-card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); }
.vds-cards.is-trasp .vds-card-p { color: rgba(255,255,255,.85); }
.is-scuro .vds-cards.is-trasp .vds-card-t { color: var(--vds-rosa-chiaro); }
.vds-cards.is-cornice .vds-card { border-color: var(--vds-rosa-bordo); padding: 22px 24px; gap: 6px; }
.vds-cards.is-cornice .vds-card-t { color: var(--vds-rosso-scuro); font-size: 16px; }
.vds-cards.is-titoli-rossi .vds-card-t { color: var(--vds-rosso); font-size: 16px; }
.vds-cards.is-c1 .vds-card { padding: 20px 24px; gap: 4px; }
.vds-card-t { font-family: var(--vds-ff-t); font-weight: 700; font-size: 18px; line-height: 1.3; }
.vds-cards.is-c3 .vds-card-t { font-size: 19px; }
.vds-card-p { font-size: 15.5px; line-height: 1.55; color: var(--vds-tenue); }
.vds-card-n { font-family: var(--vds-ff-t); font-weight: 800; font-size: 28px; color: var(--vds-rosso); letter-spacing: -.01em; line-height: 1; }
.vds-card-link { color: var(--vds-rosso); font-family: var(--vds-ff-t); font-weight: 700; font-size: 14.5px; margin-top: auto; display: inline-flex; align-items: center; gap: 6px; }
.vds-card-dl { display: flex; flex-direction: column; gap: 10px; }
.vds-card-dl dt { font-family: var(--vds-ff-t); font-weight: 700; font-size: 13.5px; color: var(--vds-tenue); }
.vds-card-dl dd { font-size: 15px; line-height: 1.55; color: var(--vds-testo); }
.vds-card-nota { margin-top: auto; padding: 14px 16px; border-radius: 10px; font-size: 14.5px; line-height: 1.5; }
.vds-card-nota.is-rosa  { background: var(--vds-rosa); color: var(--vds-rosa-ink); }
.vds-card-nota.is-blu   { background: var(--vds-blu-bg); color: var(--vds-blu-ink); }
.vds-card-nota.is-verde { background: var(--vds-verde-bg); color: var(--vds-verde-ink); }

/* Card con testata colorata */
.vds-ct { display: grid; gap: 22px; }
.vds-ct.is-c2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.vds-ct.is-c3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.vds-ct-card { border-radius: 16px; overflow: hidden; border: 1px solid var(--vds-bordo); display: flex; flex-direction: column; background: #fff; }
.vds-ct-head { padding: 22px 26px; color: #fff; }
.vds-ct-head.is-rosso { background: var(--vds-rosso); }
.vds-ct-head.is-rosso-scuro { background: var(--vds-rosso-scuro); }
.vds-ct-head.is-rosa-scuro { background: #D9556B; }
.vds-ct-head.is-blu { background: var(--vds-blu); }
.vds-ct-head.is-verde { background: var(--vds-verde); }
.vds-ct-head.is-scuro { background: var(--vds-ink); }
.vds-ct-sopra { display: block; font-family: var(--vds-ff-t); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; opacity: .85; margin-bottom: 6px; }
.vds-ct-t { font-family: var(--vds-ff-t); font-weight: 800; font-size: 19px; line-height: 1.25; }
.vds-ct-body { padding: 22px 26px 26px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.vds-ct-sotto { font-size: 13.5px; color: var(--vds-tenue); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.vds-coda { background: var(--vds-rosa); border-radius: 14px; padding: 26px 30px; display: flex; flex-direction: column; gap: 8px; margin-top: 28px; }
.vds-coda-t { font-family: var(--vds-ff-t); font-weight: 700; font-size: 18px; color: var(--vds-rosso-scuro); }
.vds-coda .vds-p { font-size: 16px; }

/* =========================================================================
   Passi, elenchi
   ========================================================================= */
.vds-passi { display: grid; gap: 18px; counter-reset: vds-passo; }
.vds-passi.is-c1 { grid-template-columns: 1fr; }
.vds-passi.is-c3 { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.vds-passi.is-c4 { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.vds-passi li { display: flex; gap: 14px; align-items: flex-start; counter-increment: vds-passo; }
.vds-passi li::before { content: counter(vds-passo); width: 32px; height: 32px; border-radius: 50%; background: var(--vds-rosso); color: #fff; display: grid; place-items: center; flex: none; font-family: var(--vds-ff-t); font-weight: 700; font-size: 14.5px; }
.vds-passi li > p:first-of-type { margin-top: 3px; }
.vds-passo-t { font-family: var(--vds-ff-t); font-weight: 700; font-size: 16.5px; }
.vds-passo-p { font-size: 15.5px; line-height: 1.55; color: var(--vds-tenue); }
.vds-passo-p.is-solo { font-size: 16px; color: var(--vds-testo); }
.vds-passo-t + .vds-passo-p { margin-top: 2px; }
.vds-passi li > div, .vds-passi li { flex-wrap: wrap; }
.vds-passi li p { flex: 1 1 100%; margin-left: 46px; }
.vds-passi li p:first-of-type { flex: 1 1 calc(100% - 46px); margin-left: 0; }
.is-scuro .vds-passo-p { color: rgba(255,255,255,.78); }
.is-scuro .vds-passo-t { color: #fff; }

.vds-elenco { display: flex; flex-direction: column; gap: 14px; }
.vds-elenco li { display: flex; gap: 14px; align-items: flex-start; font-size: 16.5px; line-height: 1.55; color: var(--vds-testo); }
.vds-check { width: 26px; height: 26px; border-radius: 50%; background: var(--vds-rosa); color: var(--vds-rosso); display: grid; place-items: center; flex: none; }
.vds-check .vds-ic { stroke-width: 3; }
.vds-elenco.is-punto li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vds-rosso); flex: none; margin-top: 9px; }
.vds-elenco.is-riquadro { gap: 10px; }
.vds-elenco.is-riquadro li { border: 1px solid var(--vds-bordo); border-radius: 10px; padding: 13px 18px; align-items: center; font-size: 15.5px; font-weight: 600; color: var(--vds-ink); gap: 12px; }
.vds-elenco.is-riquadro li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vds-rosso); flex: none; }
.vds-sec-elenco .vds-shead, .vds-sec-passi .vds-shead { margin-bottom: 22px; }

/* =========================================================================
   Colonne
   ========================================================================= */
.vds-col { display: grid; gap: 56px; grid-template-columns: var(--vds-cols, repeat(2, minmax(0,1fr))); align-items: start; }
.vds-col.is-n3 { grid-template-columns: var(--vds-cols, repeat(3, minmax(0,1fr))); gap: 22px; }
.vds-col-c { min-width: 0; }
.vds-col-c.is-card { background: #fff; border: 1px solid var(--vds-bordo); border-radius: 16px; padding: 32px; }
.vds-col-c.is-bordo { border-top: 3px solid var(--vds-ink); padding: 24px 4px 0; }
.vds-col-c.is-bordo.is-col-verde { border-top-color: var(--vds-verde); }
.vds-col-c.is-bordo.is-col-rosso { border-top-color: var(--vds-rosso); }
.vds-col-c.is-sticky { position: sticky; top: calc(var(--vds-h-admin) + var(--vds-h-header) + 26px); }
.vds-col-c .vds-shead { margin-bottom: 20px; }
.vds-col-c .vds-shead .vds-h2 { font-size: 28px; }
.vds-col-c.is-card .vds-shead, .vds-col-c.is-bordo .vds-shead { margin-bottom: 10px; }
.vds-col-c.is-card .vds-h2, .vds-col-c.is-bordo .vds-h2 { font-size: 22px; }
.vds-col-c.is-bordo .vds-h2 { font-size: 18px; }
.vds-col-c.is-bordo .vds-p { font-size: 15.5px; color: var(--vds-tenue); }
.vds-col-c.is-card .vds-p { font-size: 16px; }
.vds-col .vds-tm { grid-template-columns: 1fr; gap: 20px; }
.vds-col .vds-shead .vds-h2 { font-size: 28px; }
.vds-col .vds-shead:not(.is-flush) { max-width: none; }

/* =========================================================================
   Numeri
   ========================================================================= */
.vds-numeri { display: grid; gap: 0; }
.vds-numeri.is-c4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.vds-num { display: flex; flex-direction: column; gap: 4px; }
.vds-num-n { font-family: var(--vds-ff-t); font-weight: 800; font-size: 36px; color: var(--vds-rosso); letter-spacing: -.02em; line-height: 1.1; }
.vds-num-l { font-size: 15px; color: var(--vds-tenue); font-weight: 600; line-height: 1.45; }
.vds-sec-numeri.is-sovrapposto { padding: 0; z-index: 5; }
.vds-sec-numeri.is-sovrapposto .vds-numeri { margin-top: -64px; background: #fff; border-radius: 16px; box-shadow: 0 18px 50px rgba(34,17,20,.14); overflow: hidden; }
.vds-sec-numeri.is-sovrapposto .vds-num { padding: 30px 26px; border-left: 1px solid #F0ECEB; }
.vds-sec-numeri.is-sovrapposto .vds-num:first-child { border-left: 0; }
.vds-numeri-g { display: grid; gap: 36px; }
.vds-numeri-g.is-c4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.vds-numeri-gr { display: flex; flex-direction: column; gap: 18px; border-top: 3px solid var(--vds-rosso); padding-top: 20px; }
.vds-numeri-gt { font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; color: var(--vds-rosa-chiaro); }
.is-scuro .vds-num-n { color: #fff; font-size: 30px; }
.is-scuro .vds-num-l { color: rgba(255,255,255,.75); font-weight: 400; font-size: 14.5px; }

/* =========================================================================
   Promo
   ========================================================================= */
.vds-promo { display: grid; gap: 22px; }
.vds-promo.is-c2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.vds-promo-c { border: 1px solid var(--vds-bordo); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.vds-promo-img { height: 220px; }
.vds-promo-img .vds-img, .vds-promo-img .vds-ph { height: 100%; border-radius: 0; }
.vds-promo-b { padding: 30px 30px 34px; display: flex; flex-direction: column; gap: 12px; }
.vds-promo-b .vds-h3 { font-size: 26px; }
.vds-promo-b .vds-card-p { font-size: 16px; }
.vds-promo-b .vds-tlink { font-size: 15.5px; margin-top: 4px; }

/* =========================================================================
   CTA finale
   ========================================================================= */
.vds-ctaf { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.vds-ctaf .vds-h2 { font-size: 30px; max-width: 620px; }
.vds-ctaf .vds-ctas { margin-top: 0; }

/* =========================================================================
   Bando
   ========================================================================= */
.vds-bando.is-aperto { background: var(--vds-verde); color: #fff; }
.vds-bando.is-chiuso { background: var(--vds-crema); border-bottom: 1px solid var(--vds-bordo); color: var(--vds-testo); }
.vds-bando .vds-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.vds-bando-t { font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; }
.vds-bando.is-aperto .vds-btn.is-chiaro { color: var(--vds-verde); }
.vds-bando.is-aperto .vds-btn.is-chiaro:hover { background: var(--vds-verde-bg); color: var(--vds-verde-ink); }

/* =========================================================================
   5x1000
   ========================================================================= */
.vds-cf-banda { display: flex; align-items: center; justify-content: space-between; gap: 48px; flex-wrap: wrap; }
.vds-cf-testo { display: flex; flex-direction: column; gap: 12px; max-width: 560px; }
.vds-cf-testo .vds-shead + .vds-p { margin-top: 0; }
.vds-cf-testo .vds-h2 { font-size: 32px; }
.vds-cf-testo .vds-p { font-size: 16.5px; }
.vds-cf { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.vds-cf-l { font-size: 14px; color: rgba(255,255,255,.7); font-weight: 600; }
.vds-cf-riga { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.vds-cf-code { font-family: var(--vds-ff-t); font-weight: 800; font-size: 26px; letter-spacing: .08em; background: rgba(255,255,255,.08); border: 1px dashed rgba(255,255,255,.35); padding: 12px 22px; border-radius: 10px; color: #fff; }
.vds-cf-code.is-manca { font-size: 16px; letter-spacing: 0; font-weight: 600; }
.vds-cf-copia.is-pieno { font-size: 15px; padding: 14px 24px; }
.vds-cf-copia.is-fatto { background: var(--vds-verde); }
.vds-cf-s { font-size: 13px; color: rgba(255,255,255,.5); }
.vds-sec-cf.is-card { background: var(--vds-ink); color: #fff; border-radius: 16px; padding: 36px; position: sticky; top: calc(var(--vds-h-admin) + var(--vds-h-header) + 26px); }
.vds-sec-cf.is-card .vds-cf { align-items: stretch; gap: 14px; }
.vds-sec-cf.is-card .vds-cf-code { text-align: center; font-size: 28px; }
.vds-sec-cf.is-card .vds-cf-riga { flex-direction: column; align-items: stretch; }
.vds-sec-cf.is-card .vds-cf-s { text-align: center; }

/* =========================================================================
   Tabs
   ========================================================================= */
.vds-tabs-lista { display: flex; gap: 8px; border-bottom: 2px solid var(--vds-bordo); }
.vds-tab { cursor: pointer; font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; padding: 14px 26px; border-radius: 12px 12px 0 0; margin-bottom: -2px; border: 1px solid transparent; border-bottom: 3px solid transparent; background: transparent; color: var(--vds-tenue); }
.vds-tab[aria-selected="true"] { background: #fff; color: var(--vds-rosso); border-color: var(--vds-bordo); border-bottom-color: var(--vds-rosso); }
.vds-tab-p { border: 1px solid var(--vds-bordo); border-top: 0; border-radius: 0 0 16px 16px; padding: 36px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 40px; background: #fff; }
.vds-tab-p[hidden] { display: none; }
.vds-tab-sx { display: flex; flex-direction: column; gap: 14px; }
.vds-tab-sx .vds-h3 { font-size: 24px; }
.vds-tab-sx .vds-p { font-size: 16.5px; }
.vds-tab-voce { display: flex; flex-direction: column; gap: 6px; }
.vds-tab-dx { display: flex; flex-direction: column; gap: 16px; }
.vds-box { background: var(--vds-crema); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 4px; font-size: 15.5px; line-height: 1.6; color: var(--vds-testo); }
.vds-box-t { font-family: var(--vds-ff-t); font-weight: 700; font-size: 14.5px; color: var(--vds-rosso); }
/* Senza JS: tutti i pannelli visibili, uno sotto l'altro. */
.no-js .vds-tab-p[hidden] { display: grid; margin-top: 24px; border-top: 1px solid var(--vds-bordo); border-radius: 16px; }

/* =========================================================================
   Documenti
   ========================================================================= */
.vds-doc-g { display: flex; flex-direction: column; gap: 14px; }
.vds-doc-g + .vds-doc-g { margin-top: 44px; }
.vds-sec-doc .vds-p.is-tenue { margin: -24px 0 36px; }
.vds-doc-g .vds-h3 { font-size: 20px; }
.vds-doc-g .vds-card-p { margin-top: -8px; }
.vds-doc { display: flex; flex-direction: column; gap: 12px; }
.vds-doc-r { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--vds-bordo); border-radius: 12px; padding: 16px 22px; color: var(--vds-ink); transition: border-color .2s; }
a.vds-doc-r:hover { border-color: var(--vds-rosso); color: var(--vds-ink); }
.vds-doc-r.is-manca { opacity: .6; }
.vds-doc-tipo { width: 42px; height: 42px; border-radius: 10px; background: var(--vds-rosa); color: var(--vds-rosso); display: grid; place-items: center; font-family: var(--vds-ff-t); font-weight: 800; font-size: 11.5px; flex: none; }
.vds-doc-t { display: flex; flex-direction: column; min-width: 0; }
.vds-doc-tt { font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; }
.vds-doc-s { font-size: 14px; color: var(--vds-tenue); }
.vds-doc-cta { margin-left: auto; color: var(--vds-rosso); font-weight: 700; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.is-manca .vds-doc-cta { color: var(--vds-tenue); }

/* =========================================================================
   Form (Contact Form 7)
   ========================================================================= */
.vds-sec-form .vds-shead { margin-bottom: 28px; }
.vds-sec-form .vds-h2 { font-size: 30px; }
.vds-form { background: #fff; color: var(--vds-ink); border-radius: 16px; padding: 36px; }
.vds-form .wpcf7-form { display: flex; flex-direction: column; gap: 20px; }
.vds-form .wpcf7-form > p { margin: 0; }
.vds-form-griglia { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.vds-form label { display: flex; flex-direction: column; gap: 6px; font-family: var(--vds-ff-t); font-weight: 600; font-size: 14px; }
.vds-form .wpcf7-form-control-wrap { display: block; }
.vds-form input[type="text"], .vds-form input[type="email"], .vds-form input[type="tel"], .vds-form textarea {
  width: 100%; border: 1px solid #DDD6D4; border-radius: 10px; padding: 12px 14px; font-family: var(--vds-ff-b); font-size: 15.5px; background: #fff; color: var(--vds-ink);
}
.vds-form input:focus, .vds-form textarea:focus { outline: 2px solid var(--vds-rosso); outline-offset: 0; border-color: var(--vds-rosso); }
.vds-form textarea { resize: vertical; min-height: 110px; }
.vds-form-scelte { display: flex; flex-direction: column; gap: 10px; }
.vds-form-scelte > span:first-child, .vds-form-l { font-family: var(--vds-ff-t); font-weight: 600; font-size: 14px; }
.vds-form .wpcf7-checkbox { display: flex; gap: 10px; flex-wrap: wrap; }
.vds-form .wpcf7-checkbox .wpcf7-list-item { margin: 0; }
.vds-form .wpcf7-checkbox .wpcf7-list-item label { flex-direction: row; align-items: center; gap: 8px; border: 1px solid #DDD6D4; border-radius: 999px; padding: 9px 16px; font-size: 14.5px; font-family: var(--vds-ff-b); font-weight: 400; cursor: pointer; }
.vds-form .wpcf7-checkbox .wpcf7-list-item label:has(:checked) { border-color: var(--vds-rosso); background: var(--vds-rosa); }
.vds-form input[type="checkbox"] { accent-color: var(--vds-rosso); width: 16px; height: 16px; margin: 0; }
.vds-form .wpcf7-acceptance label { flex-direction: row; align-items: flex-start; gap: 10px; font-family: var(--vds-ff-b); font-weight: 400; font-size: 14px; color: var(--vds-tenue); }
.vds-form .wpcf7-acceptance input { margin-top: 3px; }
.vds-form .wpcf7-submit { background: var(--vds-rosso); color: #fff; border: 0; font-family: var(--vds-ff-t); font-weight: 700; font-size: 16px; padding: 15px 30px; border-radius: 999px; cursor: pointer; align-self: flex-start; }
.vds-form .wpcf7-submit:hover { background: var(--vds-rosso-scuro); }
.vds-form .wpcf7-spinner { margin-left: 12px; }
.vds-form .wpcf7-not-valid-tip { font-size: 13px; color: var(--vds-rosso); font-family: var(--vds-ff-b); font-weight: 400; }
.vds-form .wpcf7-response-output { margin: 0; border-radius: 10px; padding: 12px 16px; font-size: 14.5px; border: 1px solid var(--vds-giallo-bordo); background: var(--vds-giallo-bg); color: var(--vds-giallo-ink); }
.vds-form .wpcf7 form.sent .wpcf7-response-output { border-color: var(--vds-verde-bg); background: var(--vds-verde-bg); color: var(--vds-verde-ink); }

/* =========================================================================
   Riquadro, contatti, dati, voci, cornice
   ========================================================================= */
.vds-riq { background: #fff; border: 1px solid var(--vds-bordo); border-radius: 16px; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.vds-riq.is-trasp { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); color: #fff; padding: 24px 28px; }
.vds-riq-sx { display: flex; flex-direction: column; gap: 4px; }
.vds-riq-t { font-family: var(--vds-ff-t); font-weight: 700; font-size: 17px; }
.vds-riq-p { font-size: 15px; color: var(--vds-tenue); line-height: 1.55; }
.is-trasp .vds-riq-p { color: rgba(255,255,255,.7); font-size: 14.5px; }
.vds-riq-dx { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.vds-riq-l { font-size: 13px; color: var(--vds-tenue); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.vds-riq-v { font-family: var(--vds-ff-t); font-weight: 800; font-size: 26px; color: var(--vds-rosso); }
.vds-riq .vds-btn { font-size: 15px; padding: 13px 26px; }
.vds-sec-riq .vds-shead { margin-bottom: 36px; }
.vds-contatti { display: flex; flex-direction: column; gap: 8px; font-size: 16px; color: var(--vds-testo); margin-top: 18px; }
.vds-contatti strong { color: var(--vds-ink); }
.vds-dati { border: 1px solid var(--vds-bordo); border-radius: 14px; padding: 26px 28px; display: flex; flex-direction: column; gap: 12px; font-size: 15.5px; }
.vds-dati dt { font-weight: 700; font-family: var(--vds-ff-t); font-size: 13.5px; color: var(--vds-tenue); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
.vds-dati dd.is-mono { font-family: var(--vds-ff-t); font-weight: 700; letter-spacing: .05em; }
.vds-dati .is-manca { color: var(--vds-tenue); }
.vds-voce { border-left: 3px solid var(--vds-rosso); padding: 4px 0 4px 22px; display: flex; flex-direction: column; gap: 6px; }
.vds-voce + .vds-voce, .vds-voce + .vds-p { margin-top: 18px; }
.vds-voce .vds-vt { font-size: 17px; }
.vds-cornice { border: 2px solid var(--vds-rosso); border-radius: 18px; padding: 44px; display: flex; flex-direction: column; gap: 28px; background: linear-gradient(180deg, #FFFDFD, var(--vds-rosa)); }
.vds-cornice .vds-shead { margin-bottom: 0; max-width: 760px; }
.vds-cornice .vds-shead .vds-h2 { font-size: 30px; }
.vds-cornice .vds-shead + .vds-p { margin-top: -12px; max-width: 760px; font-size: 16.5px; }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 1024px) {
  .vds-cards.is-c4, .vds-numeri-g.is-c4, .vds-passi.is-c4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vds-cards.is-c3, .vds-ct.is-c3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vds-footer-g { grid-template-columns: 1fr 1fr; gap: 36px; }
  .vds-tm, .is-inverso .vds-tm { grid-template-columns: 1fr; gap: 36px; }
  .is-inverso .vds-tm-testo { order: 1; }
  .is-inverso .vds-tm-media { order: 2; }
  .vds-tab-p { grid-template-columns: 1fr; }
  .vds-nav-ul { gap: 18px; font-size: 14px; }
  .vds-col, .vds-col.is-n3 { grid-template-columns: 1fr !important; gap: 36px; }
  .vds-col-c.is-sticky { position: static; }
  .vds-sec-cf.is-card { position: static; }
}

@media (max-width: 860px) {
  .vds-burger { display: flex; }
  .vds-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--vds-bordo); padding: 12px 24px 20px; }
  .vds-nav.is-aperto { display: block; }
  .vds-nav-ul { flex-direction: column; align-items: stretch; gap: 0; }
  .vds-nav-ul li { border-bottom: 1px solid var(--vds-bordo); }
  .vds-nav-ul li:last-child { border-bottom: 0; padding-top: 14px; }
  .vds-nav-a { display: block; padding: 13px 0; font-size: 16px; }
  .vds-nav-btn { display: inline-block; }
  .vds-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .vds-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .vds-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .vds-topbar .vds-wrap { flex-direction: column; align-items: flex-start; gap: 4px; }
  .vds-topbar-dx { flex-wrap: wrap; gap: 12px; }
  .vds-marchio .vds-marchio-img { height: 44px; }
}

@media (max-width: 640px) {
  .vds-pg { --vds-gutter: 18px; }
  .vds-sec.is-sp-normale { padding: 56px 0; }
  .vds-sec.is-sp-largo { padding: 64px 0; }
  .vds-cards.is-c2, .vds-cards.is-c3, .vds-cards.is-c4, .vds-ct.is-c2, .vds-ct.is-c3, .vds-promo.is-c2,
  .vds-numeri-g.is-c4, .vds-passi.is-c3, .vds-passi.is-c4, .vds-form-griglia { grid-template-columns: 1fr; }
  .vds-numeri.is-c4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vds-sec-numeri.is-sovrapposto .vds-numeri { margin-top: -40px; }
  .vds-sec-numeri.is-sovrapposto .vds-num { padding: 22px 20px; border-left: 0; border-top: 1px solid #F0ECEB; }
  .vds-sec-numeri.is-sovrapposto .vds-num:nth-child(-n+2) { border-top: 0; }
  .vds-sec-numeri.is-sovrapposto .vds-num:nth-child(even) { border-left: 1px solid #F0ECEB; }
  .vds-footer-g { grid-template-columns: 1fr; gap: 28px; padding-top: 44px; }
  .vds-hero.is-home { min-height: 520px; }
  .vds-hero.is-home .vds-hero-in { padding-top: 72px; padding-bottom: 96px; }
  .vds-hero.is-interno .vds-hero-in { padding-top: 48px; padding-bottom: 52px; }
  .vds-mosaico.is-n5 { grid-template-columns: 1fr 1fr; grid-template-rows: 180px 140px 140px; }
  .vds-mosaico.is-n5 .vds-mos-c:first-child { grid-row: 1; grid-column: 1 / 3; }
  .vds-mosaico.is-n3 { grid-template-rows: 160px 160px; }
  .vds-tab-p { padding: 22px; }
  .vds-tabs-lista { overflow-x: auto; }
  .vds-tab { padding: 12px 16px; font-size: 15px; white-space: nowrap; }
  .vds-cornice { padding: 26px 20px; }
  .vds-form { padding: 22px 18px; }
  .vds-testata-riga { flex-direction: column; align-items: flex-start; }
  .vds-riq-dx { align-items: flex-start; }
  .vds-cf-code { font-size: 20px; padding: 10px 16px; }
  .vds-btn { white-space: normal; text-align: center; }
  .vds-ctaf .vds-h2 { font-size: 26px; }
  .vds-media-1 { height: 260px; }
  .vds-avviso .vds-btn.is-avviso { margin-left: 0; }
}
