/*
 * BuonoandCo – sezioni della libreria (gruppo home) e card prodotto.
 * Misure dalle tavole "Libreria · …" a 1440 e 390 px. Un solo elemento oro per sezione.
 */

/* ---------- Comuni ---------- */
.testa-sezione { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; }
.testa-sezione h2 { margin: 0; }
.testa-sezione__sotto { margin-top: 8px; }
.testa-sezione__link { display: none; flex: none; padding-bottom: 6px; }
.testa-sezione--frase { display: grid; gap: 16px; align-items: end; }
.testa-sezione__frase { max-width: 520px; }
.scaffale__link-mobile { margin-top: 24px; }
@media (min-width: 1024px) {
	.testa-sezione { margin-bottom: 40px; }
	.testa-sezione__link { display: block; }
	.scaffale__link-mobile { display: none; }
	.testa-sezione--frase { grid-template-columns: 1fr 1fr; column-gap: 24px; }
	.testa-sezione--frase .testa-sezione__frase { padding-left: 32px; padding-bottom: 14px; }
}

/* Bottone piccolo delle card */
.bottone--piccolo { min-height: 38px; padding: 0 18px; font-size: 0.875rem; }
.added_to_cart { display: none; } /* il bottone resta e dice "Aggiunto": il focus non si perde */
.add_to_cart_button.loading { opacity: .6; }

/* ---------- Card prodotto · card-prodotto ---------- */
.card { display: flex; flex-direction: column; height: 100%; background: var(--bianco); color: var(--nero); border: 1px solid var(--grigio-linee); }
.card__foto { display: block; aspect-ratio: 4 / 5; background: var(--grigio-fondo); overflow: hidden; }
.card__foto img { width: 100%; height: 100%; object-fit: cover; }
.card__foto .segnaposto-foto { height: 100%; }
.card__fascia { margin: 0; padding: 5px 10px; background: var(--oro); color: var(--nero); font-size: 0.625rem; line-height: 1.3; letter-spacing: .12em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card__corpo { display: flex; flex-direction: column; flex: 1; padding: 12px 8px 8px; }
.card__nome { font-size: 1rem; line-height: 1.15; margin: 0 0 6px; }
.card__nome a { text-decoration: none; }
.card__nome a:hover { text-decoration: underline; text-underline-offset: 3px; }
.card__formato { margin: 0 0 4px; font-size: 0.75rem; line-height: 1.4; color: var(--grigio-testo); }
.card__nota { margin: 0 0 4px; font-size: 0.75rem; line-height: 1.4; font-weight: 600; }
.card__piede { display: grid; gap: 10px; margin-top: auto; padding-top: 10px; }
.card__prezzo { margin: 0; font-family: var(--font-titoli); font-size: 1rem; line-height: 1.2; }
.card__da-verificare { font-family: var(--font-testo); font-size: 0.75rem; color: var(--grigio-testo); }
.card__piede .bottone { width: 100%; }
@media (min-width: 1024px) {
	.card__fascia { padding: 5px 12px; font-size: 0.6875rem; }
	.card__corpo { padding: 14px 12px 14px; }
	.card__nome { font-size: 1.25rem; line-height: 1.1; }
	.card__formato, .card__nota { font-size: 0.8125rem; }
	.card__piede { grid-template-columns: 1fr auto; align-items: center; padding-top: 18px; }
	.card__prezzo { font-size: 1.25rem; }
	.card__piede .bottone { width: auto; min-width: 90px; }
}

/* ---------- Apertura con foto · apertura-foto ---------- */
.sezione-apertura-foto { position: relative; display: flex; align-items: flex-end; min-height: 640px; color: var(--bianco); background: var(--nero); overflow: hidden; isolation: isolate; }
.apertura-foto__foto { position: absolute; inset: 0; z-index: -1; }
.apertura-foto__foto img { width: 100%; height: 100%; object-fit: cover; object-position: var(--fuoco-mobile, 50% 50%); }
.apertura-foto__foto::before { /* gradiente nero vero, dal basso su mobile */
	content: ""; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(0deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.72) 36%, rgba(0,0,0,.15) 62%, rgba(0,0,0,0) 75%);
}
.apertura-foto__foto::after { /* grana fotografica leggera, solo sopra la foto */
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
	background: url("../../texture/grana-foto-256.webp") repeat;
}
.apertura-foto__foto .segnaposto-foto { height: 100%; }
.apertura-foto__testo { position: relative; padding-top: 120px; padding-bottom: 28px; }
.apertura-foto__testo .filetto { margin-bottom: 20px; }
.apertura-foto__testo h1 { max-width: 700px; }
.apertura-foto__sotto { max-width: 520px; margin-top: 16px; }
.apertura-foto__bottoni { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.apertura-foto__bottoni .bottone { padding: 0 12px; }
@media (min-width: 768px) {
	.sezione-apertura-foto { min-height: clamp(560px, 50vw, 760px); align-items: center; }
	.apertura-foto__foto img { object-position: var(--fuoco, 50% 50%); }
	.apertura-foto__foto::before { background: linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.66) 28%, rgba(0,0,0,.3) 52%, rgba(0,0,0,0) 72%); }
	.apertura-foto__testo { padding-top: 160px; padding-bottom: 108px; align-self: flex-end; }
	.apertura-foto__sotto { margin-top: 20px; }
	.apertura-foto__bottoni { display: flex; gap: 16px; margin-top: 40px; }
	.apertura-foto__bottoni .bottone { min-width: 232px; }
}

