/*
Theme Name: Paolo Del Ferraro
Theme URI: https://paolodelferraro.com
Description: Tema su misura per Paolo Del Ferraro, orafo a Velletri dal 1974. Child di Twenty Twenty-Five: atmosfera scura, oro come accento, alternanza nero / pietra tra le pagine, barra fissa che si assottiglia scorrendo, punzone nel footer, font ospitati in locale.
Author: Paolo Del Ferraro
Template: twentytwentyfive
Version: 1.0.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: paolo-del-ferraro
*/

/* ==========================================================================
   1. Colori — tema scuro (predefinito) e chiaro "pietra"
   ========================================================================== */

:root,
.editor-styles-wrapper,
.pdf-scuro {
	--pdf-bg: #0F0E0D;
	--pdf-bg2: #151413;
	--pdf-fg: #E9E3D7;
	--pdf-fg2: #CFC8BB;
	--pdf-muted: #A39C90;
	--pdf-faint: #8C857A;
	--pdf-line: #2A2724;
	--pdf-line2: #4A4540;
	--pdf-ph: #1B1917;
	--pdf-hatch: rgba(233, 227, 215, .035);
	--pdf-oro: #B8955A;
	--pdf-oro-hover: #C9A961;
	--pdf-on-oro: #0F0E0D;
	--pdf-hdr-bg: rgba(15, 14, 13, .55);
	--pdf-hdr-bg-compatta: rgba(15, 14, 13, .94);
	--pdf-hdr-line: rgba(233, 227, 215, .08);
	--pdf-sel: rgba(184, 149, 90, .35);
	color-scheme: dark;
}

body.tema-chiaro,
.editor-styles-wrapper.tema-chiaro,
.pdf-chiaro {
	--pdf-bg: #F1ECE3;
	--pdf-bg2: #E8E2D7;
	--pdf-fg: #1A1816;
	--pdf-fg2: #3A3530;
	--pdf-muted: #5C564E;
	--pdf-faint: #6B655C;
	--pdf-line: #D6CFC2;
	--pdf-line2: #B9B1A3;
	--pdf-ph: #E2DBCE;
	--pdf-hatch: rgba(26, 24, 22, .05);
	--pdf-oro: #7A5C2C;
	--pdf-oro-hover: #6B4F24;
	--pdf-on-oro: #F1ECE3;
	--pdf-hdr-bg: rgba(241, 236, 227, .80);
	--pdf-hdr-bg-compatta: rgba(241, 236, 227, .96);
	--pdf-hdr-line: #D6CFC2;
	--pdf-sel: rgba(122, 92, 44, .25);
	color-scheme: light;
}

/* Le fasce .pdf-scuro / .pdf-chiaro dentro una pagina hanno il proprio fondo e testo. */
.pdf-scuro,
.pdf-chiaro {
	background-color: var(--pdf-bg);
	color: var(--pdf-fg);
}

:root {
	--pdf-hdr: 96px;
	--pdf-hdr-compatta: 64px;
	--pdf-sez: clamp(80px, 3rem + 7vw, 160px);
	--pdf-gutter: var(--wp--style--root--padding-left, clamp(24px, 5vw, 64px));
	--pdf-ease: cubic-bezier(.2, .7, .2, 1);
}

