/* =============================================================
   3Blaze Glass — contenuti (sito + editor)
   La cura di ogni formato che si scrive in Gutenberg.

    1. Testo e link        7. Tabelle
    2. Titoli              8. Separatori
    3. Liste               9. Accordion (Dettagli)
    4. Citazioni          10. Immagini, gallerie, video, file
    5. Frasi speciali     11. Campi e ricerca
    6. Codice             12. Articoli: chip, date, paginazione
   ============================================================= */

:root {
	--blz-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	--blz-line: rgba(255, 255, 255, 0.1);
	--blz-line-strong: rgba(255, 255, 255, 0.2);
}

/* ── 1. Testo e link ─────────────────────────────────────────── */
:where(p, li, dd, blockquote, figcaption) {
	text-wrap: pretty;
}

:where(.wp-block-post-content, .editor-styles-wrapper, .wp-block-group, .wp-block-column, .wp-block-details) :is(p, li, dd, td, figcaption) a:where(:not([class])):where(:not(:is(h1, h2, h3, h4, h5, h6, .wp-block-post-template, nav) *)) {
	color: #d4d4de;
	text-decoration: none;
	/* Incolori: appena più scuri del testo, sottolineatura sottile; al passaggio bianchi */
	background-image: linear-gradient(#fff, #fff), linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3));
	background-position: left bottom, left bottom;
	background-size: 0 1px, 100% 1px;
	background-repeat: no-repeat;
	padding-bottom: 1px;
	transition: background-size 0.5s var(--blz-ease, ease), color 0.2s;
}
:where(.wp-block-post-content, .editor-styles-wrapper, .wp-block-group, .wp-block-column, .wp-block-details) :is(p, li, dd, td, figcaption) a:where(:not([class])):where(:not(:is(h1, h2, h3, h4, h5, h6, .wp-block-post-template, nav) *)):hover {
	color: #fff;
	background-size: 100% 1px, 100% 1px;
}

strong, b { color: #fff; font-weight: 700; }

p.is-style-lead {
	max-width: 46ch;
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.45;
	color: #fff;
}

p.has-drop-cap:not(:focus)::first-letter {
	float: left;
	margin: 0.08em 0.14em 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 4.6em;
	font-weight: 400;
	line-height: 0.78;
	text-transform: uppercase;
	color: #fff;
}

mark:not([style]) {
	background: linear-gradient(transparent 62%, rgba(255, 255, 255, 0.2) 62%);
	color: inherit;
}

abbr[title] { text-decoration: underline dotted rgba(255, 255, 255, 0.5); cursor: help; }

kbd {
	padding: 0.1em 0.45em;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.18);
	font-family: var(--blz-mono);
	font-size: 0.85em;
}

/* ── 2. Titoli ───────────────────────────────────────────────── */
:where(h1, h2, h3, h4, h5, h6) {
	text-wrap: balance;
	scroll-margin-top: 120px;
}
:where(h1, h2, h3) em {
	font-style: normal;
	background: var(--blz-silver);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ── 3. Liste ────────────────────────────────────────────────── */
ul.wp-block-list,
.wp-block-post-content ul:not([class]) {
	padding-left: 0;
	list-style: none;
}
ul.wp-block-list > li,
.wp-block-post-content ul:not([class]) > li {
	position: relative;
	margin: 0.6em 0;
	padding-left: 1.7em;
}
/* Pallino in vetro: trasparente, filo bianco e un riflesso di luce */
ul.wp-block-list > li::before,
.wp-block-post-content ul:not([class]) > li::before {
	content: "";
	position: absolute;
	left: 0.1em;
	top: 0.62em;
	width: 0.55em;
	height: 0.55em;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.9) 0 18%, rgba(255, 255, 255, 0.08) 40%);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55), 0 0 10px rgba(255, 255, 255, 0.3);
}
ul.wp-block-list ul > li::before { width: 0.4em; height: 0.4em; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }

ol.wp-block-list,
.wp-block-post-content ol:not([class]) {
	padding-left: 0;
	list-style: none;
	counter-reset: blz-ol;
}
ol.wp-block-list > li,
.wp-block-post-content ol:not([class]) > li {
	position: relative;
	margin: 0.75em 0;
	padding-left: 2.6em;
	counter-increment: blz-ol;
}
ol.wp-block-list > li::before,
.wp-block-post-content ol:not([class]) > li::before {
	content: counter(blz-ol, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.28em;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.08em;
	background: var(--blz-silver);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Spunte */
ul.wp-block-list.is-style-checks > li { padding-left: 2.1em; }
ul.wp-block-list.is-style-checks > li::before {
	top: 0.2em;
	width: 1.35em;
	height: 1.35em;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 62% no-repeat,
		linear-gradient(165deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.03));
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.4);
}

/* Passi numerati: numero in un cerchio di vetro, linea che li unisce */
ol.wp-block-list.is-style-steps > li {
	min-height: 2.8em;
	margin: 0;
	padding: 0.5em 0 1.6em 3.8em;
}
ol.wp-block-list.is-style-steps > li::before {
	top: 0;
	display: grid;
	place-items: center;
	width: 2.6em;
	height: 2.6em;
	border-radius: 50%;
	font-size: 0.85em;
	color: #fff;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.03));
	-webkit-background-clip: border-box;
	background-clip: border-box;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.4);
}
ol.wp-block-list.is-style-steps > li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 1.1em;
	top: 2.4em;
	bottom: 0.2em;
	width: 1px;
	background: linear-gradient(var(--blz-line-strong), transparent);
}

/* ── 4. Citazioni ────────────────────────────────────────────── */
.wp-block-quote {
	position: relative;
	margin-block: var(--wp--preset--spacing--50);
	padding: 2.4em 0 0;
	border: 0;
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.4;
	color: #fff;
}
.wp-block-quote::before {
	content: "\201C";
	position: absolute;
	top: -0.12em;
	left: -0.04em;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 4.6em;
	line-height: 1;
	background: var(--blz-silver);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.wp-block-quote p { margin: 0 0 0.6em; }
.wp-block-quote cite,
.wp-block-pullquote cite {
	display: flex;
	align-items: center;
	gap: 0.9em;
	margin-top: 1.4em;
	font-size: var(--wp--preset--font-size--xs);
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
}
.wp-block-quote cite::before,
.wp-block-pullquote cite::before {
	content: "";
	width: 2.4em;
	height: 1px;
	background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0.15));
}

.wp-block-quote.is-style-statement {
	max-width: 22ch;
	margin-inline: auto;
	padding-top: 1.6em;
	text-align: center;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 4.4vw, 3.6rem);
	line-height: 1.02;
	text-transform: uppercase;
}
.wp-block-quote.is-style-statement::before { left: 50%; transform: translateX(-50%); top: -0.3em; font-size: 2.4em; }
.wp-block-quote.is-style-statement cite { justify-content: center; font-family: var(--wp--preset--font-family--body); }

.wp-block-pullquote {
	position: relative;
	padding: clamp(2rem, 5vw, 4rem);
	border: 0;
	border-radius: var(--blz-glass-radius, 28px);
	background: var(--blz-glass-body);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), inset 0 1px 1px rgba(255, 255, 255, 0.3), 0 40px 90px -50px rgba(0, 0, 0, 0.9);
	-webkit-backdrop-filter: blur(22px);
	backdrop-filter: blur(22px);
}
.wp-block-pullquote blockquote { margin: 0; }
.wp-block-pullquote p { font-size: var(--wp--preset--font-size--xl); line-height: 1.25; color: #fff; }
.wp-block-pullquote cite { justify-content: center; }

/* ── 5. Frasi speciali ───────────────────────────────────────── */
p.is-style-statement {
	max-width: 30ch;
	font-size: clamp(1.75rem, 3.8vw, 3.1rem);
	line-height: 1.18;
	letter-spacing: -0.005em;
	color: #fff;
}
/* Sul sito ogni parola si accende con lo scroll (front.js) */
.blz-sw { transition: opacity 0.35s ease, color 0.35s ease; opacity: 0.18; }
.blz-sw.is-lit { opacity: 1; }

/* ── 6. Codice ───────────────────────────────────────────────── */
:not(pre) > code {
	padding: 0.12em 0.42em;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	font-family: var(--blz-mono);
	font-size: 0.86em;
	color: #fff;
}
pre.wp-block-code,
pre.wp-block-preformatted,
pre.wp-block-verse {
	overflow-x: auto;
	padding: 1.4em 1.6em;
	border: 0;
	border-radius: 18px;
	background: rgba(0, 0, 0, 0.45);
	box-shadow: inset 0 0 0 1px var(--blz-line), inset 0 1px 1px rgba(255, 255, 255, 0.12);
	font-family: var(--blz-mono);
	font-size: 0.88rem;
	line-height: 1.7;
	color: #e9e9f1;
	tab-size: 2;
}
pre.wp-block-verse { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--m); }