/* ---------- Reparti · reparti ---------- */
.reparti__griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.reparti__voce--1, .reparti__voce--2 { grid-column: 1 / -1; }
.reparti__link { display: flex; flex-direction: column; height: 100%; color: var(--bianco); text-decoration: none; background: var(--nero); }
.reparti__foto { position: relative; display: block; flex: 1; min-height: 110px; overflow: hidden; background: var(--grigio-fondo); }
.reparti__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reparti__foto .segnaposto-foto { position: absolute; inset: 0; }
.reparti__voce--1 .reparti__foto { aspect-ratio: 350 / 222; }
.reparti__voce--2 .reparti__foto { aspect-ratio: 350 / 120; }
.reparti__voce--3 .reparti__foto, .reparti__voce--4 .reparti__foto { aspect-ratio: 170 / 130; }
.reparti__foto .segnaposto-foto { min-height: 100%; }
.reparti__banda { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: var(--nero); }
.reparti__testi { display: grid; gap: 2px; }
.reparti__nome { font-family: var(--font-titoli); font-size: 1.375rem; line-height: 1.15; }
.reparti__desc { font-size: 0.8125rem; line-height: 1.35; }
.reparti__banda .icona { flex: none; width: 18px; height: 18px; }
.reparti__link:hover .reparti__nome { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
@media (min-width: 1024px) {
	.reparti__griglia { grid-template-columns: 627fr 302fr 302fr; grid-template-rows: auto auto; gap: 24px; }
	.reparti__voce--1 { grid-column: 1; grid-row: 1 / 3; }
	.reparti__voce--2 { grid-column: 2 / 4; grid-row: 1; }
	.reparti__voce--3 { grid-column: 2; grid-row: 2; }
	.reparti__voce--4 { grid-column: 3; grid-row: 2; }
	.reparti__voce--1 .reparti__foto { aspect-ratio: auto; min-height: 455px; }
	.reparti__voce--2 .reparti__foto { aspect-ratio: auto; min-height: 164px; }
	.reparti__voce--3 .reparti__foto, .reparti__voce--4 .reparti__foto { aspect-ratio: auto; min-height: 191px; }
	.reparti__banda { padding: 20px 24px; min-height: 74px; }
	.reparti__voce--1 .reparti__banda, .reparti__voce--2 .reparti__banda { min-height: 104px; }
	.reparti__nome { font-size: 1.75rem; }
	.reparti__voce--1 .reparti__nome, .reparti__voce--2 .reparti__nome { font-size: 2rem; }
	.reparti__desc { font-size: 0.875rem; }
}

/* ---------- Servizi in numeri · servizi-numeri ---------- */
.servizi-numeri__etichetta { margin: 0 0 20px; }
.servizi-numeri__voci { display: grid; gap: 36px; margin: 0; }
.servizi-numeri__numero { margin: 0 0 14px; line-height: 1; }
.servizi-numeri__cifra { font-family: var(--font-titoli); font-size: 5rem; line-height: .9; color: var(--oro); letter-spacing: -0.02em; } /* oro su nero: 5,4:1, solo numeri grandi */
.servizi-numeri__unita { font-size: 1.125rem; margin-left: 4px; }
.servizi-numeri__titolo { font-family: var(--font-testo); font-size: 1rem; line-height: 1.4; font-weight: 600; margin: 0 0 6px; letter-spacing: 0; }
.servizi-numeri__testo { font-size: 0.9375rem; line-height: 1.5; }
.servizi-numeri__nota { display: grid; gap: 16px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--grigio-testo); font-size: 0.9375rem; line-height: 1.5; }
.servizi-numeri__nota .link-freccia { justify-self: start; }
.servizi-numeri--corta .servizi-numeri__cifra { font-size: 4.5rem; }
@media (min-width: 1024px) {
	.servizi-numeri__etichetta { margin-bottom: 32px; }
	.servizi-numeri__voci { grid-template-columns: 442fr 442fr 396fr; gap: 0; }
	.servizi-numeri__voce { padding-right: 40px; }
	.servizi-numeri__cifra { font-size: 7.25rem; }
	.servizi-numeri__unita { font-size: 1.5rem; margin-left: 6px; }
	.servizi-numeri__numero { margin-bottom: 18px; }
	.servizi-numeri__titolo { font-size: 1.125rem; }
	.servizi-numeri__testo { font-size: 1rem; line-height: 1.45; max-width: 360px; }
	.servizi-numeri__nota { grid-template-columns: 1fr auto; align-items: start; gap: 40px; margin-top: 72px; padding-top: 24px; font-size: 1rem; }
	.servizi-numeri__nota p { max-width: 660px; }
	.servizi-numeri--corta { padding-block: 64px; }
	.servizi-numeri--corta .servizi-numeri__etichetta { display: none; } /* come la tavola: la corta su desktop non ha etichetta */
	.servizi-numeri--corta .servizi-numeri__cifra { font-size: 6.5rem; }
	.servizi-numeri--corta .servizi-numeri__nota { margin-top: 56px; }
}

/* ---------- Scaffale · scaffale ---------- */
.scaffale__fila {
	display: grid; grid-auto-flow: column; grid-auto-columns: 41%;
	gap: 12px; margin: 0 calc(-1 * var(--margine)); padding: 0 var(--margine) 4px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--margine);
	-webkit-overflow-scrolling: touch;
	contain: paint; /* senza, alcuni browser allargano la pagina con le card fuori schermo */
	padding-top: 4px;
}
.scaffale__fila > li { scroll-snap-align: start; }
.scaffale--scuro h2 { color: var(--bianco); }
@media (min-width: 768px) { .scaffale__fila { grid-auto-columns: 28%; } }
@media (min-width: 1024px) {
	.scaffale__fila { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); grid-auto-columns: auto; gap: 32px 32px; margin: 0; padding: 0; overflow: visible; contain: none; }
}

