/**
 * [Libram] Foglio di stampa per news, sunti e scadenze (caricato con media="print").
 *
 * In stampa resta solo l'articolo: logo, titolo, sommario, data/autore, testo
 * e indirizzo della pagina. Header, menu, breadcrumb, sidebar, pulsanti,
 * modali, banner cookie e footer non vengono stampati.
 *
 * @package Libram
 */

@page {
	size: A4;
	margin: 16mm 16mm 18mm;
}

/* --- 1. Reset generale: testo nero su bianco, niente effetti ------------- */
html,
body {
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	color: #000 !important;
	font-size: 11pt;
	line-height: 1.5;
}

*,
*::before,
*::after {
	box-shadow: none !important;
	text-shadow: none !important;
	animation: none !important;
	transition: none !important;
}

main,
main section,
main .container {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}

/* --- 2. Elementi del sito da non stampare -------------------------------- */
#wpadminbar,
.skip-link,
.top-bar,
.site-header,
.mobile-menu-overlay,
.mobile-menu-drawer,
.breadcrumb-wrap,
.site-footer,
.sidebar-sticky,
.article-pager,
.article-cta,
.article-video,
.article-video-link,
.service-cta-box,
.singular-download,
.hero-actions,
.btn,
button,
.guest-lock-icon,
.modal-overlay,
[data-libram-modal],
[role="dialog"],
.grecaptcha-badge,
#onetrust-consent-sdk,
#onetrust-banner-sdk,
#ot-sdk-btn-floating,
.ot-floating-button,
iframe,
video,
audio,
embed,
object,
noscript,
form {
	display: none !important;
}

html { margin-top: 0 !important; } /* Barra di amministrazione per gli utenti collegati. */

/* Blocchi visibili solo in stampa (attributo hidden a schermo). */
.print-only[hidden] {
	display: block !important;
}

/* --- 3. Intestazione con logo ------------------------------------------- */
.print-brand {
	display: flex !important;
	align-items: center;
	gap: 10pt;
	padding-bottom: 8pt;
	margin-bottom: 14pt;
	border-bottom: 0.75pt solid #000;
}
.print-brand img {
	width: 38mm;
	height: auto;
}
.print-brand span {
	font-size: 8.5pt;
	color: #444 !important;
}

