@media print {

	/* ============ HIDE ============ */
	header,
	.ghost-header,
	footer,
	.footer.footer-center,
	section#form,
	dialog,
	#modalNewsletter,
	#modalInfo,
	#modalAcademy,
	.searchPopup,
	.social-wrapper,
	.social_share,
	.single-post-wrapper .bg-blue,
	.single-post-wrapper > .lg\:hidden,
	.menu-bottom,
	.wrapperHeaderOpen,
	.hamburgerMenu,
	.searchInputCta,
	.post-navigation,
	iframe,
	noscript,
	button[onclick*="modalInfo"],
	button[onclick*="window.print"] {
		display: none !important;
	}

	/* Mostra il box info desktop (Tailwind max-lg:hidden lo nasconderebbe in stampa) */
	.single-post-wrapper .max-lg\:hidden {
		display: block !important;
	}

	/* ============ BASE ============ */
	html, body {
		background: #fff !important;
		color: #000 !important;
		font-family: Georgia, "Times New Roman", serif;
		font-size: 11pt;
		line-height: 1.45;
		padding: 0 !important;
		margin: 0 !important;
	}

	.bg-blue,
	.bg-blue-light,
	.bg-ocra,
	[class*="bg-gradient-"] {
		background: none !important;
		background-image: none !important;
		background-color: transparent !important;
		color: #000 !important;
	}

	/* Animazioni fadeIn possono lasciare opacity:0 in stampa */
	.fadeIn {
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
	}

	/* ============ HERO ============ */
	.single-post-hero {
		height: auto !important;
		min-height: 0 !important;
		padding: 0 0 1rem 0 !important;
		background: none !important;
	}
	.single-post-hero h1 {
		color: #002855 !important;
		font-size: 22pt;
		line-height: 1.2;
		margin: 0 0 .8rem 0;
		page-break-after: avoid;
	}
	.single-post-hero picture { display: none !important; }

	/* ============ WRAP ============ */
	/* reset negative top margin (lg:-mt-[340px] xl:-mt-[240px]) */
	.single-post-hero + .tw-section {
		margin-top: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	.single-post-wrapper {
		display: block !important;
	}
	.builder-single-post {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: none !important;
	}

	/* Hero image dentro il builder */
	.builder-single-post > picture {
		display: block !important;
		aspect-ratio: auto !important;
		margin-bottom: 1rem;
	}
	.builder-single-post > picture img {
		max-height: 280px;
		width: auto !important;
		object-fit: cover;
	}

	/* ============ BOX INFO LATERALE ============ */
	.single-post-wrapper > .max-lg\:hidden {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
		margin: 1rem 0 !important;
		page-break-inside: avoid;
	}
	.insights-info {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		gap: 1.5rem;
		border: 1px solid #ccc;
		padding: .5rem 1rem !important;
	}
	.insights-info .insight-info-in {
		border: none !important;
		padding: .2rem 0 !important;
		flex: 0 0 auto;
	}
	.insights-info .insight-info-in > div { display: block !important; padding: 0 !important; }
	.insights-info .font-bold { font-size: 9pt; text-transform: uppercase; color: #555; }

	.terms-wrapper {
		border: none !important;
		padding: .3rem 0 !important;
	}
	.term-item {
		display: inline-block;
		border: 1px solid #888;
		padding: 2px 8px;
		margin: 2px 4px 2px 0;
		font-size: 9pt;
	}

	/* Box "Ask for information" + share dentro la sidebar desktop */
	.single-post-wrapper .max-lg\:hidden .px-6.pb-6 {
		display: none !important;
	}

	/* ============ CONTENUTO ============ */
	.post_text,
	.format-text {
		padding: 0 !important;
		margin: 0 0 1rem 0 !important;
		max-width: 100% !important;
	}
	.post_text h2,
	.post_text h3,
	.post_text strong {
		color: #002855 !important;
	}
	.post_text h2 { font-size: 14pt; margin: 1.2rem 0 .4rem; page-break-after: avoid; }
	.post_text h3 { font-size: 13pt; margin: 1rem 0 .4rem; page-break-after: avoid; }
	.post_text p { margin: .5rem 0; }
	.post_text ul,
	.post_text ol { margin: .5rem 0 .5rem 1.5rem; padding-left: .5rem; }
	.post_text li { margin: .2rem 0; }

	/* ============ LOGO (iniettato da PHP via custom property) ============ */
	body::before {
		content: "";
		display: var(--print-logo-display, none);
		width: 134px;
		height: 44px;
		background: var(--print-logo-url, none) no-repeat left center;
		background-size: contain;
		margin: 0 0 1rem 0;
	}

	/* ============ PAGE ============ */
	@page {
		size: A4;
		margin: 1.5cm 1.8cm 1.8cm 1.8cm;
	}

	* {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	p, li { orphans: 3; widows: 3; }
	h1, h2, h3, h4 { page-break-after: avoid; break-after: avoid; }
	img, picture { page-break-inside: avoid; break-inside: avoid; }

	a, a:visited { color: #000 !important; text-decoration: underline; }
	a[href^="#"]::after,
	a[href^="javascript:"]::after { content: "" !important; }
}