/* ---------- Chi c'è dietro · chi-ce-dietro ---------- */
.chi-ce-dietro--scura .chi-ce-dietro__griglia { display: grid; }
.chi-ce-dietro__foto { aspect-ratio: 390 / 360; background: var(--grigio-fondo); overflow: hidden; }
.chi-ce-dietro__foto img, .chi-ce-dietro__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; }
.chi-ce-dietro__testo.fondo-nera-liscia { padding: 40px var(--margine) 48px; }
.chi-ce-dietro__interno { max-width: 512px; }
.chi-ce-dietro__interno .t-etichetta { margin: 0 0 14px; }
.chi-ce-dietro__interno .filetto { margin-bottom: 20px; }
.chi-ce-dietro__corpo { margin-top: 16px; }
.chi-ce-dietro__firma { margin-top: 32px; font-weight: 600; font-size: 0.875rem; }
.chi-ce-dietro__interno .bottone { margin-top: 20px; width: 100%; }
.chi-ce-dietro--chiara .chi-ce-dietro__griglia { display: grid; gap: 32px; }
.chi-ce-dietro__ritratti { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; }
.chi-ce-dietro__ritratto { display: block; aspect-ratio: 278 / 378; background: var(--grigio-fondo); padding: 8px; overflow: hidden; }
.chi-ce-dietro__ritratto img { width: 100%; height: 100%; object-fit: cover; }
.chi-ce-dietro__ritratto .segnaposto-foto { height: 100%; }
.chi-ce-dietro__nome { margin: 14px 0 2px; }
.chi-ce-dietro--senza-ritratti .chi-ce-dietro__interno { max-width: 640px; }
@media (min-width: 1024px) {
	.chi-ce-dietro--scura .chi-ce-dietro__griglia { grid-template-columns: 1fr 1fr; min-height: 720px; }
	.chi-ce-dietro__foto { aspect-ratio: auto; height: 100%; }
	.chi-ce-dietro__testo.fondo-nera-liscia { display: flex; align-items: center; padding: 96px 80px; }
	.chi-ce-dietro__firma { margin-top: 48px; font-size: 0.9375rem; }
	.chi-ce-dietro__interno .bottone { width: auto; min-width: 260px; margin-top: 24px; }
	.chi-ce-dietro--chiara .chi-ce-dietro__griglia { grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
	.chi-ce-dietro__ritratti { gap: 28px; }
	.chi-ce-dietro__ritratto { padding: 10px; }
	.chi-ce-dietro--chiara .chi-ce-dietro__corpo { margin-top: 64px; }
	.chi-ce-dietro--senza-ritratti .chi-ce-dietro__griglia { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.chi-ce-dietro--senza-ritratti .chi-ce-dietro__interno .filetto { margin-inline: auto; }
	.chi-ce-dietro--senza-ritratti .chi-ce-dietro__corpo { margin-top: 24px; }
}

/* ---------- Occasione · occasione ---------- */
.occasione__griglia { display: grid; gap: 28px; }
/* Mobile: da margine a margine come le altre sezioni (prima 1:1 con altezza massima 290 px lasciava vuoto a destra). */
.occasione__foto { width: 100%; aspect-ratio: 350 / 290; }
.occasione__foto img, .occasione__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; }
/* Cornice oro parziale: un angolo in alto a sinistra, staccato dalla foto */
.cornice-oro { position: relative; }
.cornice-oro::before, .cornice-oro::after { content: ""; position: absolute; background: var(--oro); pointer-events: none; }
.cornice-oro::before { left: -8px; top: -8px; width: 34%; height: 2px; }
.cornice-oro::after { left: -8px; top: -8px; width: 2px; height: 34%; }
.occasione__testo .t-etichetta { margin: 0 0 8px; }
.occasione__intro { margin-top: 12px; }
.occasione__prodotti { margin: 20px 0 20px; }
.riga-prodotto { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--grigio-linee); }
.riga-prodotto__foto { display: block; width: 52px; height: 52px; background: var(--grigio-fondo); overflow: hidden; }
.riga-prodotto__foto img, .riga-prodotto__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.riga-prodotto__foto .segnaposto-foto > * { display: none; }
.riga-prodotto__fascia { margin: 0; font-size: 0.625rem; }
.riga-prodotto__nome { font-size: 0.9375rem; line-height: 1.2; margin: 2px 0; }
.riga-prodotto__nome a { text-decoration: none; }
.riga-prodotto__nome a:hover { text-decoration: underline; }
.riga-prodotto__prezzo { margin: 0; font-family: var(--font-titoli); font-size: 0.9375rem; }
.riga-prodotto .bottone { min-height: 36px; padding: 0 14px; align-self: end; }
@media (min-width: 1024px) {
	.occasione__griglia { grid-template-columns: 600px 1fr; gap: 80px; align-items: start; }
	.occasione__foto { aspect-ratio: 1 / 1; margin-top: 16px; }
	.cornice-oro::before { left: -15px; top: -12px; width: 148px; }
	.cornice-oro::after { left: -15px; top: -12px; height: 148px; }
	.occasione__intro { margin-top: 20px; max-width: 600px; }
	.occasione__prodotti { margin: 28px 0 28px; }
	.riga-prodotto { grid-template-columns: 72px 1fr auto; gap: 16px; padding: 10px 0 12px; }
	.riga-prodotto__foto { width: 72px; height: 72px; }
	.riga-prodotto__fascia { font-size: 0.6875rem; }
	.riga-prodotto__nome { font-size: 1.25rem; margin: 0 0 6px; }
	.riga-prodotto__prezzo { font-size: 1.125rem; }
	.riga-prodotto .bottone { min-height: 40px; min-width: 108px; align-self: center; }
}

/* ---------- Regali su misura · regali-su-misura ---------- */
.regali__griglia { display: grid; gap: 40px; }
.regali__testo .t-etichetta { margin: 0 0 10px; }
.regali__corpo { margin-top: 16px; max-width: 540px; }
.regali__bottoni { display: grid; gap: 10px; margin-top: 28px; }
.biglietto { position: relative; color: var(--nero); padding: 28px 20px 24px; }
.biglietto__richiesta { margin: 0 64px 6px 0; font-size: 0.6875rem; }
.biglietto__titolo { font-size: 1.375rem; line-height: 1.2; margin: 0 0 14px; }
.biglietto__righe { margin: 0; }
.biglietto__righe div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--grigio-linee); }
.biglietto__righe dt { font-size: 0.8125rem; line-height: 1.45; }
.biglietto__righe dd { margin: 0; flex: none; font-family: var(--font-titoli); font-size: 0.9375rem; }
.biglietto__righe .biglietto__totale { border-bottom: 0; padding-top: 16px; }
.biglietto__totale dt { font-weight: 600; font-size: 0.8125rem; }
.biglietto__totale dd { font-size: 1.375rem; }
.biglietto__nota { margin-top: 4px; font-size: 0.6875rem; line-height: 1.45; }
.bollino { position: absolute; top: -32px; right: -8px; width: 84px; height: 84px; border-radius: 50%; }
.bollino svg { width: 100%; height: 100%; }
.bollino--segnaposto { display: grid; place-content: center; text-align: center; background: var(--bianco); border: 1px dashed var(--grigio-testo); color: var(--grigio-testo); font-size: 0.625rem; line-height: 1.3; font-weight: 600; }
@media (min-width: 1024px) {
	.regali__griglia { grid-template-columns: 1fr 600px; gap: 100px; align-items: start; }
	.regali__testo { padding-top: 16px; }
	.regali__corpo { margin-top: 20px; }
	.regali__bottoni { display: flex; gap: 16px; margin-top: 40px; }
	.regali__bottoni .bottone { min-width: 220px; }
	.biglietto { padding: 44px 48px 40px; }
	.biglietto__richiesta { font-size: 0.8125rem; margin-right: 120px; }
	.biglietto__titolo { font-size: 2rem; margin-bottom: 18px; }
	.biglietto__righe dt { font-size: 0.9375rem; }
	.biglietto__righe dd { font-size: 1.125rem; }
	.biglietto__totale dt { font-size: 0.875rem; }
	.biglietto__totale dd { font-size: 1.75rem; }
	.biglietto__nota { font-size: 0.8125rem; margin-top: 12px; }
	.bollino { top: -56px; right: -40px; width: 158px; height: 158px; }
	.bollino--segnaposto { font-size: 0.75rem; }
}