body {
	background-color: var(--pdf-bg);
	color: var(--pdf-fg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

::selection { background: var(--pdf-sel); color: var(--pdf-fg); }

a { transition: color .2s ease, opacity .2s ease, border-color .2s ease; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 1px solid var(--pdf-oro);
	outline-offset: 3px;
}

h1, h2, h3, h4, h5, h6 { margin-block-end: 0; text-wrap: balance; }
p { text-wrap: pretty; }

/* ==========================================================================
   2. Struttura della pagina
   ========================================================================== */

.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * { margin-block: 0; }

/* Il contenuto parte sotto la barra, salvo quando la pagina comincia con un hero a tutto schermo. */
.pdf-main { padding-top: var(--pdf-hdr); }
.pdf-main:has(> .wp-block-post-content > .pdf-hero:first-child) { padding-top: 0; }

.pdf-main > .wp-block-post-content > .alignfull,
.pdf-main > .wp-block-post-content > .pdf-sezione,
.pdf-main > .wp-block-post-content > .pdf-hero { margin-block: 0; }

.skip-link.screen-reader-text:focus {
	background: var(--pdf-bg);
	color: var(--pdf-fg);
}

/* ==========================================================================
   3. Barra di navigazione fissa (si assottiglia scorrendo)
   ========================================================================== */

.wp-site-blocks > .pdf-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	height: var(--pdf-hdr);
	margin-bottom: calc(var(--pdf-hdr) * -1);
	pointer-events: none;
}

.pdf-barra {
	pointer-events: auto;
	height: var(--pdf-hdr);
	background: var(--pdf-hdr-bg);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--pdf-hdr-line);
	transition: height .35s var(--pdf-ease), background-color .35s ease;
}

.pdf-barra__wrap {
	box-sizing: border-box;
	max-width: 1280px;
	height: 100%;
	margin: 0 auto;
	padding: 0 var(--pdf-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.pdf-wordmark {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: .34em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--pdf-fg);
	transition: font-size .35s var(--pdf-ease), letter-spacing .35s var(--pdf-ease);
}
.pdf-wordmark:hover { color: var(--pdf-fg); opacity: .8; }

.pdf-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 28px;
}
.pdf-nav a {
	display: block;
	padding: 8px 0;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--pdf-fg);
	border-bottom: 1px solid transparent;
}
.pdf-nav a:hover { color: var(--pdf-oro); }
.pdf-nav a[aria-current] { color: var(--pdf-oro); border-bottom-color: var(--pdf-oro); }

.pdf-barra__dx { display: flex; align-items: center; gap: 20px; }

.pdf-lingue {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	letter-spacing: .2em;
	white-space: nowrap;
	color: var(--pdf-faint);
}
.pdf-lingue a, .pdf-lingue span { color: var(--pdf-faint); }
.pdf-lingue a:hover { color: var(--pdf-fg); }
.pdf-lingue [aria-current] { color: var(--pdf-fg); }

.pdf-menu-btn {
	display: none;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: none;
	border: 1px solid var(--pdf-line2);
	color: var(--pdf-fg);
	cursor: pointer;
}
.pdf-menu-btn svg { display: block; }
.pdf-menu-btn .pdf-linea { transition: transform .3s var(--pdf-ease); transform-origin: center; }
.pdf-menu-btn[aria-expanded="true"] .pdf-linea--1 { transform: translateY(4px) rotate(45deg); }
.pdf-menu-btn[aria-expanded="true"] .pdf-linea--2 { transform: translateY(-4px) rotate(-45deg); }

/* Barra compatta (dopo ~80px di scorrimento) */
.pdf-header.is-compact .pdf-barra { height: var(--pdf-hdr-compatta); background: var(--pdf-hdr-bg-compatta); }
.pdf-header.is-compact .pdf-wordmark { font-size: 15px; letter-spacing: .28em; }

@media (max-width: 1080px) {
	.pdf-nav ul { gap: 20px; }
	.pdf-nav a { letter-spacing: .1em; }
}

/* Menu per telefono e iPad verticale */
.pdf-menu-mobile {
	pointer-events: auto;
	position: fixed;
	inset: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: -1;
	box-sizing: border-box;
	padding: calc(var(--pdf-hdr) + 40px) var(--pdf-gutter) 40px;
	background: var(--pdf-bg);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility 0s linear .3s;
}
.pdf-menu-mobile.is-open { opacity: 1; visibility: visible; transition: opacity .3s ease; }
.pdf-menu-mobile ul { list-style: none; margin: 0; padding: 0; }
.pdf-menu-mobile li + li { border-top: 1px solid var(--pdf-line); }
.pdf-menu-mobile li a {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding: 16px 0;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 36px;
	line-height: 1.15;
	color: var(--pdf-fg);
}
.pdf-menu-mobile li a .pdf-roman { font-size: 12px; color: var(--pdf-faint); min-width: 3.2em; }
.pdf-menu-mobile li a[aria-current] { color: var(--pdf-oro); }
.pdf-menu-mobile__piede { display: flex; flex-direction: column; gap: 24px; }
.pdf-menu-mobile .pdf-lingue { font-size: 14px; }
body.pdf-menu-aperto { overflow: hidden; }
body.pdf-menu-aperto .pdf-barra { background: var(--pdf-bg); }

