/* ==========================================================================
   Le Média Immo — Theme Stylesheet
   Design tokens: primary #03387C · accent #FF914D · radius 0 · font Poppins
   ========================================================================== */

/* ── 1. CSS Custom Properties ─────────────────────────────────────────────── */
:root {
	--lmi-primary:        #03387C;
	--lmi-primary-dark:   #022960;
	--lmi-accent:         #FF914D;
	--lmi-accent-dark:    #e87a38;
	--lmi-bg:             #ffffff;
	--lmi-surface:        #f6f6f6;
	--lmi-border:         #E0E0E0;
	--lmi-fg:             #03387C;
	--lmi-muted:          #7a96be;
	--lmi-radius:         0px;

	--lmi-nav-h:          48px;
	--lmi-player-h:       40px;
	--lmi-container-w:    1600px;
	--lmi-container-px:   16px;

	--lmi-font:           'Poppins', sans-serif;
	--lmi-font-heading:   'Poppins', sans-serif;

	--lmi-transition:     0.15s ease;
}

/* ── 2. Base Reset ─────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
	font-family: var(--lmi-font);
	font-size:   16px;
	-webkit-text-size-adjust: 100%;
}

body {
	margin:           0;
	background-color: var(--lmi-bg);
	color:            var(--lmi-fg);
}


body.lmi-overlay-open { overflow: hidden; }

img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit !important; text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
	font-family:    var(--lmi-font-heading) !important;
	font-weight:    700 !important;
	line-height:    1.2;
	margin:         0 0 0.5em;
	color:          var(--lmi-fg) !important;
}

p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { cursor: pointer; font-family: var(--lmi-font); border: 0; background: none; padding: 0; }

/* ── 3. Layout Utilities ──────────────────────────────────────────────────── */
.lmi-container {
	width:     100%;
	max-width: var(--lmi-container-w);
	margin:    0 auto;
	padding:   0 var(--lmi-container-px);
}

.lmi-container--main {
	padding-top:    24px;
	padding-bottom: 48px;
}

/* ── 4. Buttons ───────────────────────────────────────────────────────────── */
.lmi-btn {
	display:          inline-flex;
	align-items:      center;
	justify-content:  center;
	gap:              6px;
	padding:          7px 14px !important;
	font-size:        12px !important;
	font-weight:      700;
	line-height:      1;
	border-radius:    var(--lmi-radius) !important;
	text-decoration:  none;
	transition:       opacity var(--lmi-transition);
	white-space:      nowrap;
}
.lmi-btn:hover { opacity: 0.88; text-decoration: none; }

.lmi-btn--primary {
	background-color: var(--lmi-primary) !important;
	color:            #fff !important;
}
.lmi-btn--accent {
	background-color: var(--lmi-accent) !important;
	color:            #fff !important;
}
.lmi-btn--full { width: 100%; }
.lmi-btn--outline {
	background-color: transparent !important;
	color:            var(--lmi-fg) !important;
	border:           1px solid var(--lmi-border);
}
.lmi-btn--outline:hover { opacity: 1; border-color: var(--lmi-primary); }

/* ── 5. Badges ────────────────────────────────────────────────────────────── */
.lmi-badge {
	display:          inline-flex;
	align-items:      center;
	gap:              4px;
	padding:          2px 7px;
	font-size:        11px;
	font-weight:      600;
	background-color: rgba(255, 145, 77, 0.15);
	color:            var(--lmi-accent);
	border-radius:    var(--lmi-radius);
	text-decoration:  none;
}
.lmi-badge--media   { background-color: rgba(255, 145, 77, 0.12); }
.lmi-badge--emission { background-color: rgba(255, 145, 77, 0.12); }

.lmi-card__badges {
	display:     flex;
	flex-wrap:   wrap;
	gap:         5px;
	margin-bottom: 5px;
}

/* ── 6. Navigation ────────────────────────────────────────────────────────── */
.lmi-nav {
	position:         sticky;
	top:              0;
	z-index:          1000;
	background-color: var(--lmi-primary);
	height:           var(--lmi-nav-h);
}

.lmi-nav__inner {
	display:          flex;
	align-items:      center;
	height:           100%;
	gap:              16px;
}

/* Logo */
.lmi-nav__logo img { height: 28px; width: auto; }

/* Desktop nav */
.lmi-nav__desktop {
	display:      none;
	align-items:  center;
	flex:         1;
	justify-content: center;
	gap:          0;
}
@media (min-width: 1024px) {
	.lmi-nav__desktop { display: flex; }
}

.lmi-nav__link {
	display:        flex;
	align-items:    center;
	gap:            4px;
	padding:        14px 12px !important;
	font-size:      13px !important;
	font-weight:    500;
	color:          rgba(255, 255, 255, 0.7) !important;
	background-color: transparent !important;
	border-radius:  0 !important;
	border-bottom:  3px solid transparent;
	transition:     color var(--lmi-transition), border-color var(--lmi-transition);
	text-decoration: none;
	white-space:    nowrap;
}
.lmi-nav__link:hover,
.lmi-nav__link:focus-visible {
	color:         var(--lmi-accent) !important;
	border-color:  var(--lmi-accent);
	text-decoration: none;
}
.lmi-nav__link--toggle { background: none !important; }

.lmi-nav__chevron {
	transition: transform var(--lmi-transition);
	flex-shrink: 0;
}
[aria-expanded="true"] .lmi-nav__chevron { transform: rotate(180deg); }

/* Dropdown */
.lmi-nav__item { position: relative; }

.lmi-dropdown {
	position:         absolute;
	top:              100%;
	left:             0;
	background-color: var(--lmi-primary);
	min-width:        220px;
	padding:          8px 0;
	z-index:          100;
	box-shadow:       0 8px 24px rgba(0,0,0,0.25);
	border-top:       2px solid var(--lmi-accent);
}
.lmi-dropdown[hidden] { display: none; }

.lmi-dropdown__link {
	display:         block;
	padding:         10px 20px;
	font-size:       13px;
	font-weight:     500;
	color:           rgba(255,255,255,0.8) !important;
	transition:      color var(--lmi-transition), background-color var(--lmi-transition);
}
.lmi-dropdown__link:hover {
	color:            var(--lmi-accent) !important;
	background-color: rgba(255,255,255,0.06);
	text-decoration:  none;
}

/* Right actions */
.lmi-nav__actions {
	display:     flex;
	align-items: center;
	gap:         10px;
	margin-left: auto;
}
@media (min-width: 1024px) {
	.lmi-nav__actions { margin-left: 0; }
}

.lmi-nav__search-btn {
	color:            rgba(255,255,255,0.7) !important;
	background-color: transparent !important;
	border-radius:    0 !important;
	padding:          6px !important;
	transition:       color var(--lmi-transition);
}
.lmi-nav__search-btn:hover { color: var(--lmi-accent) !important; }

.lmi-nav__nl-btn {
	display: none;
}
@media (min-width: 640px) {
	.lmi-nav__nl-btn { display: inline-flex; }
}

.lmi-nav__ad-btn {
	display:          none;
	background-color: transparent !important;
	color:            #fff !important;
	border:           1px solid rgba(255,255,255,0.4);
}
.lmi-nav__ad-btn:hover {
	background-color: rgba(255,255,255,0.1) !important;
	border-color:     #fff;
	opacity:          1;
}
@media (min-width: 640px) {
	.lmi-nav__ad-btn { display: inline-flex; }
}

/* Mobile hamburger */
.lmi-nav__mobile-toggle {
	display:          flex;
	align-items:      center;
	padding:          6px !important;
	color:            rgba(255,255,255,0.8) !important;
	background-color: transparent !important;
	border-radius:    0 !important;
}
@media (min-width: 1024px) {
	.lmi-nav__mobile-toggle { display: none; }
}

.lmi-nav__hamburger,
.lmi-nav__hamburger::before,
.lmi-nav__hamburger::after {
	display:          block;
	width:            20px;
	height:           2px;
	background-color: currentColor;
	border-radius:    1px;
	transition:       transform var(--lmi-transition), opacity var(--lmi-transition);
}
.lmi-nav__hamburger { position: relative; }
.lmi-nav__hamburger::before,
.lmi-nav__hamburger::after {
	content:  '';
	position: absolute;
	left:     0;
}
.lmi-nav__hamburger::before { top: -6px; }
.lmi-nav__hamburger::after  { top:  6px; }

.lmi-nav__mobile-toggle.is-open .lmi-nav__hamburger { background-color: transparent; }
.lmi-nav__mobile-toggle.is-open .lmi-nav__hamburger::before { transform: rotate(45deg); top: 0; }
.lmi-nav__mobile-toggle.is-open .lmi-nav__hamburger::after  { transform: rotate(-45deg); top: 0; }

/* ── 7. Mobile Menu ──────────────────────────────────────────────────────── */
.lmi-mobile-menu {
	position:         fixed;
	top:              var(--lmi-nav-h);
	left:             0;
	width:            100%;
	max-width:        320px;
	max-height:       calc(100dvh - var(--lmi-nav-h));
	overflow-y:       auto;
	background-color: var(--lmi-primary);
	z-index:          999;
	box-shadow:       4px 0 16px rgba(0,0,0,0.3);
	transform:        translateX(-100%);
	transition:       transform 0.2s ease;
}
.lmi-mobile-menu[aria-hidden="false"] { transform: translateX(0); }
@media (min-width: 1024px) {
	.lmi-mobile-menu { display: none; }
}