/* ---------- Ricette e consigli · ricette-e-consigli ---------- */
.ricette__griglia { display: grid; gap: 0; }
.articolo-anteprima__foto { display: block; background: var(--grigio-fondo); overflow: hidden; }
.articolo-anteprima__foto img, .articolo-anteprima__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.articolo-anteprima .t-etichetta { margin: 0 0 6px; }
.articolo-anteprima__titolo a { text-decoration: none; }
.articolo-anteprima__titolo a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.articolo-anteprima--grande { padding-bottom: 24px; border-bottom: 1px solid var(--grigio-linee); }
.articolo-anteprima--grande .articolo-anteprima__foto { aspect-ratio: 350 / 230; margin-bottom: 14px; }
.articolo-anteprima--grande .articolo-anteprima__titolo { font-size: 1.375rem; line-height: 1.2; }
.articolo-anteprima__estratto { margin-top: 32px; font-size: 0.875rem; line-height: 1.55; }
.articolo-anteprima--piccolo { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--grigio-linee); }
.articolo-anteprima--piccolo .articolo-anteprima__foto { aspect-ratio: 110 / 88; }
.articolo-anteprima--piccolo .articolo-anteprima__titolo { font-size: 1rem; line-height: 1.2; }
.articolo-anteprima__lettura { display: none; margin-top: 8px; font-size: 0.8125rem; }
@media (min-width: 1024px) {
	.ricette__griglia { grid-template-columns: 760px 1fr; grid-template-rows: auto auto 1fr; column-gap: 32px; }
	.articolo-anteprima--grande { grid-row: 1 / 4; padding: 0; border: 0; }
	.articolo-anteprima--grande .articolo-anteprima__foto { aspect-ratio: 760 / 426; margin-bottom: 24px; }
	.articolo-anteprima--grande .articolo-anteprima__titolo { font-size: 2rem; line-height: 1.18; max-width: 640px; }
	.articolo-anteprima__estratto { margin-top: 16px; font-size: 1rem; max-width: 680px; }
	.articolo-anteprima--grande .t-etichetta { margin-bottom: 14px; }
	.articolo-anteprima--piccolo { grid-template-columns: 200px 1fr; gap: 24px; padding: 0 0 40px; margin-bottom: 40px; }
	.articolo-anteprima--piccolo .articolo-anteprima__foto { aspect-ratio: 200 / 158; }
	.articolo-anteprima--piccolo .articolo-anteprima__titolo { font-size: 1.5rem; line-height: 1.22; }
	.articolo-anteprima__lettura { display: block; }
}

/* ---------- Recensioni · recensioni ---------- */
.recensioni__griglia { display: grid; gap: 32px; }
.recensioni__voto { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 20px 0 0; font-size: 0.8125rem; font-weight: 600; }
.recensioni__stelle { display: inline-flex; gap: 4px; color: var(--oro); } /* oro su nero: le stelle */
.recensioni__stelle svg { width: 20px; height: 20px; }
.recensioni__nota { margin-top: 16px; font-size: 0.75rem; line-height: 1.5; max-width: 300px; }
.recensioni__intro .link-freccia { margin-top: 16px; }
.recensioni__elenco { display: grid; gap: 28px; margin: 0; }
.recensione blockquote { margin: 0; }
.recensione blockquote p { font-family: var(--font-titoli); font-size: 1.25rem; line-height: 1.3; }
.recensione figcaption { margin-top: 14px; font-size: 0.8125rem; font-weight: 600; }
.recensioni__voto a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.recensioni--solo-voto .recensioni__intro { max-width: 640px; } /* senza citazioni: solo titolo, voto, nota (27/10/2026) */
@media (max-width: 1023px) {
	.recensioni__griglia { grid-template-columns: 1fr; }
	.recensioni__intro { display: contents; }
	.recensioni__intro h2 { order: 0; }
	.recensioni__voto { order: 1; margin-top: -8px; }
	.recensioni__elenco { order: 2; }
	.recensioni__nota { order: 3; max-width: none; margin-top: 0; }
	.recensioni__intro .link-freccia { order: 4; justify-self: start; margin-top: -16px; }
}
@media (min-width: 1024px) {
	.recensioni__griglia { grid-template-columns: 420px 1fr; gap: 40px; padding-block: 0; }
	.recensioni--solo-voto .recensioni__griglia { grid-template-columns: 1fr; }
	.recensioni__voto { margin-top: 32px; font-size: 0.875rem; }
	.recensioni__stelle svg { width: 22px; height: 22px; }
	.recensioni__nota { font-size: 0.8125rem; margin-top: 24px; }
	.recensioni__elenco { grid-template-columns: repeat(3, 1fr); gap: 40px; }
	.recensione blockquote p { font-size: 1.375rem; line-height: 1.38; }
	.recensione figcaption { margin-top: 28px; font-size: 0.875rem; }
}

