/* =========================================================================
   Divenire Stile 0.2 — identità Divenire: navy del logo, sfumature di blu,
   accento arancio-oro dell'orologio. Tutte le regole stanno sotto
   body.dv-stile: senza il plugin il sito resta esattamente com'era.
   ========================================================================= */

@font-face {
	font-family: "Jakarta Var";
	src: url("fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Source Serif Var";
	src: url("fonts/source-serif-4-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Source Serif Var";
	src: url("fonts/source-serif-4-latin-wght-italic.woff2") format("woff2-variations");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
}

/* ---------- Token ---------- */

body.dv-stile {
	--dv-bg: #f3f6fc;
	--dv-card: #ffffff;
	--dv-ink: #0b1a3a;
	--dv-text: #2a3852;
	--dv-muted: #5f6d8c;
	--dv-navy: #13306e;
	--dv-blue: #2350c8;
	--dv-link: #2350c8;
	--dv-gold: #f2b544;
	--dv-orange: #ef8a00;
	--dv-line: rgba(19, 48, 110, .09);
	--dv-line-strong: rgba(19, 48, 110, .2);
	--dv-field: #ffffff;
	--dv-radius: 18px;
	--dv-shadow: 0 1px 2px rgba(19, 48, 110, .06), 0 14px 34px -20px rgba(19, 48, 110, .38);
	--dv-shadow-hover: 0 2px 6px rgba(19, 48, 110, .08), 0 24px 48px -22px rgba(19, 48, 110, .5);
	--dv-sans: "Jakarta Var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--dv-serif: "Source Serif Var", Georgia, "Times New Roman", serif;
	--dv-accent: linear-gradient(90deg, #ef8a00 0%, #f2b544 100%);
	--dv-blues: linear-gradient(115deg, #0a1a44 0%, #12306e 32%, #1d4fbf 72%, #3a7af0 100%);
	--dv-blues-deep: linear-gradient(115deg, #050d26 0%, #0c2156 45%, #163e9a 100%);
	--dv-glow: radial-gradient(900px 420px at 85% -10%, rgba(120, 170, 255, .28), rgba(120, 170, 255, 0) 65%);
	/* Cerchi appena percettibili, come una filigrana. */
	--dv-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ccircle cx='60' cy='60' r='38' fill='none' stroke='%23ffffff' stroke-opacity='.045' stroke-width='1.2'/%3E%3C/svg%3E");

	background:
		radial-gradient(1100px 560px at 0% -12%, rgba(35, 80, 200, .09), rgba(35, 80, 200, 0) 62%),
		radial-gradient(900px 480px at 100% -8%, rgba(239, 138, 0, .07), rgba(239, 138, 0, 0) 60%),
		var(--dv-bg) !important;
	color: var(--dv-text);
	font-family: var(--dv-sans);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Interfaccia e titoli: Plus Jakarta Sans (le icone <i> restano escluse). */
body.dv-stile,
body.dv-stile p,
body.dv-stile li,
body.dv-stile a,
body.dv-stile span:not([class^="ri-"]):not([class*=" ri-"]),
body.dv-stile input,
body.dv-stile button,
body.dv-stile select,
body.dv-stile textarea,
body.dv-stile label,
body.dv-stile h1,
body.dv-stile h2,
body.dv-stile h3,
body.dv-stile h4,
body.dv-stile h5,
body.dv-stile h6 {
	font-family: var(--dv-sans);
}

body.dv-stile h1,
body.dv-stile h2,
body.dv-stile h3,
body.dv-stile h4 {
	letter-spacing: -.02em;
}

/* ---------- Barra in alto: blu profondo + "Ultim'ora" ---------- */

body.dv-stile .back-toolbar-area {
	background: var(--dv-pattern), var(--dv-blues-deep) !important;
	background-size: 120px 120px, cover !important;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}

body.dv-stile .back-toolbar-area,
body.dv-stile .back-toolbar-area a,
body.dv-stile .back-toolbar-area span,
body.dv-stile .back-toolbar-area .item {
	color: rgba(255, 255, 255, .92) !important;
	font-size: 13px !important;
}

body.dv-stile .back-toolbar-area .back-ticker .widget-title {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	padding: 5px 11px 5px 9px !important;
	border-radius: 999px;
	background: var(--dv-accent) !important;
	color: #1a1205 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

body.dv-stile .back-toolbar-area .back-ticker .widget-title::before {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #c81e14;
	animation: dv-pulse 1.8s ease-out infinite;
}

@keyframes dv-pulse {
	0% { box-shadow: 0 0 0 0 rgba(200, 30, 20, .55); }
	70% { box-shadow: 0 0 0 7px rgba(200, 30, 20, 0); }
	100% { box-shadow: 0 0 0 0 rgba(200, 30, 20, 0); }
}

/* ---------- Testata in vetro ---------- */

body.dv-stile .menu-area {
	background: rgba(255, 255, 255, .8) !important;
	-webkit-backdrop-filter: saturate(170%) blur(14px);
	backdrop-filter: saturate(170%) blur(14px);
	border-bottom: 1px solid var(--dv-line);
	box-shadow: none !important;
	transition: box-shadow .3s ease, background .3s ease;
}

body.dv-stile.dv-scrolled .menu-area {
	box-shadow: 0 10px 30px -18px rgba(19, 48, 110, .45) !important;
}

body.dv-stile .navbar-menu .menu > li > a {
	font-family: var(--dv-sans) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--dv-ink) !important;
	letter-spacing: -.005em;
	background-image: var(--dv-accent);
	background-repeat: no-repeat;
	background-position: 0 calc(100% - 6px);
	background-size: 0 2px;
	transition: background-size .3s ease, color .2s ease;
}

body.dv-stile .navbar-menu .menu > li.current-menu-item > a,
body.dv-stile .navbar-menu .menu > li > a:hover {
	color: var(--dv-ink) !important;
	background-size: 100% 2px;
}

body.dv-stile .navbar-menu .sub-menu {
	background: var(--dv-card) !important;
	border-radius: 14px;
	border: 1px solid var(--dv-line);
	box-shadow: var(--dv-shadow);
	overflow: hidden;
}

body.dv-stile .navbar-menu .sub-menu a {
	color: var(--dv-text) !important;
	font-weight: 500 !important;
}

body.dv-stile .navbar-menu .sub-menu a:hover {
	color: var(--dv-ink) !important;
}

body.dv-stile .back-quote .quote-button {
	background: linear-gradient(120deg, #13306e, #2350c8) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	padding-left: 18px !important;
	padding-right: 18px !important;
	box-shadow: 0 8px 20px -10px rgba(35, 80, 200, .8);
	transition: transform .2s ease, box-shadow .2s ease;
}

body.dv-stile .back-quote .quote-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px -10px rgba(35, 80, 200, .9);
}

/* ---------- Titoli di sezione con barra arancio-oro ---------- */

body.dv-stile .back-heading .title {
	position: relative;
	padding-left: 16px !important;
	font-family: var(--dv-sans) !important;
	font-weight: 800 !important;
	font-size: clamp(25px, 2.5vw, 36px) !important;
	line-height: 1.15 !important;
	letter-spacing: -.025em !important;
	color: var(--dv-ink) !important;
}

body.dv-stile .back-heading .title::before {
	content: "";
	position: absolute;
	left: 0;
	top: .18em;
	bottom: .18em;
	width: 5px;
	border-radius: 4px;
	background: linear-gradient(180deg, #ef8a00, #f2b544);
}

body.dv-stile .back-heading .title .watermark {
	display: none !important;
}

/* ---------- Schede articolo ---------- */

body.dv-stile .back-blog-item .blog-inner-wrap {
	background: var(--dv-card) !important;
	border: 1px solid var(--dv-line);
	border-radius: var(--dv-radius);
	box-shadow: var(--dv-shadow);
	overflow: hidden;
	height: 100%;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease;
}

body.dv-stile .back-blog-item .blog-inner-wrap:hover {
	transform: translateY(-4px);
	box-shadow: var(--dv-shadow-hover);
}

body.dv-stile .back-blog-item .back-image-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 0 !important;
}

body.dv-stile .back-blog-item .back-image-wrap img {
	border-radius: 0 !important;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}

body.dv-stile .back-blog-item .back-image-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 26, 58, 0) 55%, rgba(11, 26, 58, .28) 100%);
	opacity: 0;
	transition: opacity .4s ease;
	pointer-events: none;
}

body.dv-stile .back-blog-item .blog-inner-wrap:hover .back-image-wrap img {
	transform: scale(1.05);
}

body.dv-stile .back-blog-item .blog-inner-wrap:hover .back-image-wrap::after {
	opacity: 1;
}

body.dv-stile .back-blog-item .back-blog-content {
	padding: 16px 18px 18px !important;
	background: transparent !important;
}

body.dv-stile .back-blog-item .back-thum-left .back-blog-content {
	padding: 12px 14px !important;
}

/* Immagini delle schede tutte nello stesso formato 4:3. */
body.dv-stile .back-blog-item .back-thum-default .back-image-wrap img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Schede di una fila alte uguali (da tablet in su: sul telefono se ne vede una per volta). */
@media (min-width: 768px) {
	body.dv-stile .back-addon-slider .slick-track {
		display: flex !important;
	}

	body.dv-stile .back-addon-slider .slick-slide {
		height: auto !important;
	}

	body.dv-stile .back-addon-slider .slick-slide > div,
	body.dv-stile .back-addon-slider .slick-slide .back-blog-item {
		height: 100%;
	}
}

body.dv-stile .back-blog-item .back-thum-default {
	display: flex;
	flex-direction: column;
}

/* Alcune sezioni Elementor (Storia, Salute) hanno "flex: 0 0 100px", pensato
   per le miniature a lato: nelle schede in colonna ridurrebbe la foto a una
   striscia alta 100px. :not(#dv) supera la regola della singola sezione. */
body.dv-stile .back-blog-item .back-thum-default > .back-image-wrap:not(#dv) {
	flex: 0 0 auto;
}

body.dv-stile .back-blog-item .back-thum-default .back-blog-content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

body.dv-stile .back-blog-item .back-thum-default .back-blog-meta {
	margin-top: auto;
}

/* Respiro tra le schede delle griglie. */
body.dv-stile .back-blog-grid .row > [class*="col-"] {
	margin-bottom: 24px;
}

body.dv-stile .back-post-title,
body.dv-stile .back-post-title a {
	font-family: var(--dv-sans) !important;
	font-weight: 700 !important;
	font-size: clamp(17px, 1.35vw, 20px) !important;
	line-height: 1.32 !important;
	letter-spacing: -.015em !important;
	color: var(--dv-ink) !important;
}

/* Sottolineatura che cresce al passaggio. */
body.dv-stile .back-post-title a {
	background-image: linear-gradient(90deg, #ef8a00, #f2b544);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 2px;
	transition: background-size .35s ease, color .2s ease;
}

body.dv-stile .back-blog-item .blog-inner-wrap:hover .back-post-title a,
body.dv-stile .back-post-title a:hover {
	background-size: 100% 2px;
}

body.dv-stile .back-blog-meta,
body.dv-stile .back-blog-meta span,
body.dv-stile .back-blog-meta a {
	font-family: var(--dv-sans) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	color: var(--dv-muted) !important;
}

body.dv-stile .back-blog-meta i {
	color: var(--dv-link) !important;
}

/* ---------- Autori: foto o iniziali al posto dell'omino ---------- */

/* La riga autore: foto e nome sulla stessa linea (il tema mette tutto a blocco). */
body.dv-stile a:has(> .back-admin > .dv-avatar),
body.dv-stile .back-admin:has(> .dv-avatar) {
	display: inline-flex !important;
	align-items: center;
}

body.dv-stile .dv-avatar {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin-right: 7px;
	border-radius: 50%;
	overflow: hidden;
	vertical-align: middle;
	background: linear-gradient(135deg, #13306e, #2350c8);
	color: #ffffff !important;
	font-family: var(--dv-sans) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .02em;
	box-shadow: 0 0 0 2px var(--dv-card), 0 2px 6px -2px rgba(19, 48, 110, .5);
}

body.dv-stile .dv-avatar--img {
	background: #ffffff;
}

body.dv-stile .dv-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.dv-stile.single-post .dv-avatar {
	width: 30px;
	height: 30px;
	font-size: 11.5px !important;
}

/* Riquadro autore in fondo all'articolo: foto tonda o iniziali grandi.
   Niente link vuoto del tema (letto dagli screen reader come "link"). */
body.dv-stile .author-block .author-img img {
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
}

body.dv-stile .author-block .author-img .dv-avatar--box {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	margin: 0;
	font-size: 38px !important;
	letter-spacing: .03em;
	box-shadow: 0 0 0 3px var(--dv-card), 0 12px 26px -14px rgba(19, 48, 110, .6);
}

body.dv-stile .author-block .author-desc > a[href=""],
body.dv-stile .author-block .author-desc > p:empty {
	display: none;
}

/* Sul telefono: foto accanto al nome, biografia a tutta larghezza. Il tema
   stampa la biografia dentro un altro <p>: restano paragrafi di soli spazi
   che, senza margini, non occupano posto (lo stacco lo danno foto e nome). */
@media (max-width: 767px) {
	body.dv-stile .author-block:not(#dv) {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		column-gap: 14px;
		align-items: center;
	}

	body.dv-stile .author-block .author-img:not(#dv) {
		width: 64px;
		max-width: none;
		margin: 0 0 14px;
		padding: 0;
	}

	body.dv-stile .author-block .author-img img:not(#dv),
	body.dv-stile .author-block .author-img .dv-avatar--box:not(#dv) {
		width: 64px;
		height: 64px;
	}

	body.dv-stile .author-block .author-img .dv-avatar--box:not(#dv) {
		font-size: 21px !important;
	}

	body.dv-stile .author-block .author-desc:not(#dv) {
		display: contents;
	}

	body.dv-stile .author-block .author-title:not(#dv) {
		margin: 0 0 14px;
	}

	body.dv-stile .author-block .author-desc > p:not(#dv) {
		grid-column: 1 / -1;
		margin: 0;
	}
}

/* ---------- Elenchi nel testo di pagine e articoli ---------- */

/* Il tema toglie punti e rientri a ogni elenco; nel testo scritto in redazione
   (elenchi senza classi, non quelli dei plugin) tornano punti e numeri. */
body.dv-stile :is(.entry-content, .single-content-full) :is(ul, ol):not([class]) {
	margin: 0 0 1.4em;
	padding-left: 1.5em;
}

body.dv-stile :is(.entry-content, .single-content-full) ul:not([class]) {
	list-style: disc;
}

body.dv-stile :is(.entry-content, .single-content-full) ol:not([class]) {
	list-style: decimal;
}

body.dv-stile :is(.entry-content, .single-content-full) :is(ul, ol):not([class]) > li {
	display: list-item;
	margin: 0 0 .5em;
	padding-left: .25em;
}

body.dv-stile :is(.entry-content, .single-content-full) :is(ul, ol):not([class]) > li::marker {
	color: var(--dv-orange);
	font-weight: 700;
}

/* ---------- Correzioni di contrasto su widget del tema ---------- */

/* Contatori nei riquadri Categorie: bianco su navy invece che su azzurro. */
body.dv-stile .single-category .category span,
body.dv-stile .single-category .category span .back_cat_overlay_bg {
	background: #13306e !important;
	color: #ffffff !important;
}

/* Pulsante della newsletter. */
body.dv-stile .ff-btn-submit {
	background: linear-gradient(120deg, #13306e, #2350c8) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-weight: 700 !important;
}

/* Frecce dei caroselli. */
body.dv-stile .slick-prev,
body.dv-stile .slick-next {
	background: rgba(19, 48, 110, .9) !important;
	border-radius: 50% !important;
}

/* ---------- Categorie: pillole con il colore della rubrica ---------- */

body.dv-stile .back-cat-list a,
body.dv-stile .back-post-category a {
	--c: #13306e;
	--cb: #e7edfb;
	display: inline-block;
	margin: 0 5px 7px 0;
	padding: 5px 10px !important;
	border: 0 !important;
	border-radius: 999px;
	background: var(--cb) !important;
	color: var(--c) !important;
	font-family: var(--dv-sans) !important;
	font-size: 10.5px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
}

body.dv-stile .back-cat-list a::before,
body.dv-stile .back-cat-list a::after {
	display: none !important;
}

body.dv-stile a[href*="/category/rubrica/arte-e-cultura/"] { --c: #5b3fc4; --cb: #eeeafd; }
body.dv-stile a[href*="/category/rubrica/cinema/"] { --c: #b42d61; --cb: #fce8ef; }
body.dv-stile a[href*="/category/rubrica/economia-e-geopolitica/"] { --c: #0d6f78; --cb: #e0f3f4; }
body.dv-stile a[href*="/category/editoriale/"] { --c: #13306e; --cb: #e3e9f8; }
body.dv-stile a[href*="/category/rubrica/enogastronomia/"] { --c: #8f2a2a; --cb: #fae8e5; }
body.dv-stile a[href*="/category/rubrica/eventi-e-news/"] { --c: #2350c8; --cb: #e6edff; }
body.dv-stile a[href*="/category/in-evidenza/"] { --c: #995000; --cb: #fff0d9; }
body.dv-stile a[href*="/category/rubrica/musica/"] { --c: #7a36b8; --cb: #f2e8fc; }
body.dv-stile a[href*="/category/primo-piano/"] { --c: #995000; --cb: #fff0d9; }
body.dv-stile a[href$="/category/rubrica/"] { --c: #3a4a6b; --cb: #ebeff6; }
body.dv-stile a[href*="/category/rubrica/salute-e-bellezza/"] { --c: #136e48; --cb: #e2f5ec; }
body.dv-stile a[href*="/category/rubrica/scienza-e-tecnologia/"] { --c: #0a5f9e; --cb: #e1f0fc; }
body.dv-stile a[href*="/category/rubrica/sport/"] { --c: #b33714; --cb: #fde8e1; }
body.dv-stile a[href*="/category/rubrica/storia/"] { --c: #74490b; --cb: #f7eedf; }
body.dv-stile a[href*="/category/rubrica/turismo/"] { --c: #0a6c84; --cb: #dff3f7; }

/* "Uncategorized" è la categoria di servizio di WordPress: al lettore non dice nulla. */
body.dv-stile :is(.back-cat-list, .back-post-category) a[href*="/category/uncategorized/"] {
	display: none !important;
}

/* ---------- Sezioni blu: sfumature + filigrana a cerchi ---------- */

body.dv-stile .elementor-element.elementor-element-af342ac {
	background-color: transparent !important;
}

/* :not(#dv) alza la priorità sopra il caricamento differito degli sfondi di
   Elementor, che li toglie finché la sezione non arriva vicino allo schermo:
   scorrendo veloce si vedrebbero titoli bianchi su fondo chiaro. */
body.dv-stile .elementor-element.elementor-element-72cc26a:not(#dv),
body.dv-stile .elementor-element.elementor-element-8227ef1:not(#dv),
body.dv-stile .elementor-element.elementor-element-641d159:not(#dv) {
	background-color: transparent !important;
	background-image: var(--dv-pattern), var(--dv-glow), var(--dv-blues) !important;
	background-size: 120px 120px, cover, cover !important;
	background-position: center top, center, center !important;
}

/* Schede di Storia: il contenitore era al 90,6% con 25px a destra (resto di una
   colonna tolta) e non si allineava al titolo né alle altre sezioni. */
body.dv-stile .elementor-element.elementor-element-9c61692:not(#dv) {
	--width: 100%;
}

body.dv-stile .elementor-element.elementor-element-e2d3c0b:not(#dv) {
	padding-right: 0;
}

body.dv-stile .elementor-element-72cc26a .back-heading .title,
body.dv-stile .elementor-element-641d159 .back-heading .title,
body.dv-stile .elementor-element-641d159 h1,
body.dv-stile .elementor-element-641d159 h2,
body.dv-stile .elementor-element-641d159 h3 {
	color: #ffffff !important;
}

/* ---------- Banner partner in alto ---------- */

body.dv-stile .elementor-widget-image-carousel .swiper-slide-image {
	border-radius: var(--dv-radius);
	box-shadow: var(--dv-shadow);
}

body.dv-stile .dpa-box .dpa-link {
	border-radius: 14px;
}

/* ---------- Pagina articolo ---------- */

/* Lo spazio in alto resta quello del tema: compensa la barra del menu fissa. */
body.dv-stile .back-breadcrumbs {
	background: transparent !important;
	padding-bottom: 0 !important;
}

body.dv-stile .back-breadcrumbs .breadcrumbs-inner {
	padding-top: 28px !important;
	padding-bottom: 14px !important;
}

body.dv-stile .back-breadcrumbs .page-title {
	max-width: 960px;
	margin-left: auto !important;
	margin-right: auto !important;
	font-family: var(--dv-sans) !important;
	font-weight: 800 !important;
	font-size: clamp(30px, 4.4vw, 54px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.03em !important;
	color: var(--dv-ink) !important;
	text-wrap: balance;
}

body.dv-stile .breadcrumbs-title,
body.dv-stile .breadcrumbs-title a,
body.dv-stile .breadcrumbs-title span {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--dv-muted) !important;
}

body.dv-stile.single-post article.post {
	background: var(--dv-card) !important;
	border: 1px solid var(--dv-line);
	border-radius: 24px;
	box-shadow: var(--dv-shadow);
	padding: 28px clamp(16px, 4vw, 52px) 44px;
}

body.dv-stile.single-post .bs-img img {
	display: block;
	margin: 0 auto;
	border-radius: 16px;
}

body.dv-stile.single-post .single-content-full {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* Data, autore e categorie dell'articolo. */
body.dv-stile.single-post .single-content-full > ul,
body.dv-stile.single-post .single-content-full > ul li,
body.dv-stile.single-post .single-content-full > ul a {
	color: var(--dv-muted) !important;
	font-family: var(--dv-sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

/* Testo dell'articolo in serif: si legge meglio a colonna. */
body.dv-stile.single-post .bs-desc p,
body.dv-stile.single-post .bs-desc li {
	font-family: var(--dv-serif) !important;
	font-size: 19px !important;
	line-height: 1.75 !important;
	color: var(--dv-text) !important;
}

body.dv-stile.single-post .bs-desc > p:first-of-type {
	font-size: 21px !important;
	line-height: 1.65 !important;
	color: var(--dv-ink) !important;
}

body.dv-stile.single-post .bs-desc h2,
body.dv-stile.single-post .bs-desc h3,
body.dv-stile.single-post .bs-desc h4 {
	margin-top: 1.6em;
	font-family: var(--dv-sans) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
	color: var(--dv-ink) !important;
}

body.dv-stile.single-post .bs-desc strong,
body.dv-stile.single-post .bs-desc b {
	color: var(--dv-ink) !important;
}

body.dv-stile.single-post .bs-desc a:not(.dpa-link) {
	color: var(--dv-link) !important;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--dv-link) 40%, transparent);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

body.dv-stile.single-post .bs-desc blockquote {
	border-left: 4px solid var(--dv-orange) !important;
	background: linear-gradient(90deg, rgba(242, 181, 68, .1), rgba(242, 181, 68, 0)) !important;
	border-radius: 0 12px 12px 0;
	padding: 10px 0 10px 22px !important;
	font-family: var(--dv-serif) !important;
	font-style: italic;
	font-size: 22px !important;
	color: var(--dv-ink) !important;
}

body.dv-stile.single-post .bs-desc blockquote p {
	color: var(--dv-ink) !important;
}

/* Tempo di lettura (aggiunto dallo script). */
body.dv-stile .dv-reading-time {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 6px 0 18px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #fff4df;
	color: #7a4100;
	font-family: var(--dv-sans) !important;
	font-size: 12.5px;
	font-weight: 700;
}

/* Barra di avanzamento della lettura (aggiunta dallo script). */
body.dv-stile .dv-progress {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100000;
	width: 100%;
	height: 3px;
	background: var(--dv-accent);
	transform: scaleX(var(--dv-p, 0));
	transform-origin: 0 50%;
	pointer-events: none;
}

body.admin-bar.dv-stile .dv-progress {
	top: 32px;
}

/* ---------- Comparsa morbida delle schede (solo se lo script è attivo) ---------- */

html.dv-js body.dv-stile .back-blog-item {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
}

html.dv-js body.dv-stile .back-blog-item.dv-in {
	opacity: 1;
	transform: none;
}

/* ---------- Barra laterale, navigazione articolo, commenti ---------- */

body.dv-stile :is(.widget, .wp-block-archives, .wp-block-categories, .wp-block-latest-posts) a {
	color: var(--dv-text) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}

body.dv-stile :is(.widget, .wp-block-archives, .wp-block-categories, .wp-block-latest-posts) a:hover {
	color: var(--dv-link) !important;
}

body.dv-stile [class*="next_link"],
body.dv-stile [class*="prev_link"] {
	color: var(--dv-muted) !important;
	font-weight: 600 !important;
}

body.dv-stile :is(.logged-in-as, .comment-respond, .comment-metadata, .comment-reply) a,
body.dv-stile .comment-reply-link {
	color: var(--dv-link) !important;
}

/* ---------- Colori globali di Elementor allineati a Divenire ---------- */

body.dv-stile {
	--e-global-color-primary: var(--dv-navy);
	--e-global-color-secondary: var(--dv-ink);
	--e-global-color-text: var(--dv-text);
	--e-global-color-accent: var(--dv-orange);
}

body.dv-stile .post-edit-link {
	color: var(--dv-link) !important;
}

/* Iniziali degli autori sempre bianche (il tema colora tutti gli span della riga). */
body.dv-stile .back-blog-meta span.dv-avatar,
body.dv-stile span.dv-avatar {
	color: #ffffff !important;
}

/* Pulsanti del tema (es. "Torna alla home" nella pagina 404). */
body.dv-stile a.readon,
body.dv-stile .readon {
	background: linear-gradient(120deg, #13306e, #2350c8) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-weight: 700 !important;
}

/* Ricerca nella pagina 404 (aggiunta dallo script). */
body.dv-stile .dv-404-search {
	display: flex;
	gap: 8px;
	max-width: 460px;
	margin: 0 auto 22px;
}

body.dv-stile .dv-404-search input {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	padding: 0 18px;
	border: 1px solid var(--dv-line);
	border-radius: 999px;
	background: var(--dv-card);
	color: var(--dv-ink);
	font-size: 16px;
}

body.dv-stile .dv-404-search input:focus {
	outline: 2px solid var(--dv-link);
	outline-offset: 2px;
}

body.dv-stile .dv-404-search button {
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--dv-accent);
	color: #1a1205;
	font-weight: 800;
	cursor: pointer;
}

/* ---------- Risultati di ricerca e archivi semplici: schede ---------- */

body.dv-stile:is(.search, .blog, .archive) #primary article.post {
	margin-bottom: 20px;
	padding: 22px 24px;
	background: var(--dv-card) !important;
	border: 1px solid var(--dv-line);
	border-radius: var(--dv-radius);
	box-shadow: var(--dv-shadow);
}

body.dv-stile #primary article .entry-title,
body.dv-stile #primary article .entry-title a {
	color: var(--dv-ink) !important;
	font-family: var(--dv-sans) !important;
	font-weight: 700 !important;
	font-size: clamp(18px, 1.5vw, 21px) !important;
	letter-spacing: -.015em !important;
}

body.dv-stile #primary article .entry-summary p {
	color: var(--dv-text) !important;
}

body.dv-stile #primary article .blog-button a {
	color: var(--dv-link) !important;
	font-weight: 700 !important;
}

/* Contatti: testo grigio chiaro impostato nel widget (contrasto 4,1:1). */
body.dv-stile .elementor-element-5f30318,
body.dv-stile .elementor-element-5f30318 :is(p, span) {
	color: var(--dv-text) !important;
}

/* ---------- Caricamento, schede, categorie di servizio ---------- */

/* Il preloader del tema copriva la pagina finché non era caricato tutto
   (immagini, video YouTube) più 0,6 secondi: le notizie si vedono subito. */
body.dv-stile #back__preloader {
	display: none !important;
}

/* "0 Comments": in inglese e quasi sempre a zero, nelle schede è solo rumore. */
body.dv-stile .back-blog-item .back-comments {
	display: none !important;
}

body.dv-stile .widget_categories li.cat-item:has(> a[href*="/category/uncategorized/"]) {
	display: none !important;
}

/* Archivi del tema: categorie sotto il titolo (grigio del tema, illeggibile in scuro). */
body.dv-stile .btm-cate .tag-line {
	color: var(--dv-muted) !important;
}

body.dv-stile .btm-cate .tag-line a {
	color: var(--dv-link) !important;
	font-weight: 600;
}

/* Correlati se il carosello non parte (rete lenta, script interrotto):
   una fila da scorrere col dito invece di una colonna lunghissima. */
body.dv-stile .back__related_post:not(.slick-initialized) {
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0 0 8px;
	overflow-x: auto;
	list-style: none;
	scroll-snap-type: x mandatory;
}

body.dv-stile .back__related_post:not(.slick-initialized) > li {
	flex: 0 0 min(78%, 300px);
	scroll-snap-align: start;
}

/* "Ultime notizie": finché il carosello non parte si vede solo la prima notizia
   (prima comparivano tutte impilate e la barra spingeva giù la testata). */
body.dv-stile .back__topber__slider:not(.slick-initialized) > div:not(:first-child) {
	display: none;
}

/* Percorso di navigazione: il tema aggiunge un pallino a ogni link oltre al ">". */
body.dv-stile .breadcrumbs-title a::before {
	display: none !important;
}

body.dv-stile .breadcrumbs-title {
	color: var(--dv-muted) !important;
}

body.dv-stile .breadcrumbs-title a {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--dv-muted) !important;
}

body.dv-stile .breadcrumbs-title a:hover,
body.dv-stile .breadcrumbs-title a:focus-visible {
	color: var(--dv-link) !important;
}

/* Pagina "Il mio account" (WooCommerce). */
body.dv-stile .woocommerce :is(button.button, a.button, input.button) {
	padding: 12px 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(120deg, #13306e, #2350c8) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
}

body.dv-stile .woocommerce a:not(.button) {
	color: var(--dv-link) !important;
}

/* ---------- Testata: icone facili da toccare ---------- */

/* Area di tocco di almeno 40px senza spostare nulla: la allarga uno
   pseudo-elemento trasparente. */
body.dv-stile .back-header-quote .back-dark-light,
body.dv-stile .back-header-quote .sticky_search,
body.dv-stile .back-mobile-hamburger .menu-button,
body.dv-stile .back-toolbar-area a:has(> i) {
	position: relative;
}

body.dv-stile .back-header-quote .back-dark-light::after,
body.dv-stile .back-header-quote .sticky_search::after,
body.dv-stile .back-mobile-hamburger .menu-button::after {
	content: "";
	position: absolute;
	inset: -10px -6px;
}

body.dv-stile .back-toolbar-area a:has(> i)::after {
	content: "";
	position: absolute;
	inset: -8px -4px;
}

body.dv-stile .back-header-quote .sticky_search:focus-visible,
body.dv-stile .back-header-quote .back-dark-light:focus-visible {
	outline: 2px solid var(--dv-link);
	outline-offset: 6px;
	border-radius: 6px;
}

/* ---------- Menu del telefono: identità Divenire ---------- */

body.dv-stile nav.back-menu-wrap-offcanvas {
	background: var(--dv-pattern), var(--dv-glow), var(--dv-blues) !important;
	background-size: 120px 120px, cover, cover !important;
}

body.dv-stile nav.back-menu-wrap-offcanvas :is(a, li, span, div):not([class^="ri-"]) {
	font-family: var(--dv-sans) !important;
}

body.dv-stile .back-menu-wrap-offcanvas .menu > li {
	border-color: rgba(255, 255, 255, .12) !important;
}

body.dv-stile .back-menu-wrap-offcanvas .menu > li > a {
	color: #ffffff !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	letter-spacing: -.015em;
}

body.dv-stile .back-menu-wrap-offcanvas .menu li.current-menu-item > a,
body.dv-stile .back-menu-wrap-offcanvas .menu li > a:hover,
body.dv-stile .back-menu-wrap-offcanvas .menu li > a:focus-visible {
	color: var(--dv-gold) !important;
}

body.dv-stile .back-menu-wrap-offcanvas .sub-menu li {
	border-color: rgba(255, 255, 255, .08) !important;
}

body.dv-stile .back-menu-wrap-offcanvas .sub-menu li > a {
	color: rgba(255, 255, 255, .86) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
}

/* Il tema scrive "Arte E Cultura": in italiano le congiunzioni restano minuscole. */
body.dv-stile #mobile_menu ul li a {
	text-transform: none !important;
}

/* Col menu aperto la barra dei partner (z-index 9990) ne copriva il fondo. */
body.dv-stile.back-offcanvas-open .dpa-sticky {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* La freccia della tendina: ::before da chiusa, ::after (sopra) da aperta. */
body.dv-stile #mobile_menu .submenu-button::before,
body.dv-stile #mobile_menu .submenu-button.submenu-opened::after {
	border-radius: 10px !important;
	background: rgba(255, 255, 255, .14) !important;
	color: #ffffff !important;
}

body.dv-stile .back-menu-wrap-offcanvas .close-button {
	border: 1px solid rgba(255, 255, 255, .28);
	background: rgba(255, 255, 255, .1) !important;
	color: #ffffff !important;
}

body.dv-stile .back-menu-wrap-offcanvas .close-button:hover,
body.dv-stile .back-menu-wrap-offcanvas .close-button:focus-visible {
	border-color: var(--dv-gold);
	color: var(--dv-gold) !important;
}

/* ---------- Moduli: campi sempre visibili, anche in modalità scura ---------- */

/* In scuro il tema dava ai campi fondo e bordo #030c26, quasi uguali alla pagina:
   commenti e ricerca laterale sparivano. Contatti e newsletter restavano bianchi. */
body.dv-stile :is(input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="password"], input[type="tel"], input[type="number"], textarea, select):not(.dv-404-search input) {
	border: 1px solid var(--dv-line-strong) !important;
	border-radius: 12px !important;
	background-color: var(--dv-field) !important;
	color: var(--dv-ink) !important;
	box-shadow: none !important;
}

body.dv-stile :is(input, textarea)::placeholder {
	color: var(--dv-muted) !important;
	opacity: 1;
}

body.dv-stile :is(input, textarea, select):focus-visible {
	outline: 2px solid var(--dv-link) !important;
	outline-offset: 1px;
	border-color: var(--dv-link) !important;
}

/* Pulsanti di invio: pillola come il resto del sito ("Invia commento" era squadrato). */
body.dv-stile :is(#submit, .comment-respond .submit, .ff-btn-submit, .wpcf7-submit) {
	padding: 12px 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(120deg, #13306e, #2350c8) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	text-transform: none !important;
	cursor: pointer;
}

/* ---------- Colonna laterale e archivi del tema ---------- */

body.dv-stile aside.widget-area .widget {
	border: 1px solid var(--dv-line) !important;
	border-radius: var(--dv-radius) !important;
	background: var(--dv-card) !important;
	box-shadow: var(--dv-shadow);
}

body.dv-stile .tag-cloud-link,
body.dv-stile .wp-block-tag-cloud a {
	border: 1px solid var(--dv-line-strong) !important;
	border-radius: 999px !important;
	background: var(--dv-field) !important;
	color: var(--dv-ink) !important;
	text-transform: none !important;
}

/* Schede di categorie, tag e autori: arrotondate e distinguibili dal fondo. */
body.dv-stile .contents-sticky .blog-item {
	overflow: hidden;
	border: 1px solid var(--dv-line) !important;
	border-radius: var(--dv-radius) !important;
	background: var(--dv-card) !important;
	box-shadow: var(--dv-shadow);
}

/* Immagini delle schede in colonna (tag, autori) a tutta larghezza, non strette a sinistra. */
body.dv-stile .contents-sticky .blog-item .blog-img a {
	display: block;
}

body.dv-stile .contents-sticky .blog-item .blog-img img {
	display: block;
	width: 100% !important;
	height: auto !important;
	object-fit: cover;
}

body.dv-stile .contents-sticky .blog-title,
body.dv-stile .contents-sticky .blog-title a {
	color: var(--dv-ink) !important;
	font-family: var(--dv-sans) !important;
	font-weight: 700 !important;
	letter-spacing: -.015em;
}

/* Paginazione: la pagina corrente era un "1" ciano sottile, invisibile in scuro. */
body.dv-stile .nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	margin: 0 3px 6px 0;
	padding: 0 12px;
	border: 1px solid var(--dv-line-strong);
	border-radius: 999px;
	background: var(--dv-card);
	color: var(--dv-ink) !important;
	font-weight: 700;
	text-decoration: none !important;
}

body.dv-stile .nav-links .page-numbers.current {
	border-color: transparent;
	background: linear-gradient(120deg, #13306e, #2350c8);
	color: #ffffff !important;
}

body.dv-stile .nav-links .page-numbers.dots {
	border: 0;
	background: none;
}

/* Disegni con fondo trasparente (es. Beethoven) sparivano sul blu notte. */
html[data-theme="dark"] body.dv-stile :is(.back-image-wrap, .blog-img, .back_thum, .dv-404-img, .bs-img) img {
	background: #ffffff;
}

/* Schede con il testo sopra la foto ("Articoli in evidenza" in home): titolo bianco
   su una sfumatura scura sicura. Prima il titolo era navy sulla foto scurita. */
body.dv-stile .back-blog-item.background .back-blog-content {
	background: linear-gradient(180deg, rgba(6, 13, 34, 0) 0%, rgba(6, 13, 34, .6) 32%, rgba(6, 13, 34, .92) 100%) !important;
}

body.dv-stile .back-blog-item.background :is(.back-post-title, .back-post-title a) {
	color: #ffffff !important;
}

body.dv-stile .back-blog-item.background .back-blog-meta :is(span, a, i):not(.dv-avatar) {
	color: rgba(255, 255, 255, .88) !important;
}

/* ---------- Articolo: navigazione, correlati, testo incollato ---------- */

/* Il carosello dei correlati ha margini negativi e usciva di 3 px dallo schermo. */
@media (max-width: 767px) {
	body.dv-stile .back-related-post {
		overflow-x: clip;
	}
}

/* "Precedente/Successivo": niente parole spezzate a metà né Maiuscole Su Ogni Parola. */
body.dv-stile .ps-navigation :is(a, span) {
	word-break: normal !important;
	overflow-wrap: break-word;
	hyphens: auto;
	text-transform: none !important;
}

/* Titoli lunghi ("dell'overconsumption") vanno a capo invece di uscire dallo schermo. */
body.dv-stile :is(.page-title, .back-post-title, .blog-title, .entry-title, .bs-desc h2, .bs-desc h3) {
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Correlati: tutte le foto alla stessa altezza, titoli allineati. */
body.dv-stile .back__related_post .back_thum img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
}

body.dv-stile .back__related_post .item span i {
	color: var(--dv-link);
}

/* Formattazione incollata da altri programmi: il testo dell'articolo resta in un solo carattere. */
body.dv-stile.single-post .bs-desc p :is(span, font, strong, em, b, i) {
	font-family: inherit !important;
}

/* Titolo delle pagine tag: "storia" → "Storia". */
body.dv-stile.tag .back-breadcrumbs .page-title::first-letter {
	text-transform: uppercase;
}

/* ---------- Footer ---------- */

/* Lineetta sotto i titoli: era il ciano del vecchio tema. */
body.dv-stile #back-footer .footer-title::after {
	background: linear-gradient(90deg, #ef8a00, #f2b544) !important;
}

/* Icone social: cerchi neri fuori palette. */
body.dv-stile #back-footer a[aria-label]:has(> span > i),
body.dv-stile #back-footer a:has(> i) {
	border: 1px solid rgba(255, 255, 255, .22) !important;
	background: rgba(255, 255, 255, .08) !important;
	color: #ffffff !important;
}

body.dv-stile #back-footer a[aria-label]:has(> span > i):hover,
body.dv-stile #back-footer a:has(> i):hover {
	border-color: var(--dv-gold) !important;
	color: var(--dv-gold) !important;
}

/* Newsletter sul blu del footer. */
body.dv-stile #back-footer .ff-el-form-control {
	border-color: rgba(255, 255, 255, .28) !important;
	background-color: rgba(255, 255, 255, .1) !important;
	color: #ffffff !important;
}

body.dv-stile #back-footer .ff-el-form-control::placeholder {
	color: rgba(255, 255, 255, .7) !important;
}

/* ---------- Pagina 404 (template del plugin) ---------- */

body.dv-stile .dv-404-hero {
	padding: clamp(150px, 16vw, 200px) 0 clamp(60px, 8vw, 92px);
	background: var(--dv-pattern), var(--dv-glow), var(--dv-blues);
	background-size: 120px 120px, cover, cover;
	text-align: center;
}

body.dv-stile .dv-404-hero .dv-404-code {
	margin: 0 0 4px;
	background: var(--dv-accent);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	font-size: clamp(84px, 13vw, 148px) !important;
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.05em;
}

body.dv-stile .dv-404-hero .dv-404-title {
	margin: 0 0 12px;
	color: #ffffff !important;
	font-size: clamp(30px, 4.2vw, 46px) !important;
	font-weight: 800 !important;
	letter-spacing: -.025em;
	text-wrap: balance;
}

body.dv-stile .dv-404-hero .dv-404-text {
	max-width: 560px;
	margin: 0 auto 28px;
	color: rgba(255, 255, 255, .92) !important;
	font-size: 17px;
	line-height: 1.6;
	text-wrap: pretty;
}

body.dv-stile .dv-404-home {
	display: inline-block;
	padding: 10px 22px;
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 999px;
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s, border-color .2s;
}

body.dv-stile .dv-404-home:hover,
body.dv-stile .dv-404-home:focus-visible {
	border-color: var(--dv-gold);
	background: rgba(255, 255, 255, .1);
}

body.dv-stile .dv-404-latest {
	padding: clamp(44px, 6vw, 64px) 0 clamp(56px, 7vw, 84px);
}

body.dv-stile .dv-404-latest .dv-404-sub {
	position: relative;
	margin: 0 0 24px;
	padding-left: 16px;
	color: var(--dv-ink) !important;
	font-size: clamp(22px, 2.4vw, 28px) !important;
	font-weight: 800 !important;
	letter-spacing: -.02em;
}

body.dv-stile .dv-404-latest .dv-404-sub::before {
	content: "";
	position: absolute;
	top: .18em;
	bottom: .18em;
	left: 0;
	width: 5px;
	border-radius: 3px;
	background: linear-gradient(180deg, #ef8a00, #f2b544);
}

body.dv-stile .dv-404-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

body.dv-stile .dv-404-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--dv-line);
	border-radius: var(--dv-radius);
	background: var(--dv-card);
	box-shadow: var(--dv-shadow);
	color: inherit;
	text-decoration: none !important;
	transition: transform .25s ease, box-shadow .25s ease;
}

body.dv-stile .dv-404-card a:hover,
body.dv-stile .dv-404-card a:focus-visible {
	transform: translateY(-4px);
	box-shadow: var(--dv-shadow-hover);
}

body.dv-stile .dv-404-img {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--dv-blues);
}

body.dv-stile .dv-404-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

body.dv-stile .dv-404-card a:hover .dv-404-img img {
	transform: scale(1.04);
}

body.dv-stile .dv-404-body {
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 16px 18px 18px;
}

body.dv-stile .dv-404-cat {
	align-self: flex-start;
	padding: 5px 10px;
	border-radius: 999px;
	background: #e7edfb;
	color: var(--dv-navy) !important;
	font-size: 10.5px !important;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.dv-stile .dv-404-card-title {
	color: var(--dv-ink) !important;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.01em;
}

body.dv-stile .dv-404-date {
	color: var(--dv-muted);
	font-size: 13px;
}

@media (max-width: 991px) {
	body.dv-stile .dv-404-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	body.dv-stile .dv-404-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Footer ---------- */

body.dv-stile #back-footer {
	background: var(--dv-pattern), var(--dv-glow), var(--dv-blues-deep) !important;
	background-size: 120px 120px, cover, cover !important;
}

body.dv-stile #back-footer,
body.dv-stile #back-footer p,
body.dv-stile #back-footer li,
body.dv-stile #back-footer a,
body.dv-stile #back-footer span,
body.dv-stile #back-footer strong {
	color: rgba(255, 255, 255, .82) !important;
}

body.dv-stile #back-footer a:hover {
	color: var(--dv-gold) !important;
}

body.dv-stile #back-footer .footer-title,
body.dv-stile #back-footer .widget-title {
	position: relative;
	padding-bottom: 10px;
	color: #ffffff !important;
	font-family: var(--dv-sans) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* ---------- Modalità scura: ogni testo resta leggibile ---------- */

body.dv-stile[data-theme="dark"],
html[data-theme="dark"] body.dv-stile {
	--dv-bg: #060d22;
	--dv-card: #0e1834;
	--dv-ink: #eef3ff;
	--dv-text: #cfd8ee;
	--dv-muted: #9cabcd;
	--dv-link: #8fb4ff;
	--dv-line: rgba(255, 255, 255, .09);
	--dv-line-strong: rgba(255, 255, 255, .22);
	--dv-field: rgba(255, 255, 255, .06);
	--dv-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 14px 34px -20px rgba(0, 0, 0, .9);
	--dv-shadow-hover: 0 2px 6px rgba(0, 0, 0, .4), 0 24px 48px -22px rgba(0, 0, 0, .95);
	background:
		radial-gradient(1100px 560px at 0% -12%, rgba(59, 120, 240, .16), rgba(59, 120, 240, 0) 62%),
		radial-gradient(900px 480px at 100% -8%, rgba(239, 138, 0, .08), rgba(239, 138, 0, 0) 60%),
		var(--dv-bg) !important;
}

body.dv-stile[data-theme="dark"] .menu-area,
html[data-theme="dark"] body.dv-stile .menu-area {
	background: rgba(6, 13, 34, .82) !important;
}

/* Testi generici di pagine e widget: chiari su fondo scuro. */
body.dv-stile[data-theme="dark"] :is(p, li, td, th, dd, dt, label, figcaption),
html[data-theme="dark"] body.dv-stile :is(p, li, td, th, dd, dt, label, figcaption) {
	color: var(--dv-text) !important;
}

body.dv-stile[data-theme="dark"] :is(h1, h2, h3, h4, h5, h6),
html[data-theme="dark"] body.dv-stile :is(h1, h2, h3, h4, h5, h6) {
	color: var(--dv-ink) !important;
}

body.dv-stile[data-theme="dark"] .back-cat-list a,
body.dv-stile[data-theme="dark"] .back-post-category a,
html[data-theme="dark"] body.dv-stile .back-cat-list a,
html[data-theme="dark"] body.dv-stile .back-post-category a {
	background: color-mix(in srgb, var(--c) 30%, #0e1834) !important;
	color: color-mix(in srgb, var(--c) 28%, #ffffff) !important;
}

body.dv-stile[data-theme="dark"] .dpa-box .dpa-label,
html[data-theme="dark"] body.dv-stile .dpa-box .dpa-label {
	color: var(--dv-muted) !important;
}

/* Colori globali e testi dei widget Elementor in modalità scura. */
body.dv-stile[data-theme="dark"],
html[data-theme="dark"] body.dv-stile {
	--e-global-color-primary: var(--dv-link);
}

html[data-theme="dark"] body.dv-stile .elementor-widget-text-editor,
html[data-theme="dark"] body.dv-stile .elementor-widget-text-editor :is(p, li, span, strong, b, em),
html[data-theme="dark"] body.dv-stile .elementor-icon-list-text {
	color: var(--dv-text) !important;
}

html[data-theme="dark"] body.dv-stile .elementor-widget-text-editor a,
html[data-theme="dark"] body.dv-stile .elementor-icon-list-item a {
	color: var(--dv-link) !important;
}

html[data-theme="dark"] body.dv-stile .elementor-heading-title {
	color: var(--dv-ink) !important;
}

/* La sottolineatura resta oro anche dove il tema scuro la rende bianca. */
body.dv-stile[data-theme="dark"] .back-post-title a,
html[data-theme="dark"] body.dv-stile .back-post-title a,
body.dv-stile[data-theme="dark"] .navbar-menu .menu > li > a,
html[data-theme="dark"] body.dv-stile .navbar-menu .menu > li > a {
	background-image: linear-gradient(90deg, #ef8a00, #f2b544) !important;
}

body.dv-stile[data-theme="dark"] .dv-reading-time,
html[data-theme="dark"] body.dv-stile .dv-reading-time {
	background: rgba(242, 181, 68, .16);
	color: #f8d38f;
}

body.dv-stile[data-theme="dark"] .back-toolbar-area .back-ticker .widget-title,
html[data-theme="dark"] body.dv-stile .back-toolbar-area .back-ticker .widget-title {
	color: #1a1205 !important;
}

html[data-theme="dark"] body.dv-stile nav.back-menu-wrap-offcanvas {
	background: var(--dv-pattern), var(--dv-glow), var(--dv-blues-deep) !important;
	background-size: 120px 120px, cover, cover !important;
}

html[data-theme="dark"] body.dv-stile .dv-404-cat {
	background: rgba(143, 180, 255, .16);
	color: #cfe0ff !important;
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
	body.dv-stile .back-blog-item .back-blog-content {
		padding: 14px 16px 16px !important;
	}

	body.dv-stile .back-post-title,
	body.dv-stile .back-post-title a {
		font-size: 18px !important;
	}

	body.dv-stile.single-post .bs-desc p,
	body.dv-stile.single-post .bs-desc li {
		font-size: 18px !important;
	}

	body.dv-stile.single-post .bs-desc > p:first-of-type {
		font-size: 19px !important;
	}

	body.admin-bar.dv-stile .dv-progress {
		top: 46px;
	}

	/* Il tema stringe il logo in larghezza lasciandolo alto 40px: sotto i
	   412px si deformava. Ora mantiene sempre le sue proporzioni. */
	body.dv-stile .back-table-wrap .header-logo {
		flex: 0 0 auto;
	}

	body.dv-stile .header-logo .logo-area img {
		width: auto !important;
		max-width: none !important;
		height: 36px !important;
	}

	body.dv-stile .back-table-wrap .back-header-quote {
		min-width: 0;
	}

	/* Percorso su una riga sola: l'ultima voce ripete il titolo, può accorciarsi. */
	body.dv-stile .breadcrumbs-title {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	/* Archivi: titoli da 30px su 9 righe e margini interni di 46px su uno schermo da 390. */
	body.dv-stile .contents-sticky .full-blog-content {
		padding: 16px 18px 20px !important;
	}

	body.dv-stile .contents-sticky .blog-title,
	body.dv-stile .contents-sticky .blog-title a {
		font-size: 21px !important;
		line-height: 1.25 !important;
	}

	body.dv-stile .contents-sticky .blog-item .blog-img img {
		aspect-ratio: 16 / 10;
	}

	/* Etichette leggibili e facili da toccare col dito. */
	body.dv-stile .back-cat-list a,
	body.dv-stile .back-post-category a {
		padding: 6px 10px !important;
		font-size: 11px !important;
	}

	body.dv-stile .dv-404-cat,
	body.dv-stile .dpa-label {
		font-size: 11px !important;
	}
}

/* Tra 992 e 1199px il menu (7 voci) andava su due righe e la testata, raddoppiata,
   copriva il titolo degli articoli. */
@media (min-width: 992px) and (max-width: 1199px) {
	body.dv-stile .navbar-menu .menu > li > a {
		padding-right: 6px !important;
		padding-left: 6px !important;
		font-size: 14px !important;
	}
}

@media (max-width: 400px) {
	body.dv-stile .back-header-quote .back-dark-light {
		margin-right: 12px;
	}

	body.dv-stile .back-header-quote .back-quote {
		margin-left: 10px;
	}

	body.dv-stile .back-quote .quote-button {
		padding: 8px 14px !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
	}
}

/* Telefoni molto stretti (o testo ingrandito): "Accedi" lascia spazio al logo. */
@media (max-width: 359px) {
	body.dv-stile .back-header-quote .back-quote {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.dv-stile *,
	body.dv-stile *::before,
	body.dv-stile *::after {
		animation: none !important;
		transition: none !important;
	}

	html.dv-js body.dv-stile .back-blog-item {
		opacity: 1;
		transform: none;
	}
}