@media (max-width: 900px) {
	.pdf-nav, .pdf-barra__dx > .pdf-lingue { display: none; }
	.pdf-menu-btn { display: inline-flex; }
}
@media (min-width: 901px) {
	.pdf-menu-mobile { display: none; }
}

/* ==========================================================================
   4. Tipografia di servizio (stili assegnabili ai blocchi)
   ========================================================================== */

.pdf-eyebrow,
p.is-style-etichetta {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--pdf-faint);
}

.pdf-roman,
p.is-style-numero-romano {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--pdf-oro);
}

body .pdf-oro, body .pdf-oro a { color: var(--pdf-oro); }
body .pdf-tenue { color: var(--pdf-faint); }

.pdf-sottotitolo,
p.is-style-sottotitolo {
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-size: var(--wp--preset--font-size--sottotitolo);
	line-height: 1.35;
	color: var(--pdf-muted);
}

.pdf-manifesto,
p.is-style-manifesto {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--manifesto);
	font-weight: 400;
	line-height: 1.27;
	color: var(--pdf-fg);
}

.pdf-citazione,
p.is-style-citazione {
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-size: var(--wp--preset--font-size--manifesto);
	line-height: 1.3;
	color: var(--pdf-fg);
}

.pdf-piccolo,
p.is-style-piccolo {
	font-size: 15px;
	line-height: 1.65;
	color: var(--pdf-muted);
}

.pdf-nome,
p.is-style-nome-opera {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--grande);
	font-weight: 400;
	line-height: 1.12;
	color: var(--pdf-fg);
}

.pdf-dettaglio {
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--pdf-faint);
}

.pdf-materiali {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pdf-muted);
	padding-top: 14px;
	border-top: 1px solid var(--pdf-line);
}

.pdf-anno {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: clamp(26px, 1.4rem + .5vw, 32px);
	line-height: 1.1;
	color: var(--pdf-oro);
}

.pdf-hero-titolo { font-size: var(--wp--preset--font-size--hero); line-height: 1.02; }
.pdf-hero-titolo em, .pdf-titolo em { color: var(--pdf-oro); }
h2.pdf-titolo { font-size: var(--wp--preset--font-size--titolo); }
h2.pdf-titolo--medio { font-size: clamp(2.25rem, 1.5rem + 2.4vw, 3.75rem); }
h3.pdf-titolo--maison { font-size: clamp(2.25rem, 1.8rem + 1.2vw, 3rem); letter-spacing: .04em; }

/* Link testuali sottolineati (Tutte le collezioni, Richiedi informazioni, Leggi) */
.pdf-link a,
a.pdf-link {
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pdf-fg);
	border-bottom: 1px solid var(--pdf-line2);
	padding-bottom: 6px;
}
.pdf-link a:hover { border-bottom-color: var(--pdf-fg); }
.pdf-link--oro a { color: var(--pdf-oro); border-bottom-color: var(--pdf-oro); }
.pdf-link--oro a:hover { color: var(--pdf-oro-hover); }

/* Corpo del testo */
body .pdf-corpo { font-size: 17px; line-height: 1.75; color: var(--pdf-fg2); }
body .pdf-misura { max-width: 500px; }
body .pdf-misura-l { max-width: 640px; }

/* ==========================================================================
   5. Pulsanti (stili: Oro pieno = predefinito, Contorno oro, Contorno)
   ========================================================================== */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	box-sizing: border-box;
	text-align: center;
	white-space: nowrap;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

.wp-block-button.is-style-contorno-oro .wp-block-button__link {
	background: transparent;
	color: var(--pdf-oro);
	border-color: var(--pdf-oro);
}
.wp-block-button.is-style-contorno-oro .wp-block-button__link:hover {
	background: var(--pdf-oro);
	color: var(--pdf-on-oro);
}

