/* ==============================================================
   VARCHI BOOKS 0.10.0 — IDENTITÀ VARCHI
   A restrained editorial system built around a "varco / fissure".
   ============================================================== */

:root {
	--vb-accent: #2446c7;
	--vb-accent-soft: rgba(36, 70, 199, 0.12);
	--vb-ink: #101010;
	--vb-paper: #f4f1ea;
	--vb-soft: #e9e5dc;
	--vb-rule: rgba(16, 16, 16, 0.2);
	--vb-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	--vb-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body.vb-identity-v1 {
	background: var(--vb-paper);
	color: var(--vb-ink);
	font-family: var(--vb-sans);
}

/* Astra remains a shell, not a visible brand layer. */
body.vb-identity-v1 #colophon,
body.vb-identity-v1 footer.site-footer,
body.vb-identity-v1 .site-footer:not(.vb-editorial-footer),
body.vb-identity-v1 .site-primary-footer-wrap,
body.vb-identity-v1 .site-above-footer-wrap,
body.vb-identity-v1 .site-below-footer-wrap,
body.vb-identity-v1 .ast-small-footer-wrap {
	display: none !important;
}

/* Brand mark: the narrow cut is the recurring VARCHI sign. */
body.vb-identity-v1 .site-title a,
body.vb-identity-v1 .ast-site-title-wrap .site-title a {
	display: inline-flex;
	align-items: center;
	gap: 13px;
}

body.vb-identity-v1 .site-title a::after,
body.vb-identity-v1 .ast-site-title-wrap .site-title a::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 1.35em;
	background: var(--vb-accent);
	transform: skewX(-8deg);
	transform-origin: center;
}

/* Header: editorial masthead, not e-commerce chrome. */
body.vb-identity-v1 .site-header,
body.vb-identity-v1 #masthead {
	position: relative;
	background: rgba(244, 241, 234, 0.96);
	backdrop-filter: blur(14px);
	border-bottom-color: var(--vb-rule);
}

body.vb-identity-v1 .main-header-menu > .menu-item > .menu-link,
body.vb-identity-v1 .ast-builder-menu-1 .menu-item > .menu-link {
	transition:
		color 180ms ease,
		opacity 180ms ease;
}

body.vb-identity-v1 .main-header-menu > .menu-item > .menu-link:hover,
body.vb-identity-v1 .ast-builder-menu-1 .menu-item > .menu-link:hover {
	color: var(--vb-accent);
}

body.vb-identity-v1 .main-header-menu > .current-menu-item > .menu-link,
body.vb-identity-v1 .ast-builder-menu-1 .current-menu-item > .menu-link {
	color: var(--vb-accent);
	text-decoration: none;
}

/* --------------------------------------------------------------
   HOME — a real threshold, split into title and proposition
-------------------------------------------------------------- */

body.vb-identity-v1 .vb-home-hero {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: auto auto;
	column-gap: clamp(18px, 2.5vw, 42px);
	align-content: end;
	min-height: min(760px, 84vh);
	padding-top: clamp(98px, 11vw, 170px);
	padding-bottom: clamp(72px, 8vw, 122px);
	overflow: hidden;
	background:
		linear-gradient(90deg, transparent 0 66.58%, var(--vb-accent-soft) 66.58% 66.72%, transparent 66.72% 100%),
		var(--vb-paper);
}

body.vb-identity-v1 .vb-home-hero::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 66.666%;
	width: 1px;
	background: var(--vb-accent);
	opacity: 0.9;
	pointer-events: none;
}

body.vb-identity-v1 .vb-home-hero > * {
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.vb-identity-v1 .vb-home-hero > .vb-kicker {
	grid-column: 1 / 13;
	grid-row: 1;
	align-self: end;
	margin: 0 0 clamp(30px, 4vw, 60px) !important;
	color: var(--vb-accent);
}

body.vb-identity-v1 .vb-home-hero > .vb-display-title {
	grid-column: 1 / 9;
	grid-row: 2;
	align-self: end;
	margin: 0 !important;
	max-width: 100% !important;
	font-size: clamp(4.4rem, 9vw, 9.6rem) !important;
	line-height: 0.82 !important;
	letter-spacing: -0.067em;
}

body.vb-identity-v1 .vb-home-hero > .vb-hero-deck {
	grid-column: 9 / 13;
	grid-row: 2;
	align-self: end;
	margin: 0 !important;
	padding: 0 0 0 clamp(10px, 1.8vw, 30px) !important;
	max-width: 520px !important;
	font-family: var(--vb-serif);
	font-size: clamp(1.35rem, 2.05vw, 2.42rem);
	line-height: 1.16;
	letter-spacing: -0.025em;
}

/* --------------------------------------------------------------
   TYPOGRAPHIC VOICE — research and narrative remain distinct
-------------------------------------------------------------- */

body.vb-identity-v1 .vb-project-copy,
body.vb-identity-v1 .vb-editorial-longform-copy,
body.vb-identity-v1 .vb-series-profile-copy,
body.vb-identity-v1 .vb-author-bio-longform,
body.vb-identity-v1 .woocommerce-product-details__short-description,
body.vb-identity-v1 .woocommerce-Tabs-panel,
body.vb-identity-v1 .vb-excerpt-text {
	font-family: var(--vb-serif);
}

body.vb-identity-v1 .vb-project-copy p,
body.vb-identity-v1 .vb-editorial-longform-copy p,
body.vb-identity-v1 .vb-series-profile-copy p,
body.vb-identity-v1 .vb-author-bio-longform p {
	letter-spacing: -0.008em;
}

/* Section headers receive the cut without turning every element into a logo. */
body.vb-identity-v1 .vb-section-head {
	position: relative;
	padding-left: clamp(20px, 2.2vw, 36px);
}

body.vb-identity-v1 .vb-section-head::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 20px;
	width: 2px;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1 .vb-kicker {
	color: var(--vb-accent);
}

/* --------------------------------------------------------------
   BOOKS — covers stay primary, interface becomes quieter
-------------------------------------------------------------- */

body.vb-identity-v1 .vb-book-cover {
	position: relative;
}

body.vb-identity-v1 .vb-book-cover::after {
	content: "";
	position: absolute;
	z-index: 2;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 3px;
	background: var(--vb-accent);
	transition: right 260ms ease;
}

body.vb-identity-v1 .vb-book-card:hover .vb-book-cover::after,
body.vb-identity-v1 .vb-book-card:focus-within .vb-book-cover::after {
	right: 0;
}

body.vb-identity-v1 .vb-book-cover img {
	transition: transform 320ms cubic-bezier(.2,.65,.2,1);
}

body.vb-identity-v1 .vb-book-card:hover .vb-book-cover img {
	transform: scale(1.012);
}

body.vb-identity-v1 .vb-publication-badge {
	border-color: var(--vb-accent);
	color: var(--vb-accent);
	background: rgba(244, 241, 234, .95);
}

/* --------------------------------------------------------------
   SERIES — lines of enquiry, not shop categories
-------------------------------------------------------------- */

body.vb-identity-v1 .vb-series-grid,
body.vb-identity-v1 .vb-series-portrait-grid {
	background: var(--vb-rule);
}

body.vb-identity-v1 .vb-series-card,
body.vb-identity-v1 .vb-series-portrait {
	position: relative;
	overflow: hidden;
	background: var(--vb-paper);
	transition:
		background 240ms ease,
		color 240ms ease;
}

body.vb-identity-v1 .vb-series-card::after,
body.vb-identity-v1 .vb-series-portrait::after {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(26px, 3vw, 48px);
	width: 2px;
	height: 52px;
	background: var(--vb-accent);
	transform: skewX(-8deg);
	transition: height 320ms cubic-bezier(.2,.65,.2,1);
}

body.vb-identity-v1 .vb-series-card:hover::after,
body.vb-identity-v1 .vb-series-card:focus-within::after,
body.vb-identity-v1 .vb-series-portrait:hover::after,
body.vb-identity-v1 .vb-series-portrait:focus-within::after {
	height: calc(100% - 42px);
}

body.vb-identity-v1 .vb-series-card .vb-text-link,
body.vb-identity-v1 .vb-series-portrait .vb-text-link {
	border-bottom-color: var(--vb-accent);
}

/* --------------------------------------------------------------
   MANIFESTO — the dark room where the catalogue states its position
-------------------------------------------------------------- */

body.vb-identity-v1 .vb-manifesto-band {
	position: relative;
	overflow: hidden;
	background: var(--vb-ink);
}

body.vb-identity-v1 .vb-manifesto-band::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 23%;
	width: 1px;
	background: var(--vb-accent);
}