/* ---------- Vieni a trovarci · vieni-a-trovarci ---------- */
.vieni__griglia { display: grid; gap: 24px; }
.vieni__indirizzo { margin-top: 16px; }
.vieni__invito { margin-top: 16px; }
.orari { margin-top: 16px; border-collapse: collapse; font-size: 0.875rem; }
.orari th { text-align: left; font-weight: 600; padding: 6px 20px 6px 0; vertical-align: top; }
.orari td { padding: 6px 0; }
.vieni__telefono { margin-top: 16px; font-family: var(--font-titoli); font-size: 1.5rem; line-height: 1.2; }
.vieni__telefono a { text-decoration: none; }
.vieni__bottoni { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.vieni__bottoni .bottone { padding: 0 12px; }
.mappa { position: relative; aspect-ratio: 350 / 200; background: var(--grigio-fondo); }
.mappa .dopo-consenso { height: 100%; }
.mappa__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mappa__segnaposto { position: absolute; inset: 0; display: grid; grid-template-rows: 1fr auto; padding: 14px; color: var(--nero); }
.mappa__pin { display: flex; align-items: flex-start; gap: 8px; justify-self: center; align-self: center; margin: 0; padding: 8px 12px; background: var(--bianco); font-size: 0.75rem; line-height: 1.4; }
.mappa__nota { font-size: 0.75rem; line-height: 1.45; color: var(--grigio-testo); } /* su #F4F4F4: 4,9:1 */
.mappa__nota .link-testo { color: var(--nero); }
.mappa__info { display: block; }
@media (min-width: 1024px) {
	.vieni__griglia { grid-template-columns: 1fr 680px; gap: 80px; align-items: start; }
	.vieni__griglia--senza-mappa { grid-template-columns: 1fr; }
	.vieni__indirizzo { margin-top: 32px; font-size: 1.125rem; }
	.orari { margin-top: 20px; font-size: 1.125rem; }
	.orari th { width: 235px; padding: 10px 0; }
	.orari td { padding: 10px 0; }
	.vieni__telefono { margin-top: 28px; font-size: 2rem; }
	.vieni__bottoni { display: flex; gap: 16px; margin-top: 24px; }
	.vieni__bottoni .bottone:first-child { min-width: 220px; }
	.vieni__bottoni .bottone--contorno { min-width: 160px; }
	.mappa { aspect-ratio: 680 / 508; }
	.mappa__segnaposto { padding: 20px 16px; }
	.mappa__pin { font-size: 0.8125rem; }
	.mappa__nota { font-size: 0.8125rem; }
}

/* I riquadri "Foto da scattare" dentro un link non vanno sottolineati */
.card__foto, .articolo-anteprima__foto, .riga-prodotto__foto, .reparti__link { text-decoration: none; }

/* ---------- Briciole ---------- */
.briciole { margin-bottom: 20px; font-size: 0.75rem; line-height: 1.4; }
.briciole ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.briciole li + li::before { content: "/"; margin: 0 8px; }
.briciole a { text-decoration: none; }
.briciole a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 1024px) { .briciole { margin-bottom: 26px; font-size: 0.8125rem; } }

/* ---------- Apertura di pagina · apertura-pagina ---------- */
.sezione-apertura-pagina { padding: 20px 0 48px; }
.apertura-pagina__etichetta { margin: 0 0 12px; }
.apertura-pagina__titolo { margin: 0; }
.apertura-pagina__intro { max-width: 720px; margin-top: 36px; }
.apertura-pagina__dettaglio { margin-top: 10px; font-size: var(--fs-piccolo); }
.apertura-pagina__sotto { display: flex; flex-wrap: wrap; gap: 12px 18px; margin: 20px 0 0; }
.apertura-pagina__sotto a { display: inline-block; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-weight: 600; font-size: 0.875rem; text-decoration: none; }
.apertura-pagina__sotto a:hover { border-bottom-width: 2px; padding-bottom: 3px; }
.apertura-pagina__ricerca { display: grid; gap: 10px; margin-top: 28px; max-width: 620px; }
.apertura-pagina__ricerca .ricerca__campo { height: var(--alt-controllo); min-height: var(--alt-controllo) !important; }
/* Sulla carta nera (pagina non trovata) il bottone "Cerca" è bianco, come nella tavola. */
.fondo-nera-goffrata .apertura-pagina__ricerca .bottone { background: var(--bianco); color: var(--nero); border-color: var(--bianco); }
.fondo-nera-goffrata .apertura-pagina__ricerca .bottone:hover { background: transparent; color: var(--bianco); }
.ricerca__lente { position: absolute; right: 0; top: 0; bottom: 0; width: 48px; display: grid; place-content: center; pointer-events: none; }
.apertura-pagina--nessun { padding-top: 40px; }
.apertura-pagina--nessun .apertura-pagina__intro { margin-top: 32px; }
@media (min-width: 1024px) {
	.sezione-apertura-pagina { padding: 32px 0 72px; }
	.apertura-pagina__intro { margin-top: 20px; }
	.apertura-pagina__sotto { gap: 12px 40px; margin-top: 32px; }
	.apertura-pagina__sotto a { font-size: 0.9375rem; }
	.apertura-pagina__ricerca { grid-template-columns: 1fr 140px; gap: 16px; margin-top: 40px; }
	.apertura-pagina--nessun { padding: 56px 0 40px; }
	.apertura-pagina--nessun .apertura-pagina__intro { margin-top: 72px; }
}

/* ---------- Testo e immagine · testo-immagine ---------- */
.testo-immagine__griglia { display: grid; gap: 24px; }
.testo-immagine__foto { aspect-ratio: 350 / 258; background: var(--grigio-fondo); overflow: hidden; }
.testo-immagine__foto img, .testo-immagine__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; }
.testo-immagine__foto .segnaposto-foto { outline-width: 10px; outline-offset: -11px; }
.testo-immagine__testo .t-etichetta { margin: 0 0 12px; }
.testo-immagine__testo .filetto { margin-bottom: 18px; }
.testo-immagine__corpo { margin-top: 14px; max-width: 480px; }
.testo-immagine__tel { text-decoration: none; }
.testo-immagine__bottone { margin-top: 20px; width: 100%; }
@media (min-width: 1024px) {
	.testo-immagine__griglia { grid-template-columns: 600px 1fr; gap: 80px; align-items: start; }
	.testo-immagine--destra .testo-immagine__foto { order: 2; }
	.testo-immagine__foto { aspect-ratio: 600 / 460; }
	.testo-immagine__testo { padding-top: 16px; }
	.testo-immagine__corpo { margin-top: 18px; max-width: 520px; }
	.testo-immagine__bottone { width: auto; min-width: 260px; margin-top: 28px; }
}

/* ---------- Citazione · citazione ---------- */
.sezione-citazione { padding-block: var(--sezione-l); }
.citazione { max-width: 760px; }
.citazione__etichetta { margin: 0 0 14px; }
.citazione blockquote { margin: 0; }
.citazione__frase { font-family: var(--font-titoli); font-size: var(--fs-h3); line-height: var(--lh-h3); }
.citazione__firma { margin-top: 20px; font-size: 0.8125rem; font-weight: 600; }
@media (min-width: 1024px) {
	.sezione-citazione { padding-block: var(--sezione-l); }
	.citazione__frase { font-size: var(--fs-h2); line-height: 1.1; }
	.citazione__firma { margin-top: 28px; font-size: 0.875rem; }
}

