/* SpaceInfo Post Template — token ripresi dal CSS del sito, con fallback */
.sic-post-top,
.sic-post-end {
	--v-void: var(--sic-void, #05070f);
	--v-surface: var(--sic-surface, #0c1224);
	--v-surface2: var(--sic-surface-2, #111a33);
	--v-line: var(--sic-line, #1d2946);
	--v-ink: var(--sic-ink, #e9eefb);
	--v-muted: var(--sic-muted, #95a3c6);
	--v-signal: var(--sic-signal, #5ad1e6);
	--v-flare: var(--sic-flare, #f7d154);
	color: var(--v-ink);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.single-post .entry-content h2[id],
.single-post .entry-content h3[id] { scroll-margin-top: calc(var(--sic-header-h, 80px) + 16px); }

.sic-post-eyebrow {
	display: block;
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--v-signal);
	font-weight: 600;
}

/* ---------- Top ---------- */
.sic-post-top { margin: 0 0 2rem; }
.sic-post-byline {
	display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center;
	padding: 1rem 0; border-top: 1px solid var(--v-line); border-bottom: 1px solid var(--v-line);
}
.sic-post-byline__who { display: flex; gap: .75rem; align-items: center; }
.sic-post-byline__name { display: block; font-weight: 600; }
.sic-post-byline__name a,
.sic-post-byline__review a { color: var(--v-ink); text-decoration: underline; text-decoration-color: var(--v-signal); text-underline-offset: 3px; }
.sic-post-byline__role { display: block; font-size: .85rem; color: var(--v-muted); }
.sic-post-byline__dates { margin: 0 0 0 auto; font-size: .85rem; color: var(--v-muted); font-variant-numeric: tabular-nums; }
.sic-post-avatar { border-radius: 50%; border: 1px solid var(--v-line); flex: none; }
.sic-post-avatar--lg { width: 72px; height: 72px; }

.sic-post-toc { margin: 1.25rem 0; background: var(--v-surface); border: 1px solid var(--v-line); border-radius: 10px; }
.sic-post-toc summary { cursor: pointer; padding: .9rem 1.1rem; font-weight: 600; letter-spacing: .02em; }
.sic-post-toc summary:focus-visible,
.sic-post-toc a:focus-visible,
.sic-post-btn:focus-visible,
.sic-post-card__link:focus-visible { outline: 2px solid var(--v-signal); outline-offset: 3px; }
.sic-post-toc ol { margin: 0; padding: 0 1.1rem 1rem 2.4rem; }
.sic-post-toc li { margin: .3rem 0; }
.sic-post-toc a { color: var(--v-ink); text-decoration: none; }
.sic-post-toc a:hover { color: var(--v-signal); }

.sic-post-mini-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0; font-size: .85rem; color: var(--v-muted); }

/* Pulsante (unico accento giallo, come il resto del sito) */
.sic-post-btn {
	display: inline-block; background: var(--v-flare); color: var(--v-void) !important;
	font-weight: 700; padding: .8rem 1.4rem; border-radius: 6px; text-decoration: none !important;
	transition: transform .15s ease, filter .15s ease;
}
.sic-post-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.sic-post-btn--small { padding: .5rem 1rem; font-size: .9rem; }

/* Sezione "Key facts" riconosciuta dal titolo H2 */
.entry-content .sic-keyfacts-h { color: var(--sic-signal, #5ad1e6); }
.entry-content .sic-keyfacts-h + ul,
.entry-content .sic-keyfacts-h + ol {
	background: var(--sic-surface, #0c1224); border: 1px solid var(--sic-line, #1d2946);
	border-left: 3px solid var(--sic-signal, #5ad1e6); border-radius: 8px; padding: 1rem 1.25rem 1rem 2.25rem;
}

/* ---------- Coda ---------- */
.sic-post-end { margin-top: 3rem; display: grid; gap: 2.5rem; }
.sic-post-end h2 { margin: 0; line-height: 1.2; }

.sic-post-person { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.5rem; background: var(--v-surface); border: 1px solid var(--v-line); border-radius: 12px; }
.sic-post-person__name { font-size: 1.35rem; margin: .2rem 0 0; }
.sic-post-person__name a { color: var(--v-ink); text-decoration: none; }
.sic-post-person__role { margin: .15rem 0 .6rem; color: var(--v-muted); font-size: .9rem; }
.sic-post-person p { margin: .4rem 0; }
.sic-post-person__links a { display: inline-block; margin-right: .9rem; color: var(--v-signal); font-size: .9rem; }
.sic-post-fix { margin: -1rem 0 0; font-size: .9rem; color: var(--v-muted); }
.sic-post-fix a { color: var(--v-signal); }

.sic-post-newsletter {
	display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; justify-content: space-between;
	padding: 1.75rem; border-radius: 12px; border: 1px solid var(--v-line);
	background: linear-gradient(135deg, var(--v-surface2), var(--v-surface));
}
.sic-post-newsletter h2 { font-size: 1.5rem; margin: .25rem 0 .4rem; }
.sic-post-newsletter p { margin: 0; max-width: 46ch; color: var(--v-muted); }

.sic-post-block__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--v-line); padding-bottom: .6rem; }
.sic-post-block__head h2 { font-size: 1.4rem; }
.sic-post-block__head a { color: var(--v-signal); font-size: .9rem; }

.sic-post-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sic-post-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sic-post-card { margin: 0; background: var(--v-surface); border: 1px solid var(--v-line); border-radius: 10px; overflow: hidden; transition: border-color .15s ease; }
.sic-post-card:hover { border-color: var(--v-signal); }
.sic-post-card__link { display: flex; flex-direction: column; height: 100%; color: var(--v-ink); text-decoration: none; }
.sic-post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--v-void); }
body.single-post .sic-post-card__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.sic-post-card__body { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1rem 1.1rem; }
.sic-post-card__title { font-weight: 600; line-height: 1.3; }
.sic-post-card__date { font-size: .8rem; color: var(--v-muted); }

@media (max-width: 921px) {
	.sic-post-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.sic-post-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.sic-post-byline__dates { margin-left: 0; }
	.sic-post-person { flex-direction: column; }
	.sic-post-grid, .sic-post-grid--4 { grid-template-columns: 1fr; }
	.sic-post-newsletter { padding: 1.25rem; }
	.sic-post-newsletter .sic-post-btn { width: 100%; text-align: center; }
}

/* ---------- Layout: margini, colonna di lettura, mobile ----------
   Astra usa qui il layout "page builder", quindi il contenitore non ha
   padding e il testo arriva al bordo dello schermo. Lo gestiamo noi. */
body.single-post {
	--sic-gutter: clamp(18px, 5vw, 48px);
	--sic-read: 760px;   /* larghezza colonna di lettura */
	--sic-wide: 1140px;  /* larghezza moduli in coda */
	overflow-x: clip;
}
body.single-post .site-content > .ast-container {
	max-width: calc(var(--sic-wide) + 2 * var(--sic-gutter));
	margin-inline: auto;
	padding-inline: var(--sic-gutter);
	box-sizing: border-box;
}
body.single-post #primary { width: 100%; min-width: 0; padding-inline: 0; margin-inline: 0; }

/* Titolo, meta e corpo: colonna di lettura centrata */
body.single-post .ast-article-single .entry-header,
body.single-post .entry-content > :not(.sic-post-end):not(.alignwide):not(.alignfull) {
	max-width: var(--sic-read);
	margin-inline: auto;
	padding-inline: 0;
	box-sizing: border-box;
}
body.single-post .entry-content > .alignwide { max-width: var(--sic-wide); margin-inline: auto; }
body.single-post .entry-header { margin-top: clamp(1.25rem, 4vw, 2.5rem); }
body.single-post .entry-title { overflow-wrap: break-word; hyphens: auto; }

/* Moduli in coda: più larghi, centrati */
body.single-post .sic-post-end {
	max-width: var(--sic-wide);
	margin-inline: auto;
	margin-top: clamp(2.5rem, 7vw, 4.5rem);
	margin-bottom: clamp(2.5rem, 7vw, 4.5rem);
	box-sizing: border-box;
}

/* Contenuti che non devono mai superare la colonna */
body.single-post .entry-content { overflow-wrap: break-word; }
body.single-post .entry-content img,
body.single-post .entry-content video,
body.single-post .entry-content iframe,
body.single-post .entry-content figure { max-width: 100%; height: auto; }
body.single-post .entry-content iframe { aspect-ratio: 16 / 9; height: auto; }
body.single-post .entry-content table { display: block; max-width: 100%; overflow-x: auto; }
body.single-post .entry-content pre { max-width: 100%; overflow-x: auto; }

/* Tablet */
@media (max-width: 921px) {
	body.single-post { --sic-gutter: clamp(18px, 4.5vw, 32px); }
	.sic-post-byline { gap: .75rem 1.5rem; }
}

/* Smartphone */
@media (max-width: 600px) {
	body.single-post { --sic-gutter: 18px; }
	.sic-post-byline { padding: .85rem 0; }
	.sic-post-byline__dates { flex-basis: 100%; }
	.sic-post-toc summary { padding: .8rem .9rem; }
	.sic-post-toc ol { padding: 0 .9rem .9rem 2rem; }
	.sic-post-mini-cta .sic-post-btn { width: 100%; text-align: center; }
	.sic-post-person { padding: 1.1rem; }
	.sic-post-block__head { flex-wrap: wrap; }
	.sic-post-card__body { padding: .8rem .9rem 1rem; }
}

/* ---------- Archivi (autore, categoria, tag, data, blog, ricerca) ----------
   Stesso problema degli articoli: layout Astra "page builder" senza margini.
   La riga delle card ha margine -20px (compensa il padding del contenitore,
   qui assente), quindi le card uscivano dallo schermo. */
body.author, body.category, body.tag, body.date, body.blog, body.search {
	--sic-gutter: clamp(18px, 5vw, 48px);
	--sic-archive-wide: 1240px;
	overflow-x: clip;
}
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) .site-content > .ast-container {
	max-width: calc(var(--sic-archive-wide) + 2 * var(--sic-gutter));
	margin-inline: auto;
	padding-inline: var(--sic-gutter);
	box-sizing: border-box;
}
/* Il titolo dell'archivio ha già un proprio padding: lo azzeriamo per non sommarlo */
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) .ast-archive-description {
	max-width: none;
	padding-inline: 0;
	box-sizing: border-box;
}
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) #primary { min-width: 0; }
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) .ast-pagination,
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) .navigation.pagination { padding-inline: 0; }
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) .ast-archive-description img,
:is(body.author, body.category, body.tag, body.date, body.blog, body.search) article img { max-width: 100%; height: auto; }
@media (max-width: 921px) {
	:is(body.author, body.category, body.tag, body.date, body.blog, body.search) { --sic-gutter: clamp(18px, 4.5vw, 32px); }
}
@media (max-width: 600px) {
	:is(body.author, body.category, body.tag, body.date, body.blog, body.search) { --sic-gutter: 18px; }
}