.lmi-mobile-menu__section {
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.lmi-mobile-menu__toggle {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	width:           100%;
	padding:         12px 20px !important;
	font-size:       11px !important;
	font-weight:     700;
	letter-spacing:  0.08em;
	text-transform:  uppercase;
	color:           rgba(255,255,255,0.5) !important;
	background-color: transparent !important;
	border-radius:   0 !important;
	transition:      background-color var(--lmi-transition);
}
.lmi-mobile-menu__toggle:hover { background-color: rgba(255,255,255,0.06) !important; }

.lmi-mobile-menu__chevron { transition: transform var(--lmi-transition); }
.lmi-mobile-menu__toggle[aria-expanded="true"] .lmi-mobile-menu__chevron { transform: rotate(180deg); }

.lmi-mobile-menu__links { background-color: rgba(255,255,255,0.05); }

.lmi-mobile-menu__link {
	display:         flex;
	align-items:     center;
	padding:         12px 28px;
	font-size:       14px;
	font-weight:     500;
	color:           rgba(255,255,255,0.8) !important;
	border-bottom:   1px solid rgba(255,255,255,0.08);
	transition:      color var(--lmi-transition);
}
.lmi-mobile-menu__link:hover { color: var(--lmi-accent) !important; text-decoration: none; }

.lmi-mobile-menu__search {
	padding: 14px 16px;
}
.lmi-mobile-menu__search .search-form { display: flex; gap: 8px; }
.lmi-mobile-menu__search input[type="search"] {
	flex:             1;
	padding:          8px 12px;
	font-size:        13px;
	font-family:      var(--lmi-font);
	background-color: #fff;
	border:           none;
	outline:          none;
	border-radius:    var(--lmi-radius);
}
.lmi-mobile-menu__search .search-submit {
	padding:          8px 14px;
	background-color: var(--lmi-accent);
	color:            #fff;
	font-size:        12px;
	font-weight:      700;
}

/* ── 8. Search Overlay ───────────────────────────────────────────────────── */
.lmi-search-overlay {
	position:         fixed;
	inset:            0;
	z-index:          1100;
	background-color: rgba(3,56,124,0.92);
	display:          flex;
	align-items:      center;
	justify-content:  center;
	padding:          24px;
	transition:       opacity var(--lmi-transition);
}
.lmi-search-overlay[aria-hidden="true"] {
	pointer-events: none;
	opacity:        0;
}
.lmi-search-overlay[aria-hidden="false"] { opacity: 1; }

.lmi-search-overlay__inner {
	position:   relative;
	width:       100%;
	max-width:   600px;
}
.lmi-search-overlay__inner .search-form {
	display: flex;
}
.lmi-search-overlay__inner input[type="search"] {
	flex:             1;
	padding:          14px 16px;
	font-size:        18px;
	font-family:      var(--lmi-font);
	border:           none;
	outline:          none;
	background-color: #fff;
	color:            var(--lmi-fg);
}
.lmi-search-overlay__inner .search-submit {
	padding:            14px 20px !important;
	background-color:   var(--lmi-accent);
	color:              #fff;
	font-size:          14px;
	font-weight:        700;
	border:             none;
	border-radius:      var(--lmi-radius) !important;
	box-sizing:         border-box;
	line-height:        normal;
	cursor:             pointer;
	appearance:         none;
	-webkit-appearance: none;
}
.lmi-search-overlay__inner .search-submit:hover,
.lmi-search-overlay__inner .search-submit:focus {
	background-color: var(--lmi-accent) !important;
	color:             #fff !important;
}

.lmi-search-overlay__close {
	position:         absolute;
	top:              -40px;
	right:            0;
	color:            rgba(255,255,255,0.7) !important;
	background-color: transparent !important;
	border-radius:    0 !important;
	padding:          4px !important;
	transition:       color var(--lmi-transition);
}
.lmi-search-overlay__close:hover { color: #fff !important; }

/* ── 9. Modal ────────────────────────────────────────────────────────────── */
.lmi-modal {
	position:         fixed;
	inset:            0;
	z-index:          1200;
	display:          flex;
	align-items:      center;
	justify-content:  center;
	padding:          24px;
}
.lmi-modal[aria-hidden="true"] { display: none; }

.lmi-modal__backdrop {
	position:         absolute;
	inset:            0;
	background-color: rgba(0,0,0,0.5);
}
.lmi-modal__box {
	position:         relative;
	background-color: #fff;
	width:            100%;
	max-width:        480px;
	padding:          28px 24px;
	max-height:       90dvh;
	overflow-y:       auto;
}
.lmi-modal__close {
	position:         absolute;
	top:              12px;
	right:            12px;
	color:            var(--lmi-muted) !important;
	background-color: transparent !important;
	border-radius:    0 !important;
	padding:          4px !important;
}
.lmi-modal__close:hover { color: var(--lmi-fg) !important; }
.lmi-modal__title {
	font-size:   20px !important;
	font-weight: 700 !important;
	margin:      0 0 8px;
}
.lmi-modal__desc {
	font-size:  14px;
	color:      var(--lmi-muted);
	margin:     0 0 20px;
}

/* Newsletter form */
.lmi-nl-form,
.lmi-nl-form-inline { display: flex; flex-direction: column; gap: 14px; }

.lmi-nl-consent {
	display:     flex;
	align-items: flex-start;
	gap:         8px;
	font-size:   12px;
	line-height: 1.4;
	cursor:      pointer;
	color:       var(--lmi-muted);
}

.lmi-nl-consent input[type="checkbox"] {
	flex-shrink: 0;
	margin-top:  2px;
}

.lmi-nl-consent a { color: inherit; text-decoration: underline; }

.lmi-sidebar__widget--nl .lmi-nl-consent { color: rgba(255,255,255,0.75); }

.lmi-nl-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.lmi-form-group { display: flex; flex-direction: column; gap: 4px; }
.lmi-form-group label { font-size: 12px; color: var(--lmi-muted); }

.lmi-form-input,
.lmi-form-group input,
.lmi-form-group textarea {
	padding:          8px 12px;
	font-size:        14px;
	font-family:      var(--lmi-font);
	border:           1px solid var(--lmi-border);
	border-radius:    var(--lmi-radius);
	outline:          none;
	transition:       border-color var(--lmi-transition);
}
.lmi-form-input:focus,
.lmi-form-group input:focus { border-color: var(--lmi-primary); }

/* ── 10. Header Ad Banner ────────────────────────────────────────────────── */
.lmi-ad-banner--header {
	border-top:    1px solid var(--lmi-border);
	border-bottom: 1px solid var(--lmi-border);
	background-color: rgba(0,0,0,0.03);
}
.lmi-ad-banner--header .lmi-container { padding-top: 10px; padding-bottom: 10px; }
.lmi-ad-banner__img {
	width:        100%;
	max-width:    1288px;
	height:       auto;
	aspect-ratio: 1288 / 129;
	object-fit:   contain;
	margin:       0 auto;
	display:      block;
}

/* ── 11. Hero Section ────────────────────────────────────────────────────── */
.lmi-hero { margin-top: 16px; padding-bottom: 8px; }

.lmi-hero__grid {
	display:               grid;
	grid-template-columns: 1fr;
	gap:                   0;
}
@media (min-width: 1024px) {
	.lmi-hero__grid {
		grid-template-columns: 2fr 1fr;
		border-right:          none;
	}
}

.lmi-hero__main { padding-right: 0; }
@media (min-width: 1024px) {
	.lmi-hero__main {
		padding-right:  20px;
		border-right:   1px solid var(--lmi-border);
	}
}

.lmi-hero__main-link { display: block; color: inherit !important; text-decoration: none; }
.lmi-hero__main-link:hover .lmi-hero__main-title { text-decoration: underline; }

.lmi-hero__main-img-wrap {
	position:    relative;
	aspect-ratio: 16/9;
	overflow:    hidden;
}
.lmi-hero__main-img {
	width:       100%;
	height:      100%;
	object-fit:  cover;
	display:     block;
}

.lmi-hero__main-body { margin-top: 12px; }

.lmi-hero__main-title {
	font-size:   clamp(18px, 2vw, 26px) !important;
	font-weight: 900 !important;
	line-height: 1.2;
	margin:      6px 0 8px;
}
.lmi-hero__main-excerpt {
	font-size:  14px;
	color:      var(--lmi-muted);
	line-height: 1.6;
	margin:     0;
}

/* Side articles */
.lmi-hero__side {
	display:        none;
	flex-direction: column;
	padding-left:   20px;
}
@media (min-width: 1024px) {
	.lmi-hero__side { display: flex; }
}

.lmi-hero__side-item {
	display:        flex;
	align-items:    stretch;
	gap:            12px;
	padding-bottom: 16px;
	margin-bottom:  16px;
	border-bottom:  1px solid var(--lmi-border);
	text-decoration: none;
	color:          inherit !important;
}
.lmi-hero__side-item:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.lmi-hero__side-item:hover .lmi-hero__side-title { text-decoration: underline; }

.lmi-hero__side-img-wrap {
	position:   relative;
	width:      112px;
	min-width:  112px;
	overflow:   hidden;
	flex-shrink: 0;
}
.lmi-hero__side-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.lmi-hero__side-body { flex: 1; min-width: 0; }
.lmi-hero__side-title {
	font-size:              14px !important;
	font-weight:            700 !important;
	line-height:            1.35;
	margin:                 4px 0 4px;
	display:                -webkit-box;
	-webkit-line-clamp:     2;
	-webkit-box-orient:     vertical;
	overflow:               hidden;
	text-overflow:          ellipsis;
}

/* ── 11b. Hero bullet links (related articles below main hero) ──────────── */
.lmi-hero__bullets {
	margin-top:   12px;
	padding-top:  12px;
	border-top:   1px solid var(--lmi-border);
	display:      flex;
	flex-direction: column;
	gap:          8px;
	list-style:   none;
}

.lmi-hero__bullet-link {
	display:         flex;
	align-items:     flex-start;
	gap:             6px;
	font-size:       13px;
	font-weight:     700;
	color:           var(--lmi-fg) !important;
	text-decoration: none;
	line-height:     1.35;
}
.lmi-hero__bullet-link:hover { text-decoration: underline; }

.lmi-hero__bullet-arrow {
	color:      var(--lmi-accent);
	flex-shrink: 0;
	margin-top: 1px;
}

/* ── 12. Cards ────────────────────────────────────────────────────────────── */
.lmi-card { display: block; color: inherit !important; text-decoration: none; }
.lmi-card:hover .lmi-card__title-link { text-decoration: underline; }

.lmi-card__img-wrap {
	display:     block;
	position:    relative;
	aspect-ratio: 16/9;
	overflow:    hidden;
}
.lmi-card__img {
	width:      100%;
	height:     100%;
	object-fit: cover;
	display:    block;
	transition: transform 0.3s ease;
}
.lmi-card:hover .lmi-card__img { transform: scale(1.02); }
.lmi-card__img--placeholder { background-color: var(--lmi-surface); }

.lmi-card__overlay {
	position:         absolute;
	inset:            0;
	display:          flex;
	align-items:      flex-end;
	justify-content:  flex-end;
	padding:          10px;
}
.lmi-card__play-btn {
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            clamp(24px, 11%, 48px);
	aspect-ratio:     1;
	flex-shrink:      0;
	border-radius:    50%;
	background-color: var(--lmi-accent);
	color:            #fff;
	backdrop-filter:  blur(2px);
}

.lmi-card__play-btn svg {
	width:  50%;
	height: 50%;
}

.lmi-card__body { margin-top: 8px; }
.lmi-card__title {
	font-size:   14px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	margin:      4px 0 0;
}
.lmi-card__title--small { font-size: 13px !important; }
.lmi-card__title-link { color: inherit !important; }
.lmi-card__excerpt {
	font-size:   13px;
	color:       var(--lmi-muted);
	margin-top:  4px;
	line-height: 1.5;
}
.lmi-card__time {
	display:    block;
	font-size:  12px;
	color:      var(--lmi-muted);
	margin-top: 4px;
}

/* ── 13. Section Rubriques ───────────────────────────────────────────────── */
.lmi-section-rubrique {
	border-top: 1px solid var(--lmi-border);
}
.lmi-section-rubrique .lmi-container {
	padding-top:    24px;
	padding-bottom: 24px;
}

.lmi-section-rubrique__header { margin-bottom: 16px; }

.lmi-section-title {
	font-size:    15px !important;
	font-weight:  900 !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin:       0;
	display:      inline;
}
.lmi-section-rubrique__title-link {
	display:         inline-flex;
	align-items:     center;
	gap:             4px;
	text-decoration: none;
	color:           var(--lmi-fg) !important;
}
.lmi-section-rubrique__title-link:hover { text-decoration: none; }
.lmi-section-title__arrow { flex-shrink: 0; transition: transform var(--lmi-transition); }
.lmi-section-rubrique__title-link:hover .lmi-section-title__arrow { transform: translateX(3px); }

.lmi-section-rubrique__body {
	display:               grid;
	grid-template-columns: 1fr;
	gap:                   16px;
}
@media (min-width: 768px) {
	.lmi-section-rubrique__body {
		grid-template-columns: 1fr 1fr;
		gap:                   16px 20px;
	}
}
@media (min-width: 1024px) {
	.lmi-section-rubrique__body {
		grid-template-columns: 2fr 2fr;
		gap:                   0 20px;
	}
}

.lmi-section-rubrique__featured-link {
	display:         block;
	text-decoration: none;
	color:           inherit !important;
}
.lmi-section-rubrique__featured-link:hover .lmi-section-rubrique__featured-title { text-decoration: underline; }
.lmi-section-rubrique__featured-link:hover .lmi-card__img { transform: scale(1.02); }

.lmi-section-rubrique__featured-img-wrap { aspect-ratio: 16/9; overflow: hidden; }

.lmi-section-rubrique__featured-body { margin-top: 10px; }
.lmi-section-rubrique__featured-title {
	font-size:   18px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	margin:      5px 0 6px;
}
.lmi-section-rubrique__featured-excerpt {
	font-size:   13px;
	color:       var(--lmi-muted);
	line-height: 1.55;
	margin:      0;
}

.lmi-section-rubrique__grid {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   16px;
}

/* Section header "Voir tout" link */
.lmi-section-rubrique__header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	margin-bottom:   16px;
}
.lmi-section-rubrique__see-all {
	font-size:       12px;
	font-weight:     600;
	color:           var(--lmi-muted) !important;
	text-decoration: none;
	text-transform:  uppercase;
	letter-spacing:  0.06em;
	transition:      color var(--lmi-transition);
}
.lmi-section-rubrique__see-all:hover { color: var(--lmi-fg) !important; text-decoration: none; }

/* Text-only rows below section grid */
.lmi-section-rubrique__text-rows {
	display:     grid;
	grid-template-columns: 1fr;
	border-top:  1px solid var(--lmi-border);
	margin-top:  16px;
}
@media (min-width: 768px) {
	.lmi-section-rubrique__text-rows { grid-template-columns: repeat(3, 1fr); }
}

.lmi-text-row {
	display:         block;
	padding:         12px 0;
	border-bottom:   1px solid var(--lmi-border);
	text-decoration: none;
	color:           inherit !important;
}
@media (min-width: 768px) {
	.lmi-text-row {
		padding:      12px 16px;
		border-bottom: none;
		border-right: 1px solid var(--lmi-border);
	}
	.lmi-text-row:first-child { padding-left: 0; }
	.lmi-text-row:last-child  { border-right: none; }
}
.lmi-text-row:hover .lmi-text-row__title { text-decoration: underline; }

.lmi-text-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-bottom: 4px; }
.lmi-text-row__title {
	font-size:   13px !important;
	font-weight: 700 !important;
	line-height: 1.4;
	margin:      0 0 4px;
	color:       var(--lmi-fg) !important;
}