/* ── 7. Tabelle ──────────────────────────────────────────────
   .wp-block-table = blocco di Gutenberg
   .blz-table      = tabella dell'editor classico (avvolta da front.js)
   Stile e opzioni da wp-admin → 3Blaze → Contenuti (classi su <body>). */
:is(.wp-block-table, .blz-table) {
	overflow-x: auto;
	margin-block: var(--wp--preset--spacing--40);
	border-radius: 20px;
	background: var(--blz-glass-body);
	box-shadow: inset 0 0 0 1px var(--blz-line), inset 0 1px 1px rgba(255, 255, 255, 0.2);
	-webkit-overflow-scrolling: touch;
}
:is(.wp-block-table, .blz-table) table {
	width: 100%;
	min-width: 520px;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.95em;
}
:is(.wp-block-table, .blz-table) :is(th, td) {
	padding: 0.95em 1.2em;
	border: 0;
	border-bottom: 1px solid var(--blz-line);
	text-align: left;
	vertical-align: top;
	font-variant-numeric: tabular-nums;
}
:is(.wp-block-table, .blz-table) thead { border: 0; }
/* Intestazione: vera (thead/th) o, se attivo, la prima riga */
:is(.wp-block-table, .blz-table) th,
:is(.wp-block-table, .blz-table) thead td,
.blz-tables-head :is(.wp-block-table, .blz-table) table:not(:has(thead, th)) tr:first-child td {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
	border-bottom-color: var(--blz-line-strong);
	background: rgba(255, 255, 255, 0.03);
}
:is(.wp-block-table, .blz-table) tbody tr:last-child td { border-bottom: 0; }
:is(.wp-block-table, .blz-table) tbody tr { transition: background 0.25s; }
:is(.wp-block-table, .blz-table) tbody tr:hover { background: rgba(255, 255, 255, 0.035); }
.wp-block-table figcaption { padding: 0 1.2em 1em; }

/* Righe alternate: stile del blocco o impostazione generale */
.wp-block-table.is-style-stripes { border-bottom: 0; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd),
.blz-tables-stripes :is(.wp-block-table:not([class*="is-style-"]), .blz-table) tbody tr:nth-child(odd) { background: rgba(255, 255, 255, 0.03); }

/* Solo linee: nessuna lastra di vetro */
.blz-tables-lines :is(.wp-block-table:not([class*="is-style-"]), .blz-table) {
	border-radius: 0;
	background: none;
	box-shadow: none;
	border-top: 1px solid var(--blz-line-strong);
}
.blz-tables-lines :is(.wp-block-table:not([class*="is-style-"]), .blz-table) :is(th, td) { padding-left: 0; }
.blz-tables-lines :is(.wp-block-table:not([class*="is-style-"]), .blz-table) :is(th, thead td) { background: none; }

