/* =========================================================
   RB Foto — stili del tema (pagine, testi, poesie, cronologia)
   Le esperienze fotografiche sono nel plugin RB Core (rb.css).
   ========================================================= */
:root {
	--rb-nero: var(--wp--preset--color--nero, #0b0b0b);
	--rb-carta: var(--wp--preset--color--carta, #e8e4dc);
	--rb-cenere: var(--wp--preset--color--cenere, #8e8b85);
	--rb-fumo: var(--wp--preset--color--fumo, #3b3a38);
	--rb-segnale: var(--wp--preset--color--segnale, #d7263d);
	--rb-mono: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	--rb-serif: var(--wp--preset--font-family--serif, Georgia, serif);
	--rb-lento: cubic-bezier(.22, .61, .36, 1);
	color-scheme: dark;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--rb-carta); color: var(--rb-nero); }
:focus-visible { outline: 1px solid var(--rb-carta); outline-offset: 3px; }
img { height: auto; }

/* ---------- Struttura ---------- */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.rb-main { flex: 1; margin-block-start: 0 !important; }
.rb-pagina { padding-block: clamp(6rem, 14vh, 10rem) 5rem; }
.rb-titolo-pagina {
	font-size: var(--wp--preset--font-size--xl) !important; margin-block-end: clamp(2rem, 6vh, 4rem) !important;
	letter-spacing: .02em;
}

/* ---------- Testo di pagina (Chi sono ecc.) ---------- */
.rb-pagina .wp-block-post-content { font-size: 1.02rem; }
.rb-pagina .wp-block-post-content p { max-width: 62ch; }
.rb-pagina .wp-block-columns:has(> .wp-block-column:empty:only-child),
.rb-pagina .wp-block-columns:not(:has(.wp-block-column > *)) { display: none; }
.rb-pagina p:empty { display: none; }
.rb-pagina .wp-block-image img { filter: grayscale(.1) contrast(1.02); }
.rb-pagina .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); }
.rb-pagina strong { color: var(--wp--preset--color--bianco); font-weight: 600; }

/* ---------- Indice dei testi ---------- */
.rb-testi__indice { margin-top: 2rem; }
.rb-testi__lista { list-style: none; padding: 0; margin: 0; counter-reset: testo; border-top: 1px solid var(--rb-fumo); }
.rb-testi__lista > li {
	counter-increment: testo; position: relative; display: grid; grid-template-columns: 4rem 1fr auto; align-items: baseline;
	gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--rb-fumo); margin: 0 !important;
}
.rb-testi__lista > li::before { content: counter(testo, decimal-leading-zero); font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); color: var(--rb-cenere); letter-spacing: .15em; }
.rb-testi__titolo { margin: 0 !important; font-family: var(--rb-serif) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: clamp(1.5rem, 3.2vw, 2.6rem) !important; line-height: 1.1 !important; }
.rb-testi__titolo a { text-decoration: none; color: var(--rb-carta); transition: color .4s, letter-spacing .6s var(--rb-lento); }
.rb-testi__lista > li:hover .rb-testi__titolo a, .rb-testi__titolo a:focus-visible { color: #fff; letter-spacing: .01em; font-style: italic; }
.rb-testi__anno { font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); color: var(--rb-cenere); letter-spacing: .15em; }
.rb-testi__img { display: none !important; }
/* anteprima che segue il puntatore (vedi tema.js) */
.rb-anteprima {
	position: fixed; left: 0; top: 0; width: min(28vw, 380px); aspect-ratio: 4 / 5; pointer-events: none; z-index: 30;
	opacity: 0; transform: translate3d(-50%, -50%, 0) scale(.96); transition: opacity .5s var(--rb-lento), transform .5s var(--rb-lento);
	background-size: cover; background-position: center; filter: grayscale(.35) contrast(1.05); mix-blend-mode: lighten;
}
.rb-anteprima.is-on { opacity: .85; transform: translate3d(-50%, -50%, 0) scale(1); }
@media (hover: none) {
	.rb-testi__lista > li { grid-template-columns: 3rem 1fr; }
	.rb-testi__anno { grid-column: 2; }
}