/* ── 14. Archive Grid ────────────────────────────────────────────────────── */
.lmi-archive__header {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--lmi-border);
}
.lmi-archive__header--emission { text-align: left; }
.lmi-archive__title {
	font-size:     clamp(22px, 3vw, 32px) !important;
	font-weight:   900 !important;
	margin:        8px 0 4px;
}
.lmi-archive__desc {
	font-size:  15px;
	color:      var(--lmi-muted);
	margin:     0;
}

.lmi-audio-archive__player { max-width: 900px; margin: 0 auto; }

.lmi-archive__grid {
	display:               grid;
	grid-template-columns: repeat(2, 1fr);
	gap:                   24px 20px;
}
@media (min-width: 768px) {
	.lmi-archive__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
	.lmi-archive__grid { grid-template-columns: repeat(4, 1fr); }
}

.lmi-no-results { font-size: 15px; color: var(--lmi-muted); }

/* Pagination */
.lmi-pagination {
	margin-top: 32px;
	text-align: center;
}
.lmi-pagination .nav-links { display: inline-flex; gap: 4px; }
.lmi-pagination .page-numbers {
	display:          inline-flex;
	align-items:      center;
	justify-content:  center;
	min-width:        36px;
	height:           36px;
	padding:          0 8px;
	font-size:        14px;
	font-weight:      600;
	color:            var(--lmi-fg);
	border:           1px solid var(--lmi-border);
	text-decoration:  none;
	transition:       background-color var(--lmi-transition), color var(--lmi-transition);
}
.lmi-pagination .page-numbers.current,
.lmi-pagination .page-numbers:hover {
	background-color: var(--lmi-primary);
	color:            #fff;
	border-color:     var(--lmi-primary);
}

/* Elementor Theme Builder archive templates (/tous-les-audios/, /toutes-les-videos/)
   render WordPress core's raw the_posts_pagination() markup without the
   .lmi-pagination wrapper above, so it inherits Hello Elementor's default
   space-between layout instead of being centered. */
.navigation.pagination {
	justify-content: center;
	margin-top: 32px;
}
.navigation.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--lmi-fg);
	border: 1px solid var(--lmi-border);
	text-decoration: none;
	transition: background-color var(--lmi-transition), color var(--lmi-transition);
}
.navigation.pagination .page-numbers.dots {
	border: none;
	min-width: auto;
}
.navigation.pagination .page-numbers.current,
.navigation.pagination .page-numbers:not(.dots):hover {
	background-color: var(--lmi-primary);
	color: #fff;
	border-color: var(--lmi-primary);
}

/* ── 15. Single Post ─────────────────────────────────────────────────────── */
.lmi-single.lmi-container {
	padding-top:    24px;
	padding-bottom: 48px;
}
.lmi-single__layout {
	display:   flex;
	gap:       32px;
	flex-wrap: wrap;
	max-width: 1024px;
	margin:    0 auto;
}
.lmi-single__content {
	flex:      1 1 0;
	min-width: 0;
}

.lmi-breadcrumb {
	font-size:   12px;
	color:       var(--lmi-muted);
	margin-bottom: 12px;
}
.lmi-breadcrumb a { color: var(--lmi-muted) !important; text-decoration: none; }
.lmi-breadcrumb a:hover { text-decoration: underline; }

.lmi-single__badges { margin-bottom: 10px; }

.lmi-single__title {
	font-size:   clamp(22px, 3vw, 34px) !important;
	font-weight: 900 !important;
	line-height: 1.2;
	margin:      0 0 12px;
}

.lmi-single__meta {
	display:     flex;
	align-items: center;
	gap:         16px;
	margin-bottom: 20px;
	font-size:   13px;
	color:       var(--lmi-muted);
}

.lmi-single__hero-img-wrap {
	position:      relative;
	aspect-ratio:  16/9;
	overflow:      hidden;
	margin-bottom: 24px;
}
.lmi-single__hero-img {
	width:      100%;
	height:     100%;
	object-fit: cover;
}

.lmi-single__audio-player {
	margin-bottom: 24px;
}

.lmi-single__body {
	font-size:   16px;
	line-height: 1.7;
	color:       var(--lmi-fg);
}
.lmi-single__body h2 { font-size: 22px; font-weight: 700; margin-top: 2em; }
.lmi-single__body h3 { font-size: 18px; font-weight: 700; margin-top: 1.5em; }
.lmi-single__body p  { margin-bottom: 1.25em; }
.lmi-single__body a  { color: var(--lmi-accent); text-decoration: underline; }
.lmi-single__body ul,
.lmi-single__body ol { list-style: disc; padding-left: 1.5em; margin-bottom: 1.25em; }
.lmi-single__body blockquote {
	border-left:  3px solid var(--lmi-accent);
	padding-left: 16px;
	margin:       1.5em 0;
	font-style:   italic;
	color:        var(--lmi-muted);
}

.lmi-single__tags {
	display:    flex;
	flex-wrap:  wrap;
	gap:        8px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid var(--lmi-border);
}
.lmi-tag {
	display:          inline-flex;
	padding:          4px 10px;
	font-size:        12px;
	font-weight:      500;
	border:           1px solid var(--lmi-border);
	color:            var(--lmi-muted) !important;
	text-decoration:  none;
	transition:       border-color var(--lmi-transition), color var(--lmi-transition);
}
.lmi-tag:hover { border-color: var(--lmi-primary); color: var(--lmi-primary) !important; text-decoration: none; }

/* ── 16. Vimeo Facade ────────────────────────────────────────────────────── */
.lmi-single__video-wrap {
	position:      relative;
	margin-bottom: 24px;
}

.lmi-vimeo-facade {
	position:        relative;
	aspect-ratio:    16/9;
	background-size: cover;
	background-position: center;
	cursor:          pointer;
	display:         flex;
	align-items:     center;
	justify-content: center;
}
.lmi-vimeo-facade::after {
	content:          '';
	position:         absolute;
	inset:            0;
	background-color: rgba(0,0,0,0.3);
	pointer-events:   none;
}
.lmi-vimeo-play {
	position:         relative;
	z-index:          1;
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            64px;
	height:           64px;
	padding:          0 !important;
	border-radius:    50% !important;
	background-color: rgba(255,255,255,0.92) !important;
	color:            var(--lmi-primary) !important;
	transition:       transform var(--lmi-transition), background-color var(--lmi-transition);
}
.lmi-vimeo-facade:hover .lmi-vimeo-play {
	transform: scale(1.08);
	background-color: #fff !important;
}
.lmi-vimeo-facade.is-playing { background: none; }
.lmi-vimeo-facade.is-playing iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ── 32. Video Episode Page (matches Lovable VideoPage.tsx) ──────────────── */
.lmi-video-hero { background-color: var(--lmi-fg); }
.lmi-video-hero .lmi-container { padding-top: 24px; padding-bottom: 24px; }

.lmi-video-hero__grid {
	display:               grid;
	grid-template-columns: 1fr;
	gap:                   24px;
}
@media (min-width: 1024px) {
	.lmi-video-hero__grid { grid-template-columns: 1fr 300px; gap: 0 24px; }
}

.lmi-video-hero__player-wrap { position: relative; }

/* Re-theme the shared Vimeo facade for this dark, borderless context */
.lmi-video-hero__player-wrap .lmi-vimeo-facade::after { background-color: transparent; }
.lmi-video-hero__player-wrap .lmi-vimeo-play {
	width:            80px;
	height:           80px;
	background-color: rgba(255,255,255,0.2) !important;
	backdrop-filter:  blur(4px);
	border:           1px solid rgba(255,255,255,0.3);
	color:            #fff !important;
}
.lmi-video-hero__player-wrap .lmi-vimeo-facade:hover .lmi-vimeo-play { background-color: rgba(255,255,255,0.3) !important; }

.lmi-video-hero__progress {
	position:         absolute;
	left: 0; right: 0; bottom: 0;
	height:           4px;
	background-color: rgba(255,255,255,0.2);
	pointer-events:   none;
}
.lmi-video-hero__progress-fill { height: 100%; width: 33%; background-color: var(--lmi-accent); }

.lmi-video-hero__duration {
	position:         absolute;
	right:            8px;
	bottom:           12px;
	background-color: rgba(3,56,124,0.8);
	color:            #fff;
	font-size:        12px;
	font-weight:      500;
	padding:          2px 6px;
	pointer-events:   none;
}

.lmi-video-hero__info { margin-top: 16px; }
.lmi-video-hero__title {
	font-size:   24px !important;
	font-weight: 700 !important;
	line-height: 1.25;
	color:       #fff !important;
	margin:      0;
}
@media (min-width: 768px) { .lmi-video-hero__title { font-size: 30px !important; } }