/* --- 4. Testata: titolo e sommario senza immagine di sfondo ------------- */
.hero-bg {
	background: none !important;
	color: #000 !important;
	padding: 0 !important;
	margin: 0 0 10pt !important;
	overflow: visible !important;
	min-height: 0 !important;
}
.hero-bg::before,
.hero-bg::after {
	display: none !important;
}
.hero-bg-inner {
	text-align: left !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.hero-bg-inner h1,
.hero-compact .hero-bg-inner h1,
.single-post .hero-bg-inner h1 {
	color: #000 !important;
	font-size: 20pt !important;
	line-height: 1.2 !important;
	margin: 4pt 0 6pt !important;
	text-wrap: balance;
}
.hero-bg-inner p.lead,
.hero-compact .hero-bg-inner p.lead {
	color: #222 !important;
	font-size: 12pt !important;
	line-height: 1.45 !important;
	max-width: none !important;
	margin: 0 !important;
	font-style: italic;
}

/* Etichette (testata/categoria) come semplice testo. */
.badge {
	display: inline !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	color: #444 !important;
	font-size: 8.5pt !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.badge i,
.article-meta-bar i {
	display: none !important;
}

/* --- 5. Corpo dell'articolo --------------------------------------------- */
.detail-layout {
	display: block !important;
}
.detail-article,
.service-editorial-wrap,
.service-editorial-body {
	display: block !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

.article-meta-bar {
	display: block !important;
	color: #333 !important;
	font-size: 9pt !important;
	margin: 0 0 14pt !important;
	padding: 0 0 8pt !important;
	border-bottom: 0.5pt solid #999 !important;
}
.article-meta-bar > * {
	display: inline !important;
}
.article-meta-bar > * + *::before {
	content: " · ";
	color: #777;
}
.article-meta-bar a {
	color: #333 !important;
	text-decoration: none !important;
}

.article-content,
.article-members,
.service-editorial-body {
	color: #000 !important;
	font-size: 11pt !important;
}

.detail-article p,
.article-content p,
.service-editorial-body p,
.detail-article li,
.service-editorial-body li {
	color: #000 !important;
	font-size: 11pt !important;
	line-height: 1.5 !important;
	orphans: 3;
	widows: 3;
}

h1, h2, h3, h4, h5, h6 {
	color: #000 !important;
	page-break-after: avoid;
	break-after: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}
.detail-article h2,
.article-content h2,
.service-editorial-body h2 {
	font-size: 15pt !important;
	margin: 16pt 0 6pt !important;
	padding: 0 !important;
	border: 0 !important;
}
.detail-article h3,
.article-content h3,
.service-editorial-body h3 {
	font-size: 13pt !important;
	margin: 12pt 0 5pt !important;
}
.detail-article h4,
.article-content h4,
.service-editorial-body h4 {
	font-size: 11.5pt !important;
	margin: 10pt 0 4pt !important;
}

a {
	color: #000 !important;
	text-decoration: underline;
}

/* Indirizzo dei link esterni dopo il testo (non per le immagini né per le ancore). */
.article-content a[href^="http"]:not(:has(img))::after,
.article-members a[href^="http"]:not(:has(img))::after,
.service-editorial-body a[href^="http"]:not(:has(img))::after {
	content: " (" attr(href) ")";
	font-size: 8.5pt;
	color: #444;
	word-break: break-all;
	text-decoration: none;
}

img,
figure,
table,
blockquote,
pre {
	page-break-inside: avoid;
	break-inside: avoid;
}
img {
	max-width: 100% !important;
	height: auto !important;
}
figure {
	margin: 10pt 0 !important;
}
figcaption {
	font-size: 9pt;
	color: #444 !important;
}

ul, ol {
	padding-left: 18pt !important;
}
.detail-article ul li i { /* Icone di elenco dell'editor: torna il pallino. */
	display: none !important;
}

blockquote {
	margin: 10pt 0 !important;
	padding: 0 0 0 10pt !important;
	border-left: 2pt solid #000 !important;
	background: none !important;
	font-style: italic;
}

table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 9.5pt !important;
	margin: 10pt 0 !important;
}
thead {
	display: table-header-group; /* Intestazione ripetuta su ogni pagina. */
}
tr {
	page-break-inside: avoid;
	break-inside: avoid;
}
th,
td {
	border: 0.5pt solid #666 !important;
	padding: 4pt 6pt !important;
	background: none !important;
	color: #000 !important;
	text-align: left;
	vertical-align: top;
}
th {
	font-weight: 700;
}

/* --- 6. Contenuto riservato --------------------------------------------- */
.article-members-label {
	font-size: 9pt !important;
	color: #444 !important;
	margin: 14pt 0 6pt !important;
	padding-top: 8pt !important;
	border-top: 0.5pt dashed #999 !important;
}
.article-members-label i {
	display: none !important;
}
.article-locked,
.guest-lock-box {
	background: none !important;
	border: 0.5pt solid #999 !important;
	border-radius: 0 !important;
	padding: 8pt 10pt !important;
	margin: 14pt 0 0 !important;
	color: #000 !important;
	text-align: left !important;
}
.article-locked h3,
.guest-lock-box h2 {
	font-size: 11pt !important;
	margin: 0 0 3pt !important;
}
.article-locked p {
	font-size: 9.5pt !important;
	margin: 0 !important;
}

/* --- 7. Piede con l'indirizzo dell'articolo ----------------------------- */
.print-source {
	margin-top: 18pt;
	padding-top: 6pt;
	border-top: 0.5pt solid #999;
	font-size: 8.5pt;
	color: #444 !important;
	word-break: break-all;
}