/* ---------- Poesia ---------- */
.rb-poesia { position: relative; padding-block: 0 4rem; }
.rb-poesia__sfondo { position: fixed !important; inset: 0; z-index: 0; margin: 0 !important; max-width: none !important; pointer-events: none; }
.rb-poesia__sfondo img { width: 100%; height: 100% !important; object-fit: cover; filter: blur(2px) grayscale(.4) brightness(.28); transform: scale(1.04); }
.rb-poesia__sfondo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, transparent 0 30%, var(--rb-nero) 85%); }
.rb-poesia > * { position: relative; z-index: 1; }
.rb-poesia__testo { padding-top: clamp(8rem, 26vh, 16rem); min-height: 80vh; }
.rb-poesia__anno { font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); letter-spacing: .25em; color: var(--rb-cenere); }
.rb-poesia__titolo { font-family: var(--rb-serif) !important; font-weight: 400 !important; text-transform: none !important; font-size: clamp(2.6rem, 7vw, 5rem) !important; letter-spacing: -.01em !important; margin-block: .6rem 3rem !important; }
.rb-poesia__corpo { font-family: var(--rb-serif); font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.65; color: var(--rb-carta); }
.rb-poesia__corpo .wp-block-pullquote, .rb-poesia__corpo .wp-block-quote { padding: 0 !important; margin: 0 !important; text-align: left !important; border: 0 !important; font-size: inherit !important; }
.rb-poesia__corpo blockquote { margin: 0; padding: 0; border: 0; }
.rb-poesia__corpo blockquote p { font-style: normal; }
.rb-poesia__corpo p { margin-block: 0 1.2em; }
/* versi che entrano uno alla volta (tema.js aggiunge .rb-verso) */
.rb-verso { display: inline-block; opacity: 0; transform: translateY(.4em); filter: blur(4px); transition: opacity 1.2s var(--rb-lento), transform 1.2s var(--rb-lento), filter 1.2s var(--rb-lento); }
.rb-verso.is-on { opacity: 1; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) { .rb-verso { opacity: 1; transform: none; filter: none; transition: none; } }
.rb-poesia__nav { margin-top: 5rem !important; border-top: 1px solid var(--rb-fumo); padding-top: 1.5rem; font: 400 var(--wp--preset--font-size--xs)/1.6 var(--rb-mono); letter-spacing: .12em; text-transform: uppercase; }
.rb-poesia__nav a { text-decoration: none; }
.rb-poesia__indice { font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); letter-spacing: .2em; text-transform: uppercase; margin-top: 2rem !important; }

/* ---------- Cronologia (Pubblicazioni & Mostre) ---------- */
.rb-cronologia p { font-size: .95rem; line-height: 1.9; }
.rb-crono { position: relative; }
.rb-crono__anni {
	position: sticky; top: 4.5rem; z-index: 5; display: flex; gap: .15rem; overflow-x: auto; scrollbar-width: none;
	padding: .75rem 0; margin-bottom: 2rem; background: linear-gradient(var(--rb-nero) 75%, transparent);
	font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); letter-spacing: .1em;
}
.rb-crono__anni::-webkit-scrollbar { display: none; }
.rb-crono__anni a { flex: 0 0 auto; padding: .45rem .55rem; text-decoration: none; color: var(--rb-cenere); border: 1px solid transparent; }
.rb-crono__anni a:hover, .rb-crono__anni a.is-on { color: var(--rb-carta); border-color: var(--rb-fumo); }
.rb-crono__anno { display: grid; grid-template-columns: minmax(5rem, 9rem) 1fr; gap: 1.5rem; padding: 1.75rem 0; border-top: 1px solid var(--rb-fumo); scroll-margin-top: 8rem; }
.rb-crono__anno h2 { margin: 0; font: 500 clamp(2rem, 5vw, 3.6rem)/1 var(--wp--preset--font-family--sans); letter-spacing: -.02em; color: var(--rb-carta); position: sticky; top: 8.5rem; align-self: start; }
.rb-crono__voci { list-style: none; margin: 0; padding: 0; }
.rb-crono__voci li { padding: .35rem 0 .35rem 1.25rem; position: relative; font-size: .9rem; letter-spacing: .02em; line-height: 1.5; opacity: 0; transform: translateX(-8px); transition: opacity .8s var(--rb-lento), transform .8s var(--rb-lento); }
.rb-crono__voci li::before { content: ""; position: absolute; left: 0; top: .95em; width: .5rem; height: 1px; background: var(--rb-cenere); }
.rb-crono__anno.is-on li { opacity: 1; transform: none; }
.rb-crono__anno.is-on li:nth-child(2) { transition-delay: .06s; } .rb-crono__anno.is-on li:nth-child(3) { transition-delay: .12s; }
.rb-crono__anno.is-on li:nth-child(4) { transition-delay: .18s; } .rb-crono__anno.is-on li:nth-child(n+5) { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) { .rb-crono__voci li { opacity: 1; transform: none; transition: none; } }
@media (max-width: 640px) { .rb-crono__anno { grid-template-columns: 1fr; gap: .5rem; } .rb-crono__anno h2 { position: static; } }