.wp-block-button.is-style-contorno .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--pdf-fg);
	border-color: var(--pdf-line2);
}
.wp-block-button.is-style-contorno .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--pdf-fg);
	color: var(--pdf-fg);
	background: transparent;
}

.wp-block-buttons { gap: 16px; }
body .wp-block-buttons.pdf-mt-l { margin-top: 40px; }

/* ==========================================================================
   6. Sezioni, griglie e spaziature
   ========================================================================== */

body .pdf-sezione { padding-top: var(--pdf-sez); padding-bottom: var(--pdf-sez); }
body .pdf-sezione--top0 { padding-top: 0; }
body .pdf-sezione--bottom0 { padding-bottom: 0; }
body .pdf-sezione--fascia {
	background-color: var(--pdf-bg2);
	border-top: 1px solid var(--pdf-line);
	border-bottom: 1px solid var(--pdf-line);
}
body .pdf-sezione--bordo { border-top: 1px solid var(--pdf-line); }
body .pdf-sezione--compatta { padding-top: 48px; padding-bottom: 48px; }

body .pdf-mt-0 { margin-top: 0; }
body .pdf-mt-s { margin-top: 10px; }
body .pdf-mt-m { margin-top: 28px; }
body .pdf-mt-l { margin-top: 40px; }
body .pdf-mt-xl { margin-top: clamp(48px, 2rem + 3vw, 80px); }
body .pdf-mb-xl { margin-bottom: clamp(48px, 2rem + 3vw, 80px); }

body .pdf-centro { text-align: center; }
body .pdf-centro .wp-block-buttons { justify-content: center; }
body .pdf-centro > * { margin-left: auto; margin-right: auto; }

/* Griglie */
.pdf-griglia-2, .pdf-griglia-3, .pdf-griglia-4, .pdf-split, .pdf-passi {
	display: grid;
	align-items: start;
}
.pdf-griglia-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 32px; }
.pdf-griglia-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.pdf-griglia-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 32px; }
.pdf-passi { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 72px 40px; }
.pdf-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; align-items: center; }
.pdf-split--alto { align-items: start; }
.pdf-split--basso { align-items: end; }
.pdf-griglia--stretta { gap: 16px; }

body .pdf-griglia-2 > *, body .pdf-griglia-3 > *, body .pdf-griglia-4 > *,
body .pdf-split > *, body .pdf-passi > * { margin: 0; min-width: 0; }

/* Elemento di griglia: foto + testo impilati */
.pdf-scheda { display: flex; flex-direction: column; gap: 20px; }
body .pdf-scheda > * { margin: 0; }
body .pdf-scheda > .wp-block-cover + * { margin-top: 2px; }
.pdf-scheda .pdf-roman + .pdf-nome,
.pdf-scheda .pdf-nome + .pdf-dettaglio { margin-top: -10px; }

.pdf-intesta {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px 32px;
	flex-wrap: wrap;
}
body .pdf-intesta > * { margin: 0; }
body .pdf-intesta--linea { padding-top: 48px; border-top: 1px solid var(--pdf-line); }

/* Filetto verticale oro (manifesto) e filetto corto (pilastri) */
.pdf-filetto { width: 1px; height: 96px; background: var(--pdf-oro); margin: 64px auto 0; }
.pdf-pilastro::before { content: ""; display: block; width: 32px; height: 1px; background: var(--pdf-oro); margin-bottom: 28px; }
.pdf-pilastro h3 {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 14px;
	letter-spacing: .18em;
	text-transform: uppercase;
	line-height: 1.5;
}
.pdf-tecnica h3 {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 14px;
	letter-spacing: .2em;
	text-transform: uppercase;
	line-height: 1.5;
	color: var(--pdf-oro);
}