/* Prima colonna in evidenza */
.blz-tables-firstcol :is(.wp-block-table, .blz-table) tbody td:first-child { color: #fff; font-weight: 700; }

/* Compatte */
.blz-tables-compact :is(.wp-block-table, .blz-table) :is(th, td) { padding: 0.55em 0.9em; }

/* Su telefono le tabelle larghe scorrono: un'ombra a destra lo suggerisce */
@media (max-width: 700px) {
	:is(.wp-block-table, .blz-table) {
		background:
			linear-gradient(90deg, transparent calc(100% - 28px), rgba(0, 0, 0, 0.35)),
			var(--blz-glass-body);
	}
}

/* ── 7b. Contenuti dall'editor classico ───────────────────────── */
.wp-block-post-content > blockquote:not([class]) {
	position: relative;
	margin-block: var(--wp--preset--spacing--50);
	padding: 2.4em 0 0;
	border: 0;
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.4;
	color: #fff;
}
.wp-block-post-content > blockquote:not([class])::before {
	content: "\201C";
	position: absolute;
	top: -0.12em;
	left: -0.04em;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 4.6em;
	line-height: 1;
	background: var(--blz-silver);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.wp-block-post-content img:is(.alignnone, .aligncenter, .alignleft, .alignright, [class*="wp-image-"]) { height: auto; border-radius: 20px; }
.wp-block-post-content .alignleft { float: left; margin: 0.4em 1.6em 1em 0; }
.wp-block-post-content .alignright { float: right; margin: 0.4em 0 1em 1.6em; }
.wp-block-post-content .aligncenter { display: block; margin-inline: auto; }
.wp-block-post-content .wp-caption { max-width: 100%; }
.wp-block-post-content .wp-caption-text {
	margin-top: 0.9em;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--mist);
}

/* ── 8. Separatori ───────────────────────────────────────────── */
hr.wp-block-separator {
	height: 1px;
	margin-block: var(--wp--preset--spacing--50);
	border: 0;
	background: linear-gradient(90deg, transparent, var(--blz-line-strong) 18%, var(--blz-line-strong) 82%, transparent);
	opacity: 1;
}
hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots):not(.is-style-aurora):not(.is-style-flames):not(.alignwide):not(.alignfull) { max-width: 120px; background: var(--blz-line-strong); }
hr.wp-block-separator.is-style-aurora {
	max-width: none;
	background: var(--blz-aurora);
	box-shadow: none;
}
hr.wp-block-separator.is-style-dots {
	height: auto;
	background: none;
	text-align: center;
}
hr.wp-block-separator.is-style-dots::before { color: var(--wp--preset--color--mist); letter-spacing: 1.4em; }
hr.wp-block-separator.is-style-flames {
	max-width: none;
	width: 100%;
	border: 0;
	background-color: transparent;
	height: 20px;
	background:
		linear-gradient(90deg, transparent, var(--blz-line) 30%, transparent 44%, transparent 56%, var(--blz-line) 70%, transparent) center / 100% 1px no-repeat;
	position: relative;
}
hr.wp-block-separator.is-style-flames::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 46px;
	height: 21px;
	transform: translateX(-50%);
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 332 154'%3E%3Cg fill='none' stroke='black' stroke-width='8'%3E%3Cpath transform='translate%280 0%29' d='M0 18 L27 42 L50 0 L73 42 L100 18 L100 92 A50 50 0 0 1 0 92 Z'/%3E%3Cpath transform='translate%28110 0%29' d='M0 18 L27 42 L50 0 L73 42 L100 18 L100 92 A50 50 0 0 1 0 92 Z'/%3E%3Cpath transform='translate%28220 0%29' d='M0 18 L27 42 L50 0 L73 42 L100 18 L100 92 A50 50 0 0 1 0 92 Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 332 154'%3E%3Cg fill='none' stroke='black' stroke-width='8'%3E%3Cpath transform='translate%280 0%29' d='M0 18 L27 42 L50 0 L73 42 L100 18 L100 92 A50 50 0 0 1 0 92 Z'/%3E%3Cpath transform='translate%28110 0%29' d='M0 18 L27 42 L50 0 L73 42 L100 18 L100 92 A50 50 0 0 1 0 92 Z'/%3E%3Cpath transform='translate%28220 0%29' d='M0 18 L27 42 L50 0 L73 42 L100 18 L100 92 A50 50 0 0 1 0 92 Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

