/*
Theme Name: Le Médium
Theme URI: https://journal-lemedium.com/
Description: Thème enfant Hello Elementor du Journal Le Médium (refonte 2026/2027) : design system, fonctions éditoriales (Une, Breaking News, articles les plus lus) et intégration Elementor Pro.
Author: Journal Le Médium
Template: hello-elementor
Version: 1.0.0
Text Domain: lemedium
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root {
	--lm-navy: #063568;
	--lm-navy-deep: #04254a;
	--lm-blue: #1266b3;
	--lm-blue-2: #1684ce;
	--lm-blue-light: #eaf3fc;
	--lm-white: #ffffff;
	--lm-grey: #e5eaf0;
	--lm-grey-text: #5b6675;
	--lm-ink: #17212e;
	--lm-accent: #f39200; /* point orange du logo, usage ponctuel */

	--lm-font-head: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--lm-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--lm-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;

	--lm-radius: 6px;
	--lm-radius-lg: 10px;
	--lm-shadow: 0 1px 2px rgba(6, 53, 104, .06), 0 4px 14px rgba(6, 53, 104, .08);
	--lm-container: 1320px;
	--lm-gutter: clamp(16px, 3vw, 32px);
}

/* ==========================================================================
   Base
   ========================================================================== */
body {
	background: var(--lm-white);
	color: var(--lm-ink);
	font-family: var(--lm-font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--lm-font-head);
	color: var(--lm-ink);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -0.01em;
	margin: 0 0 .5em;
}

a { color: var(--lm-blue); text-decoration: none; transition: color .15s ease; }
a:hover, a:focus-visible { color: var(--lm-navy); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--lm-blue-2); outline-offset: 2px; }

img { max-width: 100%; height: auto; }

.lm-container { max-width: var(--lm-container); margin-inline: auto; padding-inline: var(--lm-gutter); }

.screen-reader-text:not(:focus) {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ==========================================================================
   Composants éditoriaux (classes utilisées par les templates Elementor)
   ========================================================================== */

/* Badge de rubrique */
.lm-badge,
.lm-card .elementor-post__badge,
.lm-cat-badge a {
	display: inline-block;
	background: var(--lm-blue);
	color: var(--lm-white) !important;
	font-family: var(--lm-font-head);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 3px;
}
.lm-badge--navy { background: var(--lm-navy); }

/* Titre de section : barre oblique bleue + titre capitales */
.lm-section-title {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	border-bottom: 2px solid var(--lm-grey);
	margin: 0 0 18px; padding-bottom: 8px;
}
.lm-section-title h2,
.lm-section-title .elementor-heading-title {
	position: relative; margin: 0; padding-left: 18px;
	font-size: clamp(18px, 2vw, 22px); font-weight: 900; text-transform: uppercase; color: var(--lm-navy);
}
.lm-section-title h2::before,
.lm-section-title .elementor-heading-title::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 1.05em;
	background: var(--lm-blue); transform: translateY(-50%) skewX(-18deg);
}
.lm-section-title a { font-size: 14px; font-weight: 700; color: var(--lm-blue); white-space: nowrap; }
.lm-section-title a::after { content: " \2192"; }

/* Méta (date + temps de lecture) */
.lm-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 13px; color: var(--lm-grey-text); }
.lm-meta > * + *::before { content: "|"; margin-right: 14px; opacity: .5; }

/* Carte article */
.lm-card { background: var(--lm-white); border-radius: var(--lm-radius); overflow: hidden; box-shadow: var(--lm-shadow); height: 100%; display: flex; flex-direction: column; }
.lm-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--lm-blue-light); }
.lm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lm-card:hover .lm-card__media img { transform: scale(1.03); }
.lm-card__media .lm-badge { position: absolute; left: 12px; bottom: 12px; }
.lm-card__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.lm-card__title { font-size: 19px; font-weight: 800; line-height: 1.25; margin: 0; }
.lm-card__title a { color: var(--lm-ink); }
.lm-card__title a:hover { color: var(--lm-blue); }
.lm-card__excerpt { font-size: 15px; color: var(--lm-grey-text); margin: 0; }