/* ---------- Come funziona · come-funziona ---------- */
.come-funziona__intro { max-width: 640px; margin-top: 14px; }
.come-funziona__passaggi { display: grid; gap: 32px; margin: 28px 0 0; padding-left: 24px; border-left: 2px solid var(--oro); } /* filo oro verticale su mobile, testo staccato di 24 px */
.come-funziona__verbo { font-size: 1.5rem; line-height: 1.2; margin: 0 0 10px; }
.come-funziona__passaggi p { font-size: 0.9375rem; line-height: 1.5; }
.come-funziona__finale { margin-top: 28px; max-width: 880px; font-weight: 600; }
@media (min-width: 1024px) {
	.sezione-come-funziona { padding-bottom: 136px; } /* come la tavola: aria sotto i passaggi */
	.come-funziona__passaggi { grid-template-columns: 442fr 442fr 396fr; gap: 0; margin-top: 48px; padding: 0; border-left: 0; border-top: 2px solid var(--oro); } /* filo oro orizzontale: l'aria sopra i titoli la danno i passaggi */
	.come-funziona__passaggi--2 { grid-template-columns: 1fr 1fr; }
	.come-funziona__passaggi--4 { grid-template-columns: repeat(4, 1fr); }
	.come-funziona__passaggi > li { padding: 28px 40px 0 0; } /* aria tra il filo oro e i titoli, come la tavola */
	.come-funziona__verbo { font-size: 1.75rem; margin-bottom: 12px; }
	.come-funziona__passaggi p { font-size: 1rem; }
	.come-funziona__finale { margin-top: 56px; }
}

/* ---------- Domande · domande ---------- */
.domande__griglia { display: grid; gap: 20px; }
.domande__testo { margin-top: 14px; }
.domande__elenco { border-top: 1px solid var(--grigio-linee); }
.domanda { border-bottom: 1px solid var(--grigio-linee); }
.domanda summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 14px 0; cursor: pointer; list-style: none; font-weight: 600; font-size: 0.9375rem; line-height: 1.4; }
.domanda summary::-webkit-details-marker { display: none; }
.domanda summary .icona { flex: none; width: 18px; height: 18px; }
.domanda summary .se-aperto { display: none; }
.domanda[open] summary .se-aperto { display: block; }
.domanda[open] summary .se-chiuso { display: none; }
.domanda__risposta { padding: 0 32px 40px 0; color: var(--grigio-testo); font-size: 0.875rem; line-height: 1.55; }
.domanda__risposta p + p { margin-top: 10px; }
@media (min-width: 1024px) {
	.domande__griglia { grid-template-columns: 360px 1fr; gap: 80px; }
	.domanda summary { min-height: 70px; font-size: 1.125rem; }
	.domanda__risposta { padding: 0 64px 28px 0; font-size: 1rem; }
}

/* ---------- Modulo · modulo ---------- */
.modulo__griglia { display: grid; gap: 28px; }
.modulo__intro .filetto { margin-bottom: 18px; }
.modulo__testo { margin-top: 12px; }
.modulo__corpo { display: grid; gap: 20px; align-content: start; }
.modulo { display: grid; gap: 18px; }
.modulo__trappola { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.modulo .spunta { margin-top: 4px; }
.modulo .spunta a { text-decoration: underline; }
.modulo__invia { margin: 8px 0 0; }
.modulo__invia .bottone { width: 100%; }
@media (min-width: 1024px) {
	.modulo__griglia { grid-template-columns: 440px 1fr; gap: 80px; }
	.modulo { grid-template-columns: 1fr 1fr; gap: 24px 24px; }
	.campo--largo { grid-column: 1 / -1; }
	.modulo .campo label { font-size: 0.9375rem; }
	.modulo__invia { margin-top: 20px; }
	.modulo__invia .bottone { width: auto; min-width: 280px; }
}

/* ---------- Galleria · galleria ---------- */
.galleria__titolo { margin-bottom: 28px; }
.galleria__griglia { display: grid; gap: 10px; }
.galleria__grande, .galleria__piccole { margin: 0; }
.galleria__foto { display: block; background: var(--grigio-fondo); overflow: hidden; }
.galleria__foto img, .galleria__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; }
.galleria__grande .galleria__foto { aspect-ratio: 350 / 250; }
.galleria__piccole { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.galleria__piccole .galleria__foto { aspect-ratio: 170 / 128; }
.galleria__griglia figcaption { margin-top: 10px; font-size: 0.75rem; line-height: 1.45; grid-column: 1 / -1; }
.galleria__grande figcaption { display: none; }
.galleria__didascalia-mobile { margin-top: 10px; font-size: 0.75rem; line-height: 1.45; }
@media (max-width: 1023px) { .galleria__piccole figcaption { display: none; } }
@media (min-width: 1024px) { .galleria__didascalia-mobile { display: none; } }
@media (min-width: 1024px) {
	.galleria__griglia { grid-template-columns: 760fr 496fr; gap: 24px; }
	.galleria__grande .galleria__foto { aspect-ratio: 760 / 520; }
	.galleria__grande figcaption { display: block; }
	.galleria__piccole { grid-template-columns: 1fr; align-content: start; gap: 24px; }
	.galleria__piccole .galleria__foto { aspect-ratio: 496 / 248; }
	.galleria__griglia figcaption { margin-top: 0; font-size: 0.8125rem; }
	.galleria__piccole figcaption { margin-top: -10px; }
	.galleria__grande figcaption { margin-top: 14px; }
}

/* ---------- Marchi · marchi ---------- */
.marchi__griglia { display: grid; gap: 28px; }
.marchi__intro { padding: 18px 0 0 12px; }
.marchi__intro .t-etichetta { margin: 0 0 8px; }
.marchi__testo { margin-top: 20px; }
.marchi__intro .link-freccia { margin-top: 20px; }
/* Griglia ordinata (26/10/2026): 2 colonne su mobile, 4 su desktop, nomi allineati a sinistra su righe sottili */
.marchi__nomi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; align-content: start; margin: 0; border-top: 1px solid var(--grigio-linee); font-family: var(--font-titoli); font-size: 1.125rem; line-height: 1.2; }
.marchi__nomi li { display: flex; align-items: center; min-height: 52px; padding: 8px 0; border-bottom: 1px solid var(--grigio-linee); }
.marchi__nomi a { text-decoration: none; overflow-wrap: anywhere; }
.marchi__nomi a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.sezione-marchi .cornice-oro::before { width: 120px; left: 0; top: 0; }
.sezione-marchi .cornice-oro::after { height: 120px; left: 0; top: 0; }
@media (min-width: 1024px) {
	.marchi__griglia { grid-template-columns: 440px 1fr; gap: 80px; }
	.marchi__intro { padding: 24px 0 0 26px; }
	.sezione-marchi .cornice-oro::before { width: 148px; left: -16px; top: 0; }
	.sezione-marchi .cornice-oro::after { height: 148px; left: -16px; top: 0; }
	.marchi__testo { margin-top: 24px; }
	.marchi__intro .link-freccia { margin-top: 32px; }
	.marchi__nomi { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; margin-top: 24px; font-size: 1.375rem; }
	.marchi__nomi li { min-height: 72px; padding: 12px 0; }
	.marchi--corta { padding-block: 72px; }
}