/* ── 9. Accordion (blocco Dettagli) ──────────────────────────── */
.wp-block-details {
	padding: 0;
	border-bottom: 1px solid var(--blz-line);
}
.wp-block-details + .wp-block-details { margin-top: 0; }
.wp-block-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.4rem 0;
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.3;
	color: #fff;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	flex: 0 0 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 46% no-repeat,
		linear-gradient(165deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.03));
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28), inset 0 1px 1px rgba(255, 255, 255, 0.35);
	transition: transform 0.45s var(--blz-ease, ease), box-shadow 0.45s;
}
.wp-block-details[open] summary::after {
	transform: rotate(135deg);
	box-shadow: var(--blz-rim-lit);
}
.wp-block-details summary:focus-visible { outline: 2px solid rgba(255, 255, 255, 0.8); outline-offset: 4px; border-radius: 8px; }
.wp-block-details > :not(summary) { max-width: 70ch; color: var(--wp--preset--color--mist); }
.wp-block-details > :last-child { padding-bottom: 1.6rem; }

/* ── 10. Immagini, gallerie, video, file ─────────────────────── */
.wp-block-image img,
.wp-block-post-featured-image img,
.wp-block-video video,
.wp-block-embed iframe,
.wp-block-media-text__media img {
	border-radius: 20px;
}
.wp-block-image.alignfull img,
.wp-block-image.is-style-rounded img { border-radius: 0; }
.wp-block-image.is-style-rounded img { border-radius: 999px; }

:where(.wp-block-image, .wp-block-video, .wp-block-embed, .wp-block-audio) figcaption,
.wp-element-caption {
	display: flex;
	gap: 0.8em;
	margin-top: 0.9em;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.04em;
	text-align: left;
	color: var(--wp--preset--color--mist);
}
:where(.wp-block-image, .wp-block-video, .wp-block-embed) figcaption::before {
	content: "";
	flex: 0 0 1.6em;
	height: 1px;
	margin-top: 0.7em;
	background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0.15));
}

.wp-block-gallery.has-nested-images { gap: clamp(0.75rem, 1.5vw, 1.25rem); }
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 16px; }

.wp-block-cover:not(.alignfull) { border-radius: var(--blz-glass-radius, 28px); overflow: hidden; }

.wp-block-file {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1rem 1rem 1.4rem;
	border-radius: 18px;
	background: var(--blz-glass-body);
	box-shadow: inset 0 0 0 1px var(--blz-line), inset 0 1px 1px rgba(255, 255, 255, 0.2);
}
.wp-block-file a:not(.wp-block-file__button) { color: #fff; }

/* Bottoni "di servizio" di WordPress (file, ricerca): stesso vetro dei bottoni */
.wp-block-file__button,
.wp-block-search__button {
	padding: 0.8em 1.5em;
	border: 0;
	border-radius: 999px;
	background: var(--blz-glass-body);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.4);
	color: #fff;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
}
.wp-block-file__button:hover,
.wp-block-search__button:hover { background: linear-gradient(165deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06)); color: #fff; }

/* ── 11. Campi e ricerca ─────────────────────────────────────── */
.wp-block-search__label {
	margin-bottom: 0.6em;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
}
.wp-block-search__inside-wrapper { gap: 0.5rem; border: 0; padding: 0; }
:where(.wp-block-post-content, .wp-site-blocks) :is(input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], textarea, select):not(.blz-search__row input),
.wp-block-search__input {
	min-height: 48px;
	padding: 0.8em 1.2em;
	border: 1px solid var(--blz-line-strong);
	border-radius: 14px;
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	font-family: inherit;
	font-size: 1rem;
	transition: border-color 0.25s, box-shadow 0.25s;
}
.wp-block-search__input { border-radius: 999px; }
:where(.wp-block-post-content, .wp-site-blocks) :is(input, textarea, select):focus,
.wp-block-search__input:focus {
	border-color: rgba(255, 255, 255, 0.5);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.12);
	outline: none;
}
::placeholder { color: rgba(255, 255, 255, 0.38); }