/* Righe di timeline (Bio, Press, Come arrivare) */
.pdf-tl {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 24px;
	padding: 28px 0;
	border-top: 1px solid var(--pdf-line);
	align-items: baseline;
}
.pdf-tl--capitolo { grid-template-columns: 200px minmax(0, 1fr); padding: 56px 0; align-items: start; }
.pdf-tl--mostra { grid-template-columns: 140px minmax(0, 1fr) 220px; }
.pdf-tl--mostra > :last-child { text-align: right; }
.pdf-tl--breve { grid-template-columns: 120px minmax(0, 1fr); }
body .pdf-tl > * { margin: 0; }
.pdf-tl h2, .pdf-tl h3 { margin: 0; }
.pdf-tl h3 { font-size: clamp(24px, 1.3rem + .4vw, 28px); line-height: 1.2; }
.pdf-tl .pdf-tl__testo { display: flex; flex-direction: column; gap: 8px; }
body .pdf-tl .pdf-tl__testo > * { margin: 0; }
.pdf-tl--capitolo .pdf-tl__testo { gap: 20px; }
.pdf-tl--capitolo .pdf-roman { padding-top: 10px; }

/* Cartellino da museo (opere nella pagina collezione) */
.pdf-cartellino {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}
body .pdf-cartellino > * { margin: 0; }
.pdf-cartellino > :last-child {
	font-size: 14px;
	line-height: 1.7;
	color: var(--pdf-muted);
	border-left: 1px solid var(--pdf-line);
	padding-left: 20px;
}
.pdf-cartellino .pdf-tipo {
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pdf-oro);
	margin-top: 10px;
}

