/* ==========================================================================
   Casa Gaia — CONTENUTO A BLOCCHI (.contenuto nel sito, .editor-styles-wrapper
   nell'editor). Il grosso degli stili dei blocchi viene da theme.json; qui c'è
   ciò che theme.json non sa esprimere: larghezze, ritmo, link, varianti
   is-style-* registrate in inc/setup.php.
   Stili di blocco aggiuntivi per la migrazione: assets/css/blocchi.css.
   ========================================================================== */

.contenuto { padding: var(--spazio-l) 0 var(--spazio-xl); }
.contenuto:empty { padding: 0; }

/* Larghezze: testo a 760px, "largo" a 1320px, "pieno" da bordo a bordo */
.contenuto > * { max-width: var(--larghezza-testo); margin-left: auto; margin-right: auto; }
.contenuto > .alignwide { max-width: var(--max); }
.contenuto > .alignfull { max-width: none; margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); }
.contenuto > .alignfull.has-background,
.contenuto > .alignfull.wp-block-group { padding-left: var(--gutter); padding-right: var(--gutter); }
.contenuto .alignleft { float: left; margin: .4em 2em 1em 0; max-width: 45%; }
.contenuto .alignright { float: right; margin: .4em 0 1em 2em; max-width: 45%; }
.contenuto .aligncenter { margin-left: auto; margin-right: auto; }
@media (max-width: 620px) { .contenuto .alignleft, .contenuto .alignright { float: none; margin: 1.4em 0; max-width: 100%; } }

/* Ritmo verticale */
.contenuto > * + * { margin-top: 1.4em; }
.contenuto > :where(h2, h3, h4) { margin-top: 1.8em; margin-bottom: .5em; }
.contenuto > :where(h2) { font-size: clamp(2rem, 4vw, 3.2rem); }
.contenuto > :where(h2, h3, h4) + * { margin-top: 0; }
.contenuto > :first-child { margin-top: 0; }
.contenuto p { margin-bottom: 0; }
.contenuto :where(p, li) { text-wrap: pretty; }
.contenuto :where(p, li, td, dd, figcaption, h2, h3, h4) { overflow-wrap: break-word; }
.contenuto :where(p, li, td, dd) a { overflow-wrap: anywhere; }

/* Link nel testo (solo qui: il resto del sito usa componenti con stile proprio) */
.contenuto :where(p, li, td, dd, figcaption, .wp-block-quote) a:where(:not(.wp-element-button):not(.btn)),
.editor-styles-wrapper :where(p, li, td, dd, figcaption) a {
	color: var(--bronzo-chiaro);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	text-decoration-color: var(--linea-forte);
	transition: text-decoration-color .25s, color .25s;
}
.contenuto :where(p, li, td, dd, figcaption) a:where(:not(.wp-element-button):not(.btn)):hover { color: var(--avorio); text-decoration-color: var(--bronzo); }

/* Elenchi */
.contenuto :where(ul, ol):not([class*="is-style-"]):not(.blocks-gallery-grid) li + li { margin-top: .4em; }
.contenuto :where(ul):not([class*="is-style-"]) li::marker { color: var(--bronzo); }
.contenuto :where(ol):not([class*="is-style-"]) li::marker { color: var(--bronzo); font-family: var(--serif); font-style: italic; }

/* Citazioni */
.wp-block-quote { margin-left: 0; margin-right: 0; }
.wp-block-quote p { margin: 0; }
.wp-block-quote cite, .wp-block-pullquote cite { display: block; margin-top: 18px; }
.wp-block-pullquote { padding: var(--spazio-m) 0; text-align: center; }
.wp-block-pullquote blockquote { margin: 0; }
.wp-block-pullquote p::before { content: "“"; color: var(--bronzo); }
.wp-block-pullquote p::after { content: "”"; color: var(--bronzo); }

/* Immagini e gallerie */
.wp-block-image img { height: auto; }
.wp-block-image figcaption, .wp-block-gallery figcaption, .wp-block-embed figcaption { text-align: left; color: var(--grigio); font-size: .8rem; margin-top: 12px; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { filter: saturate(.85); transition: filter .5s; }
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img { filter: saturate(1); }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { background: linear-gradient(0deg, rgba(10, 10, 11, .8), rgba(10, 10, 11, 0)); font-size: .78rem; }

/* Tabelle */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table :where(th, td) { border: 0; border-bottom: 1px solid var(--linea); padding: 14px 18px 14px 0; text-align: left; vertical-align: top; }
.wp-block-table th, .wp-block-table thead td { font: 600 .66rem/1.3 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--bronzo); border-bottom-color: var(--linea-forte); }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table tfoot { border-top: 0; }
.wp-block-table figcaption { text-align: left; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--antracite); }
.wp-block-table.is-style-stripes { border-bottom: 0; }
@media (max-width: 620px) { .wp-block-table { overflow-x: auto; } }