/* ── 12. Articoli: chip, date, navigazione, paginazione ──────── */
.wp-block-post-terms { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: var(--wp--preset--font-size--xs); }
.wp-block-post-terms .wp-block-post-terms__separator { display: none; }
.wp-block-post-terms a {
	display: inline-flex;
	padding: 0.42em 1em;
	border-radius: 999px;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03));
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-decoration: none;
	text-transform: uppercase;
	transition: box-shadow 0.3s;
}
.wp-block-post-terms a:hover { box-shadow: var(--blz-rim-lit); }

.wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--mist); }

.wp-block-query-pagination {
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--s);
}
.wp-block-query-pagination-numbers { display: flex; gap: 0.4rem; }
.wp-block-query-pagination :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: inline-grid;
	place-items: center;
	min-width: 2.8em;
	height: 2.8em;
	padding: 0 1em;
	border-radius: 999px;
	color: var(--wp--preset--color--mist);
	text-decoration: none;
	transition: color 0.2s, box-shadow 0.3s;
}
.wp-block-query-pagination a:hover { color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3); }
.wp-block-query-pagination .page-numbers.current {
	color: #fff;
	background: var(--blz-glass-body);
	box-shadow: var(--blz-rim-lit);
}

/* ── 13. Larghezze degli shortcode (editor classico) ─────────────
   Escono dalla colonna di lettura in qualsiasi template. */
/* Niente transform: le animazioni d'ingresso usano già transform.
   Classe doppia per vincere sul max-width della colonna di WordPress. */
.blz-sc--wide.blz-sc--wide,
.blz-sc--full.blz-sc--full {
	position: relative;
	left: calc(50% - var(--blz-sc-w) / 2);
	box-sizing: border-box;
	width: var(--blz-sc-w);
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.blz-sc--wide.blz-sc--wide { --blz-sc-w: min(1320px, calc(100vw - 2 * clamp(16px, 4vw, 48px))); }
.blz-sc--full.blz-sc--full { --blz-sc-w: 100vw; border-radius: 0; }
/* Pannello di vetro a tutto schermo: niente angoli, il bordo resta solo sopra e sotto */
.is-style-glass.blz-sc--full::before,
[class*="is-style-glass-"].blz-sc--full::before { border-radius: 0; }
.blz-sc--full:is(.is-style-glass, [class*="is-style-glass-"]),
.wp-block-quote.blz-sc--full { padding-inline: max(clamp(16px, 4vw, 48px), calc((100vw - 1320px) / 2)); }
.wp-block-quote.is-style-statement.blz-sc--wide,
.wp-block-quote.is-style-statement.blz-sc--full { max-width: none; }
p.is-style-statement:is(.blz-sc--wide, .blz-sc--full) { max-width: none; }
p.is-style-statement.blz-sc--full { padding-inline: max(clamp(16px, 4vw, 48px), calc((100vw - 1320px) / 2)); }

/* [blz_sezione]: fascia a tutto schermo, contenuto allineato a 1320px */
.blz-sc-section {
	margin-block: var(--wp--preset--spacing--50);
	padding-block: var(--wp--preset--spacing--60);
	overflow: hidden;
}
.blz-sc-section__inner {
	width: min(1320px, calc(100vw - 2 * clamp(16px, 4vw, 48px)));
	margin-inline: auto;
}
.blz-sc-section__inner > :first-child { margin-top: 0; }
.blz-sc-section__inner > :last-child { margin-bottom: 0; }

/* ── 14. Sezioni di plugin a tutto schermo ───────────────────────
   Gli shortcode dei plugin finiscono nella colonna della pagina:
   l'hero 3D (blaze-desk-hero) e tutto ciò che è dentro [blz_pieno]
   vanno invece da bordo a bordo dello schermo. */
.wp-block-post-content > .bdh.bdh,
.blz-full.blz-full {
	position: relative;
	left: calc(50% - 50vw);
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
/* Il primo blocco a tutto schermo della pagina parte da sotto l'header, senza stacco */
.wp-block-post-content > :is(.bdh, .blz-full):first-child { margin-top: 0; }