/* Schede articoli (Press) */
.pdf-articolo {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	min-height: 320px;
	box-sizing: border-box;
	padding: 40px 32px;
	border: 1px solid var(--pdf-line);
}
body .pdf-articolo > * { margin: 0; }
.pdf-articolo__piede { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
body .pdf-articolo__piede > * { margin: 0; }

/* Domande frequenti */
.pdf-faq { padding: 26px 0; border-top: 1px solid var(--pdf-line); }
body .pdf-faq > * { margin: 0; }
.pdf-faq h3 { font-size: clamp(22px, 1.2rem + .4vw, 26px); line-height: 1.25; margin-bottom: 10px; }
body .pdf-faq h3 + * { margin-top: 10px; }

/* Riga contatti (aside) */
.pdf-indirizzo {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: clamp(24px, 1.3rem + .6vw, 30px);
	line-height: 1.3;
	color: var(--pdf-fg);
}

/* Navigazione tra collezioni */
.pdf-sfoglia {
	border-top: 1px solid var(--pdf-line);
}
.pdf-sfoglia__wrap {
	box-sizing: border-box;
	max-width: 1280px;
	margin: 0 auto;
	padding: 48px var(--pdf-gutter);
	display: flex;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.pdf-sfoglia a { display: flex; flex-direction: column; gap: 8px; min-height: 48px; color: var(--pdf-fg); }
.pdf-sfoglia a:hover .pdf-sfoglia__nome { color: var(--pdf-oro); }
.pdf-sfoglia a.pdf-sfoglia__succ { text-align: right; }
.pdf-sfoglia .pdf-roman { color: var(--pdf-faint); font-size: 12px; }
.pdf-sfoglia__nome { font-family: var(--wp--preset--font-family--cormorant); font-size: 28px; line-height: 1.2; transition: color .2s ease; }

/* ==========================================================================
   7. Foto e video: segnaposto e hero
   ========================================================================== */

.wp-block-cover.pdf-ph.pdf-ph {
	background-color: var(--pdf-ph);
	background-image: repeating-linear-gradient(135deg, var(--pdf-hatch) 0 1px, transparent 1px 14px);
	color: var(--pdf-fg);
	padding: 20px;
	align-items: flex-end;
	justify-content: flex-start;
	margin-top: 0;
	margin-bottom: 0;
}
.wp-block-cover.pdf-ph--pietra.pdf-ph--pietra {
	background-image: radial-gradient(var(--pdf-hatch) 1.2px, transparent 1.2px);
	background-size: 6px 6px;
}
.wp-block-cover.pdf-ph .wp-block-cover__inner-container { width: 100%; color: inherit; }

.pdf-ph-nota,
.wp-block-cover .pdf-ph-nota {
	font-family: var(--wp--preset--font-family--hanken);
	font-size: 12px;
	letter-spacing: .08em;
	line-height: 1.5;
	color: var(--pdf-muted);
	max-width: 340px;
	margin: 0;
}

/* Appena si inserisce una foto o un video, la nota del segnaposto sparisce dal sito. */
.wp-block-cover.pdf-ph:has(.wp-block-cover__image-background, .wp-block-cover__video-background) {
	background-image: none;
}
.wp-block-cover.pdf-ph:has(.wp-block-cover__image-background, .wp-block-cover__video-background) .pdf-ph-nota { display: none; }
.editor-styles-wrapper .wp-block-cover.pdf-ph:has(.wp-block-cover__image-background, .wp-block-cover__video-background) .pdf-ph-nota { display: block; opacity: .55; }

/* Hero a tutto schermo (video o foto), con titolo in basso a sinistra */
.wp-block-cover.pdf-hero.pdf-hero {
	min-height: 860px;
	padding: 0 var(--wp--style--root--padding-right, var(--pdf-gutter)) 96px var(--wp--style--root--padding-left, var(--pdf-gutter));
	align-items: stretch;
}
.wp-block-cover.pdf-hero--media.pdf-hero--media { min-height: 820px; padding-bottom: 88px; }
.wp-block-cover.pdf-hero.pdf-hero.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.pdf-hero.pdf-hero .wp-block-cover__inner-container {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	max-width: 1152px;
	margin: 0 auto;
	padding-top: calc(var(--pdf-hdr) + 24px);
}
body .pdf-hero .wp-block-cover__inner-container > * { margin-top: 0; margin-bottom: 0; }
.pdf-hero .pdf-ph-nota--alto {
	position: absolute;
	top: 130px;
	right: 0;
	text-align: right;
}
body .pdf-hero .is-style-etichetta { margin-bottom: 28px; }
body .pdf-hero .is-style-sottotitolo { color: var(--pdf-fg2); margin-top: 24px; max-width: 640px; }
body .pdf-hero .wp-block-buttons { margin-top: 40px; }
body .pdf-hero .pdf-briciole { margin-bottom: 36px; }
body .pdf-hero .is-style-numero-romano { margin-bottom: 16px; }

.pdf-briciole { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--pdf-muted); }
.pdf-briciole a { color: var(--pdf-muted); }
.pdf-briciole a:hover { color: var(--pdf-fg); }

/* Fascia alta gioielleria: foto a tutta larghezza con testo a sinistra */
.wp-block-cover.pdf-fascia-foto.pdf-fascia-foto {
	min-height: 720px;
	padding: var(--pdf-sez) var(--wp--style--root--padding-right, var(--pdf-gutter)) var(--pdf-sez) var(--wp--style--root--padding-left, var(--pdf-gutter));
	align-items: center;
}
.wp-block-cover.pdf-fascia-foto.pdf-fascia-foto.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.pdf-fascia-foto.pdf-fascia-foto .wp-block-cover__inner-container {
	position: static;
	width: 100%;
	max-width: 1152px;
	margin: 0 auto;
}
.pdf-fascia-foto .pdf-ph-nota--alto { position: absolute; top: 24px; right: 24px; text-align: right; z-index: 1; }

/* Panoramica (Contatti) */
.wp-block-cover.pdf-panorama.pdf-panorama { min-height: 560px; }

/* ==========================================================================
   8. Footer con punzone
   ========================================================================== */

.pdf-footer {
	border-top: 1px solid var(--pdf-line);
	padding: 80px 0 48px;
	color: var(--pdf-muted);
}
.pdf-footer__wrap { box-sizing: border-box; max-width: 1280px; margin: 0 auto; padding: 0 var(--pdf-gutter); }
.pdf-footer__alto { display: flex; justify-content: space-between; align-items: flex-start; gap: 64px; flex-wrap: wrap; }
.pdf-footer__firma { display: flex; gap: 28px; align-items: center; }
.pdf-punzone { color: var(--pdf-oro); flex: none; display: block; }
.pdf-footer__testo { font-size: 14px; line-height: 1.8; margin: 0; }
.pdf-footer__basso p { margin: 0; }
.pdf-menu-mobile .pdf-eyebrow { margin: 0; }
.pdf-footer__col { font-size: 14px; line-height: 2; }
.pdf-footer__col .pdf-eyebrow { margin: 0 0 12px; }
.pdf-footer__col p { margin: 0; color: var(--pdf-muted); }
.pdf-footer__col a { color: var(--pdf-fg); }
.pdf-footer__col a:hover { color: var(--pdf-oro); }
.pdf-footer__basso {
	display: flex;
	justify-content: space-between;
	gap: 16px 24px;
	flex-wrap: wrap;
	margin-top: 72px;
	padding-top: 28px;
	border-top: 1px solid var(--pdf-line);
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--pdf-faint);
}
.pdf-footer__basso nav { display: flex; gap: 24px; flex-wrap: wrap; }
.pdf-footer__basso a { color: var(--pdf-muted); }
.pdf-footer__basso a:hover { color: var(--pdf-fg); }
.pdf-mancante { font-style: italic; opacity: .7; }