/* Separatore */
.wp-block-separator { border: 0; height: 1px; background: var(--linea); opacity: 1; }
.wp-block-separator.is-style-dots { background: none; height: auto; color: var(--bronzo); }
.wp-block-separator.is-style-wide { max-width: var(--max); }
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { width: 120px; background: var(--bronzo); }

/* Pulsanti del blocco: stessa forma di .btn; "Contorno" = .btn trasparente */
.wp-block-button__link { border-radius: 0; display: inline-flex; align-items: center; gap: 14px; transition: background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease); }
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) { background: transparent; color: var(--avorio); border: 1px solid var(--bronzo); padding: 17px 30px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--bronzo); color: var(--nero); }

/* Dettagli (FAQ) */
.wp-block-details summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 24px; padding: 26px 0; font: 500 clamp(1.3rem, 2vw, 1.6rem)/1.25 var(--serif); color: var(--avorio); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font: 300 1.8rem/1 var(--sans); color: var(--bronzo); transition: transform .3s; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { margin: 0 0 28px; max-width: 62ch; }

/* Copertina (cover) con vignettatura di serie */
.wp-block-cover { min-height: 60vh; }
.wp-block-cover .wp-block-cover__image-background { filter: saturate(.8); }

/* Incorporamenti (video): proporzione corretta */
.wp-block-embed.is-type-video .wp-block-embed__wrapper { position: relative; aspect-ratio: 16 / 9; }
.wp-block-embed.is-type-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* --- Varianti registrate (inc/setup.php → casagaia_stili_blocchi) -------- */

/* Immagine: vignettatura (bordi sfumati nel nero) */
.wp-block-image.is-style-vignettatura { position: relative; }
.wp-block-image.is-style-vignettatura img { filter: saturate(.85); }
.wp-block-image.is-style-vignettatura > a,
.wp-block-image.is-style-vignettatura { isolation: isolate; }
.wp-block-image.is-style-vignettatura::after {
	content: "";
	position: absolute;
	inset: 0;
	bottom: var(--altezza-didascalia, 0);
	background: radial-gradient(ellipse at 50% 45%, rgba(10, 10, 11, 0) 55%, rgba(10, 10, 11, .55) 100%);
	pointer-events: none;
}
.wp-block-image.is-style-vignettatura:has(figcaption) { --altezza-didascalia: 2.4em; }

/* Immagine: bianco e nero (foto d'epoca, In memoria) */
.wp-block-image.is-style-bianco-nero img { filter: grayscale(1) contrast(1.05); }

/* Paragrafo: occhiello e introduzione */
p.is-style-occhiello { display: flex; align-items: center; gap: 14px; font: 600 .72rem/1 var(--sans); letter-spacing: .28em; text-transform: uppercase; color: var(--bronzo); }
p.is-style-occhiello::before { content: ""; width: 36px; height: 1px; background: currentColor; flex: none; }
.contenuto > p.is-style-occhiello + :where(h2, h3) { margin-top: 0; }
p.is-style-lead { font-size: var(--corpo-lead); color: var(--avorio); }

/* Titolo: tutto in corsivo bronzo */
.is-style-accento:where(h1, h2, h3, h4) { font-style: italic; font-weight: 400; color: var(--bronzo-chiaro); }

/* Elenco: etichette rettangolari / righe con filo */
.wp-block-list.is-style-etichette, ul.is-style-etichette { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.is-style-etichette li { margin: 0 !important; font: 600 .68rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; border: 1px solid var(--linea-forte); padding: 9px 12px; color: var(--avorio); }
.wp-block-list.is-style-pulito, ul.is-style-pulito, ol.is-style-pulito { list-style: none; padding: 0; border-top: 1px solid var(--linea); }
.is-style-pulito li { padding: 14px 0; border-bottom: 1px solid var(--linea); margin: 0 !important; }

/* Gruppo: fascia antracite a tutta larghezza / riquadro con filo bronzo */
.wp-block-group.is-style-fascia { background: var(--antracite); padding: var(--spazio-xl) var(--gutter); }
.contenuto > .wp-block-group.is-style-fascia:not(.alignfull):not(.alignwide) { padding-left: var(--spazio-m); padding-right: var(--spazio-m); }
.wp-block-group.is-style-riquadro { border: 1px solid var(--linea-forte); padding: clamp(28px, 3vw, 44px); position: relative; }
.wp-block-group.is-style-riquadro::before { content: ""; position: absolute; left: -1px; top: -1px; width: 56px; height: 3px; background: var(--bronzo); }

/* Tabella: dati (come le tabelle risultati della scheda) */
.wp-block-table.is-style-dati td:first-child { font: 400 1.3rem/1.1 var(--serif); color: var(--bronzo-chiaro); white-space: nowrap; }
.wp-block-table.is-style-dati td { padding-top: 20px; padding-bottom: 20px; }