/* ---------- Prodotto protagonista · prodotto-protagonista ---------- */
.protagonista__griglia { display: grid; gap: 28px; }
.protagonista__testo { order: 2; }
.protagonista__foto { order: 1; aspect-ratio: 350 / 270; background: var(--grigio-fondo); overflow: hidden; }
.protagonista__foto img, .protagonista__foto .segnaposto-foto { width: 100%; height: 100%; object-fit: cover; }
.protagonista__testo .t-etichetta { margin: 0 0 14px; }
.protagonista__risposta { margin-top: 16px; font-size: 0.9375rem; line-height: 1.55; }
.protagonista__firma { margin-top: 12px; font-size: 0.8125rem; font-weight: 600; }
.protagonista__prodotto { margin-top: 24px; font-size: 0.8125rem; }
.protagonista__testo .bottone { margin-top: 16px; width: 100%; }
@media (min-width: 1024px) {
	.protagonista__griglia { grid-template-columns: 1fr 600px; gap: 80px; align-items: center; }
	.protagonista__testo { order: 0; max-width: 560px; }
	.protagonista__foto { order: 0; aspect-ratio: 600 / 460; }
	.protagonista__risposta { margin-top: 20px; font-size: 1rem; }
	.protagonista__firma { margin-top: 16px; font-size: 0.875rem; }
	.protagonista__prodotto { margin-top: 40px; font-size: 0.875rem; }
	.protagonista__testo .bottone { width: auto; min-width: 240px; margin-top: 20px; }
}

/* ---------- Biglietto · biglietto ---------- */
.biglietto-avviso { position: relative; max-width: 720px; margin: 0 auto; padding: 32px 22px 40px 36px; color: var(--nero); }
.biglietto-avviso::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; background: var(--oro); } /* fascia verticale del cartellino */
.biglietto-avviso .t-etichetta { margin: 0 0 10px; }
.biglietto-avviso__titolo { font-size: 1.375rem; line-height: 1.2; }
.biglietto-avviso__testo { margin-top: 40px; font-size: 0.875rem; line-height: 1.55; }
.biglietto-avviso__firma { margin-top: 36px; font-family: var(--font-titoli); font-size: 1rem; }
.biglietto-avviso .link-freccia { margin-top: 20px; }
@media (min-width: 1024px) {
	.sezione-biglietto { padding-block: 88px; }
	.biglietto-avviso { min-height: 437px; }
	.biglietto-avviso { padding: 64px 64px 64px 80px; }
	.biglietto-avviso::before { width: 16px; }
	.biglietto-avviso__titolo { font-size: 2.25rem; line-height: 1.2; }
	.biglietto-avviso__testo { margin-top: 48px; font-size: 1rem; }
	.biglietto-avviso__firma { margin-top: 32px; font-size: 1.25rem; }
}

/* ---------- Idee per fascia · idee-per-fascia ---------- */
.idee__testo { margin-top: 14px; max-width: 680px; }
.schede__elenco { display: flex; gap: 0 28px; margin: 24px 0 28px; border-bottom: 1px solid var(--grigio-testo); overflow-x: auto; }
.schede__scheda { flex: none; min-height: 44px; padding: 0 0 8px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; color: var(--nero); font-size: 0.875rem; white-space: nowrap; }
.schede__scheda[aria-selected="true"] { border-bottom-color: var(--nero); font-weight: 600; }
.schede__scheda:focus-visible { outline-offset: -2px; }
.schede__pannello:focus-visible { outline-offset: 4px; }
@media (min-width: 1024px) {
	.idee__testo { margin-top: 18px; }
	.schede__elenco { gap: 0 48px; margin: 40px 0 28px; overflow: visible; }
	.schede__scheda { font-size: 1rem; padding-bottom: 12px; }
}

/* ---------- Gift card · gift-card ---------- */
.gift__griglia { display: grid; gap: 28px; }
.gift__carta { position: relative; display: block; aspect-ratio: 520 / 322; color: var(--bianco); overflow: hidden; }
.gift__logo { position: absolute; left: 6%; top: 10%; width: 29%; line-height: 0; }
.gift__logo .logo-svg { width: 100%; height: auto; }
.gift__nome { position: absolute; left: 7%; bottom: 13%; font-family: var(--font-titoli); font-size: 1.5rem; line-height: 1; }
.gift__bollino { position: absolute; top: auto; right: 6%; bottom: 10%; width: 20%; height: auto; aspect-ratio: 1; }
.gift__testo .filetto { margin-bottom: 18px; }
.gift__corpo { margin-top: 14px; font-size: 0.9375rem; line-height: 1.55; }
.gift__importi { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 20px 0 0; padding: 0; border: 0; }
.gift__importo { position: relative; }
.gift__importo input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.gift__importo span { display: grid; place-content: center; min-height: 44px; border: 1px solid var(--nero); font-size: 0.8125rem; font-weight: 600; }
.gift__importo input:checked + span { background: var(--nero); color: var(--bianco); }
.gift__importo input:focus-visible + span { outline: 2px solid var(--nero); outline-offset: 3px; }
.gift__bottone { width: 100%; margin-top: 14px; }
.gift__esito:empty { display: none; }
.gift__esito { margin-top: 10px; font-size: 0.875rem; font-weight: 600; }
.gift__nota { margin-top: 12px; font-size: 0.75rem; }
@media (min-width: 1024px) {
	.gift__griglia { grid-template-columns: 520px 1fr; gap: 80px; align-items: start; }
	.gift__nome { font-size: 2.5rem; }
	.gift__testo { max-width: 560px; padding-top: 0; }
	.gift__corpo { margin-top: 20px; font-size: 1rem; }
	.gift__importi { display: flex; gap: 12px; margin-top: 28px; }
	.gift__importo span { min-width: 96px; min-height: 48px; font-size: 0.9375rem; }
	.gift__bottone { width: auto; min-width: 300px; margin-top: 20px; }
	.gift__nota { font-size: 0.8125rem; margin-top: 16px; }
}