body.vb-identity-v1 .vb-manifesto-band::after {
	content: "";
	position: absolute;
	top: clamp(46px, 6vw, 90px);
	left: calc(23% - 5px);
	width: 11px;
	height: 74px;
	border-left: 2px solid var(--vb-accent);
	transform: skewX(-8deg);
}

body.vb-identity-v1 .vb-manifesto-text {
	position: relative;
	z-index: 1;
	margin-left: 27% !important;
	max-width: 920px !important;
	font-family: var(--vb-serif);
	font-weight: 400;
}

/* --------------------------------------------------------------
   SINGLE BOOK — a catalogue sheet, not a product page
-------------------------------------------------------------- */

body.vb-identity-v1.single-product .site-content > .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.vb-identity-v1.single-product .content-area,
body.vb-identity-v1.single-product main.site-main {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.vb-identity-v1.single-product .widget-area {
	display: none;
}

body.vb-identity-v1.single-product .woocommerce {
	box-sizing: border-box;
	width: min(100%, var(--vb-max));
	margin: 0 auto;
	padding-left: var(--vb-gutter);
	padding-right: var(--vb-gutter);
}

body.vb-identity-v1.single-product div.product {
	padding-top: clamp(58px, 7vw, 110px);
}

body.vb-identity-v1.single-product div.product .summary {
	position: relative;
	box-sizing: border-box;
	padding-left: clamp(28px, 4vw, 70px);
}

body.vb-identity-v1.single-product div.product .summary::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background: var(--vb-accent);
	transform: skewX(-5deg);
	transform-origin: top;
}

body.vb-identity-v1.single-product .product_title {
	font-size: clamp(3rem, 5.2vw, 6.6rem) !important;
	line-height: 0.9 !important;
	letter-spacing: -0.055em;
	font-weight: 560;
}

body.vb-identity-v1 .vb-purchase-box,
body.vb-identity-v1 .vb-pdf-preview-card,
body.vb-identity-v1 .vb-excerpt-front {
	border-radius: 0 !important;
}

body.vb-identity-v1 .vb-purchase-box {
	border-top-color: var(--vb-accent);
}

body.vb-identity-v1 .vb-purchase-link,
body.vb-identity-v1 .vb-pdf-preview-open,
body.vb-identity-v1 .vb-flip-trigger {
	border-radius: 0 !important;
}

/* Author and catalogue links use the same cut, quietly. */
body.vb-identity-v1 .vb-editorial-links,
body.vb-identity-v1 .vb-book-author-profiles,
body.vb-identity-v1 .vb-editorial-related-books {
	border-top-color: var(--vb-accent);
}

/* --------------------------------------------------------------
   FOOTER — VARCHI owns the ending of the page
-------------------------------------------------------------- */

body.vb-identity-v1 .vb-editorial-footer {
	position: relative;
	overflow: hidden;
	background: var(--vb-ink);
}

body.vb-identity-v1 .vb-editorial-footer::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	left: 66.666%;
	width: 1px;
	background: var(--vb-accent);
	opacity: .85;
}

body.vb-identity-v1 .vb-footer-inner {
	position: relative;
	z-index: 1;
}

body.vb-identity-v1 .vb-footer-brand > a {
	display: inline-flex;
	align-items: flex-end;
	gap: 18px;
}

body.vb-identity-v1 .vb-footer-brand > a::after {
	content: "";
	display: inline-block;
	width: 3px;
	height: .82em;
	background: var(--vb-accent);
	transform: skewX(-8deg);
}

body.vb-identity-v1 .vb-footer-nav a:hover,
body.vb-identity-v1 .vb-footer-nav a:focus,
body.vb-identity-v1 .vb-footer-meta a:hover,
body.vb-identity-v1 .vb-footer-meta a:focus {
	color: #aebcff;
}

/* --------------------------------------------------------------
   ACCESSIBILITY / MOTION
-------------------------------------------------------------- */

body.vb-identity-v1 a:focus-visible,
body.vb-identity-v1 button:focus-visible {
	outline: 2px solid var(--vb-accent);
	outline-offset: 4px;
}