.lmi-video-hero__summary {
	margin-top:  12px;
	font-size:   14px;
	line-height: 1.6;
	color:       #fff;
}
.lmi-video-hero__summary p { margin: 0 0 1em; }
.lmi-video-hero__summary h1,
.lmi-video-hero__summary h2,
.lmi-video-hero__summary h3,
.lmi-video-hero__summary h4,
.lmi-video-hero__summary h5,
.lmi-video-hero__summary h6 { color: #fff !important; }

.lmi-video-hero__time { margin-top: 8px; font-size: 12px; color: var(--lmi-muted); }

.lmi-video-hero__meta {
	display:       flex;
	align-items:   center;
	gap:           16px;
	margin-top:    12px;
}

.lmi-video-hero__author-row {
	display:       flex;
	align-items:   center;
	gap:           12px;
	margin-top:    16px;
}

.lmi-video-hero__author-photo {
	width:         40px;
	height:        40px;
	border-radius: 50%;
	object-fit:    cover;
	display:       block;
}

.lmi-video-hero__author-name {
	display:         block;
	font-size:       15px;
	font-weight:     700;
	color:           #fff !important;
	text-decoration: none;
}

.lmi-video-hero__author-role {
	margin:    2px 0 0;
	font-size: 13px;
	color:     rgba(255,255,255,0.65);
}

.lmi-video-hero__tags { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.lmi-video-hero__tag {
	font-size:        12px;
	font-weight:      500;
	color:            #fff !important;
	background-color: rgba(255,255,255,0.1);
	border:           1px solid rgba(255,255,255,0.2);
	padding:          4px 10px;
	text-decoration:  none;
}
.lmi-video-hero__tag:hover { background-color: rgba(255,255,255,0.18); text-decoration: none; }

.lmi-video-hero__guests {
	display:     flex;
	align-items: center;
	flex-wrap:   wrap;
	gap:         6px;
	margin-top:  12px;
	font-size:   13px;
	color:       var(--lmi-muted);
}
.lmi-video-hero__guests-label { font-weight: 600; color: #fff; }
.lmi-video-hero__guest-link { color: var(--lmi-accent) !important; text-decoration: none; font-weight: 500; }
.lmi-video-hero__guest-link:hover { text-decoration: underline; }
.lmi-video-hero__guests-sep { color: rgba(255,255,255,0.3); }

.lmi-video-hero__societes {
	display:     flex;
	align-items: center;
	flex-wrap:   wrap;
	gap:         6px;
	margin-top:  8px;
	font-size:   13px;
	color:       var(--lmi-muted);
}

.lmi-video-hero__actions { margin-top: 12px; padding-bottom: 8px; }
.lmi-share--video .lmi-share__toggle { color: #fff !important; }
.lmi-share--video .lmi-share__toggle:hover { color: rgba(255,255,255,0.8) !important; }

.lmi-video-hero__explore {
	margin-top:  24px;
	padding-top: 24px;
	border-top:  1px solid rgba(255,255,255,0.1);
}
@media (min-width: 1024px) {
	.lmi-video-hero__explore {
		margin-top:   0;
		padding-top:  0;
		padding-left: 16px;
		border-top:   none;
		border-left:  1px solid rgba(255,255,255,0.1);
	}
}
.lmi-video-hero__explore-title {
	font-size:      12px !important;
	font-weight:    900 !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color:          #fff !important;
	margin:         0 0 12px;
}
.lmi-video-hero__explore-list {
	display:        flex;
	flex-direction: column;
	gap:            12px;
}
@media (min-width: 1024px) {
	.lmi-video-hero__explore-list { max-height: 600px; overflow-y: auto; padding-right: 4px; }
}
.lmi-video-hero__explore-item { display: flex; gap: 12px; align-items: flex-start; color: inherit !important; text-decoration: none; }
.lmi-video-hero__explore-item:hover .lmi-video-hero__explore-item-title { text-decoration: underline; }
.lmi-video-hero__explore-thumb {
	position:    relative;
	flex-shrink: 0;
	width:       120px;
	aspect-ratio: 16/9;
	overflow:    hidden;
}
.lmi-video-hero__explore-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lmi-video-hero__explore-play { position: absolute; right: 4px; bottom: 4px; width: 20px; height: 20px; padding: 4px; box-sizing: border-box; border-radius: 50%; background-color: var(--lmi-accent); color: #fff; }
.lmi-video-hero__explore-item-title {
	font-size:   13px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	color:       #fff !important;
	margin:      0;
	display:             -webkit-box;
	-webkit-line-clamp:  3;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}

.lmi-video-more__separator { border-top: 1px solid var(--lmi-border); }
.lmi-video-more { background-color: var(--lmi-fg); }
.lmi-video-more .lmi-container { padding-top: 24px; padding-bottom: 24px; }
.lmi-video-more__nav-row { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.lmi-video-more .lmi-carousel__nav-btn { color: #fff !important; }

.lmi-video-more__card { flex-grow: 1; flex-shrink: 0; flex-basis: 220px; max-width: 320px; display: block; color: inherit !important; text-decoration: none; }
@media (min-width: 768px) { .lmi-video-more__card { flex-basis: 240px; max-width: 340px; } }
.lmi-video-more__play { position: absolute; right: 8px; bottom: 8px; width: 24px; height: 24px; padding: 5px; box-sizing: border-box; border-radius: 50%; background-color: var(--lmi-accent); color: #fff; }

.lmi-video-more__body { margin-top: 8px; }
.lmi-video-more__title {
	font-size:   14px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	color:       #fff !important;
	margin:      0;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-video-more__card:hover .lmi-video-more__title { text-decoration: underline; }
.lmi-video-more__summary {
	margin-top:  4px;
	font-size:   12px;
	color:       var(--lmi-muted);
	line-height: 1.5;
	display:             -webkit-box;
	-webkit-line-clamp:  3;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-video-more__category { display: block; margin-top: 4px; font-size: 12px; color: var(--lmi-muted); }

/* ── 17. Sidebar ─────────────────────────────────────────────────────────── */
.lmi-sidebar {
	width:     100%;
	max-width: 300px;
	flex:      0 0 300px;
}
@media (max-width: 1023px) {
	.lmi-sidebar { max-width: 100%; flex: 0 0 100%; }
}

.lmi-sidebar__widget { margin-bottom: 32px; }

.lmi-sidebar__widget-title {
	font-size:      12px !important;
	font-weight:    700 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom:  12px;
	color:          var(--lmi-fg) !important;
}

.lmi-sidebar__latest { display: flex; flex-direction: column; gap: 16px; }
.lmi-sidebar__latest-item {
	display:         flex;
	gap:             12px;
	text-decoration: none;
	color:           inherit !important;
}
.lmi-sidebar__latest-item:hover .lmi-sidebar__latest-title { text-decoration: underline; }
.lmi-sidebar__latest-img {
	width:      80px;
	height:     80px;
	object-fit: cover;
	flex-shrink: 0;
}
.lmi-sidebar__latest-body { flex: 1; min-width: 0; }
.lmi-sidebar__latest-title {
	font-size:   13px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	margin:      0 0 4px;
}

/* Newsletter sidebar widget */
.lmi-sidebar__widget--nl {
	background-color: var(--lmi-primary);
	padding:          20px;
}

.lmi-sidebar__widget--nl .lmi-sidebar__widget-title { color: #fff !important; }
.lmi-sidebar__nl-desc {
	font-size:  12px;
	color:      rgba(255,255,255,0.7);
	margin:     0 0 12px;
}
.lmi-sidebar__widget--nl .lmi-form-input { border: none; border-radius: var(--lmi-radius); }

/* ── 18. Ad Squares ──────────────────────────────────────────────────────── */
.lmi-ad-square {
	position:         relative;
	height:           80px;
	overflow:         hidden;
	background-color: rgba(0,0,0,0.02);
}
.lmi-ad-square__label {
	position:         absolute;
	top:              6px;
	left:             6px;
	z-index:          1;
	background-color: rgba(255,255,255,0.9);
	color:            var(--lmi-muted);
	font-size:        9px;
	font-weight:      700;
	text-transform:   uppercase;
	letter-spacing:   0.06em;
	padding:          3px 7px;
}
.lmi-ad-square__link { display: block; width: 100%; height: 100%; }
.lmi-ad-square__img  { width: 100%; height: 100%; object-fit: cover; display: block; }

.lmi-ad-square__placeholder {
	height:          100%;
	border:          1px solid rgba(3,56,124,0.08);
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	gap:             10px;
	padding:         0 14px;
}
.lmi-ad-square__placeholder-text { font-size: 11px; color: var(--lmi-muted); }
.lmi-ad-square__placeholder-cta  { font-size: 11px; font-weight: 700; color: var(--lmi-primary) !important; text-decoration: none; white-space: nowrap; }
.lmi-ad-square__placeholder-cta:hover { text-decoration: underline; }

/* ── 19. Footer ──────────────────────────────────────────────────────────── */
.lmi-footer {
	background-color: var(--lmi-primary);
	color:            rgba(255,255,255,0.6);
}

.lmi-footer__inner {
	padding-top:    32px;
	padding-bottom: 32px;
}

.lmi-footer__logo { margin-bottom: 24px; }
.lmi-footer__logo img { height: 28px; width: auto; }

.lmi-footer__columns {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   24px;
	margin-bottom:         32px;
}
@media (min-width: 768px) {
	.lmi-footer__columns { grid-template-columns: repeat(4, 1fr); }
}

.lmi-footer__col { display: flex; flex-direction: column; gap: 8px; }

.lmi-footer__link {
	font-size:       13px;
	color:           rgba(255,255,255,0.6) !important;
	text-decoration: none;
	transition:      color var(--lmi-transition);
}
.lmi-footer__link:hover { color: #fff !important; text-decoration: underline; }

.lmi-footer__social {
	display:        flex;
	align-items:    center;
	gap:            8px;
	margin-bottom:  32px;
}
.lmi-footer__social-label {
	font-size:   13px;
	font-weight: 600;
	margin-right: 8px;
}
.lmi-footer__social-link {
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            36px;
	height:           36px;
	border-radius:    50%;
	background-color: rgba(255,255,255,0.1);
	color:            rgba(255,255,255,0.7) !important;
	text-decoration:  none;
	transition:       background-color var(--lmi-transition), color var(--lmi-transition);
}
.lmi-footer__social-link:hover {
	background-color: var(--lmi-accent);
	color:            #fff !important;
}

.lmi-footer__bottom {
	padding-top:  20px;
	border-top:   1px solid rgba(255,255,255,0.12);
	font-size:    12px;
}
.lmi-footer__bottom p { margin: 0; }

/* ── 20. Sticky Bottom Player Bar ────────────────────────────────────────── */
.lmi-player-bar {
	position:         sticky;
	top:              var(--lmi-nav-h);
	z-index:          900;
	height:           var(--lmi-player-h);
	background-color: var(--lmi-accent);
	color:            #fff;
	display:          flex;
	align-items:      center;
	box-shadow:       0 2px 10px rgba(0,0,0,0.15);
	overflow:         hidden;
}

.lmi-player-bar__controls {
	display:        flex;
	align-items:    center;
	gap:            6px;
	padding:        0 12px;
	flex-shrink:    0;
	height:         100%;
	border-right:   1px solid rgba(255,255,255,0.12);
}

.lmi-player-bar__live-dot {
	width:            8px;
	height:           8px;
	border-radius:    50%;
	background-color: var(--lmi-accent);
	animation:        lmi-pulse 1.8s ease-in-out infinite;
	flex-shrink:      0;
}

@keyframes lmi-pulse {
	0%, 100% { opacity: 1; }
	50%       { opacity: 0.4; }
}

.lmi-player-bar__live-label {
	font-size:      10px;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color:          var(--lmi-accent) !important;
}

.lmi-player-bar__toggle {
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            22px;
	height:           22px;
	margin-left:      4px;
	padding:          0 !important;
	border-radius:    50% !important;
	background-color: var(--lmi-accent) !important;
	color:            #fff !important;
	flex-shrink:      0;
	transition:       opacity var(--lmi-transition);
}
.lmi-player-bar__toggle:hover:not(:disabled) { opacity: 0.85; }
.lmi-player-bar__toggle:disabled { opacity: 0.35; cursor: default; }
.lmi-player-bar__icon-play { margin-left: 1px; }
.lmi-player-bar__icon-pause { display: none; }
.lmi-player-bar__toggle.is-playing .lmi-player-bar__icon-play { display: none; }
.lmi-player-bar__toggle.is-playing .lmi-player-bar__icon-pause { display: block; }

.lmi-player-bar__ticker-wrap {
	flex:       1;
	overflow:   hidden;
	height:     100%;
	display:    flex;
	align-items: center;
}

.lmi-player-bar__ticker-label {
	flex-shrink:    0;
	font-size:      10px;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color:          var(--lmi-primary) !important;
	padding:        0 12px;
}

.lmi-player-bar__ticker-viewport {
	flex:       1;
	overflow:   hidden;
	position:   relative;
	height:     100%;
	display:    flex;
	align-items: center;
}

.lmi-player-bar__ticker {
	white-space:      nowrap;
	font-size:        12px;
	color:            #fff;
	animation:        lmi-ticker 60s linear infinite;
	padding-left:     16px;
}

.lmi-player-bar__ticker-link {
	color:           inherit;
	text-decoration: none;
}
.lmi-player-bar__ticker-link:hover,
.lmi-player-bar__ticker-link:focus-visible {
	text-decoration: underline;
}

@keyframes lmi-ticker {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* ── 21. 404 Page ────────────────────────────────────────────────────────── */
.lmi-404 {
	padding-top:    80px;
	padding-bottom: 80px;
}
.lmi-404__inner {
	text-align:     center;
	max-width:      480px;
	margin:         0 auto;
}
.lmi-404__code {
	font-size:   80px;
	font-weight: 900;
	color:       rgba(3,56,124,0.15);
	line-height: 1;
	margin:      0 0 8px;
}
.lmi-404__title {
	font-size:   28px !important;
	font-weight: 700 !important;
	margin:      0 0 12px;
}
.lmi-404__desc {
	color:      var(--lmi-muted);
	margin:     0 0 24px;
}

/* ── 22. Static Pages ────────────────────────────────────────────────────── */
.lmi-page.lmi-container {
	padding-top:    40px;
	padding-bottom: 60px;
	max-width:      860px;
}
.lmi-page__title {
	font-size:     clamp(24px, 3vw, 36px) !important;
	font-weight:   900 !important;
	margin-bottom: 24px;
}
.lmi-page__body {
	font-size:   16px;
	line-height: 1.7;
}

.lmi-page__body h2 { font-size: 22px; font-weight: 800; color: var(--lmi-fg); margin: 40px 0 16px; }
.lmi-page__body h2:first-child { margin-top: 0; }
.lmi-page__body h3 { font-size: 17px; font-weight: 700; color: var(--lmi-fg); margin: 28px 0 12px; }
.lmi-page__body p { margin: 0 0 16px; color: var(--lmi-muted); }
.lmi-page__body ul, .lmi-page__body ol { margin: 0 0 16px; padding-left: 22px; color: var(--lmi-muted); }
.lmi-page__body li { margin-bottom: 8px; }
.lmi-page__body a { color: var(--lmi-primary); text-decoration: underline; }
.lmi-page__body strong { color: var(--lmi-fg); }
.lmi-page__body table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 14px; }
.lmi-page__body th, .lmi-page__body td { border: 1px solid var(--lmi-border); padding: 10px 12px; text-align: left; vertical-align: top; }
.lmi-page__body th { background-color: var(--lmi-surface); font-weight: 700; color: var(--lmi-fg); }
.lmi-page__body table { display: block; overflow-x: auto; }

/* ── 23. Accessibility ───────────────────────────────────────────────────── */
.screen-reader-text {
	clip:     rect(1px, 1px, 1px, 1px);
	position: absolute;
	overflow: hidden;
	height:   1px;
	width:    1px;
	padding:  0;
	border:   0;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip:             auto;
	background-color: var(--lmi-primary);
	border-radius:    0;
	color:            #fff;
	display:          block;
	font-size:        14px;
	font-weight:      700;
	height:           auto;
	left:             5px;
	line-height:      normal;
	padding:          15px 23px 14px;
	text-decoration:  none;
	top:              5px;
	width:            auto;
	z-index:          9999;
}

/* Skip link */
.skip-link {
	left: -9999px;
	position: absolute;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.skip-link:focus {
	left:             6px;
	top:              7px;
	width:            auto;
	height:           auto;
	padding:          10px 16px;
	background-color: var(--lmi-primary);
	color:            #fff;
	font-size:        14px;
	font-weight:      700;
	z-index:          9999;
}

/* ── 24. Hello Elementor Overrides ───────────────────────────────────────── */
/* Prevent Hello Elementor from adding extra paddings on pages using our templates */
.elementor-page .lmi-single__layout .elementor-section { margin: 0; }

/* Ensure our sticky nav doesn't conflict with Elementor sticky header if enabled */
.elementor-sticky--effects { z-index: 999; }

/* ── 25. Carousels (shared) ──────────────────────────────────────────────── */
.lmi-carousel__track {
	display:          flex;
	gap:              16px;
	overflow-x:       auto;
	scroll-behavior:  smooth;
	-ms-overflow-style: none;
	scrollbar-width:  none;
	padding-bottom:   4px;
}
.lmi-carousel__track::-webkit-scrollbar { display: none; }

.lmi-carousel__nav {
	display:     flex;
	align-items: center;
	gap:         8px;
	flex-shrink: 0;
}
.lmi-carousel__nav-btn {
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            32px;
	height:           32px;
	padding:          0 !important;
	background-color: transparent !important;
	border-radius:    0 !important;
	color:            inherit !important;
	transition:       opacity var(--lmi-transition);
}
.lmi-carousel__nav-btn:hover    { opacity: 0.7; }
.lmi-carousel__nav-btn:disabled { opacity: 0.3; cursor: default; }

/* ── 26. Must Watch Section ──────────────────────────────────────────────── */
.lmi-mustwatch { background-color: var(--lmi-primary); }
.lmi-mustwatch .lmi-container { padding-top: 24px; padding-bottom: 24px; }

.lmi-mustwatch__header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	margin-bottom:   20px;
}
.lmi-mustwatch__title-link {
	font-size:       15px !important;
	font-weight:     900 !important;
	text-transform:  uppercase;
	letter-spacing:  0.06em;
	color:           #fff !important;
	text-decoration: none;
}
.lmi-mustwatch__title-link:hover { text-decoration: underline; }
.lmi-mustwatch .lmi-carousel__nav-btn { color: #fff !important; }

.lmi-mustwatch__card {
	flex-grow:       1;
	flex-shrink:     0;
	flex-basis:      280px;
	max-width:       380px;
	display:         block;
	color:           inherit !important;
	text-decoration: none;
}
@media (min-width: 768px) { .lmi-mustwatch__card { flex-basis: 300px; max-width: 400px; } }

.lmi-mustwatch__body { margin-top: 8px; }
.lmi-mustwatch__title {
	font-size:   15px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	color:       #fff !important;
	margin:      0;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-mustwatch__card:hover .lmi-mustwatch__title { text-decoration: underline; }
.lmi-mustwatch__summary {
	margin-top:  4px;
	font-size:   13px;
	line-height: 1.5;
	color:       rgba(255,255,255,0.7);
	display:             -webkit-box;
	-webkit-line-clamp:  3;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-mustwatch__category {
	display:       block;
	margin-top:    6px;
	font-size:     12px;
	color:         rgba(255,255,255,0.6);
}

/* ── 27. Emissions Section ───────────────────────────────────────────────── */
.lmi-emissions { border-top: 1px solid var(--lmi-border); }
.lmi-emissions .lmi-container { padding-top: 24px; padding-bottom: 24px; }

.lmi-emissions__header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	margin-bottom:   16px;
}

.lmi-emissions__col {
	flex-grow:    1;
	flex-shrink:  0;
	flex-basis:   280px;
	max-width:    380px;
	padding-left: 20px;
	padding-right: 20px;
	border-right: 1px solid var(--lmi-border);
}
.lmi-emissions__col:first-child { padding-left: 0; }
@media (min-width: 768px) { .lmi-emissions__col { flex-basis: 300px; max-width: 400px; } }

.lmi-emissions__col-title-link {
	display:         inline-flex;
	align-items:     center;
	gap:             4px;
	margin-bottom:   12px;
	text-decoration: none;
	color:           var(--lmi-fg) !important;
}
.lmi-emissions__col-title {
	font-size:      13px !important;
	font-weight:    900 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin:         0;
}

.lmi-emissions__featured { display: block; color: inherit !important; text-decoration: none; margin-bottom: 12px; }
.lmi-emissions__featured:hover .lmi-emissions__featured-title { text-decoration: underline; }

.lmi-emissions__featured-img-wrap {
	position:     relative;
	aspect-ratio: 16/9;
	overflow:     hidden;
	margin-bottom: 8px;
}
.lmi-emissions__play-icon {
	position:         absolute;
	bottom:           8px;
	right:            8px;
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            32px;
	height:           32px;
	border-radius:    50%;
	background-color: var(--lmi-accent);
	color:            #fff;
}

.lmi-emissions__featured-title {
	font-size:   15px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	margin:      0;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-emissions__featured-excerpt {
	margin-top:  4px;
	font-size:   13px;
	color:       var(--lmi-muted);
	line-height: 1.5;
	display:             -webkit-box;
	-webkit-line-clamp:  3;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}

.lmi-emissions__list {
	display:        flex;
	flex-direction: column;
	gap:            10px;
	padding-top:    12px;
	border-top:     1px solid var(--lmi-border);
}
.lmi-emissions__list-item {
	display:         flex;
	align-items:     flex-start;
	gap:             6px;
	font-size:       13px;
	font-weight:     700;
	color:           var(--lmi-fg) !important;
	text-decoration: none;
	line-height:     1.35;
}
.lmi-emissions__list-item:hover { text-decoration: underline; }
.lmi-emissions__list-icon { flex-shrink: 0; margin-top: 2px; }

/* ── 28. Audios / Podcast Section ────────────────────────────────────────── */
.lmi-podcasts { border-top: 1px solid var(--lmi-border); }
.lmi-podcasts .lmi-container { padding-top: 24px; padding-bottom: 24px; }

.lmi-podcasts__header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	margin-bottom:   20px;
}

.lmi-podcasts__card { flex-grow: 1; flex-shrink: 0; flex-basis: 220px; max-width: 320px; display: block; color: inherit !important; text-decoration: none; }
@media (min-width: 768px) { .lmi-podcasts__card { flex-basis: 240px; max-width: 340px; } }

.lmi-podcasts__img-wrap { position: relative; aspect-ratio: 1/1; overflow: hidden; }

.lmi-podcasts__icon {
	position:         absolute;
	bottom:           8px;
	right:            8px;
	display:          flex;
	align-items:      center;
	justify-content:  center;
	width:            32px;
	height:           32px;
	border-radius:    50%;
	background-color: var(--lmi-accent);
	color:            #fff;
	backdrop-filter:  blur(2px);
}

.lmi-podcasts__body { margin-top: 8px; }
.lmi-podcasts__show { display: block; font-size: 12px; font-weight: 700; color: var(--lmi-fg); }
.lmi-podcasts__title {
	margin:      2px 0 0;
	font-size:   13px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-podcasts__card:hover .lmi-podcasts__title { text-decoration: underline; }

.lmi-podcasts__footer { margin-top: 20px; }

/* ── 29. Article: Meta, Share, Author, Watermark ─────────────────────────── */
.lmi-single__meta { justify-content: flex-start; }

.lmi-share { position: relative; }
.lmi-share__toggle {
	display:          inline-flex;
	align-items:      center;
	gap:              6px;
	padding:          0 !important;
	font-size:        13px !important;
	font-weight:      700 !important;
	color:            var(--lmi-fg) !important;
	background-color: transparent !important;
	border-radius:    0 !important;
	transition:       color var(--lmi-transition);
}
.lmi-share__toggle:hover { color: var(--lmi-accent) !important; }

.lmi-share__menu {
	position:      absolute;
	left:          0;
	top:           calc(100% + 6px);
	z-index:       50;
	min-width:     180px;
	background-color: var(--lmi-fg);
	box-shadow:    0 6px 20px rgba(0,0,0,0.25);
	padding:       8px 0;
	display:       flex;
	flex-direction: column;
}
.lmi-share__menu[hidden] { display: none; }
.lmi-share__menu button {
	display:          flex;
	align-items:      center;
	gap:              12px;
	width:            100%;
	padding:          10px 16px !important;
	font-size:        13px !important;
	font-weight:      600 !important;
	color:            #fff !important;
	background-color: transparent !important;
	border-radius:    0 !important;
	text-align:       left;
	transition:       background-color var(--lmi-transition);
}
.lmi-share__menu button:hover { background-color: rgba(255,255,255,0.1) !important; }
.lmi-share__icon { width: 20px; text-align: center; font-weight: 700; }

.lmi-single__author-block { margin-bottom: 24px; }
.lmi-single__author-row {
	display:       flex;
	align-items:   center;
	gap:           12px;
	margin-bottom: 12px;
}
.lmi-single__author-photo {
	width:         40px;
	height:        40px;
	border-radius: 50%;
	object-fit:    cover;
	display:       block;
}
.lmi-single__author-name {
	display:         block;
	font-size:       15px;
	font-weight:     700;
	color:           var(--lmi-fg) !important;
	text-decoration: none;
}
.lmi-single__author-name:hover { text-decoration: underline; }
.lmi-single__author-role {
	margin:    2px 0 0;
	font-size: 13px;
	color:     var(--lmi-muted);
}

.lmi-single__guests {
	display:     flex;
	align-items: center;
	flex-wrap:   wrap;
	gap:         6px;
	font-size:   13px;
	color:       var(--lmi-muted);
}
.lmi-single__guests-label { font-weight: 600; color: var(--lmi-fg); }
.lmi-single__guest-link { color: var(--lmi-accent) !important; text-decoration: none; font-weight: 500; }
.lmi-single__guest-link:hover { text-decoration: underline; }
.lmi-single__guests-sep { color: var(--lmi-border); }

.lmi-single__societes {
	display:     flex;
	align-items: center;
	flex-wrap:   wrap;
	gap:         6px;
	margin-top:  8px;
	font-size:   13px;
	color:       var(--lmi-muted);
}

.lmi-single__watermark {
	position:         absolute;
	bottom:           8px;
	right:            8px;
	font-size:        11px;
	color:            rgba(255,255,255,0.8);
	background-color: rgba(3,56,124,0.6);
	padding:          2px 8px;
}

/* ── 30. Article: Related By Tag ─────────────────────────────────────────── */
.lmi-related-by-tag { border-top: 1px solid var(--lmi-border); }
.lmi-related-by-tag .lmi-container { padding-top: 32px; padding-bottom: 32px; }

.lmi-related-by-tag__title {
	font-size:      15px !important;
	font-weight:    700 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin:         0 0 24px;
}

.lmi-related-by-tag__grid {
	display:               grid;
	grid-template-columns: 1fr;
	gap:                   24px;
}
@media (min-width: 768px)  { .lmi-related-by-tag__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-related-by-tag__grid { grid-template-columns: 1fr 1fr 1fr; } }

.lmi-related-by-tag__item { display: block; color: inherit !important; text-decoration: none; }
.lmi-related-by-tag__item:hover .lmi-related-by-tag__item-title { text-decoration: underline; }

.lmi-related-by-tag__body { margin-top: 8px; }
.lmi-related-by-tag__item-title {
	font-size:   14px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	margin:      0;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-related-by-tag__item-summary {
	margin-top:  4px;
	font-size:   12px;
	color:       var(--lmi-muted);
	line-height: 1.5;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-related-by-tag__meta {
	display:     flex;
	align-items: center;
	gap:         8px;
	margin-top:  8px;
	font-size:   12px;
	color:       var(--lmi-muted);
}
.lmi-related-by-tag__avatar {
	width:         20px !important;
	height:        20px !important;
	border-radius: 50% !important;
	object-fit:    cover;
	flex-shrink:   0;
}

/* ── 31. Audio Episode Page (matches Lovable AudioPage.tsx) ─────────────── */
.lmi-audio-hero { background-color: var(--lmi-primary); color: #fff; }

.lmi-audio-hero__top {
	max-width: 800px;
	margin:    0 auto;
	padding:   32px 16px 16px;
}
.lmi-audio-hero__header {
	display:     flex;
	align-items: flex-start;
	gap:         20px;
}
.lmi-audio-hero__img {
	width:       140px;
	height:      140px;
	object-fit:  cover;
	flex-shrink: 0;
}
@media (min-width: 768px) { .lmi-audio-hero__img { width: 180px; height: 180px; } }

.lmi-audio-hero__titleblock {
	display:         flex;
	flex-direction:  column;
	justify-content: center;
	min-height:      140px;
}
@media (min-width: 768px) { .lmi-audio-hero__titleblock { min-height: 180px; } }

/* No thumbnail on this episode: don't reserve the image's height, the title
   would otherwise sit vertically centered in a tall empty box. */
.lmi-audio-hero__header:not(:has(.lmi-audio-hero__img)) .lmi-audio-hero__titleblock {
	min-height:      0;
	justify-content: flex-start;
}

.lmi-audio-hero__show {
	font-size:     14px;
	color:         rgba(255,255,255,0.7);
	margin-bottom: 4px;
}
.lmi-audio-hero__title {
	font-size:   20px !important;
	font-weight: 700 !important;
	line-height: 1.25;
	color:       #fff !important;
	margin:      0;
}
@media (min-width: 768px) { .lmi-audio-hero__title { font-size: 24px !important; } }

.lmi-audio-hero__player { max-width: 800px; margin: 0 auto; padding: 0 16px 16px; }


.lmi-audio-hero__embed { margin-top: 16px; }

.lmi-audio-upnext { border-top: 1px solid rgba(255,255,255,0.1); padding: 12px 0; }
.lmi-audio-upnext__row { display: flex; align-items: center; gap: 16px; }
.lmi-audio-upnext__label {
	font-size:      11px;
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color:          rgba(255,255,255,0.7);
	flex-shrink:    0;
}
.lmi-audio-upnext__track { flex: 1; }
.lmi-audio-upnext__item {
	display:         flex;
	align-items:     center;
	gap:             12px;
	flex-shrink:     0;
	color:           #fff !important;
	text-decoration: none;
	max-width:       220px;
}
.lmi-audio-upnext__item img { width: 48px; height: 48px; object-fit: cover; flex-shrink: 0; }
.lmi-audio-upnext__title {
	font-size:   12px;
	font-weight: 700;
	line-height: 1.3;
	margin:      0;
	display:             -webkit-box;
	-webkit-line-clamp:  2;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}
.lmi-audio-upnext__row .lmi-carousel__nav-btn { color: #fff !important; width: 32px; height: 32px; }

.lmi-audio-content {
	max-width: 720px;
	margin:    0 auto;
	padding:   32px 0;
	display:   flex;
	gap:       32px;
}
.lmi-audio-content__side { display: none; flex-shrink: 0; }
@media (min-width: 768px) {
	.lmi-audio-content__side { display: flex; flex-direction: column; align-items: center; padding-top: 4px; }
}
.lmi-audio-content__main { flex: 1; min-width: 0; }

.lmi-audio-content__meta {
	display:       flex;
	align-items:   center;
	gap:           8px;
	font-size:     14px;
	color:         var(--lmi-muted);
	margin-bottom: 24px;
}

.lmi-audio-content__mobile-share { margin-bottom: 24px; }
@media (min-width: 768px) { .lmi-audio-content__mobile-share { display: none; } }

.lmi-audio-content__body { font-size: 16px; line-height: 1.7; color: var(--lmi-fg); }
.lmi-audio-content__body p { margin: 0 0 1.25em; }
.lmi-audio-content__body p:first-child { font-weight: 700; }

.lmi-audio-content__contact { margin-top: 24px; font-size: 14px; color: var(--lmi-muted); }
.lmi-audio-content__contact a { color: var(--lmi-fg); font-weight: 600; text-decoration: none; }
.lmi-audio-content__contact a:hover { text-decoration: underline; }

.lmi-audio-content__links { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 24px; }
.lmi-audio-content__link {
	display:         inline-flex;
	align-items:     center;
	gap:             4px;
	font-size:       14px;
	font-weight:     700;
	color:           var(--lmi-fg) !important;
	text-decoration: none;
}
.lmi-audio-content__link:hover { text-decoration: underline; }

/* Share button — "circle" variant (icon in a circle, label below; used on audio/video pages) */
.lmi-share--circle .lmi-share__toggle {
	display:        flex;
	flex-direction: column;
	align-items:    center;
	gap:            6px;
	font-size:      12px !important;
	font-weight:    500 !important;
	color:          var(--lmi-muted) !important;
}
.lmi-share--circle .lmi-share__toggle:hover { color: var(--lmi-fg) !important; }
.lmi-share--circle .lmi-share__circle {
	width:         40px;
	height:        40px;
	border-radius: 50%;
	border:        1px solid var(--lmi-border);
	display:       flex;
	align-items:   center;
	justify-content: center;
}
.lmi-share--circle .lmi-share__menu { left: 100%; top: 0; margin-left: 8px; }

/* ── 33. Category Page (rubrique / emission taxonomy archives) ──────────── */
/* Header, filter bar and grid reuse .lmi-archive__*, .lmi-archive-filters* and
   .lmi-pagination (defined elsewhere) — see template-parts/content/category-page.php. */

/* Reused by author.php, tag.php and archive.php's own "more" pagination. */
.lmi-category-more__pagination { margin-top: 24px; }
.lmi-category-more__pagination .navigation.pagination,
.lmi-category-more__pagination .nav-links {
	display: flex; width: 100%; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap;
}
.lmi-category-more__pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; font-size: 13px; font-weight: 700;
	color: var(--lmi-fg); text-decoration: none;
}
.lmi-category-more__pagination .page-numbers.current { background-color: var(--lmi-primary); color: #fff; }
.lmi-category-more__pagination .page-numbers:not(.current):hover { background-color: var(--lmi-surface); }
.lmi-category-more__pagination .page-numbers.dots { color: var(--lmi-muted); }

/* ── 34. CPT Archives — Tous les audios / Toutes les vidéos ─────────────── */
.lmi-archive-cpt__header { background-color: var(--lmi-primary); }
.lmi-archive-cpt__header .lmi-container { padding-top: 32px; padding-bottom: 32px; }
.lmi-archive-cpt__title { font-size: 28px !important; font-weight: 700 !important; color: #fff !important; margin: 0; }
@media (min-width: 768px) { .lmi-archive-cpt__title { font-size: 36px !important; } }
.lmi-archive-cpt__subtitle { margin-top: 8px; max-width: 480px; font-size: 14px; color: rgba(255,255,255,0.7); }

.lmi-archive-filters { border-top: 1px solid var(--lmi-border); background-color: var(--lmi-surface); }
.lmi-archive-filters .lmi-container { padding-top: 16px; padding-bottom: 16px; }
.lmi-archive-filters__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }
.lmi-archive-filters__field { display: flex; flex-direction: column; gap: 6px; min-width: 180px; }
.lmi-archive-filters__field label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lmi-fg); }
.lmi-archive-filters__field select {
	height: 36px; padding: 0 10px; font-size: 13px; font-family: var(--lmi-font);
	color: var(--lmi-fg); background-color: #fff; border: 1px solid var(--lmi-border);
}
.lmi-archive-filters__reset { display: inline-flex; align-items: center; gap: 6px; height: 36px; font-size: 13px; font-weight: 600; color: var(--lmi-accent) !important; text-decoration: none; }
.lmi-archive-filters__reset:hover { text-decoration: underline; }

.lmi-archive-cpt .lmi-container { padding-top: 24px; padding-bottom: 24px; }

/* Audio list rows */
.lmi-archive-audio__list { display: flex; flex-direction: column; }
.lmi-archive-audio__item {
	display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--lmi-border);
	color: inherit !important; text-decoration: none;
}
.lmi-archive-audio__list .lmi-archive-audio__item:first-child { padding-top: 0; }
.lmi-archive-audio__thumb { position: relative; flex-shrink: 0; width: 100px; height: 100px; overflow: hidden; }
@media (min-width: 768px) { .lmi-archive-audio__thumb { width: 120px; height: 120px; } }
.lmi-archive-audio__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lmi-archive-audio__play {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
}
.lmi-archive-audio__play svg, .lmi-archive-audio__play span { color: #fff; }
.lmi-archive-audio__play svg { width: 48px; height: 48px; border-radius: 50%; padding: 14px; background-color: var(--lmi-accent); box-sizing: border-box; }
.lmi-archive-audio__play span { font-size: 8px; font-weight: 700; text-transform: uppercase; }
.lmi-archive-audio__duration {
	position: absolute; bottom: 4px; right: 4px; background-color: rgba(0,0,0,0.7);
	color: #fff; font-size: 10px; padding: 2px 4px; font-weight: 500;
}
.lmi-archive-audio__body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.lmi-archive-audio__show { font-size: 12px; font-weight: 700; color: var(--lmi-accent); }
.lmi-archive-audio__title-text { margin: 2px 0 0; font-size: 16px; font-weight: 700; line-height: 1.35; }
@media (min-width: 768px) { .lmi-archive-audio__title-text { font-size: 18px !important; } }
.lmi-archive-audio__item:hover .lmi-archive-audio__title-text { text-decoration: underline; }
.lmi-archive-audio__summary {
	margin-top: 4px; font-size: 12px; color: var(--lmi-muted); line-height: 1.5;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lmi-archive-audio__meta { margin-top: 4px; display: flex; gap: 6px; font-size: 12px; color: var(--lmi-muted); }
.lmi-archive-audio__credit { margin-top: 4px; font-size: 12px; color: var(--lmi-muted); }

/* Video grid */
.lmi-archive-video__grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 768px)  { .lmi-archive-video__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-archive-video__grid { grid-template-columns: 1fr 1fr 1fr; } }
.lmi-archive-video__card { display: block; color: inherit !important; text-decoration: none; }
.lmi-archive-video__thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.lmi-archive-video__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lmi-archive-video__play {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
}
.lmi-archive-video__play svg, .lmi-archive-video__play span { color: #fff; }
.lmi-archive-video__play svg { width: 56px; height: 56px; border-radius: 50%; padding: 16px; background-color: var(--lmi-accent); box-sizing: border-box; }
.lmi-archive-video__play span { font-size: 9px; font-weight: 700; text-transform: uppercase; }
.lmi-archive-video__duration {
	position: absolute; bottom: 8px; right: 8px; background-color: rgba(0,0,0,0.7);
	color: #fff; font-size: 12px; padding: 2px 6px; font-weight: 500;
}
.lmi-archive-video__body { margin-top: 8px; }
.lmi-archive-video__show { font-size: 12px; font-weight: 700; color: var(--lmi-accent); }
.lmi-archive-video__title-text { margin: 2px 0 0; font-size: 14px; font-weight: 700; line-height: 1.35; }
.lmi-archive-video__card:hover .lmi-archive-video__title-text { text-decoration: underline; }
.lmi-archive-video__summary {
	margin-top: 4px; font-size: 12px; color: var(--lmi-muted); line-height: 1.5;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lmi-archive-video__credit { margin-top: 8px; font-size: 12px; color: var(--lmi-muted); }

/* ── 35. Annuaire — Directory / Company / Guest (matches Lovable DirectoryPage/CompanyPage/GuestPage) ── */

/* Directory listing */
.lmi-directory__hero { background-color: var(--lmi-fg); color: #fff; padding: 48px 0; }
.lmi-directory__title { font-size: 28px !important; color: #fff !important; margin: 0; }
@media (min-width: 768px) { .lmi-directory__title { font-size: 36px !important; } }
.lmi-directory__subtitle { margin-top: 12px; max-width: 560px; font-size: 16px; color: rgba(255,255,255,0.7); }

.lmi-directory__filters { border-bottom: 1px solid var(--lmi-border); background-color: var(--lmi-surface); padding: 16px 0; }
.lmi-directory__search { display: flex; gap: 8px; max-width: 420px; margin-bottom: 12px; }
.lmi-directory__search input {
	flex: 1; height: 36px; padding: 0 10px; font-size: 13px; font-family: var(--lmi-font);
	color: var(--lmi-fg); background-color: #fff; border: 1px solid var(--lmi-border);
}
.lmi-directory__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lmi-directory__chip {
	padding: 6px 12px; font-size: 12px; font-weight: 600; border: 1px solid var(--lmi-border);
	background-color: #fff; color: var(--lmi-fg) !important; text-decoration: none;
}
.lmi-directory__chip:hover { text-decoration: none; border-color: var(--lmi-primary); }
.lmi-directory__chip.is-active { background-color: var(--lmi-primary); color: #fff !important; border-color: var(--lmi-primary); }

.lmi-directory__section-title { font-size: 18px !important; margin: 32px 0 16px; display: flex; align-items: center; gap: 8px; }
.lmi-directory__grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px)  { .lmi-directory__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-directory__grid { grid-template-columns: 1fr 1fr 1fr; } }

.lmi-directory__guests-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px)  { .lmi-directory__guests-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-directory__guests-grid { grid-template-columns: repeat(4, 1fr); } }
.lmi-directory__guest-card {
	display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--lmi-border);
	color: inherit !important; text-decoration: none; background-color: #fff;
}
.lmi-directory__guest-card:hover { text-decoration: none; border-color: var(--lmi-primary); }
.lmi-directory__guest-card img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.lmi-directory__guest-name { font-size: 13px; font-weight: 700; margin: 0; }
.lmi-directory__guest-role, .lmi-directory__guest-company { font-size: 12px; color: var(--lmi-muted); margin: 0; }

.lmi-directory__listing { padding-top: 16px; padding-bottom: 48px; }

/* Company card */
.lmi-company-card {
	display: block; border: 1px solid var(--lmi-border); background-color: #fff;
	color: inherit !important; text-decoration: none; transition: border-color var(--lmi-transition);
}
.lmi-company-card:hover { text-decoration: none; border-color: var(--lmi-primary); }
.lmi-company-card--pinned { background-color: var(--lmi-primary); color: #fff; border-color: var(--lmi-primary); }
.lmi-company-card__partner-flag {
	display: flex; align-items: center; gap: 6px; padding: 6px 16px; background-color: var(--lmi-accent);
	color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
}
.lmi-company-card__body { padding: 20px; }
.lmi-company-card__header { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.lmi-company-card__logo {
	width: 56px; height: 56px; border-radius: 6px; flex-shrink: 0; overflow: hidden;
	display: flex; align-items: center; justify-content: center; background-color: var(--lmi-surface);
}
.lmi-company-card--pinned .lmi-company-card__logo { background-color: rgba(255,255,255,0.15); }
.lmi-company-card__logo img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.lmi-company-card__name { font-size: 16px !important; margin: 0; }
.lmi-company-card--pinned .lmi-company-card__name { color: #fff !important; }
.lmi-company-card__since { font-size: 11px; color: var(--lmi-muted); margin: 2px 0 0; }
.lmi-company-card--pinned .lmi-company-card__since { color: rgba(255,255,255,0.6); }
.lmi-company-card__desc {
	font-size: 13px; color: var(--lmi-muted); margin: 0 0 12px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lmi-company-card--pinned .lmi-company-card__desc { color: rgba(255,255,255,0.7); }
.lmi-company-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lmi-company-card__tag {
	font-size: 10px; font-weight: 600; padding: 2px 10px; border-radius: 999px; background-color: var(--lmi-surface);
	color: var(--lmi-muted);
}
.lmi-company-card--pinned .lmi-company-card__tag { background-color: rgba(255,255,255,0.15); color: rgba(255,255,255,0.85); }

/* Company profile */
.lmi-company__back { padding-top: 16px; }
.lmi-company__back-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--lmi-muted) !important; text-decoration: none; }
.lmi-company__back-link:hover { color: var(--lmi-primary) !important; text-decoration: none; }

.lmi-company__profile { padding-top: 32px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 768px) { .lmi-company__profile { flex-direction: row; gap: 40px; } }
.lmi-company__logo {
	width: 112px; height: 112px; border-radius: 8px; flex-shrink: 0; overflow: hidden;
	display: flex; align-items: center; justify-content: center; background-color: var(--lmi-surface);
	border: 1px solid var(--lmi-border);
}
.lmi-company__logo img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.lmi-company__name { font-size: 26px !important; margin: 0 0 8px; }
@media (min-width: 768px) { .lmi-company__name { font-size: 30px !important; } }
.lmi-company__meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--lmi-muted); margin-bottom: 16px; }
.lmi-company__desc { font-size: 15px; line-height: 1.7; margin-bottom: 16px; }
.lmi-company__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.lmi-company__tag { font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 999px; background-color: rgba(3,56,124,0.08); color: var(--lmi-primary); }
.lmi-company__website { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--lmi-primary) !important; }
.lmi-company__website:hover { text-decoration: underline; }

.lmi-company__section-title { font-size: 19px !important; margin: 0 0 20px; display: flex; align-items: center; gap: 8px; }
.lmi-company__people { border-top: 1px solid var(--lmi-border); padding: 32px 0; }
.lmi-company__people-row { position: relative; }
.lmi-company__people-track { display: flex; gap: 24px; overflow-x: auto; }
.lmi-company__person { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; width: 140px; text-decoration: none; color: inherit !important; text-align: center; }
.lmi-company__person img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; margin-bottom: 10px; border: 2px solid var(--lmi-border); }
.lmi-company__person:hover img { border-color: var(--lmi-primary); }
.lmi-company__person-name { font-size: 13px; font-weight: 700; }
.lmi-company__person-role { font-size: 11px; color: var(--lmi-muted); }

.lmi-company__contact { background-color: var(--lmi-surface); border-top: 1px solid var(--lmi-border); border-bottom: 1px solid var(--lmi-border); padding: 32px 0; }
.lmi-company__contact-inner { max-width: 640px; }
.lmi-company__contact-sub { font-size: 13px; color: var(--lmi-muted); margin-bottom: 20px; }
.lmi-company__contact-notice { font-size: 13px; font-weight: 600; padding: 10px 14px; margin-bottom: 16px; }
.lmi-company__contact-notice--success { background-color: rgba(34,164,99,0.1); color: #1d8a55; }
.lmi-company__contact-notice--error { background-color: rgba(220,53,69,0.1); color: #c12a3a; }
.lmi-company__contact-form { display: flex; flex-direction: column; gap: 14px; }
.lmi-company__contact-row { display: grid; grid-template-columns: 1fr; gap: 14px; }

.lmi-hp-field {
	position: absolute;
	left:     -9999px;
	width:    1px;
	height:   1px;
	overflow: hidden;
}

.lmi-form-privacy-notice {
	font-size: 12px;
	color:     var(--lmi-muted);
	margin:    0;
}

.lmi-form-privacy-notice a { color: inherit; text-decoration: underline; }
@media (min-width: 540px) { .lmi-company__contact-row { grid-template-columns: 1fr 1fr; } }
.lmi-company__contact-form label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--lmi-muted); }
.lmi-required { color: #c12a3a; }
.lmi-company__contact-form input, .lmi-company__contact-form textarea {
	font-family: var(--lmi-font); font-size: 14px; color: var(--lmi-fg); padding: 8px 10px;
	border: 1px solid var(--lmi-border); background-color: #fff; resize: vertical;
}

.lmi-company__related { padding-top: 32px; padding-bottom: 32px; }
.lmi-company__related-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px)  { .lmi-company__related-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-company__related-grid { grid-template-columns: 1fr 1fr 1fr; } }

/* Guest profile */
.lmi-guest { padding: 40px 0; }
.lmi-author { padding: 40px 0; }
.lmi-guest__profile { display: flex; flex-direction: column; gap: 20px; padding-bottom: 32px; border-bottom: 1px solid var(--lmi-border); margin-bottom: 32px; }
@media (min-width: 540px) {
	.lmi-guest__profile { flex-direction: row; align-items: flex-start; gap: 24px; }
	.lmi-guest__heading { display: flex; flex-direction: column; justify-content: center; min-height: 96px; }
}
.lmi-guest__photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.lmi-guest__name { font-size: 26px !important; margin: 0 0 4px; }
@media (min-width: 768px) { .lmi-guest__name { font-size: 30px !important; } }
.lmi-guest__role { font-size: 13px; font-weight: 600; color: var(--lmi-accent); margin-bottom: 12px; }
.lmi-guest__bio { font-size: 15px; line-height: 1.7; color: var(--lmi-muted); margin-bottom: 16px; }
.lmi-guest__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.lmi-guest__section-title { font-size: 18px !important; margin: 0 0 16px; display: flex; align-items: center; gap: 8px; }
.lmi-guest__pinned { margin-bottom: 32px; }
.lmi-guest__pinned-card {
	display: flex; gap: 20px; padding: 20px; border: 1px solid rgba(255,145,77,0.3);
	background-color: rgba(255,145,77,0.05); text-decoration: none; color: inherit !important;
}
.lmi-guest__pinned-card:hover { text-decoration: none; }
.lmi-guest__pinned-card img { width: 110px; height: 110px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.lmi-guest__pinned-card h3 { font-size: 17px !important; font-weight: 700 !important; margin: 0 0 8px; }
.lmi-guest__pinned-card p {
	font-size: 13px; color: var(--lmi-muted) !important; margin: 0;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

.lmi-guest__count { font-size: 13px; color: var(--lmi-muted); margin-bottom: 24px; }
.lmi-guest__article-list { display: flex; flex-direction: column; gap: 24px; }
.lmi-guest__article {
	display: flex; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--lmi-border);
	text-decoration: none; color: inherit !important;
}
.lmi-guest__article:hover { text-decoration: none; }
.lmi-guest__article:hover h3 { text-decoration: underline; }
.lmi-guest__article:last-child { border-bottom: none; }
.lmi-guest__article img { width: 180px; aspect-ratio: 16/9; object-fit: cover; flex-shrink: 0; }
.lmi-guest__article h3 { font-size: 16px !important; font-weight: 700 !important; margin: 0 0 6px; }
.lmi-guest__article p {
	font-size: 13px; color: var(--lmi-muted) !important; margin: 0 0 8px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lmi-guest__article span { font-size: 12px; color: var(--lmi-muted) !important; }
.lmi-guest__article-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.lmi-archive-video__time { font-size: 12px; color: var(--lmi-muted); }

/* ── 36. Agenda (matches Lovable AgendaPage.tsx) ─────────────────────────── */
.lmi-agenda .lmi-container { padding-top: 24px; padding-bottom: 48px; }
.lmi-agenda__list { display: flex; flex-direction: column; gap: 24px; }
.lmi-agenda__card {
	display: flex; flex-direction: column; border: 1px solid var(--lmi-border);
	background-color: #fff; overflow: hidden; transition: border-color var(--lmi-transition);
}
.lmi-agenda__card:hover { border-color: rgba(3,56,124,0.3); }
@media (min-width: 768px) { .lmi-agenda__card { flex-direction: row; } }
.lmi-agenda__image-wrap { position: relative; flex-shrink: 0; overflow: hidden; }
.lmi-agenda__image-wrap img { width: 100%; height: 192px; object-fit: cover; display: block; }
@media (min-width: 768px) { .lmi-agenda__image-wrap { width: 288px; } .lmi-agenda__image-wrap img { height: 100%; } }
.lmi-agenda__present {
	position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px;
	background-color: var(--lmi-accent); color: #fff; font-size: 11px; font-weight: 700; padding: 6px 10px;
}
.lmi-agenda__body { flex: 1; padding: 20px 24px; }
.lmi-agenda__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.lmi-agenda__type {
	font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
	color: var(--lmi-accent); background-color: rgba(255,145,77,0.1); padding: 2px 8px;
}
.lmi-agenda__date { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--lmi-muted); }
.lmi-agenda__title { font-size: 20px !important; margin: 0 0 8px; }
.lmi-agenda__title a { color: inherit !important; }
.lmi-agenda__card:hover .lmi-agenda__title a { color: var(--lmi-primary); }
.lmi-agenda__location { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--lmi-muted); margin-bottom: 12px; }
.lmi-agenda__location svg { flex-shrink: 0; }
.lmi-agenda__desc { font-size: 14px; line-height: 1.6; color: var(--lmi-muted); margin-bottom: 16px; }
.lmi-agenda__link { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--lmi-accent) !important; }
.lmi-agenda__link:hover { text-decoration: underline; }

.lmi-agenda--single .lmi-company__back-link { margin-bottom: 16px; display: inline-flex; }
.lmi-agenda__card--single { border: none; }
@media (min-width: 768px) { .lmi-agenda__card--single .lmi-agenda__image-wrap { width: 360px; } }
.lmi-agenda__card--single .lmi-agenda__title { font-size: 26px !important; }
.lmi-agenda__card--single .lmi-agenda__desc { color: var(--lmi-fg); font-size: 15px; }

/* ── 37. Live Article (matches Lovable LiveArticleBody.tsx) ─────────────── */
.lmi-live__badge-row { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.lmi-live__badge {
	display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; font-size: 11px;
	font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #c12a3a;
	background-color: rgba(220,53,69,0.1);
}
.lmi-live__dot { width: 8px; height: 8px; border-radius: 50%; background-color: #c12a3a; animation: lmi-live-pulse 1.5s ease-in-out infinite; }
@keyframes lmi-live-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
.lmi-live__watch { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--lmi-fg) !important; }
.lmi-live__watch svg { color: var(--lmi-primary) !important; }
.lmi-live__watch:hover { text-decoration: underline; }

.lmi-live__summary { background-color: var(--lmi-surface); border-left: 4px solid var(--lmi-primary); padding: 16px; margin-bottom: 24px; }
.lmi-live__summary-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 12px; }
.lmi-live__summary ul { display: flex; flex-direction: column; gap: 8px; }
.lmi-live__summary li { position: relative; padding-left: 16px; font-size: 14px; line-height: 1.6; }
.lmi-live__summary li::before { content: '•'; position: absolute; left: 0; color: var(--lmi-primary); }

.lmi-live__feed-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding-bottom: 16px; border-bottom: 1px solid var(--lmi-border); margin-bottom: 0; }

.lmi-live__entry { position: relative; padding: 24px 0 24px 20px; border-left: 2px solid var(--lmi-border); }
.lmi-live__entry::before { content: ''; position: absolute; left: -5px; top: 28px; width: 8px; height: 8px; border-radius: 50%; background-color: var(--lmi-primary); }
.lmi-live__entry:last-child { padding-bottom: 0; }
.lmi-live__entry-time { font-size: 12px; font-weight: 700; color: var(--lmi-muted); }
.lmi-live__entry-author { display: flex; align-items: center; gap: 8px; margin: 6px 0 10px; }
.lmi-live__entry-author img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.lmi-live__entry-author-name { font-size: 14px; font-weight: 700; color: var(--lmi-fg) !important; }
.lmi-live__entry-author-name:hover { text-decoration: underline; }
.lmi-live__entry-role { font-size: 12px; color: var(--lmi-muted); margin-left: 8px; }
.lmi-live__entry-content { font-size: 15px; line-height: 1.7; }
.lmi-live__entry-content p:last-child { margin-bottom: 0; }

.lmi-live__entry-video { display: block; margin-top: 14px; max-width: 480px; text-decoration: none; }
.lmi-live__entry-video-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.lmi-live__entry-video-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lmi-live__entry-video-play {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background-color: rgba(3,56,124,0.2);
}
.lmi-live__entry-video-play svg {
	width: 48px; height: 48px; border-radius: 50%; padding: 14px; box-sizing: border-box;
	background-color: rgba(3,56,124,0.9); color: #fff;
}
.lmi-live__entry-video-duration {
	position: absolute; bottom: 6px; right: 6px; background-color: rgba(0,0,0,0.75);
	color: #fff; font-size: 10px; font-weight: 700; padding: 2px 5px;
}
.lmi-live__entry-video p { margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--lmi-fg) !important; }
.lmi-live__entry-video:hover p { text-decoration: underline; }

.lmi-live__videos { border-top: 1px solid var(--lmi-border); margin-top: 40px; }

.lmi-live-thumb-badge {
	position: absolute; top: 8px; left: 8px; z-index: 1; display: inline-flex; align-items: center; gap: 5px;
	background-color: #c12a3a; color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.05em; padding: 4px 8px;
}
.lmi-live-thumb-badge .lmi-live__dot { background-color: #fff; width: 6px; height: 6px; }

/* ── 38. À propos / Contact (matches Lovable About.tsx / Contact.tsx) ───── */
.lmi-about__hero { background-color: var(--lmi-primary); color: #fff; padding: 56px 0; }
.lmi-about__hero-grid { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }
@media (min-width: 768px) { .lmi-about__hero-grid { grid-template-columns: 1fr 1fr; } }
.lmi-about__hero-title { font-size: 32px !important; color: #fff !important; margin: 0 0 12px; }
@media (min-width: 768px) { .lmi-about__hero-title { font-size: 44px !important; } }
.lmi-about__hero-sub { font-size: 17px; color: rgba(255,255,255,0.7); line-height: 1.6; max-width: 560px; }
.lmi-about__hero-sub p { margin: 0; }
.lmi-about__hero-img { aspect-ratio: 4/3; overflow: hidden; max-width: 440px; justify-self: center; }
.lmi-about__hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.lmi-about__section { padding: 48px 0; }
.lmi-about__section--alt { background-color: var(--lmi-surface); }
.lmi-about__section-title { font-size: 26px !important; margin: 0 0 28px; }
.lmi-about__mission { max-width: 760px; }

.lmi-about__mission-grid { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }
@media (min-width: 768px) { .lmi-about__mission-grid { grid-template-columns: 1fr 1fr; } }

.lmi-about__mission-img { aspect-ratio: 4/3; overflow: hidden; max-width: 400px; justify-self: center; order: -1; }
.lmi-about__mission-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lmi-about__mission-body { font-size: 15px; line-height: 1.8; color: var(--lmi-muted); }
.lmi-about__mission-body p:last-child { margin-bottom: 0; }

.lmi-about__values-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px)  { .lmi-about__values-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-about__values-grid { grid-template-columns: repeat(4, 1fr); } }
.lmi-about__value-card { background-color: #fff; border: 1px solid var(--lmi-border); padding: 24px; }
.lmi-about__value-card svg { color: var(--lmi-primary); margin-bottom: 14px; }
.lmi-about__value-card h3 { font-size: 17px !important; font-weight: 700 !important; margin: 0 0 8px; }
.lmi-about__value-card p { font-size: 13px; color: var(--lmi-muted); line-height: 1.6; margin: 0; }

.lmi-about__team-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px)  { .lmi-about__team-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lmi-about__team-grid { grid-template-columns: repeat(4, 1fr); } }
.lmi-about__team-card { border: 1px solid var(--lmi-border); padding: 24px; scroll-margin-top: 96px; }
.lmi-about__team-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; margin-bottom: 14px; }
.lmi-about__team-card h3 { font-size: 17px !important; font-weight: 700 !important; margin: 0 0 4px; }
.lmi-about__team-role { font-size: 13px; font-weight: 600; color: var(--lmi-primary); margin: 0 0 10px; }
.lmi-about__team-desc { font-size: 13px; color: var(--lmi-muted); line-height: 1.6; margin: 0 0 14px; }
.lmi-about__team-links { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.lmi-about__team-links a { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--lmi-muted); }
.lmi-about__team-links a:hover { color: var(--lmi-primary); text-decoration: none; }
.lmi-about__team-profile { font-weight: 600; color: var(--lmi-primary) !important; }

.lmi-contact__grid { display: flex; justify-content: center; }
.lmi-contact__form-col { width: 100%; max-width: 640px; }
.lmi-contact__info { display: flex; flex-direction: column; gap: 24px; }
.lmi-contact__info-row { display: flex; gap: 14px; }
.lmi-contact__info-row svg { color: var(--lmi-primary); flex-shrink: 0; margin-top: 2px; }
.lmi-contact__info-label { font-weight: 600; margin: 0; }
.lmi-contact__info-value { font-size: 14px; color: var(--lmi-muted); margin: 2px 0 0; }


/* ── Comments (articles + podcasts) ──────────────────────────────────── */
.lmi-comments { border-top: 1px solid var(--lmi-border); padding-top: 40px; padding-bottom: 40px; }
.lmi-comments__title { font-size: 20px !important; font-weight: 900; margin: 0 0 24px; }
.lmi-comments__list { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.lmi-comment { position: static; }
.lmi-comment__meta { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; flex-wrap: wrap; }
.lmi-comment__author { font-weight: 700; font-size: 14px; color: var(--lmi-fg); }
.lmi-comment__date { font-size: 12px; color: var(--lmi-muted); }
.lmi-comment__text { font-size: 14px; line-height: 1.6; color: var(--lmi-fg); }
.lmi-comment__text p { margin: 0 0 8px; }
.lmi-comment__text p:last-child { margin-bottom: 0; }
.lmi-comments__empty { font-size: 14px; color: var(--lmi-muted); margin: 0 0 32px; }
.lmi-comments__form { max-width: 640px; }
.lmi-comments__form h3 { font-size: 17px !important; font-weight: 900; margin: 0 0 16px; }
.lmi-comments__form .comment-form { display: flex; flex-direction: column; gap: 14px; }
.lmi-comments__form textarea { font-family: var(--lmi-font); padding: 10px 12px; border: 1px solid var(--lmi-border); border-radius: var(--lmi-radius); resize: vertical; }
.lmi-comments__hp { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.lmi-comments__consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--lmi-muted); cursor: pointer; }
.lmi-comments__consent input { margin-top: 3px; flex-shrink: 0; }
.lmi-comments__privacy { font-size: 12px; color: var(--lmi-muted); line-height: 1.5; margin: 0; }
.lmi-comments__privacy a { color: var(--lmi-primary); }
