/* =========================================================================
   lafree.ch — Feuille de style d'impression
   Cible : template Elementor "single-post" (post-1188) + Hello Elementor
   Chargée avec media="print" (voir includes/add-custom-css.php)

   ORDRE DES SECTIONS : ne pas réorganiser.
   La neutralisation Elementor (§3) doit précéder les masquages (§4),
   sinon `.elementor-widget { display:block }` réaffiche les blocs cachés.
   ========================================================================= */

@page {
	size: A4 portrait;
	margin: 20mm 20mm 18mm;
}

@media print {

	/* ---------------------------------------------------------------------
	   1. Base
	   ------------------------------------------------------------------ */
	html,
	body {
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		color: #1a1a1a !important;
		font-size: 10.5pt !important;
		line-height: 1.45 !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	/* ---------------------------------------------------------------------
	   2. Neutraliser le bloc @media print du thème parent
	      hello-elementor/assets/css/reset.css ajoute l'URL après CHAQUE lien
	      (`a[href]:after { content: " (" attr(href) ")" }`) : c'est lui qui
	      polluait les catégories, l'auteur et les mots-clés.
	      On le désactive partout, on le réactive en §8 dans le seul corps
	      de l'article, où l'URL a un intérêt sur papier.
	   ------------------------------------------------------------------ */
	a[href]::after,
	a[href]::before,
	abbr[title]::after {
		content: none !important;
	}

	/* ---------------------------------------------------------------------
	   3. Neutraliser la mise en page Elementor (flex, colonnes, absolu…)
	   ------------------------------------------------------------------ */
	.elementor-section,
	.elementor-container,
	.elementor-column,
	.elementor-widget-wrap,
	.e-con,
	.e-con-inner,
	.elementor-element,
	.elementor-widget,
	.elementor-widget-container {
		display: block !important;
		float: none !important;
		position: static !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: none !important;
		box-shadow: none !important;
		transform: none !important;
		overflow: visible !important;
		inset: auto !important;
	}

	.elementor *,
	.elementor *::before,
	.elementor *::after {
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/* ---------------------------------------------------------------------
	   4. Ce qu'on ne veut PAS sur le papier
	      Sélecteurs préfixés par `body` : spécificité (0,1,1) contre (0,1,0)
	      pour §3, donc le masquage gagne quel que soit l'ordre du fichier.
	   ------------------------------------------------------------------ */

	/* En-tête, menu et pied de page du site */
	body .elementor-location-header,
	body .elementor-location-footer,
	body header[data-elementor-type="header"],
	body footer[data-elementor-type="footer"],
	body nav,
	body .elementor-widget-nav-menu,
	body .elementor-widget-social-icons,
	body #wpadminbar,

	/* Bouton « Tous les articles » */
	body .elementor-element-5ce41e6,
	body .elementor-widget-button,

	/* Blocs « Partager cet article » (variantes desktop + mobile) */
	body .elementor-element-53b04d0,
	body .elementor-element-a6bb8b6,
	body .elementor-element-4ecc0ac,
	body .elementor-element-8503f1c,
	body .elementor-element-8c232e0,
	body .elementor-element-634e201,
	body .elementor-element-f1edc29,
	body .elementor-element-b8d5466,
	body .elementor-widget-share-buttons,
	body .elementor-share-btn,
	body #copyURL,

	/* Publicités : libellé « Publicité » + listing JetEngine 1739 */
	body .elementor-element-3271040,
	body .elementor-element-5ddbece,
	body .jet-listing-grid--1739,
	body .jet-engine-listing-overlay-link,

	/* Bloc « Articles en lien » : titre + listing JetEngine 1300 */
	body .elementor-element-e3f890c,
	body .elementor-element-cae0af0,
	body .jet-listing-grid--1300,

	/* Encart newsletter Acymailing */
	body .elementor-element-9a5ba32,
	body .elementor-element-7b5c74e,
	body .elementor-element-ccbce6b,
	body .elementor-element-31a85c7,
	body .elementor-widget-shortcode,
	body .acym_module,
	body .acym_form,
	body .acymailing_module,

	/* Médias interactifs et formulaires */
	body iframe,
	body video,
	body audio,
	body .elementor-widget-video,
	body form,
	body button,
	body input,
	body select,
	body textarea,

	/* Pictogrammes : la police d'icônes ne s'imprime pas (carrés vides) */
	body .elementor-icon,
	body .elementor-icon-box-icon,
	body .jet-listing-dynamic-field__icon,
	body .jet-listing-dynamic-terms__icon,
	body i[class*="lucide"],
	body i[class*="fa-"],
	body i[class*="eicon"] {
		display: none !important;
	}

	/* ---------------------------------------------------------------------
	   5. Bandeau de tête — s'imprime une seule fois, en haut de la page 1
	   ------------------------------------------------------------------ */
	.elementor-widget-theme-post-title::before {
		content: "lafree.ch";
		display: block;
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif;
		font-size: 8.5pt;
		font-weight: 700;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: #054b7c !important;
		border-bottom: 1pt solid #054b7c;
		padding-bottom: 2mm;
		margin-bottom: 7mm;
	}

	/* ---------------------------------------------------------------------
	   6. Bloc de tête de l'article
	   ------------------------------------------------------------------ */

	/* Les pastilles de termes portent padding/margin/fond depuis le template
	   (post-1188.css). Le fond saute à l'impression mais pas les espacements :
	   on les remet à zéro, sinon la ligne est décalée et trouée. */
	.jet-listing-dynamic-terms__link {
		display: inline !important;
		padding: 0 !important;
		margin: 0 !important;
		background: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		line-height: 1.4 !important;
	}

	/* Surtitre : catégories, sur une seule ligne */
	.elementor-element-f007f18 .jet-listing-dynamic-terms {
		margin-bottom: 2.5mm !important;
	}

	.elementor-element-f007f18 .jet-listing-dynamic-terms__link {
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif !important;
		font-size: 8pt !important;
		font-weight: 700 !important;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: #f9584d !important;
		text-decoration: none !important;
	}

	.elementor-element-f007f18 .jet-listing-dynamic-terms__link + .jet-listing-dynamic-terms__link::before {
		content: "\00a0\00b7\00a0" !important;
		color: #92918e !important;
	}

	/* Titre */
	.elementor-widget-theme-post-title h1,
	.elementor-widget-theme-post-title .elementor-heading-title {
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif !important;
		font-size: 21pt !important;
		font-weight: 700 !important;
		line-height: 1.12 !important;
		color: #054b7c !important;
		margin: 0 0 2mm !important;
		page-break-after: avoid;
		break-after: avoid;
	}

	/* Signature et date : une seule ligne, séparées par un point médian */
	.elementor-element-ed688e3,
	.elementor-element-ed688e3 *,
	.elementor-element-cd54e51,
	.elementor-element-cd54e51 * {
		display: inline !important;
		font-family: "Ubuntu", Helvetica, Arial, sans-serif !important;
		font-size: 9pt !important;
		line-height: 1.4 !important;
		color: #5f5d59 !important;
		text-decoration: none !important;
	}

	.elementor-element-ed688e3 .elementor-icon-box-title,
	.elementor-element-ed688e3 .elementor-icon-box-title a {
		font-weight: 600 !important;
		color: #353530 !important;
	}

	.elementor-element-cd54e51::before {
		content: "\00a0\00b7\00a0" !important;
		color: #92918e !important;
	}

	/* Bloc méta : auteur/date puis mots-clés, filet sous l'ensemble */
	.elementor-element-5ada209 {
		margin-bottom: 2mm !important;
	}

	.elementor-element-b1dfa84 {
		margin-bottom: 6mm !important;
		padding-bottom: 3mm !important;
		border-bottom: 0.5pt solid #dcdcdc !important;
	}

	/* Chapô */
	.elementor-element-f25d032 {
		margin: 0 0 6mm !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.elementor-element-f25d032 .jet-listing-dynamic-field__content {
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif !important;
		font-size: 11.5pt !important;
		font-weight: 600 !important;
		line-height: 1.38 !important;
		color: #353530 !important;
		border-left: 2pt solid #fdbf00 !important;
		padding-left: 4mm !important;
	}

	/* ---------------------------------------------------------------------
	   7. Corps de l'article
	      La taille doit être posée sur les éléments eux-mêmes : le conteneur
	      seul ne suffit pas, les paragraphes gardaient sinon les ~17pt
	      hérités du kit Elementor (`.elementor-kit-7 { font-size:1.6rem }`).
	   ------------------------------------------------------------------ */
	.elementor-widget-theme-post-content,
	.elementor-widget-theme-post-content .elementor-widget-container {
		font-family: "Ubuntu", Georgia, serif !important;
		color: #1a1a1a !important;
	}

	.elementor-widget-theme-post-content p,
	.elementor-widget-theme-post-content li,
	.elementor-widget-theme-post-content td,
	.elementor-widget-theme-post-content th {
		font-family: "Ubuntu", Georgia, serif !important;
		font-size: 10.5pt !important;
		font-weight: 400 !important;
		line-height: 1.45 !important;
		color: #1a1a1a !important;
		text-align: justify;
		hyphens: auto;
		-webkit-hyphens: auto;
		orphans: 3;
		widows: 3;
	}

	.elementor-widget-theme-post-content p {
		margin: 0 0 3mm !important;
	}

	.elementor-widget-theme-post-content h2,
	.elementor-widget-theme-post-content h3,
	.elementor-widget-theme-post-content h4 {
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif !important;
		color: #054b7c !important;
		line-height: 1.2 !important;
		margin: 6mm 0 2mm !important;
		text-align: left !important;
		page-break-after: avoid;
		break-after: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.elementor-widget-theme-post-content h2 { font-size: 13pt !important; font-weight: 700 !important; }
	.elementor-widget-theme-post-content h3 { font-size: 11.5pt !important; font-weight: 700 !important; }
	.elementor-widget-theme-post-content h4 { font-size: 10.5pt !important; font-weight: 600 !important; }

	.elementor-widget-theme-post-content ul,
	.elementor-widget-theme-post-content ol {
		margin: 0 0 3mm 6mm !important;
		padding: 0 !important;
	}

	.elementor-widget-theme-post-content li {
		margin-bottom: 1mm !important;
		text-align: left !important;
	}

	.elementor-widget-theme-post-content blockquote {
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif !important;
		font-size: 11.5pt !important;
		font-style: italic;
		line-height: 1.35 !important;
		color: #054b7c !important;
		border-left: 2pt solid #f9584d !important;
		margin: 4mm 0 !important;
		padding: 0 0 0 5mm !important;
		text-align: left !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.elementor-widget-theme-post-content blockquote p {
		font-family: inherit !important;
		font-size: inherit !important;
		color: inherit !important;
		text-align: left !important;
	}

	/* `color: inherit` et non une couleur fixe : certains articles écrivent
	   leurs sous-titres <h2><strong>…</strong></h2>, une couleur en dur ici
	   repasserait le titre en noir par-dessus le bleu. */
	.elementor-widget-theme-post-content strong,
	.elementor-widget-theme-post-content b {
		font-weight: 700 !important;
		color: inherit !important;
	}

	.elementor-widget-theme-post-content em,
	.elementor-widget-theme-post-content i {
		font-style: italic !important;
	}

	/* ---------------------------------------------------------------------
	   8. Liens
	   ------------------------------------------------------------------ */
	a,
	a:visited {
		color: #1a1a1a !important;
		text-decoration: none !important;
	}

	/* URL affichée uniquement pour les liens du corps de l'article */
	.elementor-widget-theme-post-content a[href^="http"] {
		text-decoration: underline !important;
	}

	.elementor-widget-theme-post-content a[href^="http"]::after {
		content: " (" attr(href) ")" !important;
		font-size: 8pt !important;
		font-weight: 400 !important;
		color: #5f5d59 !important;
		word-break: break-all;
		text-decoration: none !important;
	}

	.elementor-widget-theme-post-content a[href^="#"]::after,
	.elementor-widget-theme-post-content a[href^="mailto"]::after,
	.elementor-widget-theme-post-content a[href^="tel"]::after,
	.elementor-widget-theme-post-content a:has(img)::after {
		content: none !important;
	}

	/* ---------------------------------------------------------------------
	   9. Images
	   ------------------------------------------------------------------ */
	img {
		max-width: 100% !important;
		width: auto !important;
		height: auto !important;
		max-height: 90mm;
		border-radius: 0 !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* Image à la une */
	.elementor-element-eb0a2b4 {
		margin: 0 0 5mm !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.elementor-element-eb0a2b4 img {
		max-height: 75mm;
		display: block;
	}

	figure {
		margin: 4mm 0 !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	figcaption,
	.wp-caption-text {
		font-family: "Ubuntu", Helvetica, Arial, sans-serif !important;
		font-size: 8pt !important;
		font-style: italic;
		color: #5f5d59 !important;
		text-align: left !important;
		margin-top: 1.5mm !important;
	}

	/* ---------------------------------------------------------------------
	   10. Mots-clés (sous le bloc méta) et mention de source
	   ------------------------------------------------------------------ */
	.elementor-element-eeea812 {
		margin: 0 0 5mm !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.elementor-element-eeea812 .jet-listing-dynamic-terms::before {
		content: "Mots-clés\00a0: " !important;
		font-family: "Ubuntu", Helvetica, Arial, sans-serif;
		font-size: 8.5pt;
		color: #92918e !important;
	}

	.elementor-element-eeea812 .jet-listing-dynamic-terms__link {
		font-family: "Ubuntu", Helvetica, Arial, sans-serif !important;
		font-size: 8.5pt !important;
		color: #5f5d59 !important;
	}

	.elementor-element-eeea812 .jet-listing-dynamic-terms__link::before {
		content: "" !important;
	}

	.elementor-element-eeea812 .jet-listing-dynamic-terms__link + .jet-listing-dynamic-terms__link::before {
		content: "\00a0\00b7\00a0" !important;
		color: #92918e !important;
	}

	/* Encadré optionnel de fin d'article (champ JetEngine du template).
	   Vide sur beaucoup d'articles, rempli sur d'autres : on le cadre pour
	   qu'il se distingue du corps de texte au lieu de s'y fondre. */
	.elementor-element-94ebaa3 .jet-listing-dynamic-field__content {
		border: 0.5pt solid #c5c5c3 !important;
		padding: 4mm 5mm !important;
		margin: 6mm 0 0 !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.elementor-element-94ebaa3 h2,
	.elementor-element-94ebaa3 h3 {
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif !important;
		font-size: 11.5pt !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		color: #054b7c !important;
		margin: 0 0 2mm !important;
	}

	.elementor-element-94ebaa3 p,
	.elementor-element-94ebaa3 li {
		font-family: "Ubuntu", Helvetica, Arial, sans-serif !important;
		font-size: 9.5pt !important;
		line-height: 1.4 !important;
		color: #353530 !important;
		margin: 0 0 2mm !important;
		text-align: left !important;
	}

	/* Mention de source : ancrée à la fin du document et non à la fin du
	   widget de contenu, sinon elle s'intercale avant l'encadré ci-dessus. */
	body::after {
		content: "Article publié sur www.lafree.ch";
		display: block;
		margin-top: 7mm;
		padding-top: 2mm;
		border-top: 1pt solid #054b7c;
		font-family: "Hanken Grotesk", Helvetica, Arial, sans-serif;
		font-size: 8pt;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: #054b7c !important;
		text-align: left;
		page-break-inside: avoid;
		break-inside: avoid;
	}
}