/* ==========================================================================
   9. Modulo (stile per il plugin di prenotazione della Fase 2)
   ========================================================================== */

.pdf-modulo label,
.pdf-modulo .ff-el-input--label label,
.pdf-modulo .wpcf7-form > p > label {
	display: block;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pdf-muted);
	margin-bottom: 10px;
}
.pdf-modulo input[type="text"],
.pdf-modulo input[type="email"],
.pdf-modulo input[type="tel"],
.pdf-modulo input[type="date"],
.pdf-modulo select,
.pdf-modulo textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 10px 0 12px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--pdf-line2);
	border-radius: 0;
	color: var(--pdf-fg);
	font-family: var(--wp--preset--font-family--hanken);
	font-size: 16px;
	font-weight: 300;
	box-shadow: none;
}
.pdf-modulo select { background-color: var(--pdf-bg); }
.pdf-modulo input:focus, .pdf-modulo select:focus, .pdf-modulo textarea:focus { outline: none; border-bottom-color: var(--pdf-fg); }
.pdf-modulo textarea { min-height: 120px; resize: vertical; }
.pdf-modulo input[type="checkbox"] { accent-color: var(--pdf-oro); width: 20px; height: 20px; }
.pdf-modulo button[type="submit"],
.pdf-modulo input[type="submit"] {
	min-height: 48px;
	padding: 0 28px;
	background: var(--pdf-oro);
	color: var(--pdf-on-oro);
	border: 1px solid var(--pdf-oro);
	border-radius: 0;
	font-family: var(--wp--preset--font-family--hanken);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .24em;
	text-transform: uppercase;
	cursor: pointer;
}
.pdf-modulo-segnaposto {
	border: 1px dashed var(--pdf-line2);
	padding: 32px;
	color: var(--pdf-muted);
	font-size: 15px;
}

/* ==========================================================================
   10. Pagine di testo (Privacy, Cookie) e 404
   ========================================================================== */

.pdf-testo { padding: clamp(64px, 3rem + 4vw, 120px) 0 var(--pdf-sez); }
.pdf-testo .wp-block-post-title { font-size: clamp(2.75rem, 2rem + 3vw, 5rem); }
.pdf-testo .wp-block-post-content h2 { font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem); margin-top: 2.2em; }
.pdf-testo .wp-block-post-content h3 { margin-top: 1.8em; }
.pdf-testo .wp-block-post-content a { color: var(--pdf-oro); border-bottom: 1px solid currentColor; }

/* ==========================================================================
   11. Telefono e iPad verticale (≤ 900px)
   ========================================================================== */

