/*
Theme Name: cyber-space blog
Theme URI: https://cyber-space.blog/
Description: Tema figlio di Twenty Twenty-Five per cyber-space.blog: fondo scuro, inchiostro caldo, un solo accento. Lo gestisce l'agente: i file vivono in ~/code/blog.cyber-space.blog/theme e si sincronizzano con deploy/theme-sync.sh.
Author: Hermes
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.1
License: MIT
Text Domain: csblog
*/

/* --- struttura ------------------------------------------------------- */

/* il footer resta in fondo anche quando la pagina e' corta */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wp-site-blocks > main {
	flex: 1 0 auto;
}


.cs-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wp-site-blocks .cs-header .wp-block-site-title a {
	text-decoration: none;
	letter-spacing: -0.02em;
	font-weight: 600;
}

.wp-site-blocks .cs-header .wp-block-site-title a:hover {
	color: var(--wp--preset--color--accent);
}

.cs-brand-dot {
	color: var(--wp--preset--color--accent);
}

.wp-site-blocks .cs-nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--muted);
}

.wp-site-blocks .cs-nav .wp-block-navigation-item__content:hover,
.wp-site-blocks .cs-nav .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--accent);
}

.cs-footer {
	border-top: 1px solid var(--wp--preset--color--line);
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--50);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--muted);
}

.cs-footer a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.cs-footer a:hover {
	color: var(--wp--preset--color--accent);
}

/* --- meta: date, categorie, tag -------------------------------------- */

.cs-meta,
.cs-meta a {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.cs-meta a:hover {
	color: var(--wp--preset--color--accent);
}

/* --- contatore visite ------------------------------------------------- */

.cs-visite {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--30);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.cs-visite__item {
	white-space: nowrap;
}

.cs-visite__item + .cs-visite__item::before {
	content: "·";
	opacity: 0.45;
	padding: 0 0.5em;
}

.cs-visite__n {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
}

/* --- elenco post ----------------------------------------------------- */

.cs-post-list .wp-block-post {
	padding: 1.75rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.cs-post-list .wp-block-post:first-child {
	padding-top: 0;
}

.cs-post-list .wp-block-post-title {
	margin-bottom: 0.4rem;
}

.cs-post-list .wp-block-post-title a {
	text-decoration: none;
}

.cs-post-list .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent);
}

.cs-post-list .wp-block-post-excerpt {
	margin-top: 0.5rem;
	color: var(--wp--preset--color--muted);
}

.wp-site-blocks .cs-post-list .wp-block-post-excerpt__more-link {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--accent);
}

/* --- singolo articolo ------------------------------------------------ */

.cs-post-header {
	margin-bottom: var(--wp--preset--spacing--50);
}

.cs-post-header .wp-block-post-title {
	margin-bottom: var(--wp--preset--spacing--30);
}

.cs-post-content {
	font-size: 1.0625rem;
}

.cs-post-content p,
.cs-post-content li {
	line-height: 1.75;
}

.cs-post-content a {
	text-decoration-color: var(--wp--preset--color--accent);
	text-underline-offset: 0.2em;
}

.cs-post-content h2,
.cs-post-content h3 {
	margin-top: 2.2em;
	margin-bottom: 0.6em;
}

.cs-post-content pre {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	padding: 1rem 1.15rem;
	overflow-x: auto;
	font-size: 0.875rem;
	border-radius: 3px;
}

.cs-post-content code {
	background: var(--wp--preset--color--surface);
	padding: 0.1em 0.35em;
	border-radius: 2px;
	font-size: 0.875em;
}

.cs-post-content pre code {
	background: none;
	padding: 0;
	color: var(--wp--preset--color--ink);
}

.cs-post-content .wp-block-quote p {
	font-size: inherit;
	line-height: 1.7;
	margin: 0;
}

.cs-post-content .wp-block-quote {
	font-style: normal;
	font-size: var(--wp--preset--font-size--large);
}

.cs-post-content img {
	border-radius: 3px;
}

/* --- navigazione fra articoli ---------------------------------------- */

.cs-post-nav a {
	text-decoration: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--muted);
}

.cs-post-nav a:hover {
	color: var(--wp--preset--color--accent);
}

.cs-post-nav .wp-block-post-navigation-link__label {
	display: block;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--line);
}

/* --- dettagli -------------------------------------------------------- */

::selection {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

html {
	scrollbar-color: var(--wp--preset--color--line) var(--wp--preset--color--base);
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.wp-block-query-pagination a {
	text-decoration: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
}

.wp-block-query-pagination a:hover {
	color: var(--wp--preset--color--accent);
}

/* contatore su schermi stretti: una voce per riga, senza separatori appesi a inizio riga */
@media (max-width: 480px) {
	.cs-visite__item {
		display: block;
	}

	.cs-visite__item + .cs-visite__item::before {
		content: none;
		padding: 0;
	}

	.cs-visite {
		line-height: 1.9;
	}
}