/* Carte « overlay » (Une) */
.lm-overlay { position: relative; display: block; border-radius: var(--lm-radius); overflow: hidden; background: var(--lm-navy); color: var(--lm-white); min-height: 100%; isolation: isolate; }
.lm-overlay img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.lm-overlay::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(4, 37, 74, 0) 30%, rgba(4, 37, 74, .92) 100%); }
.lm-overlay__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(16px, 3vw, 28px); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.lm-overlay__title { color: var(--lm-white); margin: 0; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.15; }
.lm-overlay--hero .lm-overlay__title { font-size: clamp(26px, 3.6vw, 44px); }
.lm-overlay__excerpt { color: rgba(255, 255, 255, .9); margin: 0; max-width: 62ch; font-size: 16px; }
.lm-overlay .lm-meta { color: rgba(255, 255, 255, .85); }
.lm-overlay a { color: inherit; }
.lm-overlay a::before { content: ""; position: absolute; inset: 0; z-index: 1; } /* toute la carte cliquable */

/* Une : grande photo + articles secondaires empilés */
.lm-hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; }
.lm-hero__main .lm-overlay { aspect-ratio: 16 / 10; min-height: 420px; }
.lm-hero__side { display: grid; grid-auto-rows: 1fr; gap: 14px; }
.lm-hero__side .lm-overlay { min-height: 200px; }
@media (max-width: 900px) {
	.lm-hero { grid-template-columns: 1fr; }
	.lm-hero__main .lm-overlay { min-height: 380px; }
	.lm-hero__side { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; }
	.lm-hero__side .lm-overlay { aspect-ratio: 16 / 10; }
}
@media (max-width: 600px) {
	.lm-hero__main .lm-overlay { aspect-ratio: 4 / 5; min-height: auto; }
	.lm-hero__side { grid-template-columns: 1fr; }
	.lm-overlay--hero .lm-overlay__excerpt { display: none; }
}