@media (max-width: 920px) {
	body.vb-identity-v1 .vb-home-hero {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		background: var(--vb-paper);
	}

	body.vb-identity-v1 .vb-home-hero::after {
		left: var(--vb-gutter);
		top: 48px;
		bottom: auto;
		height: 66px;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-kicker,
	body.vb-identity-v1 .vb-home-hero > .vb-display-title,
	body.vb-identity-v1 .vb-home-hero > .vb-hero-deck {
		grid-column: 1;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-kicker {
		grid-row: 1;
		padding-left: 20px;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-display-title {
		grid-row: 2;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-hero-deck {
		grid-row: 3;
		margin-top: clamp(34px, 5vw, 56px) !important;
		padding-left: 0 !important;
		max-width: 720px !important;
	}

	body.vb-identity-v1 .vb-manifesto-band::before {
		left: var(--vb-gutter);
	}

	body.vb-identity-v1 .vb-manifesto-band::after {
		left: calc(var(--vb-gutter) - 5px);
	}

	body.vb-identity-v1 .vb-manifesto-text {
		margin-left: clamp(34px, 7vw, 76px) !important;
	}
}

@media (max-width: 760px) {
	body.vb-identity-v1 .vb-home-hero {
		min-height: 620px;
		padding-top: 82px;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-display-title {
		font-size: clamp(3.7rem, 18vw, 6.4rem) !important;
	}

	body.vb-identity-v1 .vb-section-head {
		padding-left: 18px;
	}

	body.vb-identity-v1.single-product div.product .summary {
		margin-top: 34px;
		padding-left: 22px;
	}

	body.vb-identity-v1 .vb-manifesto-text {
		margin-left: 30px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.vb-identity-v1 .vb-book-cover::after,
	body.vb-identity-v1 .vb-series-card::after,
	body.vb-identity-v1 .vb-series-portrait::after,
	body.vb-identity-v1 .vb-book-cover img {
		transition: none;
	}
}


/* VARCHI BOOKS 0.10.1 — margine destro scheda libro */
body.vb-identity-v1.single-product .woocommerce {
	box-sizing: border-box;
	width: min(100%, 1680px);
	margin-left: auto;
	margin-right: auto;
	padding-right: clamp(42px, 6vw, 104px);
}

body.vb-identity-v1.single-product div.product .summary {
	box-sizing: border-box;
	padding-right: clamp(30px, 4.2vw, 72px);
}

body.vb-identity-v1.single-product div.product .summary > * {
	max-width: 720px;
}

body.vb-identity-v1.single-product .woocommerce-product-details__short-description,
body.vb-identity-v1.single-product .woocommerce-Tabs-panel,
body.vb-identity-v1.single-product .vb-book-author-profiles,
body.vb-identity-v1.single-product .vb-editorial-links,
body.vb-identity-v1.single-product .vb-editorial-related-books,
body.vb-identity-v1.single-product .vb-pdf-preview-section,
body.vb-identity-v1.single-product .vb-excerpt-section {
	box-sizing: border-box;
	padding-right: clamp(24px, 3.5vw, 64px);
}

@media (max-width: 920px) {
	body.vb-identity-v1.single-product .woocommerce {
		padding-right: clamp(26px, 5vw, 52px);
	}

	body.vb-identity-v1.single-product div.product .summary {
		padding-right: clamp(18px, 3vw, 34px);
	}

	body.vb-identity-v1.single-product div.product .summary > * {
		max-width: none;
	}
}

@media (max-width: 600px) {
	body.vb-identity-v1.single-product .woocommerce {
		padding-right: 22px;
	}

	body.vb-identity-v1.single-product div.product .summary {
		padding-right: 10px;
	}

	body.vb-identity-v1.single-product .woocommerce-product-details__short-description,
	body.vb-identity-v1.single-product .woocommerce-Tabs-panel,
	body.vb-identity-v1.single-product .vb-book-author-profiles,
	body.vb-identity-v1.single-product .vb-editorial-links,
	body.vb-identity-v1.single-product .vb-editorial-related-books,
	body.vb-identity-v1.single-product .vb-pdf-preview-section,
	body.vb-identity-v1.single-product .vb-excerpt-section {
		padding-right: 0;
	}
}


/* VARCHI BOOKS 0.10.2 — margine sinistro descrizione libro */

/*
 * Corregge soltanto la descrizione lunga WooCommerce.
 * Copertina, titolo, summary e taglio blu restano invariati.
 */
body.vb-identity-v1.single-product .woocommerce-tabs {
	box-sizing: border-box;
	width: 100%;
	padding-left: clamp(42px, 5vw, 88px);
	padding-right: clamp(42px, 5vw, 88px);
}

body.vb-identity-v1.single-product .woocommerce-Tabs-panel--description,
body.vb-identity-v1.single-product .woocommerce-Tabs-panel {
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	margin-left: 0;
	margin-right: auto;
	padding-left: clamp(18px, 2vw, 34px);
	padding-right: clamp(18px, 2vw, 34px);
}

body.vb-identity-v1.single-product .woocommerce-Tabs-panel--description > *:first-child,
body.vb-identity-v1.single-product .woocommerce-Tabs-panel > *:first-child {
	margin-top: 0;
}

@media (max-width: 920px) {
	body.vb-identity-v1.single-product .woocommerce-tabs {
		padding-left: clamp(28px, 4vw, 48px);
		padding-right: clamp(28px, 4vw, 48px);
	}

	body.vb-identity-v1.single-product .woocommerce-Tabs-panel--description,
	body.vb-identity-v1.single-product .woocommerce-Tabs-panel {
		padding-left: 14px;
		padding-right: 14px;
	}
}

@media (max-width: 600px) {
	body.vb-identity-v1.single-product .woocommerce-tabs {
		padding-left: 22px;
		padding-right: 22px;
	}

	body.vb-identity-v1.single-product .woocommerce-Tabs-panel--description,
	body.vb-identity-v1.single-product .woocommerce-Tabs-panel {
		padding-left: 0;
		padding-right: 0;
	}
}


/* VARCHI BOOKS 0.10.3 — rientro blocchi inferiori scheda libro */

/*
 * Corregge i blocchi che seguono la descrizione:
 * - Nel catalogo VARCHI BOOKS
 * - L'autore
 * - Altre edizioni della stessa opera
 * - Libri collegati
 */
body.vb-identity-v1.single-product .vb-editorial-links,
body.vb-identity-v1.single-product .vb-book-author-profiles,
body.vb-identity-v1.single-product .vb-editorial-related-books {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: clamp(42px, 5vw, 88px);
	padding-right: clamp(42px, 5vw, 88px);
}

/* Mantiene una misura di lettura ordinata per testi e liste. */
body.vb-identity-v1.single-product .vb-editorial-links > *,
body.vb-identity-v1.single-product .vb-book-author-profiles > *,
body.vb-identity-v1.single-product .vb-editorial-related-books > * {
	box-sizing: border-box;
	max-width: 1120px;
	margin-right: auto;
}

/* La scheda autore usa tutta la larghezza disponibile nel rientro. */
body.vb-identity-v1.single-product .vb-compact-author-card,
body.vb-identity-v1.single-product .vb-compact-author-copy {
	max-width: 100%;
}

/* La griglia dei libri collegati resta allineata al titolo della sezione. */
body.vb-identity-v1.single-product .vb-related-book-grid {
	width: 100%;
	max-width: 1120px;
	margin-left: 0;
	margin-right: auto;
}

@media (max-width: 920px) {
	body.vb-identity-v1.single-product .vb-editorial-links,
	body.vb-identity-v1.single-product .vb-book-author-profiles,
	body.vb-identity-v1.single-product .vb-editorial-related-books {
		padding-left: clamp(28px, 4vw, 48px);
		padding-right: clamp(28px, 4vw, 48px);
	}
}

@media (max-width: 600px) {
	body.vb-identity-v1.single-product .vb-editorial-links,
	body.vb-identity-v1.single-product .vb-book-author-profiles,
	body.vb-identity-v1.single-product .vb-editorial-related-books {
		padding-left: 22px;
		padding-right: 22px;
	}

	body.vb-identity-v1.single-product .vb-editorial-links ul {
		padding-left: 18px;
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.10.4 — identità pagina collana
-------------------------------------------------------------- */

/*
 * Profilo editoriale:
 * il titolo introduce la linea di ricerca, il testo lavora sulla destra.
 * La pagina conserva una struttura ampia e non appare come una colonna
 * isolata al centro dello schermo.
 */
body.vb-identity-v1.vb-site-series .vb-series-profile-inner {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(420px, 1.55fr);
	grid-template-rows: auto 1fr;
	column-gap: clamp(52px, 7vw, 116px);
	row-gap: 18px;
	width: 100%;
	max-width: none;
}

body.vb-identity-v1.vb-site-series .vb-series-profile-inner > .vb-kicker {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}

body.vb-identity-v1.vb-site-series .vb-series-profile-inner > h2 {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	max-width: 430px;
	margin: 0;
	padding-left: clamp(20px, 2.2vw, 34px);
	position: relative;
}

body.vb-identity-v1.vb-site-series .vb-series-profile-inner > h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.06em;
	width: 2px;
	height: 1.18em;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1.vb-site-series .vb-series-profile-copy {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: start;
	max-width: 760px;
	margin: 0;
}

body.vb-identity-v1.vb-site-series .vb-series-profile-copy p:first-child {
	margin-top: 0;
}

/*
 * Catalogo:
 * le copertine sono il centro visivo della pagina e non miniature.
 */
body.vb-identity-v1.vb-site-series .vb-series-book-grid {
	grid-template-columns: repeat(auto-fit, minmax(280px, 340px));
	gap: clamp(44px, 5vw, 76px) clamp(28px, 4vw, 58px);
	justify-content: start;
}

body.vb-identity-v1.vb-site-series .vb-series-book-grid .vb-book-card {
	width: 100%;
	max-width: 340px;
}

body.vb-identity-v1.vb-site-series .vb-series-books .vb-topic-count {
	align-self: end;
	padding-bottom: 4px;
	color: var(--vb-accent);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/*
 * Temi:
 * da pulsanti generici a indice editoriale leggero.
 */
body.vb-identity-v1.vb-site-series .vb-series-topics .vb-topic-link-cloud {
	gap: 12px clamp(22px, 3vw, 42px);
	align-items: baseline;
}

body.vb-identity-v1.vb-site-series .vb-series-topics .vb-topic-link-cloud a {
	min-height: 0;
	padding: 7px 0 6px;
	border: 0;
	border-bottom: 1px solid rgba(16, 16, 16, 0.28);
	border-radius: 0;
	background: transparent;
	color: var(--vb-ink);
	font-size: clamp(0.96rem, 1.15vw, 1.16rem);
	line-height: 1.2;
	transition:
		border-color 180ms ease,
		color 180ms ease;
}

body.vb-identity-v1.vb-site-series .vb-series-topics .vb-topic-link-cloud a:hover,
body.vb-identity-v1.vb-site-series .vb-series-topics .vb-topic-link-cloud a:focus-visible {
	background: transparent;
	color: var(--vb-accent);
	border-color: var(--vb-accent);
}

body.vb-identity-v1.vb-site-series .vb-series-topics .vb-topic-link-cloud a span {
	display: inline;
	min-width: 0;
	height: auto;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	font-size: 0.65em;
	line-height: 1;
	transform: translateY(-0.34em);
}

/* Tablet: il profilo torna a una composizione verticale ordinata. */
@media (max-width: 980px) {
	body.vb-identity-v1.vb-site-series .vb-series-profile-inner {
		display: block;
	}

	body.vb-identity-v1.vb-site-series .vb-series-profile-inner > h2 {
		max-width: 680px;
		margin-top: 12px;
	}

	body.vb-identity-v1.vb-site-series .vb-series-profile-copy {
		max-width: 760px;
		margin-top: clamp(30px, 5vw, 52px);
	}

	body.vb-identity-v1.vb-site-series .vb-series-book-grid {
		grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
	}

	body.vb-identity-v1.vb-site-series .vb-series-book-grid .vb-book-card {
		max-width: 300px;
	}
}

/* Mobile: una copertina ben leggibile, senza occupare tutto lo schermo. */
@media (max-width: 600px) {
	body.vb-identity-v1.vb-site-series .vb-series-profile-inner > h2 {
		padding-left: 20px;
	}

	body.vb-identity-v1.vb-site-series .vb-series-book-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	body.vb-identity-v1.vb-site-series .vb-series-book-grid .vb-book-card {
		width: min(100%, 286px);
		max-width: 286px;
	}

	body.vb-identity-v1.vb-site-series .vb-series-topics .vb-topic-link-cloud {
		gap: 10px 24px;
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.10.5 — identità pagina autore
-------------------------------------------------------------- */

/*
 * Biografia completa:
 * titolo e testo lavorano insieme in una composizione editoriale ampia.
 */
body.vb-identity-v1 .vb-author-single .vb-author-bio-copy {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(420px, 1.55fr);
	grid-template-rows: auto 1fr;
	column-gap: clamp(52px, 7vw, 116px);
	row-gap: 18px;
	width: 100%;
	max-width: none;
}

body.vb-identity-v1 .vb-author-single .vb-author-bio-copy > .vb-kicker {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}

body.vb-identity-v1 .vb-author-single .vb-author-bio-copy > h2 {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	position: relative;
	max-width: 430px;
	margin: 0;
	padding-left: clamp(20px, 2.2vw, 34px);
}

body.vb-identity-v1 .vb-author-single .vb-author-bio-copy > h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.06em;
	width: 2px;
	height: 1.18em;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1 .vb-author-single .vb-author-bio-longform {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: start;
	max-width: 760px;
	margin: 0;
}

body.vb-identity-v1 .vb-author-single .vb-author-bio-longform p:first-child {
	margin-top: 0;
}

/*
 * Scheda autore:
 * il titolo della funzione riceve un segno discreto, senza appesantire
 * la struttura informativa già presente.
 */
body.vb-identity-v1 .vb-author-single .vb-author-profile-copy h2 {
	position: relative;
	padding-left: clamp(18px, 2vw, 30px);
}

body.vb-identity-v1 .vb-author-single .vb-author-profile-copy h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.04em;
	width: 2px;
	height: 1.08em;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

/*
 * Catalogo dell'autore:
 * copertine più leggibili e titolo meno monumentale.
 */
body.vb-identity-v1 .vb-author-single .vb-author-books .vb-section-head h2 {
	max-width: 900px !important;
	font-size: clamp(1.9rem, 3vw, 3.05rem) !important;
	line-height: 0.99 !important;
	letter-spacing: -0.035em !important;
}

body.vb-identity-v1 .vb-author-single .vb-author-book-grid {
	grid-template-columns: repeat(auto-fit, minmax(280px, 340px));
	gap: clamp(44px, 5vw, 76px) clamp(28px, 4vw, 58px);
	justify-content: start;
}

body.vb-identity-v1 .vb-author-single .vb-author-book-grid .vb-book-card {
	width: 100%;
	max-width: 340px;
}

/* Tablet: biografia verticale, catalogo ancora ampio. */
@media (max-width: 980px) {
	body.vb-identity-v1 .vb-author-single .vb-author-bio-copy {
		display: block;
	}

	body.vb-identity-v1 .vb-author-single .vb-author-bio-copy > h2 {
		max-width: 680px;
		margin-top: 12px;
	}

	body.vb-identity-v1 .vb-author-single .vb-author-bio-longform {
		max-width: 760px;
		margin-top: clamp(30px, 5vw, 52px);
	}

	body.vb-identity-v1 .vb-author-single .vb-author-book-grid {
		grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
	}

	body.vb-identity-v1 .vb-author-single .vb-author-book-grid .vb-book-card {
		max-width: 300px;
	}
}

/*
 * Schermi stretti:
 * una sola copertina per riga, così titoli e metadati non vengono compressi.
 */
@media (max-width: 720px) {
	body.vb-identity-v1 .vb-author-single .vb-author-books .vb-section-head h2 {
		max-width: 100% !important;
		font-size: clamp(1.85rem, 8vw, 2.65rem) !important;
		line-height: 0.98 !important;
	}

	body.vb-identity-v1 .vb-author-single .vb-author-book-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	body.vb-identity-v1 .vb-author-single .vb-author-book-grid .vb-book-card {
		width: min(100%, 300px);
		max-width: 300px;
	}
}

@media (max-width: 600px) {
	body.vb-identity-v1 .vb-author-single .vb-author-bio-copy > h2 {
		padding-left: 20px;
	}

	body.vb-identity-v1 .vb-author-single .vb-author-profile-copy h2 {
		padding-left: 18px;
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.10.6 — catalogo e programma editoriale
-------------------------------------------------------------- */

/*
 * Catalogo pubblicato:
 * le copertine hanno una presenza più chiara, anche con pochi titoli.
 */
body.vb-identity-v1.vb-site-catalog .vb-catalog-books {
	padding-bottom: clamp(76px, 9vw, 132px);
}

body.vb-identity-v1.vb-site-catalog .vb-catalog-book-grid {
	grid-template-columns: repeat(auto-fit, minmax(300px, 360px));
	gap: clamp(48px, 6vw, 84px) clamp(30px, 4vw, 60px);
	justify-content: start;
}

body.vb-identity-v1.vb-site-catalog .vb-catalog-book-grid .vb-book-card {
	width: 100%;
	max-width: 360px;
}

body.vb-identity-v1.vb-site-catalog .vb-catalog-books .vb-topic-count {
	align-self: end;
	padding-bottom: 4px;
	color: var(--vb-accent);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/*
 * Programma editoriale:
 * una fascia autonoma, chiaramente distinta dai libri già disponibili.
 */
body.vb-identity-v1.vb-site-catalog .vb-forthcoming-context-catalog {
	position: relative;
	overflow: hidden;
	border-top: 1px solid var(--vb-rule);
	border-bottom: 1px solid var(--vb-rule);
	background:
		linear-gradient(
			105deg,
			rgba(36, 70, 199, 0.055) 0,
			rgba(36, 70, 199, 0.018) 44%,
			rgba(244, 241, 234, 0) 74%
		),
		var(--vb-paper);
	padding-top: clamp(74px, 9vw, 132px);
	padding-bottom: clamp(82px, 10vw, 144px);
}

body.vb-identity-v1.vb-site-catalog .vb-forthcoming-context-catalog::after {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(34px, 7vw, 112px);
	width: 2px;
	height: clamp(70px, 10vw, 132px);
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
	opacity: 0.82;
}

body.vb-identity-v1.vb-site-catalog .vb-forthcoming-intro {
	max-width: 760px;
	margin: calc(-1 * clamp(18px, 2vw, 28px)) 0 clamp(42px, 5vw, 70px)
		clamp(20px, 2.2vw, 36px);
	font-family: var(--vb-serif);
	font-size: clamp(1.03rem, 1.35vw, 1.28rem);
	line-height: 1.58;
	letter-spacing: -0.008em;
}

body.vb-identity-v1.vb-site-catalog .vb-forthcoming-book-grid {
	grid-template-columns: repeat(auto-fit, minmax(270px, 320px));
	gap: clamp(46px, 5vw, 74px) clamp(28px, 4vw, 56px);
	justify-content: start;
}

body.vb-identity-v1.vb-site-catalog .vb-forthcoming-book-grid .vb-book-card {
	width: 100%;
	max-width: 320px;
}

body.vb-identity-v1.vb-site-catalog
	.vb-forthcoming-book-grid
	.vb-publication-forthcoming
	.vb-book-cover {
	opacity: 1;
}

body.vb-identity-v1.vb-site-catalog
	.vb-forthcoming-book-grid
	.vb-publication-forthcoming
	.vb-publication-badge {
	background: var(--vb-accent);
	border-color: var(--vb-accent);
	color: #fff;
}

/*
 * La sezione futura non mostra mai elementi commerciali.
 * È una seconda garanzia grafica oltre ai controlli PHP/WooCommerce.
 */
body.vb-identity-v1.vb-site-catalog
	.vb-forthcoming-book-grid
	.vb-publication-forthcoming
	.vb-book-purchase,
body.vb-identity-v1.vb-site-catalog
	.vb-forthcoming-book-grid
	.vb-publication-forthcoming
	.add_to_cart_button,
body.vb-identity-v1.vb-site-catalog
	.vb-forthcoming-book-grid
	.vb-publication-forthcoming
	.product_type_external,
body.vb-identity-v1.vb-site-catalog
	.vb-forthcoming-book-grid
	.vb-publication-forthcoming
	.added_to_cart {
	display: none !important;
}

/* Tablet. */
@media (max-width: 980px) {
	body.vb-identity-v1.vb-site-catalog .vb-catalog-book-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 310px));
	}

	body.vb-identity-v1.vb-site-catalog .vb-catalog-book-grid .vb-book-card {
		max-width: 310px;
	}

	body.vb-identity-v1.vb-site-catalog .vb-forthcoming-book-grid {
		grid-template-columns: repeat(auto-fit, minmax(240px, 290px));
	}

	body.vb-identity-v1.vb-site-catalog .vb-forthcoming-book-grid .vb-book-card {
		max-width: 290px;
	}
}

/* Mobile: una copertina leggibile per riga. */
@media (max-width: 620px) {
	body.vb-identity-v1.vb-site-catalog .vb-catalog-book-grid,
	body.vb-identity-v1.vb-site-catalog .vb-forthcoming-book-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	body.vb-identity-v1.vb-site-catalog .vb-catalog-book-grid .vb-book-card,
	body.vb-identity-v1.vb-site-catalog .vb-forthcoming-book-grid .vb-book-card {
		width: min(100%, 300px);
		max-width: 300px;
	}

	body.vb-identity-v1.vb-site-catalog .vb-forthcoming-intro {
		margin-left: 20px;
		margin-right: 20px;
	}

	body.vb-identity-v1.vb-site-catalog .vb-forthcoming-context-catalog::after {
		right: 24px;
		height: 72px;
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.10.7 — prossime pubblicazioni in Home
-------------------------------------------------------------- */

/*
 * La stessa query alimenta sia la pagina Libri sia la Home.
 * In Home la sezione resta più compatta, ma chiaramente distinta
 * dal catalogo già pubblicato.
 */
body.vb-identity-v1.vb-site-role-home .vb-forthcoming-context-home {
	position: relative;
	border-top: 1px solid var(--vb-rule);
	border-bottom: 1px solid var(--vb-rule);
	background:
		linear-gradient(
			105deg,
			rgba(36, 70, 199, 0.045) 0,
			rgba(36, 70, 199, 0.012) 52%,
			rgba(244, 241, 234, 0) 78%
		),
		var(--vb-paper);
	padding-top: clamp(68px, 8vw, 112px);
	padding-bottom: clamp(74px, 9vw, 124px);
}

body.vb-identity-v1.vb-site-role-home .vb-forthcoming-context-home::after {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(30px, 6vw, 96px);
	width: 2px;
	height: clamp(62px, 8vw, 104px);
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1.vb-site-role-home .vb-forthcoming-context-home .vb-forthcoming-intro {
	max-width: 720px;
	margin: calc(-1 * clamp(18px, 2vw, 28px)) 0 clamp(38px, 5vw, 62px)
		clamp(20px, 2.2vw, 36px);
	font-family: var(--vb-serif);
	font-size: clamp(1rem, 1.25vw, 1.2rem);
	line-height: 1.56;
}

body.vb-identity-v1.vb-site-role-home .vb-forthcoming-context-home .vb-forthcoming-book-grid {
	grid-template-columns: repeat(auto-fit, minmax(260px, 310px));
	gap: clamp(42px, 5vw, 70px) clamp(28px, 4vw, 54px);
	justify-content: start;
}

body.vb-identity-v1.vb-site-role-home
	.vb-forthcoming-context-home
	.vb-forthcoming-book-grid
	.vb-book-card {
	width: 100%;
	max-width: 310px;
}

/* Garanzia grafica: nessun elemento commerciale sui titoli futuri. */
body.vb-identity-v1.vb-site-role-home
	.vb-forthcoming-context-home
	.vb-publication-forthcoming
	.vb-book-purchase,
body.vb-identity-v1.vb-site-role-home
	.vb-forthcoming-context-home
	.vb-publication-forthcoming
	.add_to_cart_button,
body.vb-identity-v1.vb-site-role-home
	.vb-forthcoming-context-home
	.vb-publication-forthcoming
	.product_type_external,
body.vb-identity-v1.vb-site-role-home
	.vb-forthcoming-context-home
	.vb-publication-forthcoming
	.added_to_cart {
	display: none !important;
}

@media (max-width: 620px) {
	body.vb-identity-v1.vb-site-role-home .vb-forthcoming-context-home .vb-forthcoming-book-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	body.vb-identity-v1.vb-site-role-home
		.vb-forthcoming-context-home
		.vb-forthcoming-book-grid
		.vb-book-card {
		width: min(100%, 300px);
		max-width: 300px;
	}

	body.vb-identity-v1.vb-site-role-home .vb-forthcoming-context-home .vb-forthcoming-intro {
		margin-left: 20px;
		margin-right: 20px;
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.10.8 — rifinitura mobile
-------------------------------------------------------------- */

/*
 * Il selettore lingua viene mostrato dentro la fascia iniziale del sito,
 * ma non deve restare sospeso sui contenuti durante lo scorrimento.
 */
@media (max-width: 921px) {
	body.vb-identity-v1 {
		position: relative;
	}

	body.vb-identity-v1 .vb-mobile-language-switch {
		position: absolute !important;
		top: 18px !important;
		right: 74px !important;
		transform: none !important;
	}

	body.admin-bar.vb-identity-v1 .vb-mobile-language-switch {
		top: 64px !important;
	}
}

/*
 * Home mobile:
 * elimina il grande vuoto determinato dal min-height e dall'allineamento
 * al fondo della griglia desktop.
 */
@media (max-width: 760px) {
	body.vb-identity-v1 .vb-home-hero {
		min-height: 0 !important;
		height: auto !important;
		align-content: start !important;
		justify-content: start !important;
		padding-top: 116px !important;
		padding-bottom: 76px !important;
	}

	body.vb-identity-v1 .vb-home-hero::after {
		top: 42px !important;
		left: var(--vb-gutter) !important;
		height: 64px !important;
		bottom: auto !important;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-kicker {
		margin-bottom: 28px !important;
		padding-left: 20px !important;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-display-title {
		font-size: clamp(3.35rem, 17vw, 5.25rem) !important;
		line-height: 0.84 !important;
		letter-spacing: -0.061em !important;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-hero-deck {
		max-width: 100% !important;
		margin-top: 34px !important;
		font-size: clamp(1.42rem, 6.3vw, 1.95rem) !important;
		line-height: 1.14 !important;
	}

	/*
	 * I segni blu nelle intestazioni restano riconoscibili, ma non
	 * attraversano tutta l'altezza dei blocchi impaginati su più righe.
	 */
	body.vb-identity-v1 .vb-section-head::before {
		top: 0 !important;
		bottom: auto !important;
		height: 92px !important;
	}

	body.vb-identity-v1 .vb-section-head {
		padding-left: 24px !important;
	}

	body.vb-identity-v1 .vb-section-head h1,
	body.vb-identity-v1 .vb-section-head h2 {
		font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
		line-height: 0.96 !important;
	}

	body.vb-identity-v1 .vb-section-head .vb-text-link {
		margin-top: 8px;
	}

	/*
	 * La spiegazione delle prossime pubblicazioni deve essere leggibile,
	 * ma non assumere la scala di un titolo.
	 */
	body.vb-identity-v1 .vb-forthcoming-intro,
	body.vb-identity-v1.vb-site-role-home
		.vb-forthcoming-context-home
		.vb-forthcoming-intro,
	body.vb-identity-v1.vb-site-catalog
		.vb-forthcoming-context-catalog
		.vb-forthcoming-intro {
		max-width: 34em !important;
		margin-top: -4px !important;
		font-size: 1.08rem !important;
		line-height: 1.55 !important;
	}

	/*
	 * Footer: il marchio resta forte senza arrivare troppo vicino ai bordi.
	 */
	body.vb-identity-v1 .vb-footer-brand > a {
		gap: 12px !important;
		font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
		line-height: 0.92 !important;
		letter-spacing: -0.052em !important;
	}

	body.vb-identity-v1 .vb-footer-brand > a::after {
		width: 2px !important;
		height: 0.78em !important;
	}

	body.vb-identity-v1 .vb-footer-inner {
		padding-top: 64px !important;
		padding-bottom: 30px !important;
		gap: 48px !important;
	}

	body.vb-identity-v1 .vb-footer-nav {
		gap: 16px !important;
	}

	body.vb-identity-v1 .vb-footer-nav a {
		font-size: 1.18rem !important;
	}

	body.vb-identity-v1 .vb-footer-meta {
		margin-top: 28px !important;
		gap: 22px !important;
	}
}

@media (max-width: 400px) {
	body.vb-identity-v1 .vb-mobile-language-switch {
		right: 62px !important;
	}

	body.vb-identity-v1 .vb-home-hero {
		padding-top: 108px !important;
	}

	body.vb-identity-v1 .vb-home-hero > .vb-display-title {
		font-size: clamp(3.1rem, 16.5vw, 4.65rem) !important;
	}

	body.vb-identity-v1 .vb-footer-brand > a {
		font-size: clamp(2.15rem, 10.5vw, 2.9rem) !important;
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.10.9 — pagina About
-------------------------------------------------------------- */

/*
 * Il profilo del progetto diventa il corpo principale della pagina:
 * titolo a sinistra, testo a destra, senza duplicare il blocco statico.
 */
body.vb-identity-v1.vb-site-role-about
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner,
body.vb-identity-v1.vb-site-role-about_en
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner {
	display: grid;
	grid-template-columns: minmax(220px, 0.78fr) minmax(430px, 1.58fr);
	grid-template-rows: auto 1fr;
	column-gap: clamp(54px, 7vw, 118px);
	row-gap: 18px;
	width: 100%;
	max-width: none;
}

body.vb-identity-v1.vb-site-role-about
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner > .vb-kicker,
body.vb-identity-v1.vb-site-role-about_en
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner > .vb-kicker {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}

body.vb-identity-v1.vb-site-role-about
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner > h2,
body.vb-identity-v1.vb-site-role-about_en
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner > h2 {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	position: relative;
	max-width: 430px;
	margin: 0;
	padding-left: clamp(20px, 2.2vw, 34px);
}

body.vb-identity-v1.vb-site-role-about
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner > h2::before,
body.vb-identity-v1.vb-site-role-about_en
	.vb-project-profile-dynamic
	.vb-editorial-longform-inner > h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.06em;
	width: 2px;
	height: 1.18em;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1.vb-site-role-about
	.vb-project-profile-dynamic
	.vb-editorial-longform-copy,
body.vb-identity-v1.vb-site-role-about_en
	.vb-project-profile-dynamic
	.vb-editorial-longform-copy {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: start;
	max-width: 780px;
	margin: 0;
}

body.vb-identity-v1.vb-site-role-about
	.vb-project-profile-dynamic
	.vb-editorial-longform-copy p:first-child,
body.vb-identity-v1.vb-site-role-about_en
	.vb-project-profile-dynamic
	.vb-editorial-longform-copy p:first-child {
	margin-top: 0;
}

/*
 * Le collane sono presentate come tre linee editoriali, non come pulsanti
 * o semplici riquadri di navigazione.
 */
body.vb-identity-v1.vb-site-role-about .vb-series-portraits,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portraits {
	padding-top: clamp(76px, 9vw, 126px);
	padding-bottom: clamp(82px, 10vw, 138px);
}

body.vb-identity-v1.vb-site-role-about .vb-series-portrait-grid,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--vb-rule);
	border-left: 1px solid var(--vb-rule);
}

body.vb-identity-v1.vb-site-role-about .vb-series-portrait,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait {
	position: relative;
	min-height: 280px;
	padding: clamp(28px, 3.2vw, 48px);
	border-right: 1px solid var(--vb-rule);
	border-bottom: 1px solid var(--vb-rule);
}

body.vb-identity-v1.vb-site-role-about .vb-series-portrait::before,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait::before {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(20px, 2.4vw, 36px);
	width: 2px;
	height: 34px;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1.vb-site-role-about .vb-series-portrait h3,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait h3 {
	max-width: 12ch;
	margin-top: 0;
	font-size: clamp(1.55rem, 2.25vw, 2.35rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

body.vb-identity-v1.vb-site-role-about .vb-series-portrait p,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait p {
	max-width: 35ch;
	font-family: var(--vb-serif);
	font-size: clamp(0.98rem, 1.12vw, 1.12rem);
	line-height: 1.52;
}

body.vb-identity-v1.vb-site-role-about .vb-series-portrait .vb-text-link,
body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait .vb-text-link {
	display: inline-block;
	margin-top: 18px;
}

/* Tablet: profilo verticale e collane in due colonne. */
@media (max-width: 980px) {
	body.vb-identity-v1.vb-site-role-about
		.vb-project-profile-dynamic
		.vb-editorial-longform-inner,
	body.vb-identity-v1.vb-site-role-about_en
		.vb-project-profile-dynamic
		.vb-editorial-longform-inner {
		display: block;
	}

	body.vb-identity-v1.vb-site-role-about
		.vb-project-profile-dynamic
		.vb-editorial-longform-inner > h2,
	body.vb-identity-v1.vb-site-role-about_en
		.vb-project-profile-dynamic
		.vb-editorial-longform-inner > h2 {
		max-width: 680px;
		margin-top: 12px;
	}

	body.vb-identity-v1.vb-site-role-about
		.vb-project-profile-dynamic
		.vb-editorial-longform-copy,
	body.vb-identity-v1.vb-site-role-about_en
		.vb-project-profile-dynamic
		.vb-editorial-longform-copy {
		max-width: 780px;
		margin-top: clamp(30px, 5vw, 52px);
	}

	body.vb-identity-v1.vb-site-role-about .vb-series-portrait-grid,
	body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobile: una collana per riga e testi con misura leggibile. */
@media (max-width: 620px) {
	body.vb-identity-v1.vb-site-role-about
		.vb-project-profile-dynamic
		.vb-editorial-longform-inner > h2,
	body.vb-identity-v1.vb-site-role-about_en
		.vb-project-profile-dynamic
		.vb-editorial-longform-inner > h2 {
		padding-left: 20px;
	}

	body.vb-identity-v1.vb-site-role-about .vb-series-portrait-grid,
	body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.vb-identity-v1.vb-site-role-about .vb-series-portrait,
	body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait {
		min-height: 0;
		padding: 30px 24px 34px;
	}

	body.vb-identity-v1.vb-site-role-about .vb-series-portrait h3,
	body.vb-identity-v1.vb-site-role-about_en .vb-series-portrait h3 {
		max-width: 15ch;
		font-size: clamp(1.75rem, 8vw, 2.35rem);
	}
}


/* --------------------------------------------------------------
   VARCHI BOOKS 0.11.0 — pagina Contatti
-------------------------------------------------------------- */

/*
 * La colonna laterale non ripete più le opzioni del menu a tendina:
 * mostra l'indirizzo editoriale reale e spiega dove arriva il messaggio.
 */
body.vb-identity-v1 .vb-contact-layout {
	grid-template-columns: minmax(270px, 0.78fr) minmax(0, 1.42fr);
	align-items: start;
}

body.vb-identity-v1 .vb-contact-direct {
	position: relative;
	padding: clamp(28px, 3.5vw, 48px) clamp(24px, 3vw, 42px);
	border-top: 1px solid var(--vb-rule);
	border-bottom: 1px solid var(--vb-rule);
}

body.vb-identity-v1 .vb-contact-direct::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 70px;
	background: var(--vb-accent);
	transform: skewX(-7deg);
	transform-origin: top;
}

body.vb-identity-v1 .vb-contact-direct .vb-kicker {
	margin: 0 0 20px;
	padding-left: 18px;
}

body.vb-identity-v1 .vb-contact-email {
	display: inline;
	color: var(--vb-ink);
	font-family: var(--vb-serif);
	font-size: clamp(1.45rem, 2.25vw, 2.4rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	overflow-wrap: anywhere;
}

body.vb-identity-v1 .vb-contact-email:hover,
body.vb-identity-v1 .vb-contact-email:focus-visible {
	color: var(--vb-accent);
}

body.vb-identity-v1 .vb-contact-direct-note {
	max-width: 34ch;
	margin: clamp(24px, 3vw, 36px) 0 0;
	font-family: var(--vb-serif);
	font-size: clamp(0.98rem, 1.12vw, 1.12rem);
	line-height: 1.55;
}

body.vb-identity-v1 .vb-contact-form {
	padding-top: 2px;
}

body.vb-identity-v1 .vb-contact-field input,
body.vb-identity-v1 .vb-contact-field select,
body.vb-identity-v1 .vb-contact-field textarea {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(16, 16, 16, 0.28);
}

body.vb-identity-v1 .vb-contact-field input:focus,
body.vb-identity-v1 .vb-contact-field select:focus,
body.vb-identity-v1 .vb-contact-field textarea:focus {
	outline-color: var(--vb-accent);
	border-color: var(--vb-accent);
}

body.vb-identity-v1 .vb-contact-submit {
	background: var(--vb-ink);
	transition:
		background 160ms ease,
		color 160ms ease,
		border-color 160ms ease;
}

body.vb-identity-v1 .vb-contact-submit:hover,
body.vb-identity-v1 .vb-contact-submit:focus-visible {
	background: var(--vb-accent);
	border-color: var(--vb-accent);
	color: #fff;
}

/* La vecchia lista resta nascosta anche in caso di cache CSS mista. */
body.vb-identity-v1 .vb-contact-areas {
	display: none !important;
}

@media (max-width: 920px) {
	body.vb-identity-v1 .vb-contact-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 48px;
	}

	body.vb-identity-v1 .vb-contact-direct-note {
		max-width: 48ch;
	}
}

@media (max-width: 620px) {
	body.vb-identity-v1 .vb-contact-page {
		padding-top: 58px;
	}

	body.vb-identity-v1 .vb-contact-intro h1 {
		font-size: clamp(2.65rem, 13vw, 4rem);
	}

	body.vb-identity-v1 .vb-contact-deck {
		font-size: clamp(1.22rem, 6.2vw, 1.65rem);
		line-height: 1.18;
	}

	body.vb-identity-v1 .vb-contact-direct {
		padding: 28px 22px 32px;
	}

	body.vb-identity-v1 .vb-contact-email {
		font-size: clamp(1.34rem, 6.3vw, 1.8rem);
	}

	body.vb-identity-v1 .vb-contact-form {
		gap: 18px;
	}

	body.vb-identity-v1 .vb-contact-submit {
		width: 100%;
		justify-self: stretch;
	}
}

/* --------------------------------------------------------------
   VARCHI BOOKS 0.12.4 — longer editorial cut
-------------------------------------------------------------- */
body.vb-identity-v1.vb-architecture-012 .vb-section-head::before {
	bottom: -14px;
}

@media (max-width: 700px) {
	body.vb-identity-v1.vb-architecture-012 .vb-section-head::before {
		top: 0 !important;
		bottom: auto !important;
		height: 118px !important;
	}
}