/* ---------- Tabella · tabella ---------- */
.tabella__titolo { margin-bottom: 24px; }
.tabella { width: 100%; border-collapse: collapse; }
.tabella thead { display: none; }
.tabella tr { display: block; padding: 16px 0; border-top: 1px solid var(--grigio-linee); }
.tabella tbody tr:last-child { border-bottom: 1px solid var(--grigio-linee); }
.tabella th[scope="row"] { display: block; text-align: left; font-weight: 600; font-size: 1rem; margin-bottom: 6px; }
.tabella td { display: block; font-size: 0.8125rem; line-height: 1.5; padding: 2px 0; }
.tabella td::before { content: attr(data-etichetta) ": "; }
@media (min-width: 1024px) {
	.tabella__titolo { margin-bottom: 40px; }
	.tabella thead { display: table-header-group; }
	.tabella tr { display: table-row; padding: 0; border: 0; }
	.tabella thead th { padding: 0 24px 14px 0; text-align: left; border-bottom: 1.5px solid var(--nero); }
	.tabella th[scope="row"], .tabella td { display: table-cell; padding: 22px 24px 22px 0; vertical-align: top; border-bottom: 1px solid var(--grigio-linee); font-size: 1rem; line-height: 1.5; margin: 0; }
	.tabella td::before { content: none; }
	.tabella thead th:nth-child(1) { width: 300px; }
	.tabella thead th:nth-child(2), .tabella thead th:nth-child(3) { width: 260px; }
}

/* ---------- Testo lungo · testo-lungo ---------- */
.testo-lungo__griglia { display: grid; gap: 24px; }
.indice__tendina { border: 1px solid var(--grigio-testo); }
.indice__tendina > summary { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 14px; font-size: 0.875rem; font-weight: 600; cursor: pointer; list-style: none; }
.indice__tendina > summary::-webkit-details-marker { display: none; }
.indice__tendina > summary::after { content: "▾"; font-size: 0.75rem; }
.indice__tendina[open] > summary::after { content: "▴"; }
.indice__titolo { display: none; }
.indice ol { margin: 0; padding: 4px 14px 14px; list-style: none; display: grid; gap: 4px; }
.indice a { display: block; padding: 6px 0 6px 12px; border-left: 3px solid transparent; font-size: 0.875rem; text-decoration: none; }
.indice a[aria-current="true"] { border-left-color: var(--nero); font-weight: 600; }
.indice a:hover { text-decoration: underline; text-underline-offset: 3px; }
.testo-lungo { max-width: 720px; font-size: var(--fs-testo); line-height: var(--lh-testo); }
.testo-lungo > * + * { margin-top: 18px; }
.testo-lungo h2 { font-size: 1.375rem; line-height: 1.25; margin-top: 36px; scroll-margin-top: 24px; }
.testo-lungo h2:first-child { margin-top: 0; }
.testo-lungo h2::after { content: ""; display: block; width: 40px; height: 2px; margin-top: 14px; background: var(--oro); } /* filetto sotto i titoli di paragrafo */
.testo-lungo h3 { font-size: 1.125rem; line-height: 1.3; margin-top: 28px; }
.testo-lungo ul, .testo-lungo ol { padding-left: 22px; }
.testo-lungo ul { list-style: disc; } .testo-lungo ol { list-style: decimal; } /* gli elenchi dei blocchi WP hanno una classe: senza questo perdono pallini e numeri */
.testo-lungo ol > li::marker { font-weight: 600; }
.testo-lungo li + li { margin-top: 6px; }
.testo-lungo a { text-decoration: underline; text-underline-offset: 3px; }
.testo-lungo blockquote { margin: 28px 0; padding: 0; }
.testo-lungo blockquote p { font-family: var(--font-titoli); font-size: 1.5rem; line-height: 1.3; }
.testo-lungo figure img { width: 100%; height: auto; }
.testo-lungo figcaption { margin-top: 8px; font-size: 0.8125rem; color: var(--grigio-testo); }
.testo-lungo__aiuto { margin-top: 36px !important; padding: 20px 16px; background: var(--grigio-fondo); font-weight: 600; font-size: 0.9375rem; }
.testo-lungo__aiuto a { text-decoration: none; }
/* Pagine vecchie di Flatsome (page.php): foto contenute e righe di sole foto in griglia */
.pagina-semplice { max-width: calc(720px + 2 * var(--margine)); } /* colonna del testo al centro, non a sinistra con mezza pagina vuota */
.pagina-vecchia .flatsome-vecchio--immagine img { max-height: 480px; object-fit: cover; }
.pagina-vecchia .flatsome-vecchio--ancora { display: block; scroll-margin-top: 24px; }
.pagina-vecchia .avviso-pagina { padding: 16px 20px; background: var(--grigio-fondo); border-left: 4px solid var(--oro); font-weight: 600; }
.pagina-vecchia .avviso-pagina a { white-space: nowrap; }
.pagina-vecchia .flatsome-vecchio--foto { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.pagina-vecchia .flatsome-vecchio--foto img { aspect-ratio: 3 / 4; max-height: none; }
@media (min-width: 768px) { .pagina-vecchia .flatsome-vecchio--foto { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) {
	.sezione-testo-lungo { padding: 64px 0 84px; }
	.testo-lungo__griglia { grid-template-columns: 361px 720px; gap: 0; }
	.testo-lungo__griglia--senza-indice { grid-template-columns: 361px 720px; }
	.testo-lungo__griglia--senza-indice .testo-lungo { grid-column: 2; }
	.indice { position: sticky; top: 24px; align-self: start; }
	.indice__tendina { border: 0; }
	.indice__tendina > summary { display: none; }
	.indice__titolo { display: block; margin: 0 0 12px; color: var(--grigio-testo); }
	.indice ol { padding: 0; }
	.indice a { padding: 4px 0 4px 10px; }
	.testo-lungo { font-size: 1.125rem; line-height: 1.875rem; } /* corpo 18/30 */
	.testo-lungo h2 { font-size: 1.75rem; margin-top: 48px; }
	.testo-lungo h2::after { margin-top: 18px; }
	.testo-lungo__aiuto { margin-top: 48px !important; padding: 28px 32px; font-size: 1rem; }
}