/* Grille de cartes */
.lm-grid { display: grid; grid-template-columns: repeat(var(--lm-cols, 3), minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .lm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .lm-grid { grid-template-columns: 1fr; gap: 16px; } }

/* Réseaux sociaux */
.lm-social { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.lm-social a { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; color: inherit; border-radius: 50%; }
.lm-social a:hover { background: rgba(127, 127, 127, .15); color: inherit; }
.lm-social svg { width: 17px; height: 17px; fill: currentColor; }

/* Footer bleu marine */
.lm-footer, .lm-footer a { color: rgba(255, 255, 255, .86); }
.lm-footer a:hover { color: var(--lm-white); }
.lm-footer h2, .lm-footer h3, .lm-footer .elementor-heading-title { color: var(--lm-white); }

/* ==========================================================================
   Barre Breaking News
   ========================================================================== */
.lm-breaking { display: flex; align-items: stretch; background: var(--lm-navy); color: var(--lm-white); border-radius: var(--lm-radius); overflow: hidden; min-height: 44px; }
.lm-breaking__label { display: flex; align-items: center; gap: 8px; padding: 0 18px; background: var(--lm-navy-deep); font-family: var(--lm-font-head); font-weight: 900; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.lm-breaking__label svg { width: 16px; height: 16px; fill: currentColor; }
.lm-breaking__track { position: relative; flex: 1; overflow: hidden; }
.lm-breaking__item { position: absolute; inset: 0; display: flex; align-items: center; padding: 0 18px; opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.lm-breaking__item.is-active { opacity: 1; visibility: visible; }
.lm-breaking__item a { color: var(--lm-white); font-weight: 600; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lm-breaking__item a:hover { text-decoration: underline; }
.lm-breaking__nav { display: flex; }
.lm-breaking__nav button { background: transparent; border: 0; color: var(--lm-white); width: 40px; cursor: pointer; font-size: 18px; line-height: 1; padding: 0; }
.lm-breaking__nav button:hover { background: rgba(255, 255, 255, .1); }
@media (max-width: 767px) {
	.lm-breaking__label span { display: none; }
	.lm-breaking__label { padding: 0 12px; }
	.lm-breaking__item a { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14px; }
	.lm-breaking { min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) { .lm-breaking__item { transition: none; } }

/* ==========================================================================
   Articles les plus lus
   ========================================================================== */
.lm-popular { list-style: none; margin: 0; padding: 0; counter-reset: lmpop; }
.lm-popular li { counter-increment: lmpop; display: grid; grid-template-columns: 22px 72px 1fr; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--lm-grey); }
.lm-popular li:last-child { border-bottom: 0; }
.lm-popular li::before { content: counter(lmpop); font-family: var(--lm-font-head); font-weight: 900; font-size: 20px; color: var(--lm-blue); text-align: center; }
.lm-popular img { width: 72px; height: 52px; object-fit: cover; border-radius: 4px; }
.lm-popular a { color: var(--lm-ink); font-weight: 700; font-size: 14px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lm-popular a:hover { color: var(--lm-blue); }

/* ==========================================================================
   Navigation des rubriques (icônes)
   ========================================================================== */
.lm-rubriques { display: grid; grid-template-columns: repeat(8, 1fr); background: var(--lm-navy); border-radius: var(--lm-radius-lg); padding: 14px 8px; }
.lm-rubriques a { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 8px 4px; color: var(--lm-white); font-weight: 700; font-size: 14px; text-align: center; border-right: 1px solid rgba(255, 255, 255, .18); }
.lm-rubriques a:last-child { border-right: 0; }
.lm-rubriques a:hover { color: var(--lm-white); background: rgba(255, 255, 255, .08); border-radius: var(--lm-radius); }
.lm-rubriques svg { width: 34px; height: 34px; stroke: currentColor; fill: none; stroke-width: 1.5; }
@media (max-width: 900px) { .lm-rubriques { grid-template-columns: repeat(4, 1fr); row-gap: 6px; } .lm-rubriques a:nth-child(4n) { border-right: 0; } }
@media (max-width: 480px) { .lm-rubriques a { font-size: 12px; } .lm-rubriques svg { width: 28px; height: 28px; } }

/* ==========================================================================
   Newsletter
   ========================================================================== */
.lm-newsletter { display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap; background: var(--lm-blue-light); border-radius: var(--lm-radius-lg); padding: 18px 22px; }
.lm-newsletter__intro { display: flex; align-items: center; gap: 14px; flex: 1 1 260px; }
.lm-newsletter__intro svg { width: 38px; height: 38px; fill: var(--lm-navy); flex: none; }
.lm-newsletter__intro strong { display: block; font-family: var(--lm-font-head); font-size: 20px; color: var(--lm-navy); }
.lm-newsletter__intro span { font-size: 14px; color: var(--lm-grey-text); }
.lm-newsletter form { display: flex; flex: 1 1 340px; gap: 8px; }
.lm-newsletter input[type="email"] { flex: 1; min-width: 0; height: 46px; border: 1px solid #c9d6e4; border-radius: var(--lm-radius); padding: 0 14px; font-size: 16px; background: var(--lm-white); }
.lm-newsletter button { height: 46px; padding: 0 22px; border: 0; border-radius: var(--lm-radius); background: var(--lm-blue); color: var(--lm-white); font-weight: 800; cursor: pointer; }
.lm-newsletter button:hover { background: var(--lm-navy); }
.lm-newsletter .lm-hp { position: absolute; left: -9999px; }
.lm-newsletter__msg { flex-basis: 100%; font-size: 14px; margin: 0; }
.lm-newsletter--dark { background: var(--lm-navy); }
.lm-newsletter--dark .lm-newsletter__intro strong, .lm-newsletter--dark .lm-newsletter__intro span, .lm-newsletter--dark .lm-newsletter__msg { color: var(--lm-white); }
.lm-newsletter--dark .lm-newsletter__intro svg { fill: var(--lm-white); }
@media (max-width: 480px) { .lm-newsletter form { flex-direction: column; } .lm-newsletter button { width: 100%; } }

/* ==========================================================================
   Article (single)
   ========================================================================== */
.lm-article { max-width: 760px; margin-inline: auto; }
.lm-article__content { font-size: 18px; line-height: 1.75; }
.lm-article__content p { margin: 0 0 1.15em; }
.lm-article__content h2 { font-size: 26px; margin: 1.6em 0 .6em; }
.lm-article__content h3 { font-size: 21px; margin: 1.4em 0 .5em; }
.lm-article__content img { border-radius: var(--lm-radius); }
.lm-article__content figure, .lm-article__content .wp-caption { max-width: 100%; margin: 1.5em 0; }
.lm-article__content figcaption, .lm-article__content .wp-caption-text { font-size: 14px; color: var(--lm-grey-text); padding-top: 6px; }
.lm-article__content blockquote { border-left: 4px solid var(--lm-blue); background: var(--lm-blue-light); margin: 1.5em 0; padding: 14px 20px; font-family: var(--lm-font-serif); font-size: 20px; }
.lm-article__content .alignleft { float: left; margin: .3em 1.2em .8em 0; }
.lm-article__content .alignright { float: right; margin: .3em 0 .8em 1.2em; }
.lm-article__content .aligncenter { display: block; margin-inline: auto; }
@media (max-width: 600px) {
	.lm-article__content { font-size: 17px; }
	.lm-article__content .alignleft, .lm-article__content .alignright { float: none; margin: 1em 0; width: 100%; }
}

/* Partage */
.lm-share { display: flex; gap: 8px; flex-wrap: wrap; }
.lm-share a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--lm-blue-light); color: var(--lm-navy); }
.lm-share a:hover { background: var(--lm-blue); color: var(--lm-white); }
.lm-share svg { width: 18px; height: 18px; fill: currentColor; }

/* Fil d'Ariane Rank Math */
.rank-math-breadcrumb p { margin: 0; font-size: 13px; color: var(--lm-grey-text); }
.rank-math-breadcrumb a { color: var(--lm-blue); }

/* Espaces publicitaires : réservent leur hauteur pour éviter le CLS */
.lm-ad { display: flex; align-items: center; justify-content: center; margin-inline: auto; background: #f5f8fb; overflow: hidden; }
.lm-ad--leaderboard { width: 100%; max-width: 970px; min-height: 90px; }
.lm-ad--rectangle { width: 300px; max-width: 100%; min-height: 250px; }
.lm-ad-wrap { text-align: center; margin: 24px 0; }
.lm-ad-wrap > small { display: block; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #9aa6b4; margin-bottom: 4px; }
@media (max-width: 767px) { .lm-ad--leaderboard { min-height: 100px; max-width: 320px; } }

/* ==========================================================================
   En-tête, navigation, archives, pagination
   ========================================================================== */
.lm-topbar { font-size: 13px; color: var(--lm-navy); }
.lm-topbar .lm-today { font-weight: 700; }
.lm-topbar .lm-social a { width: 28px; height: 28px; color: var(--lm-navy); }
.lm-logo img { max-height: 92px; width: auto; }
@media (max-width: 767px) { .lm-logo img { max-height: 52px; } }

.lm-navbar { border-radius: var(--lm-radius); }
.lm-navbar .elementor-nav-menu--main .elementor-item { font-family: var(--lm-font-head); font-weight: 700; font-size: 15px; color: var(--lm-white); padding: 14px 15px; }
.lm-navbar .elementor-nav-menu--main .elementor-item:hover,
.lm-navbar .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--lm-white); background: rgba(255, 255, 255, .12); }
.lm-navbar .elementor-menu-toggle { color: var(--lm-white); background: transparent; }
.lm-navbar .elementor-nav-menu--dropdown { background: var(--lm-navy); }
.lm-navbar .elementor-nav-menu--dropdown a { color: var(--lm-white); font-weight: 700; padding: 14px 20px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.lm-navbar .elementor-search-form__toggle i,
.lm-navbar .elementor-search-form__toggle svg { color: var(--lm-white); fill: var(--lm-white); }

.lm-archive__lead { margin-bottom: 24px; }
.lm-archive__lead .lm-overlay { aspect-ratio: 21 / 9; min-height: 340px; }
@media (max-width: 600px) { .lm-archive__lead .lm-overlay { aspect-ratio: 4 / 5; min-height: auto; } }
.lm-archive-head .elementor-heading-title { color: var(--lm-navy); font-size: clamp(28px, 4vw, 42px); }
.lm-archive-head .elementor-heading-title::after { content: ""; display: block; width: 64px; height: 5px; margin-top: 10px; background: var(--lm-blue); border-radius: 3px; }

.lm-pagination { margin: 32px 0 8px; }
.lm-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; margin: 0 4px 8px 0; border-radius: var(--lm-radius); background: var(--lm-blue-light); color: var(--lm-navy); font-weight: 700; }
.lm-pagination .page-numbers.current, .lm-pagination a.page-numbers:hover { background: var(--lm-blue); color: var(--lm-white); }
.lm-empty { font-size: 18px; color: var(--lm-grey-text); }

.lm-single-head .elementor-heading-title, .lm-single-head h1 { font-size: clamp(28px, 4.2vw, 46px); line-height: 1.12; color: var(--lm-ink); }
.lm-meta--post { font-size: 14px; }
.lm-meta--post a { font-weight: 700; }
.lm-single-image img { width: 100%; border-radius: var(--lm-radius-lg); aspect-ratio: 16 / 9; object-fit: cover; }
.lm-sidebar { position: sticky; top: 24px; }
.lm-contact, .lm-about { margin: 0; line-height: 1.7; }

/* ==========================================================================
   Tablette (601–900 px)
   ========================================================================== */
@media (min-width: 601px) and (max-width: 900px) {
	.lm-hero__side .lm-overlay { aspect-ratio: 4 / 3; min-height: 260px; }
	.lm-hero__side .lm-overlay__title { font-size: 19px; }
	/* Carte seule en fin de grille : pleine largeur, image à gauche */
	.lm-grid > .lm-card:last-child:nth-child(odd):not(:first-child) { grid-column: 1 / -1; flex-direction: row; }
	.lm-grid > .lm-card:last-child:nth-child(odd):not(:first-child) .lm-card__media { flex: 0 0 50%; aspect-ratio: auto; min-height: 220px; }
	.lm-grid > .lm-card:last-child:nth-child(odd):not(:first-child) .lm-card__body { justify-content: center; padding: 20px 22px; }
	.lm-grid > .lm-card:last-child:nth-child(odd):not(:first-child) .lm-card__title { font-size: 22px; }
	.lm-footer-cols { row-gap: 32px; }
}

/* Grands écrans : la lecture reste confortable au-delà de 1600 px */
@media (min-width: 1600px) {
	.lm-hero__main .lm-overlay { min-height: 520px; }
	.lm-card__title { font-size: 20px; }
}



/* Une grille déclarée sur une colonne le reste à toutes les tailles */
.lm-grid[style*="--lm-cols:1"] { grid-template-columns: minmax(0, 1fr); }

/* Écrans intermédiaires (tablette paysage, petits portables) : navigation resserrée */
@media (min-width: 901px) and (max-width: 1200px) {
	.lm-navbar .elementor-nav-menu--main .elementor-item { padding: 14px 9px; font-size: 14px; }
}

/* Les cartes à image de fond suivent toujours la largeur de leur colonne */
.lm-overlay, .lm-archive__lead { width: 100%; max-width: 100%; }
@media (max-width: 900px) { .lm-archive__lead .lm-overlay { min-height: auto; aspect-ratio: 16 / 10; } }

/* Champs à compléter par la rédaction (pages institutionnelles) */
mark.lm-todo { background: #fff3cd; color: #7a5300; padding: 1px 6px; border-radius: 3px; font-weight: 600; }

/* Cartes photo + titre : la carte grandit avec son texte au lieu de le laisser déborder.
   overflow: clip (et non hidden) conserve la hauteur minimale liée à aspect-ratio. */
.lm-overlay { display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; overflow: clip; }
.lm-overlay__body { position: static; }
.lm-overlay::after { background: linear-gradient(180deg, rgba(4, 37, 74, .12) 0%, rgba(4, 37, 74, .55) 45%, rgba(4, 37, 74, .94) 100%); }
.lm-overlay__title { overflow-wrap: anywhere; hyphens: auto; }
.lm-archive__lead .lm-overlay__title { font-size: clamp(24px, 3vw, 36px); }

/* Emplacement (publicité, réseaux…) sans contenu : aucun espace laissé dans la mise en page */
.elementor-widget-shortcode:has(> .elementor-widget-container > .elementor-shortcode:empty),
.elementor-widget-shortcode:has(> .elementor-shortcode:empty) { display: none; }
.lm-footer .lm-social__title { color: var(--lm-white); font-size: 22px; margin: 0 0 12px; }
.lm-footer .lmo-ad { margin-top: 18px; }

/* Liste compacte sous les cartes de rubrique (accueil) */
.lm-list { list-style: none; margin: 18px 0 0; padding: 0; border-top: 1px solid var(--lm-grey); }
.lm-list li { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--lm-grey); }
.lm-list__thumb img { display: block; width: 96px; height: 68px; object-fit: cover; border-radius: 4px; }
.lm-list__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--lm-ink); font-family: var(--lm-font-head); font-weight: 700; font-size: 15px; line-height: 1.3; }
.lm-list__title:hover { color: var(--lm-blue); }
.lm-list time { display: block; margin-top: 4px; font-size: 13px; color: var(--lm-grey-text); }


/* Logo de l'en-tête */
.lm-logo img { max-height: 92px; width: auto; display: block; }
@media (max-width: 767px) { .lm-logo img { max-height: 56px; } }

/* Accueil, rangée Économie / Afrique / Les plus lus : colonnes de même hauteur, bas alignés.
   La liste d'articles absorbe l'espace restant ; la colonne de droite place la publicité en bas. */
.lm-fill-col { justify-content: space-between; }
.lm-fill-col > .elementor-widget:last-child:has(.lm-list),
.lm-fill-col > .elementor-widget:last-child:has(.lm-list) > .elementor-widget-container,
.lm-fill-col > .elementor-widget:last-child:has(.lm-list) .elementor-shortcode { flex: 1 1 auto; display: flex; flex-direction: column; }
.lm-fill-col .lm-list { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; }

/* 901–1100 px (tablettes en paysage) : menu de 13 entrées sur une seule ligne */
@media (min-width: 901px) and (max-width: 1100px) {
	.lm-navbar .elementor-nav-menu--main .elementor-item { padding: 14px 5px; font-size: 13px; }
}

/* 1201–1366 px : marge de sécurité avant le bouton de recherche */
@media (min-width: 1201px) and (max-width: 1366px) {
	.lm-navbar .elementor-nav-menu--main .elementor-item { padding-left: 11px; padding-right: 11px; }
}

/* Barre Breaking News : rouge brique sobre, accordé au bleu marine */
.lm-breaking { background: #A3262E; }
.lm-breaking__label { background: #7E1A21; }
.lm-breaking__nav button:hover { background: rgba(255, 255, 255, .14); }

/* ==========================================================================
   Cartes photo + titre : titres plus fins et cartes qui grandissent toujours avec leur texte
   (hauteur minimale au lieu d'un format imposé).
   ========================================================================== */
.lm-overlay { aspect-ratio: auto !important; }
.lm-hero__main .lm-overlay { min-height: 460px; }
.lm-hero__side .lm-overlay { min-height: 0; }
.lm-archive__lead .lm-overlay { min-height: 380px; }
.lm-overlay__title { font-size: clamp(17px, 1.45vw, 21px); line-height: 1.22; letter-spacing: 0; hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.lm-overlay--hero .lm-overlay__title { font-size: clamp(22px, 2.3vw, 32px); line-height: 1.16; -webkit-line-clamp: 5; }
.lm-archive__lead .lm-overlay__title { font-size: clamp(22px, 2.2vw, 30px); }
.lm-overlay__excerpt { font-size: 15px; line-height: 1.5; }
@media (min-width: 601px) and (max-width: 900px) {
	.lm-hero__main .lm-overlay { min-height: 400px; }
	.lm-hero__side .lm-overlay { min-height: 250px; }
	.lm-hero__side .lm-overlay__title { font-size: 18px; }
	.lm-archive__lead .lm-overlay { min-height: 320px; }
}
@media (max-width: 600px) {
	.lm-hero__main .lm-overlay { min-height: 360px; }
	.lm-hero__side .lm-overlay { min-height: 220px; }
	.lm-archive__lead .lm-overlay { min-height: 300px; }
	.lm-overlay--hero .lm-overlay__title, .lm-archive__lead .lm-overlay__title { font-size: 22px; }
	.lm-overlay__title { font-size: 18px; }
}
