/* Aiuto Solidale — Strumenti. Usa i token del tema (--c-dark, --c-cream, --c-green). */

/* IBAN copiabile */
.asodv-iban { cursor: pointer; }
.asodv-iban.is-ok { text-decoration: underline; text-underline-offset: 3px; }
.asodv-copia {
	display: inline-flex; align-items: center; gap: .4em;
	margin-left: .6em; padding: .5em 1.1em;
	border: 0; border-radius: var(--r-pill, 100px);
	font: inherit; font-size: .7em; font-weight: 700; line-height: 1;
	letter-spacing: .02em; cursor: pointer; vertical-align: middle; white-space: nowrap;
	background: var(--c-dark, #25291C); color: var(--c-cream, #F1EFE4);
	box-shadow: var(--sh-drop, 4px 4px 4px rgba(0, 0, 0, .25));
	transition: transform var(--t-fast, 150ms), background var(--t-fast, 150ms);
}
.asodv-copia:hover { transform: translateY(-1px); }
.asodv-copia:active { transform: translateY(1px); }
.asodv-copia.is-ok, .asodv-copia--su-scuro.is-ok { background: var(--c-green, #84DD63); color: var(--c-dark, #25291C); }
.asodv-copia--su-scuro { background: var(--c-cream, #F1EFE4); color: var(--c-dark, #25291C); }
.site-footer__line--iban .asodv-copia { font-size: .75em; margin-left: .5em; }
.dona-ora__iban { align-items: center; }

/* Riquadro «Dona ora» (Contattaci): QR + link alla lettera */
.asodv-dona-extra { margin-top: clamp(14px, 1.6vw, 26px); display: flex; flex-direction: column; align-items: center; gap: 14px; }
.asodv-qr { margin: 0; display: flex; align-items: center; gap: 14px; text-align: left; max-width: 460px; }
.asodv-qr img { width: 110px; height: 110px; background: #fff; padding: 6px; border-radius: 12px; flex-shrink: 0; }
.asodv-qr figcaption { font-size: clamp(.85rem, 1vw, 1rem); font-weight: 300; line-height: 1.35; }
.asodv-lettera-link { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.asodv-lettera-link:hover { text-decoration-thickness: 2px; }

/* Riquadro «Come donare» ([asodv_dona]) */
.asodv-dona {
	background: var(--c-green, #84DD63); color: var(--c-dark, #25291C);
	border-radius: 0 clamp(24px, 3vw, 48px) 0 clamp(24px, 3vw, 48px);
	padding: clamp(22px, 2.6vw, 40px) clamp(22px, 3vw, 48px);
	display: grid; grid-template-columns: auto 1fr; gap: clamp(18px, 2.5vw, 40px); align-items: center;
	margin: 2em 0;
}
.asodv-dona__titolo { font-size: clamp(1.6rem, 2.4vw, 2.4rem); font-weight: 900; line-height: 1.05; margin: 0; padding-right: clamp(18px, 2.5vw, 40px); border-right: 1.5px solid var(--c-dark, #25291C); }
.asodv-dona__corpo { display: flex; flex-direction: column; gap: .55em; min-width: 0; }
.asodv-dona__corpo p { margin: 0; }
.asodv-dona__banca { font-weight: 300; }
.asodv-dona__etichetta { display: block; font-size: .78em; font-weight: 500; letter-spacing: .08em; }
.asodv-dona__iban-value { font-size: clamp(1.15rem, 1.9vw, 1.9rem); font-weight: 900; letter-spacing: .04em; overflow-wrap: anywhere; }
.asodv-dona .asodv-qr { margin-top: .6em; }
@media (max-width: 640px) {
	.asodv-dona { grid-template-columns: 1fr; }
	.asodv-dona__titolo { border-right: 0; border-bottom: 1.5px solid var(--c-dark, #25291C); padding: 0 0 .4em; }
	.asodv-dona .asodv-qr { display: none; } /* da telefono il QR non serve: si usa «Copia IBAN» */
}

/* Pagine di testo (lettera, privacy): impaginazione leggibile dentro il template base */
.asodv-testo { max-width: 820px; margin: 0 auto; color: var(--c-dark, #25291C); font-size: clamp(1rem, 1.15vw, 1.2rem); line-height: 1.6; }
.asodv-testo > * { margin: 0 0 1em; }
.asodv-testo h2 { font-size: clamp(1.5rem, 2.4vw, 2.4rem); line-height: 1.1; margin-top: 1.6em; }
.asodv-testo h3 { font-size: clamp(1.15rem, 1.5vw, 1.5rem); line-height: 1.2; margin-top: 1.4em; }
.asodv-testo ul { padding-left: 1.2em; }
.asodv-testo li { margin-bottom: .4em; }
.asodv-testo a:not(.btn) { color: inherit; }
.asodv-testo .btn { text-decoration: none; }
.asodv-testo .asodv-nota { font-size: .9em; font-weight: 300; }
.asodv-testo .asodv-data { font-size: .9em; font-weight: 300; }

/* Lettera del Presidente */
.asodv-lettera__eyebrow { font-weight: 700; letter-spacing: .02em; margin-bottom: .4em; }
.asodv-lettera__titolo { font-size: clamp(2rem, 3.6vw, 3.6rem); line-height: 1.05; margin: 0 0 .8em; }
.asodv-lettera__titolo em { font-weight: 200; font-style: italic; }
.asodv-lettera__titolo strong { font-weight: 900; }
.asodv-lettera__voci { display: grid; grid-template-columns: max-content 1fr; gap: .5em clamp(16px, 2.5vw, 40px); margin: 1em 0 1.6em; }
.asodv-lettera__voci dt { font-weight: 900; }
.asodv-lettera__voci dd { margin: 0; font-weight: 300; }
.asodv-lettera__chiusa { font-size: clamp(1.15rem, 1.6vw, 1.6rem); line-height: 1.3; text-align: center; margin: 2em 0 1.4em; }
.asodv-lettera__chiusa em { font-weight: 200; }
.asodv-lettera__chiusa strong { font-weight: 900; }
.asodv-lettera__firma { text-align: right; margin-bottom: 2em; }
.asodv-lettera__firma strong { font-size: 1.15em; font-weight: 900; }
.asodv-lettera__pdf { text-align: center; }
@media (max-width: 480px) { .asodv-lettera__voci { grid-template-columns: 1fr; gap: .15em; } .asodv-lettera__voci dd { margin-bottom: .6em; } }

/* Pagine semplici (template del plugin): stessa gabbia del tema */
.asodv-pagina { background: var(--c-cream, #F1EFE4); padding: clamp(32px, 5vw, 90px) 0 clamp(60px, 8vw, 140px); }
.asodv-pagina__inner { max-width: var(--container-max, 1770px); margin: 0 auto; padding: 0 var(--gutter, clamp(20px, 4vw, 75px)); }
.asodv-pagina__testata { max-width: 820px; margin: 0 auto clamp(24px, 3vw, 48px); }
.asodv-pagina__titolo { margin: 0; color: var(--c-dark, #25291C); font-size: clamp(2.2rem, 4.5vw, 4.5rem); font-weight: 900; line-height: 1.02; letter-spacing: -.01em; }

/* L'IBAN con gli spazi va a capo tra i gruppi, non a metà gruppo (il tema usa break-all) */
.asodv-iban { word-break: normal; overflow-wrap: normal; }
@media (max-width: 640px) {
	.asodv-dona-extra .asodv-qr { display: none; } /* da telefono non si può inquadrare il proprio schermo */
}

/* Contattaci: riquadro «Vuoi donare?» senza IBAN (l'IBAN sta in Sostienici) */
.dona-ora__iban { display: none; }
.asodv-dona-ora__tasto { margin-top: clamp(10px, 1.2vw, 18px); }

/* Pagina Sostienici (template senza titolo) */
.asodv-pagina--senza-titolo { padding-top: clamp(28px, 4vw, 70px); }
.asodv-sostieni { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: clamp(30px, 5vw, 90px); align-items: start; }
.asodv-sostieni__titolo { margin: 0 0 clamp(18px, 2vw, 30px); color: var(--c-dark, #25291C); font-size: clamp(2.4rem, 5vw, 5.2rem); font-weight: 900; line-height: 1; letter-spacing: -.015em; }
.asodv-sostieni__titolo em { font-style: italic; font-weight: 200; }
.asodv-sostieni__box { position: sticky; top: 110px; }
.asodv-sostieni__box .asodv-dona { margin: 0; grid-template-columns: 1fr; }
.asodv-sostieni__box .asodv-dona__titolo { border-right: 0; border-bottom: 1.5px solid var(--c-dark, #25291C); padding: 0 0 .4em; }
.asodv-lettera p { margin: 0 0 1em; color: var(--c-dark, #25291C); font-size: clamp(1.05rem, 1.3vw, 1.35rem); line-height: 1.55; font-weight: 300; }
.asodv-lettera h2 { margin: 1.4em 0 .4em; color: var(--c-dark, #25291C); font-size: clamp(1.15rem, 1.5vw, 1.5rem); font-weight: 900; line-height: 1.2; }
.asodv-voci { display: grid; grid-template-columns: max-content 1fr; gap: .5em 24px; margin: 1em 0 1.6em; color: var(--c-dark, #25291C); }
.asodv-voci dt { font-weight: 900; }
.asodv-voci dd { margin: 0; font-weight: 300; }
.asodv-firma { text-align: right; font-weight: 300; margin-top: 1.6em; }
.asodv-firma strong { display: block; font-size: 1.3em; font-weight: 900; }
.asodv-nota { font-size: .95rem; font-weight: 300; margin: 1em 0 0; line-height: 1.45; color: var(--c-dark, #25291C); }
.asodv-nota strong { font-weight: 700; }
.asodv-nota a:not(.btn) { color: inherit; }
.asodv-lettera .btn, .asodv-nota .btn { color: var(--c-cream, #F1EFE4); text-decoration: none; }
/* Riquadro verde «Altri modi per aiutare»: riusa .help del tema dentro la pagina */
.asodv-pagina .help { padding: clamp(36px, 5vw, 90px) 0 0; }
.asodv-pagina .help__inner { padding: 0; max-width: none; }
.asodv-pagina .help__header { grid-template-columns: 1fr; margin-bottom: clamp(26px, 3vw, 50px); }
.asodv-pagina .help-card__text { font-size: clamp(1rem, 1.4vw, 1.6rem); }
.asodv-pagina .help-card__title { font-size: clamp(1.3rem, 1.9vw, 2.1rem); }
/* Trasparenza: sfondo del sito, nessun titolo */
.asodv-trasparenza { padding: clamp(36px, 5vw, 90px) 0 clamp(20px, 3vw, 40px); color: var(--c-dark, #25291C); }
.asodv-trasparenza__intro { max-width: 760px; margin: 0 0 clamp(22px, 3vw, 44px); font-size: clamp(1.05rem, 1.3vw, 1.35rem); font-weight: 300; line-height: 1.5; }
.asodv-trasparenza__lista { list-style: none; margin: 0; padding: 0; }
.asodv-trasparenza__lista li { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px 0; border-top: 1.5px solid currentColor; font-size: clamp(1.05rem, 1.3vw, 1.35rem); }
.asodv-trasparenza__lista li:last-child { border-bottom: 1.5px solid currentColor; }
.asodv-trasparenza__lista small { display: block; font-weight: 300; font-size: .85em; margin-top: .2em; }
.asodv-tag { font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: .4em .9em; border-radius: 100px; background: var(--c-green, #84DD63); color: var(--c-dark, #25291C); white-space: nowrap; text-decoration: none; }
.asodv-tag--vuoto { background: transparent; border: 1.5px solid currentColor; color: inherit; }
@media (max-width: 768px) {
	.asodv-sostieni { grid-template-columns: 1fr; }
	.asodv-sostieni__box { position: static; }
	.asodv-voci { grid-template-columns: 1fr; gap: .15em; }
	.asodv-voci dd { margin-bottom: .6em; }
}

/* Sostienici: sezione scura «Altri modi per aiutare» con le card chiare del tema */
.btn--piccolo { font-size: clamp(.95rem, 1.1vw, 1.2rem); padding: clamp(10px, 1vw, 16px) clamp(22px, 2vw, 36px); }

/* Sostienici: «cosa sostieni» come elenco a righe, leggibile anche da telefono */
.asodv-voci { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: clamp(18px, 2.5vw, 40px); row-gap: 0; margin: 1em 0 1.6em; }
.asodv-voci dt, .asodv-voci dd { margin: 0; padding: .6em 0; border-top: 1.5px solid rgba(37, 41, 28, .2); }
.asodv-voci dt { font-weight: 900; }
.asodv-voci dd { font-weight: 300; line-height: 1.4; }
.asodv-voci dt:nth-last-of-type(1), .asodv-voci dd:nth-last-of-type(1) { border-bottom: 1.5px solid rgba(37, 41, 28, .2); }
@media (max-width: 768px) {
	/* da telefono: prima il riquadro «Come donare», poi titolo, mission, elenco, lettera */
	.asodv-sostieni__box { order: -1; margin-bottom: clamp(20px, 4vw, 32px); }
	.asodv-voci { grid-template-columns: 1fr; gap: 0; }
	.asodv-voci dt { padding: .8em 0 .15em; }
	.asodv-voci dd { padding: 0 0 .8em; border-top: 0; font-weight: 400; }
	.asodv-voci dt:nth-last-of-type(1) { border-bottom: 0; }
}

/* Card «Come donare»: titolo su una riga sopra il contenuto */
.asodv-dona { grid-template-columns: 1fr; gap: clamp(10px, 1.2vw, 18px); }
.asodv-dona__titolo { border-right: 0; padding-right: 0; padding-bottom: .35em; border-bottom: 1.5px solid var(--c-dark, #25291C); }
.asodv-sostieni__box .asodv-dona__titolo { padding: 0 0 .35em; }

/* Sostienici: la card «Come donare» resta ferma mentre scorre il testo.
   In Safari lo sticky si spegne se il body ha overflow-x: hidden (regola del tema):
   su questa pagina si usa clip, che taglia lo sbordo senza creare un contenitore di scorrimento. */
body.page-id-227 { overflow-x: clip; }
.asodv-sostieni__box { position: -webkit-sticky; position: sticky; align-self: start; }

/* ============================================================
   Calendario (template del plugin): «Vieni a sostenerci» + «Raccolte negli anni»
   ============================================================ */
.asodv-cal .asodv-sez { padding: clamp(36px, 5vw, 90px) 0; color: var(--c-dark, #25291C); background: var(--c-cream, #F1EFE4); }
.asodv-cal .asodv-sez--prima { padding-top: clamp(28px, 4vw, 70px); }
.asodv-cal .asodv-sez--scura { background: var(--c-dark, #25291C); color: var(--c-cream, #F1EFE4); }
.asodv-cal .asodv-sez__inner { max-width: var(--container-max, 1770px); margin: 0 auto; padding-inline: var(--gutter, clamp(20px, 4vw, 75px)); }
.asodv-cal .asodv-sez__testa { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; border-bottom: 1.5px solid currentColor; padding-bottom: 14px; margin-bottom: clamp(22px, 3vw, 48px); }
.asodv-cal .asodv-sez__titolo { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.4rem); font-weight: 900; line-height: 1.05; color: inherit; }
.asodv-cal .asodv-sez__intro { max-width: 760px; margin: 0 0 clamp(22px, 3vw, 44px); font-size: clamp(1.05rem, 1.3vw, 1.35rem); font-weight: 300; line-height: 1.5; }
.asodv-cal .asodv-sez__intro em { font-style: italic; }
.asodv-cal .asodv-sez__intro a { color: inherit; }
.asodv-cal .pross { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.asodv-cal .pross-card { display: grid; grid-template-columns: clamp(120px, 11vw, 160px) minmax(0, 1fr); background: var(--c-white, #fff); color: var(--c-dark, #25291C); border-radius: 0 clamp(24px, 3vw, 48px) 0 clamp(24px, 3vw, 48px); box-shadow: var(--sh-drop, 4px 4px 4px rgba(0,0,0,.25)); overflow: hidden; text-align: left; }
.asodv-cal .pross-card__data { background: var(--c-green, #84DD63); color: var(--c-dark, #25291C); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: .15em; padding: clamp(16px, 1.8vw, 26px) 10px; }
.asodv-cal .pross-card__giorno { font-size: clamp(2.6rem, 4.4vw, 4.4rem); font-weight: 900; line-height: .9; }
.asodv-cal .pross-card__mese { font-weight: 700; font-size: clamp(.9rem, 1vw, 1.05rem); line-height: 1.15; }
.asodv-cal .pross-card__assoc { display: flex; flex-direction: column; align-items: center; gap: 5px; margin-top: .6em; padding-top: .6em; border-top: 1.5px solid rgba(37, 41, 28, .35); width: 100%; text-decoration: none; color: inherit; font-weight: 700; font-size: .9rem; line-height: 1.15; }
.asodv-cal .pross-card__assoc img { height: 46px; width: auto; max-width: 100%; background: var(--c-white, #fff); padding: 5px 8px; border-radius: 10px; }
.asodv-cal .pross-card__corpo { padding: clamp(18px, 2vw, 30px) clamp(18px, 2.2vw, 34px); display: flex; flex-direction: column; justify-content: center; gap: .3em; }
.asodv-cal .pross-card__nome { margin: 0; font-size: clamp(1.3rem, 2vw, 2rem); font-weight: 900; line-height: 1.05; }
.asodv-cal .pross-card__luogo { margin: 0; font-weight: 300; font-size: clamp(.95rem, 1.1vw, 1.15rem); }
.asodv-cal .pross-card__azioni { display: flex; flex-wrap: wrap; gap: 8px; margin-top: .4em; padding-top: .6em; }
.asodv-cal .pross-card__azioni a.btn { padding: 8px 14px; font-size: clamp(.78rem, .85vw, .9rem); font-weight: 500; min-width: 0; min-height: 0; width: auto; flex: 0 0 auto; line-height: 1.1; color: var(--c-cream, #F1EFE4); text-decoration: none; white-space: nowrap; }
.asodv-cal .anni__testa { align-items: center; }
.asodv-cal .anni__nav { display: inline-flex; align-items: center; gap: 14px; }
.asodv-cal .anni__freccia { all: unset; cursor: pointer; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--c-green, #84DD63); color: var(--c-dark, #25291C); font-size: 1.3rem; font-weight: 900; transition: transform var(--t-fast, 150ms); }
.asodv-cal .anni__freccia:hover { transform: translateY(-1px); }
.asodv-cal .anni__freccia:disabled { opacity: .3; cursor: default; transform: none; }
.asodv-cal .anni__anno { font-size: clamp(1.6rem, 2.4vw, 2.4rem); font-weight: 900; line-height: 1; min-width: 3ch; text-align: center; }
.asodv-cal .anni__conta { font-weight: 300; font-size: .95rem; opacity: .85; }
.asodv-cal .anno-strip { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; }
.asodv-cal .anno-strip[hidden] { display: none; }
.asodv-cal .mese { border-top: 2px solid var(--c-green, #84DD63); padding-top: 12px; }
.asodv-cal .mese--vuoto { border-top-color: rgba(241, 239, 228, .25); }
.asodv-cal .mese__nome { display: block; font-weight: 900; font-size: clamp(1rem, 1.3vw, 1.4rem); margin-bottom: .5em; }
.asodv-cal .mese__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.asodv-cal .mese__evento { position: relative; }
.asodv-cal .mese__voce { all: unset; display: block; cursor: pointer; font-size: clamp(.8rem, .9vw, .95rem); line-height: 1.25; padding: 4px 0; color: inherit; }
.asodv-cal .mese__voce strong { display: block; font-weight: 700; }
.asodv-cal .mese__voce span { font-weight: 300; opacity: .8; }
.asodv-cal .mese__evento:hover .mese__voce, .asodv-cal .mese__evento:focus-within .mese__voce { color: var(--c-green, #84DD63); }
.asodv-cal .mese__evento--futuro .mese__voce strong { color: var(--c-green, #84DD63); }
.asodv-cal .mese__evento--futuro .mese__voce span::after { content: " · in arrivo"; font-weight: 700; color: var(--c-green, #84DD63); opacity: 1; }
.asodv-cal .mese__nulla { opacity: .35; font-size: .9rem; }
.asodv-cal .mese__pop { display: none; position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: min(460px, 70vw); }
.asodv-cal .mese__evento:hover .mese__pop, .asodv-cal .mese__evento:focus-within .mese__pop { display: block; }
.asodv-cal .mese:nth-child(n+8) .mese__pop { left: auto; right: 0; }
.asodv-cal .mese__pop .pross-card { box-shadow: 0 14px 34px rgba(0, 0, 0, .4); }
@media (max-width: 1024px) {
	.asodv-cal .anno-strip { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.asodv-cal .mese:nth-child(n+8) .mese__pop { left: 0; right: auto; }
	.asodv-cal .mese:nth-child(6n+4) .mese__pop, .asodv-cal .mese:nth-child(6n+5) .mese__pop, .asodv-cal .mese:nth-child(6n) .mese__pop { left: auto; right: 0; }
}
@media (max-width: 768px) {
	.asodv-cal .pross { grid-template-columns: 1fr; }
	.asodv-cal .pross-card { grid-template-columns: 110px minmax(0, 1fr); }
	.asodv-cal .anno-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.asodv-cal .mese__pop, .asodv-cal .mese:nth-child(n) .mese__pop { position: fixed; top: auto; bottom: 16px; left: var(--gutter, 20px); right: var(--gutter, 20px); width: auto; }
	.asodv-cal .anni__testa { flex-direction: column; align-items: flex-start; }
}

/* Footer: niente angolo arrotondato quando la sezione prima è dello stesso colore scuro (Calendario) */
body.page-id-145 .site-footer { border-top-left-radius: 0; }

/* Calendario: foto nelle card degli eventi (Immagine in evidenza dell'evento) */
.asodv-cal .pross-card__foto { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; margin-bottom: .5em; }
.asodv-cal .mese__evento--foto .mese__voce span::after { content: " · foto"; font-weight: 700; }
.asodv-cal .mese__evento--futuro.mese__evento--foto .mese__voce span::after { content: " · in arrivo · foto"; }
.asodv-cal .mese__pop .pross-card--foto { width: min(520px, 70vw); }

/* Sostienici: firma e PDF nel riquadro fisso */
.asodv-sostieni__box .asodv-firma { margin-top: 1.4em; text-align: right; color: var(--c-dark, #25291C); }
.asodv-pdf { margin: .8em 0 0; text-align: right; }
.asodv-pdf .btn { color: var(--c-cream, #F1EFE4); text-decoration: none; }


/* Chi siamo: le associazioni partner dopo il presidente */
.asodv-partner { background: var(--c-cream, #F1EFE4); color: var(--c-dark, #25291C); padding: clamp(36px, 5vw, 90px) 0; }
.asodv-partner__inner { max-width: var(--container-max, 1770px); margin: 0 auto; padding-inline: var(--gutter, clamp(20px, 4vw, 75px)); }
.asodv-partner__testa { border-bottom: 1.5px solid currentColor; padding-bottom: 14px; margin-bottom: clamp(22px, 3vw, 48px); }
.asodv-partner__titolo { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.4rem); font-weight: 900; line-height: 1.05; }
.asodv-partner__griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px; }
.asodv-partner__voce { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 14px; min-height: 150px; padding: 22px 12px; background: var(--c-white, #fff); border-radius: 20px; text-decoration: none; color: var(--c-dark, #25291C); font-weight: 700; text-align: center; transition: transform var(--t-fast, 150ms); }
.asodv-partner__voce img { max-height: 60px; width: auto; max-width: 100%; object-fit: contain; }
a.asodv-partner__voce:hover { transform: translateY(-2px); }

/* Sostienici: «Altri modi per contribuire» nello stile dei «Cinque modi» della Home (dalla 1.6.0).
   Fondo crema come la pagina, titolo senza filo, voci separate da una linea in alto, testo leggero,
   tasto a pillola piccolo in fondo; due per riga, una sotto l'altra sotto i 1024 px.
   Il footer torna con l'angolo arrotondato: sopra c'è il crema, come nelle altre pagine. */
.asodv-altri { margin-top: clamp(48px, 6vw, 110px); color: var(--c-dark, #25291C); }
.asodv-altri .asodv-altri__titolo { margin: 0 0 clamp(22px, 3vw, 48px); color: var(--c-dark, #25291C); font-size: clamp(1.8rem, 3.2vw, 3.4rem); font-weight: 900; line-height: 1.05; }
.asodv-altri .asodv-altri__titolo em { font-weight: 200; font-style: italic; }
.asodv-modi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px) clamp(20px, 3.5vw, 64px); align-items: stretch; }
.asodv-modo { display: flex; flex-direction: column; border-top: 1.5px solid var(--c-dark, #25291C); padding-top: clamp(16px, 1.8vw, 26px); }
.asodv-modi .asodv-modo__titolo { margin: 0 0 .4em; color: var(--c-dark, #25291C); font-size: clamp(1.4rem, 2vw, 2.1rem); font-weight: 900; line-height: 1.05; }
.asodv-modi .asodv-modo__testo { margin: 0 0 1.3em; font-weight: 300; font-size: clamp(1rem, 1.15vw, 1.2rem); line-height: 1.45; max-width: 44ch; }
.asodv-modo .btn { margin-top: auto; align-self: flex-start; text-decoration: none; }
.asodv-modo .btn--dark { color: var(--c-cream, #F1EFE4); }
.asodv-modo .btn--primary { color: var(--c-dark, #25291C); }
@media (max-width: 1024px) {
	.asodv-modi { grid-template-columns: 1fr; gap: 0; }
	.asodv-modo { padding-bottom: clamp(16px, 2vw, 26px); }
	.asodv-modi .asodv-modo:last-child { border-bottom: 1.5px solid var(--c-dark, #25291C); }
}
@media (max-width: 768px) {
	.asodv-modo .btn { align-self: stretch; }
	/* su telefono niente linee tra le voci, come nella Home (dalla 1.8.0) */
	.asodv-modi { gap: clamp(30px, 8vw, 40px); }
	.asodv-modo { border-top: 0; padding-top: 0; padding-bottom: 0; }
	.asodv-modi .asodv-modo:last-child { border-bottom: 0; }
}

/* Sostienici da telefono: il riquadro «Come donare» resta al suo posto in cima alla pagina (dalla 1.10.1).
   La regola per Safari più sopra lo rimetteva fisso (sticky) a tutte le larghezze: scorrendo copriva il testo. */
@media (max-width: 768px) { .asodv-sostieni__box { position: static; } }

/* Sostienici da telefono (dalla 1.10.2): prima «Come donare», poi il testo, poi firma, tasto del PDF
   e nota sulla detrazione. Il riquadro si scompone (display: contents) e i pezzi si riordinano. */
@media (max-width: 768px) {
	.asodv-sostieni { row-gap: 0; }
	.asodv-sostieni__box { display: contents; }
	.asodv-sostieni__box .asodv-dona { order: -1; margin: 0 0 clamp(24px, 6vw, 36px); }
	.asodv-sostieni__testo { order: 0; }
	.asodv-sostieni__box .asodv-firma { order: 1; margin-top: clamp(24px, 6vw, 36px); }
	.asodv-sostieni__box .asodv-pdf { order: 2; }
	.asodv-sostieni__box .asodv-nota { order: 3; margin-top: 1.4em; }
}