@media (max-width: 900px) {
	.pdf-griglia-2, .pdf-griglia-3, .pdf-split, .pdf-passi { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.pdf-griglia-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.pdf-griglia--stretta { gap: 12px; }
	.pdf-tl, .pdf-tl--capitolo, .pdf-tl--mostra, .pdf-tl--breve { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.pdf-tl--capitolo { padding: 40px 0; }
	.pdf-tl--mostra > :last-child { text-align: left; }
	.pdf-cartellino { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.pdf-cartellino > :last-child { border-left: 0; padding-left: 0; border-top: 1px solid var(--pdf-line); padding-top: 16px; }
	/* L'altezza scelta nell'editor vale per il computer; su telefono la riduciamo. */
	.wp-block-cover.pdf-hero.pdf-hero { min-height: 600px !important; padding-bottom: 64px; }
	.wp-block-cover.pdf-hero--media.pdf-hero--media { min-height: 540px !important; }
	.wp-block-cover.pdf-fascia-foto.pdf-fascia-foto { min-height: 520px !important; }
	.wp-block-cover.pdf-panorama.pdf-panorama { min-height: 320px !important; }
	.pdf-hero .pdf-ph-nota--alto, .pdf-fascia-foto .pdf-ph-nota--alto { display: none; }
	.pdf-footer__alto { flex-direction: column; gap: 40px; }
	.pdf-filetto { height: 64px; margin-top: 48px; }
	.pdf-articolo { min-height: 0; padding: 32px 24px; }
	.pdf-sfoglia__nome { font-size: 24px; }
}

@media (max-width: 600px) {
	.pdf-wordmark { font-size: 15px; letter-spacing: .26em; }
	.pdf-header.is-compact .pdf-wordmark { font-size: 13px; letter-spacing: .22em; }
	.pdf-griglia-4.pdf-griglia--testo { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ==========================================================================
   12. Editor a blocchi
   ========================================================================== */

.editor-styles-wrapper { background-color: var(--pdf-bg); color: var(--pdf-fg); }
.editor-styles-wrapper .pdf-main { padding-top: 0; }

/* ==========================================================================
   13. Varianti usate dai pattern
   ========================================================================== */

body .pdf-misura-560 { max-width: 560px; }
body .pdf-misura-620 { max-width: 620px; }
body .pdf-misura-xl { max-width: 760px; }
body .pdf-misura-1000 { max-width: 1000px; }
body .pdf-mb-m { margin-bottom: 20px; }
body .pdf-mb-l { margin-bottom: clamp(32px, 1.5rem + 2vw, 56px); }
body .pdf-sezione--bottom-s { padding-bottom: clamp(48px, 2rem + 3vw, 100px); }
body .pdf-sezione--bottom-l { padding-bottom: clamp(80px, 3rem + 6vw, 140px); }

.pdf-hero-titolo--l { font-size: clamp(3.25rem, 2rem + 5.2vw, 6.75rem); }
h2.pdf-titolo--piccolo { font-size: clamp(2rem, 1.5rem + 1.6vw, 3.25rem); }
.pdf-tl--capitolo h2 { font-size: clamp(2rem, 1.5rem + 1.4vw, 2.75rem); }
.pdf-nome--s { font-size: clamp(22px, 1.2rem + .4vw, 26px); }
.pdf-nome--m { font-size: clamp(24px, 1.3rem + .4vw, 28px); }

.pdf-split--48 { gap: 48px; }
.pdf-split--64 { gap: 64px; }
.pdf-split--96 { gap: clamp(48px, 2rem + 5vw, 96px); }
.pdf-griglia--24 { gap: 24px; }
.pdf-griglia--32 { gap: 32px; }
.pdf-intesta--base { align-items: baseline; }
.pdf-scheda--stretta { gap: 14px; }
.pdf-scheda--opera { gap: 24px; }
.pdf-scheda--maison { gap: 26px; }
.pdf-passo { gap: 18px; }
.pdf-passo .pdf-roman + .pdf-nome { margin-top: -4px; }
.pdf-colonna-info { display: flex; flex-direction: column; gap: 48px; }
body .pdf-colonna-info > * { margin: 0; }
.pdf-articolo .is-style-sottotitolo { color: var(--pdf-fg); font-size: clamp(22px, 1.2rem + .5vw, 26px); }
.pdf-modulo .pdf-modulo-segnaposto p { color: var(--pdf-muted); font-size: 15px; line-height: 1.65; }