/* ---------- Moduli (Kali Forms / Contact Form 7) ---------- */
.rb-pagina input[type=text], .rb-pagina input[type=email], .rb-pagina input[type=tel], .rb-pagina textarea, .rb-pagina select {
	width: 100%; background: transparent !important; color: var(--rb-carta) !important; border: 0 !important; border-bottom: 1px solid var(--rb-fumo) !important;
	border-radius: 0 !important; padding: .7rem 0 !important; font: inherit !important; box-shadow: none !important;
}
.rb-pagina input:focus, .rb-pagina textarea:focus { border-bottom-color: var(--rb-carta) !important; outline: none; }
.rb-pagina label, .rb-pagina .kaliforms-form-container label { font: 400 var(--wp--preset--font-size--xs)/1.6 var(--rb-mono) !important; letter-spacing: .15em; text-transform: uppercase; color: var(--rb-cenere) !important; }
.rb-pagina button[type=submit], .rb-pagina input[type=submit], .rb-pagina .kaliforms-form-container button {
	background: transparent !important; color: var(--rb-carta) !important; border: 1px solid var(--rb-carta) !important; border-radius: 0 !important;
	font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono) !important; letter-spacing: .2em !important; text-transform: uppercase; padding: 1rem 2rem !important; cursor: pointer;
}
.rb-pagina button[type=submit]:hover, .rb-pagina .kaliforms-form-container button:hover { background: var(--rb-carta) !important; color: var(--rb-nero) !important; }

/* ---------- Stili di blocco ---------- */
.wp-block-gallery.is-style-provino { background: #050505; padding: 1.5rem 1rem !important; gap: .6rem !important; counter-reset: fot; border-block: 10px dashed #1a1a1a; }
.wp-block-gallery.is-style-provino figure.wp-block-image { counter-increment: fot; position: relative; }
.wp-block-gallery.is-style-provino figure.wp-block-image::after { content: counter(fot, decimal-leading-zero) "A"; position: absolute; left: .3rem; bottom: .25rem; font: 500 .62rem/1 var(--rb-mono); color: #e6a817; letter-spacing: .1em; }
.wp-block-image.is-style-passe-partout img { padding: clamp(.75rem, 2vw, 1.5rem); background: var(--wp--preset--color--bianco); }
.wp-block-quote.is-style-poesia { border: 0 !important; padding: 0 !important; text-align: center; font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important; }
.wp-block-quote.is-style-poesia cite { display: block; margin-top: 1.5rem; font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); font-style: normal; letter-spacing: .2em; text-transform: uppercase; color: var(--rb-cenere); }
.wp-block-group.is-style-carta { background: var(--wp--preset--color--carta); color: var(--rb-nero); padding: clamp(2rem, 5vw, 4rem); }
.wp-block-group.is-style-carta a, .wp-block-group.is-style-carta h2 { color: var(--rb-nero); }
.rb-sez { margin-block: clamp(3rem, 8vh, 6rem) !important; }
.rb-hud-riga { font: 400 var(--wp--preset--font-size--xs)/1 var(--rb-mono); letter-spacing: .2em; color: var(--rb-cenere); text-transform: uppercase; }

/* ---------- Piede ---------- */
.rb-piede { padding: 2.5rem clamp(1rem, 4vw, 3rem) 3.5rem !important; margin-top: 0 !important; border-top: 1px solid #1c1c1c; font: 400 var(--wp--preset--font-size--xs)/1.6 var(--rb-mono); letter-spacing: .08em; color: var(--rb-cenere); text-transform: uppercase; }
.rb-piede p { margin: 0; }
.rb-piede a { color: var(--rb-cenere); text-decoration: none; } .rb-piede a:hover { color: var(--rb-carta); }
body.rb-immersivo .rb-piede { display: none; }

/* ---------- 404 ---------- */
.rb-404 .rb-titolo-pagina { font-size: var(--wp--preset--font-size--xxl) !important; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
