/*
 * LEPTIDIGITAL — CSS thème, port FIDÈLE de apps/web/app/globals.css (dark-mode).
 * Reproduit tokens, .ld-prose, types display, header glass, footer, ambient, cartes.
 * Couleurs littérales (comme globals) pour parité exacte ; tokens aussi en :root.
 */

:root {
	--color-background: #060914;
	--color-surface-1: #0c1224;
	--color-surface-2: rgba(255, 255, 255, 0.04);
	--color-surface-3: rgba(255, 255, 255, 0.06);
	--color-border: rgba(255, 255, 255, 0.08);
	--color-border-strong: rgba(255, 255, 255, 0.16);
	--color-foreground: #f3f5f8;
	--color-foreground-muted: #98a2b3;
	--color-foreground-subtle: #7c8694;
	--color-turquoise: #5ce0d8;
	--color-mint: #84ebad;
	--gradient-brand: linear-gradient(to right,#5ce0d8,#84ebad);
	--color-violet: #8b5cf6;
	--color-magenta: #ec4899;
	--color-gold: #b8ab7e;
	--color-navy: #061622;
	--color-success: #84ebad;
	--color-warning: #b8ab7e;
	--color-danger: #ec4899;
	--font-sans: var(--wp--preset--font-family--sans, "Montserrat", system-ui, sans-serif);
	--font-serif: var(--wp--preset--font-family--serif, "Source Serif 4", Georgia, serif);
	--font-mono: var(--wp--preset--font-family--mono, "JetBrains Mono", ui-monospace, monospace);
	--space-1: var(--wp--preset--spacing--20, .5rem);
	--space-2: var(--wp--preset--spacing--30, .75rem);
	--space-3: var(--wp--preset--spacing--40, 1rem);
	--space-4: var(--wp--preset--spacing--50, 1.5rem);
	--space-5: var(--wp--preset--spacing--60, 2.25rem);
	--space-6: var(--wp--preset--spacing--70, 3.5rem);
	--space-7: var(--wp--preset--spacing--80, 5rem);
	--radius-sm: 10px;
	--radius-md: 16px;
	--radius-lg: 24px;
	--radius-xl: 32px;
	--radius-pill: 999px;
	--shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.3);
	--shadow-md: 0 12px 40px rgba(0, 0, 0, 0.4);
	--shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.5);
	--shadow-glow: 0 8px 28px rgba(92, 224, 216, 0.45);
	--container: 1280px;
	--prose: 720px;
	--control-height: 44px;
	--duration-fast: 150ms;
	--duration-base: 200ms;
	--ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
	color-scheme: dark;
}

/* ===== Base ===== */
html { color-scheme: dark; background: #060914; }
body {
	background: #060914;
	color: #f3f5f8;
	font-family: var(--wp--preset--font-family--sans, "Montserrat", system-ui, sans-serif);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
::selection { background: rgba(92, 224, 216, 0.3); color: #f3f5f8; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid #5ce0d8; outline-offset: 2px; border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ===== Primitives gouvernées : actions, formulaires et feedback ===== */
.ld-button {
	display: inline-flex;
	min-height: var(--control-height);
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .65rem 1.15rem;
	border: 1px solid transparent;
	border-radius: var(--radius-pill);
	background: linear-gradient(135deg,var(--color-turquoise),var(--color-mint));
	color: var(--color-navy);
	font: 700 .875rem/1 var(--font-sans);
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);
}
.ld-button:hover { color: var(--color-navy); transform: translateY(-1px); box-shadow: var(--shadow-glow); }
.ld-button:active { transform: translateY(0); }
.ld-button.is-secondary { border-color: var(--color-border-strong); background: var(--color-surface-2); color: var(--color-foreground); box-shadow: none; }
.ld-button.is-secondary:hover { border-color: rgba(92,224,216,.55); background: var(--color-surface-3); color: var(--color-mint); }
.ld-button.is-danger { border-color: rgba(236,72,153,.5); background: rgba(236,72,153,.1); color: #ff91c2; box-shadow: none; }
.ld-button.is-small { min-height: 36px; padding: .45rem .85rem; font-size: .75rem; }
.ld-button.is-full { width: 100%; }
.ld-button:disabled,.ld-button[aria-disabled="true"] { opacity: .48; pointer-events: none; transform: none; box-shadow: none; }
.ld-button[aria-busy="true"]::before { width: .9rem; height: .9rem; box-sizing: border-box; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ""; animation: ld-primitive-spin .8s linear infinite; }
@keyframes ld-primitive-spin { to { transform: rotate(360deg); } }

.ld-field { display: grid; gap: .4rem; }
.ld-field > label,.ld-field > legend { color: var(--color-foreground); font-size: .8rem; font-weight: 700; }
.ld-field :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { width: 100%; min-height: var(--control-height); box-sizing: border-box; border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); padding: .7rem .85rem; background: var(--color-surface-1); color: var(--color-foreground); font: inherit; }
.ld-field textarea { min-height: 8rem; resize: vertical; }
.ld-field small { color: var(--color-foreground-subtle); font-size: .75rem; line-height: 1.45; }
.ld-field.is-error :where(input,select,textarea),.ld-field :where(input,select,textarea)[aria-invalid="true"] { border-color: var(--color-danger); box-shadow: 0 0 0 2px rgba(236,72,153,.18); }
.ld-field.is-error small { color: #ff91c2; }
.ld-field :where(input,select,textarea):disabled { opacity: .58; cursor: not-allowed; }

.ld-feedback { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid var(--color-border); border-left-width: 4px; border-radius: var(--radius-sm); background: var(--color-surface-2); color: var(--color-foreground); }
.ld-feedback.is-success { border-left-color: var(--color-success); }.ld-feedback.is-warning { border-left-color: var(--color-warning); }.ld-feedback.is-danger { border-left-color: var(--color-danger); }
.ld-feedback p { margin: .2rem 0 0; color: var(--color-foreground-muted); font-size: .875rem; }
.ld-empty-state { display: grid; min-height: 12rem; place-items: center; align-content: center; padding: var(--space-5); border: 1px dashed var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface-2); color: var(--color-foreground-muted); text-align: center; }
.ld-skeleton { min-height: .8rem; border-radius: .4rem; background: linear-gradient(90deg,var(--color-surface-2),var(--color-surface-3),var(--color-surface-2)); background-size: 200% 100%; animation: ld-primitive-shimmer 1.4s linear infinite; }
@keyframes ld-primitive-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .ld-button[aria-busy="true"]::before,.ld-skeleton { animation: none; } }

/* le <main> est centré sur le container */
.wp-site-blocks { position: relative; z-index: 2; }

/* ===== Skip link ===== */
.ld-skip-link { position: absolute; left: -9999px; top: 8px; background: var(--gradient-brand); color: #061622; padding: 8px 14px; font-weight: 700; border-radius: 999px; z-index: 9999; }
.ld-skip-link:focus { left: 8px; }

/* ===== Ambient background (orbes + grain) ===== */
.ld-ambient { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; clip-path: inset(0); }
.ld-ambient .orb { position: absolute; border-radius: 9999px; filter: blur(120px); }
.ld-ambient .o1 { width: 600px; height: 600px; top: -200px; left: -100px; opacity: .35; background: radial-gradient(circle, #5ce0d8, transparent 60%); }
.ld-ambient .o2 { width: 500px; height: 500px; top: 20%; right: -120px; opacity: .25; background: radial-gradient(circle, #84ebad, transparent 60%); }
.ld-ambient .o3 { width: 700px; height: 700px; top: 60%; left: 30%; opacity: .18; background: radial-gradient(circle, #8b5cf6, transparent 60%); }
.ld-ambient .o4 { width: 480px; height: 480px; bottom: 10%; right: 20%; opacity: .14; background: radial-gradient(circle, #ec4899, transparent 60%); }
.ld-grain { position: fixed; inset: 0; z-index: 1; opacity: .04; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
@media (max-width: 767px) { .ld-ambient .o3, .ld-ambient .o4 { display: none; } .ld-ambient .orb { filter: blur(80px); } }
@media (prefers-reduced-motion: reduce) { .ld-ambient, .ld-grain { display: none; } }

/* ===== Pulse dot (LiveStrip « En direct ») — verbatim globals.css ===== */
@keyframes ld-pulse {
	0% { box-shadow: 0 0 0 0 rgba(92,224,216,.55), 0 0 12px 2px rgba(132,235,173,.6); }
	70% { box-shadow: 0 0 0 14px rgba(92,224,216,0), 0 0 20px 4px rgba(132,235,173,.2); }
	100% { box-shadow: 0 0 0 0 rgba(92,224,216,0), 0 0 12px 2px rgba(132,235,173,.6); }
}
.ld-pulse-dot { display: inline-block; width: 10px; height: 10px; flex: none; background: linear-gradient(135deg,#5ce0d8 0%,#84ebad 100%); border-radius: 9999px; animation: ld-pulse 2.4s ease-in-out infinite; }

/* ===== Header glass flottant (SiteHeader) ===== */
.ld-site-header { position: relative; z-index: 100; margin: 16px auto 0; padding: 0 8px; max-width: calc(1280px - 16px); }
.ld-header-pill {
	display: flex; align-items: center; gap: 12px; height: 76px;
	border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 8px 8px 8px 16px;
	background: rgba(12, 18, 36, 0.5);
	-webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
@media (min-width: 640px) { .ld-header-pill { gap: 24px; padding-left: 24px; } }
.ld-wordmark { display: inline-flex; align-items: center; }
.ld-wordmark img { height: 32px; width: auto; display: block; }
.ld-header-nav { display: none; align-items: center; gap: 2px; margin-left: 16px; }
@media (min-width: 1180px) { .ld-header-nav { display: flex; } }
.ld-nav-link {
	border-radius: 999px; padding: 10px 16px; font-size: 14px; font-weight: 600;
	color: #98a2b3; transition: all .2s var(--ease-out); white-space: nowrap;
}
.ld-nav-link:hover { color: #f3f5f8; background: rgba(255, 255, 255, 0.04); }
.ld-nav-link[aria-current="page"] { color: #f3f5f8; background: linear-gradient(135deg, rgba(92,224,216,.15), rgba(132,235,173,.15)); box-shadow: inset 0 0 0 1px rgba(92,224,216,.25); }
.ld-header-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.ld-header-ico {
	display: none; height: 48px; min-width: 48px; align-items: center; justify-content: center; gap: 8px;
	border-radius: 999px; padding: 0 12px; color: #98a2b3; transition: all .15s var(--ease-out);
}
@media (min-width: 640px) { .ld-header-ico { display: inline-flex; } }
.ld-header-ico:hover { background: rgba(255, 255, 255, 0.06); color: #f3f5f8; }
.ld-header-ico kbd { display: none; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); border-radius: 6px; padding: 2px 6px; font-size: 10px; font-weight: 600; letter-spacing: .05em; color: #7c8694; }
@media (min-width: 1024px) { .ld-header-ico kbd { display: inline-block; } }
.ld-header-ico svg { width: 19px; height: 19px; }

/* ===== Profils sociaux : bouton compact + popover desktop ===== */
.ld-social-menu { position: relative; display: none; }
@media (min-width: 1180px) { .ld-social-menu { display: block; } }
.ld-social-menu summary {
	display: inline-flex; width: 48px; height: 48px; box-sizing: border-box; align-items: center; justify-content: center;
	border-radius: 999px; color: #98a2b3; cursor: pointer; list-style: none; transition: all .15s var(--ease-out);
}
.ld-social-menu summary::-webkit-details-marker { display: none; }
.ld-social-menu summary:hover, .ld-social-menu summary:focus-visible, .ld-social-menu[open] summary { background: rgba(255,255,255,.06); color: #f3f5f8; }
.ld-social-menu summary > svg { width: 19px; height: 19px; fill: none; }
.ld-social-popover {
	position: absolute; top: calc(100% + 10px); right: 0; z-index: 60; width: 220px; box-sizing: border-box; padding: 10px;
	border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(12,18,36,.96);
	-webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 18px 50px rgba(0,0,0,.55);
}
.ld-social-popover::before { content: ""; position: absolute; right: 18px; bottom: 100%; width: 18px; height: 10px; }
.ld-social-popover p { margin: 4px 8px 7px; color: #7c8694; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ld-social-popover ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ld-social-popover a { display: flex; min-height: 42px; align-items: center; gap: 11px; border-radius: 12px; padding: 0 10px; color: #98a2b3; font-size: 13px; font-weight: 600; transition: all .15s var(--ease-out); }
.ld-social-popover a:hover, .ld-social-popover a:focus-visible { background: rgba(255,255,255,.05); color: #84ebad; }
.ld-social-popover svg { width: 20px; height: 20px; flex: none; fill: currentColor; }

/* ===== Burger (mobile) ===== */
.ld-header-burger { display: inline-flex; height: 48px; width: 48px; align-items: center; justify-content: center; border-radius: 999px; color: #98a2b3; transition: all .15s var(--ease-out); }
.ld-header-burger:hover { background: rgba(255,255,255,.06); color: #f3f5f8; }
.ld-header-burger svg { width: 19px; height: 19px; }
@media (min-width: 1180px) { .ld-header-burger { display: none; } }

/* ===== Mega-menu + dropdown (CSS-only, hover/focus-within) =====
 * Fond opaque : .ld-header-pill a son propre backdrop-filter, ce qui en fait
 * une « backdrop root » — le flou des menus imbriqués ne voit pas la page. */
.ld-header-nav { position: relative; }
.ld-nav-item { display: inline-flex; align-items: center; }
.ld-nav-item.has-dropdown { position: relative; }
.ld-mega, .ld-dropdown { visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .2s var(--ease-out), transform .2s var(--ease-out); }
.ld-nav-item:hover > .ld-mega, .ld-nav-item:focus-within > .ld-mega,
.ld-nav-item:hover > .ld-dropdown, .ld-nav-item:focus-within > .ld-dropdown,
.ld-mega.is-peek, .ld-dropdown.is-peek { visibility: visible; opacity: 1; pointer-events: auto; }

.ld-mega { position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%) translateY(6px); z-index: 50; width: min(900px, calc(100vw - 48px)); border-radius: 24px; border: 1px solid rgba(255,255,255,.08); background: #0a0e1c; -webkit-backdrop-filter: blur(32px); backdrop-filter: blur(32px); box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.ld-nav-item:hover > .ld-mega, .ld-nav-item:focus-within > .ld-mega, .ld-mega.is-peek { transform: translateX(-50%) translateY(0); }
.ld-mega-grid { display: grid; gap: 24px; padding: 24px; }
.ld-mega-col { display: flex; flex-direction: column; gap: 4px; }
.ld-mega-link { display: block; border-radius: 16px; padding: 10px 12px; transition: background .2s var(--ease-out); }
.ld-mega-link:hover { background: rgba(255,255,255,.04); }
.ld-mega-link-label { display: block; font-size: 14px; font-weight: 600; color: #98a2b3; transition: color .2s var(--ease-out); }
.ld-mega-link:hover .ld-mega-link-label { color: #f3f5f8; }
.ld-mega-link-desc { display: block; margin-top: 2px; font-size: 12px; color: #7c8694; }
.ld-mega-promo { display: flex; flex-direction: column; justify-content: space-between; border-radius: 24px; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.03); padding: 20px; gap: 16px; }
.ld-mega-promo-title { margin: 0; font-size: 14px; font-weight: 700; color: #f3f5f8; }
.ld-mega-promo-desc { margin: 6px 0 0; font-size: 12px; line-height: 1.6; color: #98a2b3; }
.ld-mega-promo-cta { display: inline-flex; align-items: center; align-self: flex-start; border-radius: 999px; padding: 8px 16px; font-size: 12px; font-weight: 700; color: #061622; background: linear-gradient(135deg,#5ce0d8 0%,#84ebad 100%); box-shadow: 0 4px 14px rgba(92,224,216,.3); }

.ld-dropdown { position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; min-width: 220px; padding: 8px; border-radius: 16px; border: 1px solid rgba(255,255,255,.08); background: #0a0e1c; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 12px 40px rgba(0,0,0,.5); display: flex; flex-direction: column; }
.ld-dropdown-link { border-radius: 10px; padding: 10px 14px; font-size: 14px; color: #98a2b3; transition: all .2s var(--ease-out); }
.ld-dropdown-link:hover { background: rgba(255,255,255,.04); color: #f3f5f8; }

/* ===== Drawer mobile : repli :target + contrôle JS du focus ===== */
.ld-mobile-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,.6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; pointer-events: none; transition: opacity .25s var(--ease-out); }
.ld-mobile-panel { position: fixed; inset: 0; z-index: 201; display: flex; flex-direction: column; background: rgba(6,9,20,.98); -webkit-backdrop-filter: blur(32px); backdrop-filter: blur(32px); transform: translateX(100%); transition: transform .28s var(--ease-out); }
.ld-mobile-panel:target, .ld-mobile-panel.is-open { transform: translateX(0); }
body:has(.ld-mobile-panel:target), html.ld-menu-open { overflow: hidden; }
body:has(.ld-mobile-panel:target) .ld-mobile-overlay, .ld-mobile-overlay.is-open { opacity: 1; pointer-events: auto; }
@media (min-width: 1180px) { .ld-mobile-panel, .ld-mobile-overlay { display: none; } }
.ld-mobile-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.ld-mobile-title { font-size: 14px; font-weight: 700; color: #f3f5f8; }
.ld-mobile-close { display: inline-flex; height: 44px; width: 44px; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: #98a2b3; cursor: pointer; }
.ld-mobile-close:hover { background: rgba(255,255,255,.1); color: #f3f5f8; }
.ld-mobile-close svg { width: 20px; height: 20px; }
.ld-mobile-list { flex: 1; overflow-y: auto; padding: 12px 0; }
.ld-mobile-item { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 14px 20px; font-size: 15px; font-weight: 600; color: #f3f5f8; transition: background .2s var(--ease-out); }
.ld-mobile-item:hover { background: rgba(255,255,255,.04); }
.ld-mobile-summary { cursor: pointer; list-style: none; justify-content: space-between; }
.ld-mobile-summary::-webkit-details-marker { display: none; }
.ld-mobile-summary svg { width: 18px; height: 18px; color: #7c8694; transition: transform .2s var(--ease-out); }
.ld-mobile-acc[open] > .ld-mobile-summary svg { transform: rotate(90deg); }
.ld-mobile-sub { display: flex; flex-direction: column; padding: 0 0 8px; background: rgba(255,255,255,.02); }
.ld-mobile-sublink { padding: 12px 20px 12px 36px; font-size: 14px; color: #98a2b3; transition: color .2s var(--ease-out); }
.ld-mobile-sublink:hover { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-mobile-foot { display: flex; flex-direction: column; gap: 8px; padding: 16px 20px; border-top: 1px solid rgba(255,255,255,.1); }
.ld-mobile-foot-link { display: flex; min-height: 44px; box-sizing: border-box; align-items: center; gap: 12px; border-radius: 16px; padding: 12px 16px; font-size: 14px; font-weight: 500; color: #98a2b3; transition: all .2s var(--ease-out); }
.ld-mobile-foot-link:hover { background: rgba(255,255,255,.04); color: #f3f5f8; }
.ld-mobile-foot-link svg { width: 18px; height: 18px; }
.ld-mobile-social { display: grid; gap: 10px; margin-top: 4px; padding: 12px 4px 0; border-top: 1px solid rgba(255,255,255,.08); }
.ld-mobile-social > span { color: #7c8694; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
@media (prefers-reduced-motion: reduce) { .ld-mobile-panel, .ld-mobile-overlay { transition: none; } }

/* ===== Footer (SiteFooter) ===== */
.ld-site-footer { position: relative; z-index: 2; margin-top: 96px; border-top: 1px solid rgba(255,255,255,.08); background: rgba(6,9,20,.5); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.ld-footer-inner { max-width: 1280px; margin: 0 auto; padding: 56px 24px 24px; }
.ld-footer-top { display: grid; gap: 48px; }
@media (min-width: 1024px) { .ld-footer-top { grid-template-columns: minmax(260px, 1.4fr) 3fr; } }
.ld-footer-blurb { margin-top: 20px; max-width: 32ch; font-size: 14px; line-height: 1.6; color: #98a2b3; }
.ld-social-icons { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ld-social-icons a { display: inline-flex; width: 40px; height: 40px; box-sizing: border-box; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #98a2b3; transition: all .18s var(--ease-out); }
.ld-social-icons a:hover, .ld-social-icons a:focus-visible { border-color: rgba(92,224,216,.4); background: rgba(92,224,216,.08); color: #84ebad; transform: translateY(-1px); }
.ld-social-icons svg { width: 20px; height: 20px; fill: currentColor; }
.ld-social-icons--footer { margin-top: 18px; }
.ld-social-icons--mobile { gap: 10px; }
.ld-social-icons--mobile a { width: 44px; height: 44px; }
.ld-footer-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
@media (min-width: 768px) { .ld-footer-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ld-footer-cols h2 { margin: 0 0 16px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: #f3f5f8; }
.ld-footer-cols ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ld-footer-cols a { font-size: 13px; color: #98a2b3; transition: color .2s var(--ease-out); }
.ld-footer-cols a:hover { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-footer-bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.06); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; font-size: 12px; color: #7c8694; }
.ld-footer-bottom a:hover { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ===== Wordmark fallback (texte) ===== */
.ld-wordmark.is-text { font-family: var(--wp--preset--font-family--sans); font-weight: 800; letter-spacing: -.02em; font-size: 1.25rem; background: linear-gradient(135deg, #5ce0d8, #84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ===== Eyebrow / section header ===== */
.ld-eyebrow, .ld-eyebrow a { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-section-title { position: relative; padding-left: 14px; font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: -.02em; }
.ld-section-title::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 4px; border-radius: 4px; background: linear-gradient(180deg,#5ce0d8,#84ebad); }
.ld-section-header { margin-bottom: 1.25rem; }

/* ===== Types display (clamp) ===== */
.ld-display-xl { font-size: clamp(36px,5.5vw,64px); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; }
.ld-display-lg { font-size: clamp(34px,4vw,52px); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; }
.ld-display-md { font-size: clamp(28px,3.4vw,42px); line-height: 1.1; letter-spacing: -.025em; font-weight: 800; }
.ld-featured-title { font-family: var(--wp--preset--font-family--serif); font-size: clamp(28px,3.6vw,44px); line-height: 1.08; letter-spacing: -.02em; font-weight: 700; }
.ld-hero-title { font-family: var(--wp--preset--font-family--serif); font-size: clamp(36px,5.5vw,64px); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; text-wrap: balance; }
.ld-article-h1 { font-family: var(--wp--preset--font-family--serif); font-size: clamp(30px,4vw,48px); line-height: 1.08; letter-spacing: -.025em; font-weight: 800; text-wrap: balance; }
.ld-article-content > .ld-article-h1 { margin-top: 0; margin-bottom: 0; font-size: clamp(49.15px,6.55vw,78.64px); text-align: center; }
.ld-article-content > .ld-article-h1::after { content: ""; display: block; width: 64px; height: 6px; margin: 24px auto 0; border-radius: 999px; background: linear-gradient(90deg,#5ce0d8,#84ebad 52%,#8b5cf6); box-shadow: 0 0 18px rgba(92,224,216,.32); }
.ld-article-subtitle { max-width: 650px; margin: -.85rem auto 0; text-align: center; font-size: clamp(1.1rem,2.2vw,1.35rem); line-height: 1.45; font-weight: 600; color: #a78bfa; text-wrap: balance; }

/* ===== Hero accueil ===== */
.ld-hero { padding: 3.5rem 0 3rem; text-align: center; }

/* ===== Auteur / dates / chapeau article ===== */
.ld-article-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; margin: -.1rem auto .5rem; color: #98a2b3; font-size: 13px; text-align: center; }
.ld-article-meta__author { display: inline-flex; align-items: center; gap: 10px; color: #f3f5f8; text-decoration: none; }
.ld-article-meta__author:hover strong { color: #84ebad; }
.ld-article-meta__media { display: inline-flex; width: 52px; height: 52px; flex: none; border: 2px solid rgba(92,224,216,.38); border-radius: 50%; overflow: hidden; box-shadow: 0 5px 18px rgba(92,224,216,.14); }
.ld-article-meta__avatar { display: block; width: 100%; height: 100%; object-fit: cover; }
.ld-article-meta__author-name { display: inline-flex; gap: .3em; align-items: baseline; white-space: nowrap; }
.ld-article-meta__author-name > span { color: #98a2b3; }
.ld-article-meta__author-name strong { color: #f3f5f8; transition: color .2s var(--ease-out); }
.ld-article-meta__dates { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.ld-article-meta__date { display: inline-flex; gap: .32em; align-items: baseline; }
.ld-article-meta__date time { color: #c7ced9; }
.ld-article-meta__date--updated { border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 4px 10px; }
.ld-article-meta__reading { color: #c7ced9; white-space: nowrap; }
.ld-article-meta__trust { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; width: 100%; }
.ld-article-meta__trust a { color: #84ebad; text-decoration: underline; text-decoration-color: rgba(132,235,173,.42); text-underline-offset: 3px; }
.ld-article-meta__trust a:hover { color: #f3f5f8; text-decoration-color: currentColor; }
.ld-article-trust { box-sizing: border-box; display: grid; width: 100%; max-width: 100%; gap: 16px; margin-top: 2.5rem; padding: 22px; border: 1px solid rgba(92,224,216,.2); border-radius: 20px; background: linear-gradient(135deg,rgba(92,224,216,.06),rgba(139,92,246,.05)); }
.ld-article-trust__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.ld-article-trust__eyebrow { display: block; margin-bottom: 4px; color: #84ebad; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ld-article-trust h2 { margin: 0; font-size: 1.15rem; }
.ld-article-trust__date { flex: none; color: #98a2b3; font-size: 12px; }
.ld-article-trust__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; }
.ld-article-trust__facts div { padding: 12px; border-radius: 12px; background: rgba(255,255,255,.035); }
.ld-article-trust__facts dt { margin-bottom: 4px; color: #7c8694; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ld-article-trust__facts dd { margin: 0; color: #f3f5f8; font-size: 13px; line-height: 1.45; }
.ld-article-trust__note { margin: 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); color: #c7ced9; font-size: 13px; line-height: 1.55; }
.ld-article-trust__links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.ld-article-trust__links a { color: #84ebad; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
	.ld-article-trust__head { flex-direction: column; }
	.ld-article-trust__facts { grid-template-columns: 1fr; }
}

@property --ld-lead-fill {
	syntax: "<percentage>";
	inherits: false;
	initial-value: 112%;
}
.ld-lead { --ld-lead-fill: 112%; max-width: 60ch; margin-inline: auto; text-align: center; font-size: 1.35rem !important; line-height: 1.55; font-weight: 700; text-wrap: pretty; background: linear-gradient(105deg,#5ce0d8 0%,#84ebad calc(var(--ld-lead-fill) - 12%),#8b5cf6 var(--ld-lead-fill),rgba(243,245,248,.3) calc(var(--ld-lead-fill) + .5%),rgba(243,245,248,.3) 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
@supports (animation-timeline: view()) {
	.ld-lead { --ld-lead-fill: 0%; animation: ld-lead-fill linear both; animation-timeline: view(); animation-range: entry 0% cover 48%; }
}
@keyframes ld-lead-fill {
	to { --ld-lead-fill: 112%; }
}
@media (prefers-reduced-motion: reduce) {
	.ld-lead { --ld-lead-fill: 112%; animation: none; }
}
@media (forced-colors: active) {
	.ld-lead { background: none; color: CanvasText !important; }
}
.ld-article-hero img, .wp-block-post-featured-image.ld-article-hero img { border-radius: 16px; border: 1px solid rgba(255,255,255,.08); box-shadow: 0 12px 40px rgba(0,0,0,.4); }
.ld-tags a { display: inline-block; margin: 3px 6px 3px 0; padding: 4px 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; font-size: 13px; color: #98a2b3; }
.ld-tags a:hover { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; border-color: rgba(132,235,173,.45); }
.ld-footer-category { margin-bottom: .75rem; }

/* ===== Google Preferred Sources ===== */
.ld-google-preferred-source { display: flex; width: 100%; justify-content: center; }
.ld-google-preferred-source__link {
	display: inline-flex;
	flex: none;
	border-radius: 11px;
	box-shadow: 0 10px 28px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.2);
	transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out);
}
.ld-google-preferred-source__link:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 0 2px rgba(92,224,216,.55); }
.ld-google-preferred-source__link:focus-visible { outline: 3px solid #5ce0d8; outline-offset: 4px; }
.ld-google-preferred-source img { display: block; width: 200px; height: 63px; border-radius: 11px; }
.ld-google-preferred-source--home { box-sizing: border-box; margin: 24px auto 0; padding-inline: 24px; }
.ld-google-preferred-source--category { margin: -20px auto 32px; }
.ld-google-preferred-source--article-title { margin-top: -.35rem; margin-bottom: -.25rem; }
.ld-google-preferred-source--article-end { margin-top: 1.25rem; }

/* ===== Cartes article (ArticleCardStandard) ===== */
.ld-archive-grid .wp-block-post-template.is-layout-grid { gap: 1.75rem; }
.ld-card { border-radius: 12px; padding: 12px; transition: all .3s var(--ease-out); }
.ld-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.04); }
.ld-card .wp-block-post-featured-image { margin: 0 0 14px; }
.ld-card .wp-block-post-featured-image img { border-radius: 10px; aspect-ratio: 16/10; object-fit: cover; box-shadow: 0 8px 32px rgba(0,0,0,.4); width: 100%; }
.ld-thumb-fallback { display: block; width: 100%; aspect-ratio: 16/10; border-radius: 10px; box-shadow: 0 8px 32px rgba(0,0,0,.4); position: relative; overflow: hidden; }
.ld-thumb-fallback::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(6,9,20,.5) 100%); }
.ld-card-cat a, .ld-card .ld-card-cat a { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.ld-card .wp-block-post-title { margin: 0 0 8px; }
.ld-card .wp-block-post-title a { font-family: var(--wp--preset--font-family--sans); font-size: clamp(1.25rem, 1.6vw, 1.6rem); font-weight: 700; line-height: 1.18; letter-spacing: -.02em; color: #f3f5f8; text-wrap: balance; transition: color .2s var(--ease-out); }
.ld-card:hover .wp-block-post-title a { background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-card .wp-block-post-excerpt { color: #98a2b3; font-size: .9rem; line-height: 1.5; }
.ld-card-row { padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }

/* ===== Pagination ===== */
.ld-pagination { margin-top: 2.5rem; gap: 6px; }
.ld-pagination .page-numbers { padding: 8px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,.08); color: #98a2b3; }
.ld-pagination .page-numbers.current { background: linear-gradient(135deg,#5ce0d8,#84ebad); color: #061622; font-weight: 700; border-color: transparent; }

/* ===== Recherche ===== */
.ld-search input[type="search"], .ld-search .wp-block-search__input { border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); color: #f3f5f8; min-height: 3rem; padding: 0 1.25rem; }

/* ===== Tap targets (WCAG 2.2) ===== */
.ld-nav-link, .ld-footer-cols a { min-height: 40px; display: inline-flex; align-items: center; }

/* =============================================================================
   .ld-prose — port verbatim de globals.css (article body)
   ========================================================================= */
.ld-prose { font-family: var(--wp--preset--font-family--sans); color: #f3f5f8; font-size: 1.125rem; line-height: 1.75; }
.ld-prose > * + * { margin-top: 1.25em; }
.ld-prose p { margin: 0 0 1.25em; color: rgba(243,245,248,.92); font-size: 1.125rem; line-height: 1.8; }
.ld-prose strong { color: #f3f5f8; font-weight: 700; }
/* Liens « texte » de l'article (corps, listes, tableaux) : gradient + souligné, gradient inversé au survol.
   :not([class]) épargne les liens stylés des blocs (bouton CTA .ld-cta-btn, etc.). */
.ld-prose a:not([class]) { background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; text-decoration: underline; text-decoration-color: #5ce0d8; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ld-prose a:not([class]):hover { background: linear-gradient(135deg,#84ebad,#5ce0d8); -webkit-background-clip: text; background-clip: text; text-decoration-color: #84ebad; }
.ld-prose h2 { margin: 1.25em 0 .6em; font-family: var(--wp--preset--font-family--sans); font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 800; line-height: 1.2; letter-spacing: -.02em; color: #f3f5f8; scroll-margin-top: 100px; text-wrap: balance; }
.ld-prose h3 { margin: 1em 0 .5em; font-family: var(--wp--preset--font-family--sans); font-size: clamp(1.25rem,1.8vw,1.5rem); font-weight: 700; line-height: 1.3; color: #f3f5f8; scroll-margin-top: 100px; }
.ld-prose h4, .ld-prose h5, .ld-prose h6 { margin: 1.6em 0 .4em; font-family: var(--wp--preset--font-family--sans); font-weight: 700; color: #f3f5f8; }
.ld-prose ul, .ld-prose ol { margin: 0 0 1.25em; padding-left: 1.5em; color: rgba(243,245,248,.92); }
.ld-prose ul { list-style: none; padding-left: 0; }
.ld-prose ul > li { position: relative; padding-left: 1.85em; margin-bottom: .5em; }
.ld-prose ul > li::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 12px; border-radius: 50%; background: linear-gradient(135deg,#5ce0d8,#84ebad); box-shadow: 0 0 10px rgba(92,224,216,.45); }
.ld-prose ol > li { margin-bottom: .5em; }
.ld-prose blockquote { position: relative; margin: 1.5em 0; padding-left: 1.75em; color: rgba(243,245,248,.85); font-style: italic; }
.ld-prose blockquote::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; border-radius: 28px; background: linear-gradient(180deg,#5ce0d8,#84ebad); }
.ld-prose code { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 6px; padding: .15em .4em; font-family: var(--wp--preset--font-family--mono); font-size: .92em; color: #84ebad; }
.ld-prose pre { margin: 1.5em 0; padding: 1.25em; background: #0c1224; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; overflow-x: auto; font-family: var(--wp--preset--font-family--mono); font-size: .875rem; line-height: 1.6; }
.ld-prose pre code { background: transparent; border: 0; padding: 0; color: #f3f5f8; font-size: inherit; }
.ld-prose table { margin: 1.5em 0; width: 100%; border-collapse: collapse; font-size: .95rem; }
.ld-prose th, .ld-prose td { padding: .75em 1em; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; }
.ld-prose th { font-weight: 700; color: #f3f5f8; background: rgba(255,255,255,.04); }
.ld-prose hr { margin: 2.5em auto; width: 4em; height: 4px; border: 0; border-radius: 999px; background: linear-gradient(90deg,#5ce0d8,#84ebad); }
.ld-prose img, .ld-prose figure { border-radius: 16px; }
/* Embeds (vidéo YouTube…) : centrés sur la colonne, responsives 16/9, coins arrondis. */
.ld-prose .wp-block-embed { margin: 1.75em 0; }
.ld-prose .wp-block-embed__wrapper { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.4); }
.ld-prose .wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* =============================================================================
   Contenu classique (pré-Gutenberg) — 82 % des articles publiés en portent
   Le cœur ne fournit AUCUN style front pour ces classes : dans block-library,
   chaque règle .alignleft/.alignright est préfixée par une classe de bloc
   (`.wp-block-cover.alignleft`…), et .wp-caption ne vit que dans la feuille de
   l'éditeur (wp-includes/css/editor.css). Les porter est le travail du thème,
   comme le font tous les Twenty*. Sans elles, les images flottées des articles
   importés retombent en pleine largeur et les légendes se confondent avec le
   corps de texte.
   ========================================================================= */
.ld-prose .alignleft, .ld-prose .alignright, .ld-prose .aligncenter, .ld-prose .alignnone { max-width: 100%; height: auto; }
.ld-prose .alignleft { float: left; margin: .35em 1.5em 1em 0; max-width: 50%; }
.ld-prose .alignright { float: right; margin: .35em 0 1em 1.5em; max-width: 50%; }
.ld-prose .aligncenter { display: block; margin-left: auto; margin-right: auto; clear: both; }
/* Un flottant ne doit jamais déborder sur le titre suivant ni sur le pied d'article. */
.ld-prose h2, .ld-prose h3, .ld-prose h4 { clear: both; }
.ld-prose::after { content: ""; display: table; clear: both; }
/* Légendes [caption] (345 occurrences) : le thème déclare le support html5 `caption`,
   donc figure/figcaption ; mais un corps importé peut contenir le vieux couple
   div/p. Les sélecteurs de classe couvrent les deux formes. */
.ld-prose .wp-caption { max-width: 100%; margin-bottom: 1.25em; }
.ld-prose .wp-caption img { display: block; width: 100%; height: auto; }
.ld-prose .wp-caption-text { margin: .6em 0 0; font-size: .875rem; line-height: 1.5; color: var(--wp--preset--color--foreground-muted, #98a2b3); text-align: center; }
/* Galeries [gallery] : le support html5 `gallery` supprime le <style> inline que
   le cœur injectait pour les thèmes classiques. Sans grille ici, les 516 galeries
   de l'annuaire s'empilent en pleine largeur. */
.ld-prose .gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1.75em 0; }
.ld-prose .gallery-columns-1 { grid-template-columns: 1fr; }
.ld-prose .gallery-item { margin: 0; }
.ld-prose .gallery-item img { width: 100%; height: auto; }
.ld-prose .gallery-caption, .ld-prose .gallery-item figcaption { margin: .5em 0 0; font-size: .8125rem; line-height: 1.5; color: var(--wp--preset--color--foreground-muted, #98a2b3); }

@media (min-width: 768px) {
	.ld-prose .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
	.ld-prose .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Mobile : une image flottée de 300 px dans une colonne de 360 px est illisible. */
@media (max-width: 600px) {
	.ld-prose .alignleft, .ld-prose .alignright { float: none; max-width: 100%; margin: 1.25em auto; }
}

/* ===== Article single : colonne de lecture + sommaire latéral sticky =====
   Base (mobile/tablette) : sidebar masquée, sommaire INLINE replié dans le flux,
   contenu lisible centré à 720px. Desktop ≥1280 : grille [sommaire 220 | contenu 720]
   centrée comme une seule unité — espacement propre des deux côtés, en-tête et contenu
   parfaitement alignés. La grille à 2 éléments donne le sticky sans hack de rangées. */
.ld-article-content { display: flex; flex-direction: column; gap: 1.25rem; }
.ld-article-content > * { width: 100%; max-width: 720px; margin-left: auto; margin-right: auto; }
.ld-article-content > .ld-breadcrumb { order: 99; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.08); }
.ld-breadcrumb a { display: inline-flex; align-items: center; min-height: 24px; }
.ld-article-aside { display: none; }
.ld-aside-share { display: none; }

@media (max-width: 767px) {
	.ld-single-main { box-sizing: border-box; padding-inline: 16px; }
	.ld-article-content > .ld-article-h1 { font-size: clamp(2.15rem,11vw,3rem); line-height: 1.06; text-wrap: balance; }
	.ld-article-content > .ld-article-h1::after { width: 48px; height: 5px; margin-top: 18px; }
	.ld-article-meta { gap: 10px 14px; }
	.ld-article-meta__dates { row-gap: 10px; }
	.ld-article-meta__date--updated { padding: 6px 10px; }
}

@media (min-width: 1280px) {
	.ld-article {
		display: grid;
		grid-template-columns: minmax(0, 720px) 280px;
		column-gap: 56px;
		justify-content: center;
		align-items: start;
	}
	.ld-article-aside { display: flex; flex-direction: column; gap: 16px; grid-column: 2; grid-row: 1; position: sticky; top: 116px; align-self: start; }
	.ld-aside-share { display: block; }
	.ld-article-content { grid-column: 1; grid-row: 1; min-width: 0; }
	.ld-article-content > * { max-width: none; margin-left: 0; margin-right: 0; }
	.ld-toc-inline { display: none; }                     /* desktop : le sommaire est dans la sidebar */
	.ld-foot-share { display: none; }                     /* desktop : le partage est dans la sidebar */
	.ld-article-aside .ld-toc { margin: 0; border-radius: 20px; padding: 10px 16px 12px; background: rgba(12,18,36,.65); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 12px 36px rgba(0,0,0,.35); }
	.ld-article-aside .ld-toc-list { display: block; }    /* desktop : toujours déplié */
	.ld-article-aside .ld-toc-title { cursor: default; }
	.ld-article-aside .ld-toc-chevron { display: none; }
	.ld-article-aside .ld-nl { margin: 0; }
	.ld-article-aside .ld-nl-inner { padding: 16px; border-radius: 20px; background: rgba(12,18,36,.65); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 12px 36px rgba(0,0,0,.35); }
	.ld-article-aside .ld-nl-h { font-size: 1rem; line-height: 1.2; }
	.ld-article-aside .ld-nl-intro { font-size: .82rem; line-height: 1.45; }
	.ld-article-aside .ld-nl-row { display: flex; flex-direction: column; gap: 8px; }
	.ld-article-aside .ld-nl-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
	.ld-article-aside .ld-nl-input, .ld-article-aside .ld-nl-button { width: 100%; flex-basis: auto; border-radius: 999px; }
	.ld-article-aside .ld-nl-consent { font-size: .68rem; line-height: 1.45; }
}

/* =============================================================================
   HOME — port fidèle de apps/web/app/(public)/page.tsx (section par section)
   ========================================================================= */
.ld-sr-only, .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Tableau a11y du chart : doit rester masqué même dans .ld-prose (où `table` est en width:100%). */
.ld-prose .screen-reader-text, .ld-prose .ld-chart-table { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ld-main { position: relative; z-index: 2; }
.ld-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.ld-sec { padding: 40px 0; }
@media (min-width: 768px) { .ld-sec { padding: 56px 0; } }
.ld-sec-featured { padding: 32px 0; }
@media (min-width: 768px) { .ld-sec-featured { padding: 64px 0; } }
.ld-sec-saas { margin: 32px 0; padding: 56px 0; }

/* shared thumb (= ArticleThumb) */
.ld-thumb { position: relative; display: block; overflow: hidden; aspect-ratio: 16/10; box-shadow: 0 8px 32px rgba(0,0,0,.4); }
.ld-thumb-md { border-radius: 16px; }
.ld-thumb-sm { border-radius: 10px; }
.ld-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(6,9,20,.5) 100%); }
.ld-thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* shared byline (= Byline) */
.ld-byline2 { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: #98a2b3; }
.ld-byline2 .ld-avatar { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: none; border-radius: 999px; font-size: 10px; font-weight: 800; color: #061622; background: linear-gradient(135deg,#5ce0d8,#84ebad); }
.ld-byline2-sep { color: rgba(255,255,255,.16); }
.ld-byline2.is-light { color: rgba(255,255,255,.65); }

/* pills */
.ld-pill-category { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 6px 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #fff; background: linear-gradient(135deg, rgba(92,224,216,.18), rgba(139,92,246,.18)); box-shadow: inset 0 0 0 1px rgba(92,224,216,.3); }
.ld-pill-partner { color: #b8ab7e; background: linear-gradient(135deg, rgba(184,171,126,.18), rgba(184,134,30,.18)); box-shadow: inset 0 0 0 1px rgba(184,134,30,.35); }
.ld-pill-inline { display: inline-flex; align-items: center; gap: 6px; width: max-content; border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }

/* 2. LiveStrip */
.ld-live-wrap { position: relative; z-index: 90; width: min(88%, 1112px); margin: 24px auto 0; }
.ld-live { display: flex; align-items: center; gap: 14px; min-height: 42px; border-radius: var(--radius-pill); border: 1px solid rgba(255,255,255,.08); padding: 10px 18px; font-size: 13px; line-height: 1.2; color: #98a2b3; background: rgba(255,255,255,.03); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); overflow: hidden; }
.ld-live-badge { display: inline-flex; align-items: center; align-self: center; gap: 8px; flex: none; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: #fff; }
.ld-live-slider { position: relative; flex: 1; min-width: 0; height: 2.6em; }
.ld-live-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(70%); color: #98a2b3; animation: ld-live-slide calc(var(--ld-live-count, 1) * 5s) cubic-bezier(.22,.8,.25,1) infinite; animation-delay: calc(var(--ld-live-index, 0) * 5s); will-change: opacity, transform; }
.ld-live-slide:hover strong { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-live-slide strong { display: -webkit-box; min-width: 0; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; white-space: normal; font-weight: 700; line-height: 1.25; color: #f3f5f8; }
.ld-live-slide span { white-space: nowrap; color: #7c8694; }
.ld-live-wrap.is-static .ld-live-slider { height: auto; }
.ld-live-wrap.is-static .ld-live-slide { position: relative; inset: auto; opacity: 1; visibility: visible; pointer-events: auto; transform: none; animation: none; }
@keyframes ld-live-slide {
	0%, 2% { opacity: 0; visibility: hidden; transform: translateY(70%); pointer-events: none; }
	5%, 17% { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
	20%, 100% { opacity: 0; visibility: hidden; transform: translateY(-70%); pointer-events: none; }
}
@media (max-width: 767px) {
	.ld-live-wrap { width: calc(100% - 32px); margin-top: 16px; }
	.ld-live { align-items: center; min-height: 48px; padding: 12px 14px; }
	.ld-live-slider { height: 4.1em; }
	.ld-live-slide { grid-template-columns: 1fr; gap: 2px; }
	.ld-live-wrap.is-static .ld-live-slider { height: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.ld-live-slider { height: auto; display: grid; gap: 8px; }
	.ld-live-slide { position: static; opacity: 1; visibility: visible; pointer-events: auto; transform: none; animation: none; }
}

/* 3. Featured + aside */
.ld-feat-grid { display: grid; gap: 24px; }
@media (min-width: 1024px) { .ld-feat-grid { grid-template-columns: 1.6fr 1fr; } }
.ld-feat { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; border-radius: 32px; background: linear-gradient(135deg,#1a1f3a 0%,#0a0e1a 100%); box-shadow: 0 24px 64px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05); transition: transform .3s var(--ease-out); }
.ld-feat:hover { transform: translateY(-2px); }
.ld-feat-orbs { position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse at 80% 20%, rgba(92,224,216,.4), transparent 50%), radial-gradient(ellipse at 20% 80%, rgba(139,92,246,.45), transparent 50%), radial-gradient(ellipse at 50% 100%, rgba(236,72,153,.25), transparent 60%); }
.ld-feat .ld-feat-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .6; z-index: 0; }
.ld-feat-scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 30%, rgba(6,9,20,.4) 65%, rgba(6,9,20,.95) 100%); }
.ld-feat-body { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; padding: 24px; }
@media (min-width: 768px) { .ld-feat-body { padding: 40px; } }
.ld-feat-body .ld-pill-category { margin-bottom: 20px; }
.ld-feat-title { font-family: var(--wp--preset--font-family--serif); font-size: clamp(28px,3.6vw,44px); line-height: 1.08; letter-spacing: -.02em; font-weight: 700; color: #fff; max-width: 22ch; text-wrap: balance; margin: 0 0 16px; }
.ld-feat-excerpt { max-width: 60ch; font-size: 16px; line-height: 1.375; color: rgba(255,255,255,.78); margin: 0 0 20px; }
.ld-ess { display: flex; flex-direction: column; gap: 12px; }
.ld-ess-head { display: flex; align-items: center; gap: 12px; padding: 0 4px 4px; }
.ld-ess-label { margin: 0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; background: linear-gradient(90deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-sep-mint { height: 1px; flex: 1; background: linear-gradient(90deg, rgba(132,235,173,.4), transparent); }
.ld-mini { display: flex; align-items: flex-start; gap: 14px; border-radius: 16px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); padding: 16px; transition: all .2s var(--ease-out); }
.ld-mini:hover { transform: translateX(2px); border-color: rgba(255,255,255,.16); }
.ld-mini-index { flex: none; width: 46px; font-family: var(--wp--preset--font-family--serif); font-size: 28px; font-weight: 700; line-height: 1; background: linear-gradient(180deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-mini-body { min-width: 0; flex: 1; }
.ld-mini-title { display: block; margin: 0 0 6px; font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: -.012em; color: #f3f5f8; }
.ld-mini-time { display: block; margin-top: 4px; font-size: 11.5px; color: #98a2b3; }

/* SectionHeader */
.ld-sh { margin-bottom: 32px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.ld-sh-eyebrow { display: inline-block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; background: linear-gradient(90deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-sh-eyebrow.is-violet { background: linear-gradient(90deg,#8b5cf6,#ec4899); -webkit-background-clip: text; background-clip: text; }
.ld-sh-title { margin: 10px 0 0; font-family: var(--wp--preset--font-family--sans); font-size: clamp(34px,4vw,52px); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; color: #f3f5f8; }
.ld-sh-accent { display: inline-block; background: linear-gradient(135deg,#5ce0d8 0%,#84ebad 50%,#8b5cf6 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-sh-link { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); padding: 10px 16px; font-size: 13px; font-weight: 700; color: #f3f5f8; transition: all .2s var(--ease-out); }
.ld-sh-link:hover { border-color: transparent; background: var(--gradient-brand); color: #061622; box-shadow: 0 4px 16px rgba(92,224,216,.3); }
.ld-sh-link svg { width: 14px; height: 14px; }

/* 4. Analyses (standard cards) */
.ld-grid3 { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .ld-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ld-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ld-std { display: flex; flex-direction: column; gap: 14px; border-radius: 24px; padding: 12px; transition: all .3s var(--ease-out); }
.ld-std:hover { transform: translateY(-4px); background: rgba(255,255,255,.04); }
.ld-std-title { margin: 0; font-size: 28px; font-weight: 700; line-height: 1.18; letter-spacing: -.02em; color: #f3f5f8; text-wrap: balance; transition: color .2s var(--ease-out); }
@media (min-width: 768px) { .ld-std-title { font-size: 36px; } }
.ld-std:hover .ld-std-title { background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* 5. Top SaaS */
.ld-saas-panel { border: 1px solid rgba(255,255,255,.08); border-radius: 32px; padding: 28px; background: linear-gradient(135deg, rgba(139,92,246,.08), rgba(92,224,216,.08)); }
@media (min-width: 768px) { .ld-saas-panel { padding: 48px; } }
.ld-saas-grid { gap: 16px; }
.ld-saascard { display: flex; flex-direction: column; min-width: 0; gap: 14px; border-radius: 16px; border: 1px solid rgba(255,255,255,.08); padding: 24px; background: rgba(12,18,36,.65); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); transition: all .3s var(--ease-out); }
.ld-saascard:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.16); box-shadow: 0 12px 40px rgba(0,0,0,.4); }
.ld-saascard-head { display: flex; align-items: center; gap: 14px; }
.ld-saascard-logo { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: 14px; font-size: 18px; font-weight: 800; color: #061622; box-shadow: 0 4px 12px rgba(0,0,0,.3); overflow: hidden; }
.ld-saascard-logo.is-letter { background: linear-gradient(135deg,#5ce0d8,#84ebad); }
.ld-saascard-logo img { width: 48px; height: 48px; border-radius: 14px; object-fit: cover; }
.ld-saascard-id { min-width: 0; }
.ld-saascard-name { margin: 0; font-size: 16px; font-weight: 700; color: #f3f5f8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld-saascard-tag { margin: 2px 0 0; font-size: 12.5px; color: #98a2b3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld-saascard-pitch { margin: 0; font-size: 14px; line-height: 1.5; color: #98a2b3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ld-rating { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #98a2b3; }
.ld-rating-stars { display: inline-flex; align-items: center; gap: 2px; color: #fcd34d; }
.ld-rating-stars svg { width: 14px; height: 14px; }
.ld-rating strong { font-weight: 700; color: #f3f5f8; }
.ld-saascard-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.08); padding-top: 14px; font-size: 12.5px; color: #98a2b3; }
.ld-saascard-foot strong { color: #f3f5f8; }
.ld-saascard-cta { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; transition: gap .2s var(--ease-out); }
.ld-saascard:hover .ld-saascard-cta { gap: 8px; }
.ld-saascard-cta svg { width: 14px; height: 14px; }

/* 6. Longreads (row cards) */
.ld-rows { display: flex; flex-direction: column; }
.ld-row { display: grid; gap: 20px; margin-bottom: 14px; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); padding: 20px; transition: all .3s var(--ease-out); }
@media (min-width: 768px) { .ld-row { grid-template-columns: 200px 1fr; } }
.ld-row:hover { transform: translateX(4px); }
.ld-row-body { display: flex; flex-direction: column; gap: 10px; }
.ld-row-title { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.22; letter-spacing: -.018em; color: #f3f5f8; text-wrap: balance; }
.ld-row-excerpt { margin: 0; font-size: 14px; line-height: 1.625; color: #98a2b3; }

/* 7. NewsletterStrip */
.ld-nl { position: relative; display: grid; align-items: center; gap: 32px; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); padding: 24px; background: rgba(12,18,36,.5); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 12px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05); }
@media (min-width: 640px) { .ld-nl { padding: 32px; } }
@media (min-width: 768px) { .ld-nl { grid-template-columns: 1.4fr 1fr; padding: 48px; } }
@media (min-width: 1280px) {
	.ld-article-aside .ld-nl { display: block; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
	.ld-article-aside .ld-nl-inner { box-sizing: border-box; width: 100%; padding: 20px; }
	.ld-article-aside .ld-nl-input, .ld-article-aside .ld-nl-button { box-sizing: border-box; width: 100%; max-width: 100%; flex: 0 1 auto; }
}
.ld-nl-eyebrow { display: inline-block; margin-bottom: 12px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-nl-title { margin: 0 0 12px; font-size: 24px; font-weight: 800; line-height: 1.15; color: #f3f5f8; }
@media (min-width: 640px) { .ld-nl-title { font-size: 32px; } }
.ld-nl-title span { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-nl-desc { margin: 0 0 8px; font-size: 15px; line-height: 1.375; color: #98a2b3; }
.ld-nl-stats { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 20px 0 0; font-size: 12px; color: #98a2b3; }
.ld-nl-stats div { display: flex; flex-direction: column-reverse; }
.ld-nl-stats dd { margin: 0 0 2px; font-size: 18px; font-weight: 800; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-nl-stats dt { margin: 0; }
.ld-nl-form { position: relative; display: flex; flex-direction: column; gap: 10px; }
.ld-nl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ld-nl-row { display: flex; flex-direction: column; gap: 8px; }
@media (min-width: 640px) { .ld-nl-row { flex-direction: row; } }
.ld-nl-input { min-height: 48px; min-width: 0; box-sizing: border-box; flex: 1; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); padding: 14px 20px; color: #f3f5f8; }
.ld-nl-input::placeholder { color: #7c8694; }
.ld-nl-input:focus { outline: 2px solid #5ce0d8; outline-offset: 1px; }
.ld-nl-button { min-height: 48px; box-sizing: border-box; border: 0; border-radius: 999px; padding: 14px 24px; font-size: 13px; font-weight: 700; color: #061622; background: var(--gradient-brand); box-shadow: 0 4px 16px rgba(92,224,216,.3); cursor: pointer; transition: transform .2s var(--ease-out); }
.ld-nl-button:hover { transform: translateY(-1px); }
.ld-nl-consent { margin: 0; font-size: 11px; color: #7c8694; }
.ld-nl-feedback { margin: 0 0 12px; font-size: 13px; }
.ld-nl-feedback--ok { color: #84ebad; }
.ld-nl-feedback--error { color: #ef4444; }

/* =============================================================================
   LISTINGS — ListingHero / ArticleGrid / EmptyListingState / Pagination
   ========================================================================= */
.ld-listing-hero { max-width: 820px; margin: 0 auto; padding: 40px 0; text-align: center; }
@media (min-width: 768px) { .ld-listing-hero { padding: 56px 0; } }
.ld-listing-h1 { margin: 12px auto 0; max-width: 20ch; font-family: var(--wp--preset--font-family--sans); font-size: clamp(36px,5.5vw,64px); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; color: #f3f5f8; text-wrap: balance; }
.ld-listing-desc { max-width: 60ch; margin: 20px auto 0; font-size: 18px; line-height: 1.625; color: #98a2b3; text-wrap: pretty; }
.ld-listing-meta { margin-top: 24px; font-size: 14px; color: #98a2b3; }
.ld-listing-grid { margin-top: 8px; }
.ld-listing-empty { max-width: 28rem; margin: 48px auto; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); padding: 32px; text-align: center; color: #98a2b3; }

/* Recherche */
.ld-search-form { position: relative; max-width: 640px; margin: 24px auto 0; }
.ld-search-form svg { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: #7c8694; pointer-events: none; }
.ld-search-form:has(.ld-search-submit) .ld-search-input { padding-right: 142px; }
.ld-search-submit { position: absolute; top: 6px; right: 6px; min-height: 44px; border: 0; border-radius: 999px; padding: 0 20px; background: var(--gradient-brand); color: #061622; font-size: 13px; font-weight: 800; cursor: pointer; transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.ld-search-submit:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(92,224,216,.25); }
.ld-search-submit:focus-visible { outline: 2px solid #f3f5f8; outline-offset: 2px; }
.ld-search-lead { max-width: 55ch; }
.ld-search-empty { max-width: 680px; }
.ld-search-empty h2 { margin: 0; color: #f3f5f8; font-size: 1.25rem; }
.ld-search-empty p { margin: 10px auto 0; max-width: 54ch; line-height: 1.6; }
.ld-search-quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.ld-search-quick a, .ld-search-dialog__links a { display: inline-flex; align-items: center; min-height: 40px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 8px 14px; color: #cdd5e0; font-size: 13px; font-weight: 700; background: rgba(255,255,255,.04); transition: border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out); }
.ld-search-quick a:hover, .ld-search-dialog__links a:hover { border-color: rgba(92,224,216,.45); background: rgba(92,224,216,.10); color: #f3f5f8; }
.ld-search-discovery { display: grid; gap: 24px; max-width: 860px; margin: 0 auto 72px; border: 1px solid rgba(255,255,255,.08); border-radius: 28px; padding: 28px; background: linear-gradient(135deg,rgba(139,92,246,.08),rgba(92,224,216,.08)); text-align: center; }
.ld-search-discovery h2 { margin: 8px 0 0; color: #f3f5f8; font-size: clamp(1.5rem,3vw,2.25rem); letter-spacing: -.02em; }
.ld-search-discovery p { margin: 10px auto 0; max-width: 58ch; color: #98a2b3; line-height: 1.6; }

/* Dialogue de recherche global. */
.ld-search-dialog { width: min(760px, calc(100% - 32px)); max-height: min(720px, calc(100dvh - 32px)); margin: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; padding: 0; overflow: visible; background: rgba(8,13,28,.96); color: #f3f5f8; box-shadow: 0 32px 100px rgba(0,0,0,.7); -webkit-backdrop-filter: blur(32px); backdrop-filter: blur(32px); }
.ld-search-dialog::backdrop { background: rgba(2,5,12,.76); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ld-search-dialog__panel { padding: clamp(24px,5vw,44px); }
.ld-search-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.ld-search-dialog__head h2 { margin: 8px 0 0; font-size: clamp(1.65rem,4vw,2.5rem); line-height: 1.08; letter-spacing: -.025em; }
.ld-search-dialog__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(255,255,255,.04); color: #98a2b3; cursor: pointer; }
.ld-search-dialog__close:hover { color: #f3f5f8; background: rgba(255,255,255,.08); }
.ld-search-dialog__close svg { width: 20px; height: 20px; }
.ld-search-dialog__form { max-width: none; margin-top: 28px; }
.ld-search-dialog__quick { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); }
.ld-search-dialog__quick > p { margin: 0 0 12px; color: #7c8694; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ld-search-dialog__links { display: flex; flex-wrap: wrap; gap: 8px; }
.ld-search-dialog__hint { margin: 24px 0 0; color: #7c8694; font-size: 12px; }
.ld-search-dialog__hint kbd { display: inline-flex; min-width: 24px; min-height: 24px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; background: rgba(255,255,255,.04); color: #cdd5e0; font-size: 11px; }
@media (max-width: 520px) {
	.ld-search-form:has(.ld-search-submit) .ld-search-input { padding-right: 112px; }
	.ld-search-submit { padding-inline: 14px; font-size: 11px; }
	.ld-search-dialog__panel { padding: 24px 20px; }
	.ld-search-dialog__head h2 { font-size: 1.6rem; }
	.ld-search-dialog__hint { display: none; }
}

/* 404 */
.ld-404 { max-width: 640px; margin: 0 auto; padding: 40px 0 60px; text-align: center; }
@media (min-width: 768px) { .ld-404 { padding: 64px 0 96px; } }
.ld-404 .ld-listing-desc { margin-inline: auto; }
.ld-404 .ld-search-form { margin-top: 28px; }
.ld-404-code { margin: 0 0 8px; font-family: var(--wp--preset--font-family--serif); font-size: clamp(96px, 18vw, 180px); line-height: 1; font-weight: 800; letter-spacing: -.04em; background: linear-gradient(135deg,#5ce0d8 0%,#84ebad 50%,#8b5cf6 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Avatar (cercle dégradé initiales) */
.ld-avatar-lg { display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 999px; font-weight: 800; color: #061622; background: linear-gradient(135deg,#5ce0d8,#84ebad); box-shadow: 0 8px 28px rgba(92,224,216,.35); }

/* Hero auteur */
.ld-author-hero .ld-avatar-lg { margin: 0 auto 24px; }
.ld-author-stats { margin: 40px 0 0; display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 12px 40px; }
.ld-author-stats dt { margin: 0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: #98a2b3; }
.ld-author-stats dd { margin: 4px 0 0; font-size: 24px; font-weight: 800; background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Équipe de rédaction */
.ld-team-grid { list-style: none; margin: 0; padding: 0 0 40px; display: grid; gap: 20px; }
@media (min-width: 768px) { .ld-team-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .ld-team-grid { grid-template-columns: repeat(3,1fr); } }
.ld-team-card { display: flex; flex-direction: column; align-items: center; gap: 12px; height: 100%; text-align: center; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); padding: 28px 24px; transition: all .3s var(--ease-out); }
.ld-team-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.16); }
.ld-team-name { margin: 0; font-size: 18px; font-weight: 700; color: #f3f5f8; transition: color .2s var(--ease-out); }
.ld-team-card:hover .ld-team-name { background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-team-bio { margin: 0; font-size: 13px; line-height: 1.55; color: #98a2b3; }
.ld-team-count { margin: 0; color: #84ebad; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ld-team-topics { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ld-team-topics li { padding: 4px 8px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #98a2b3; background: rgba(255,255,255,.035); font-size: 10px; }
.ld-team-cta { margin-top: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; transition: gap .2s var(--ease-out); }
.ld-team-card:hover .ld-team-cta { gap: 8px; }
.ld-team-cta svg { width: 14px; height: 14px; }
.ld-team-trust { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin: 0 0 72px; padding: clamp(22px,4vw,34px); border: 1px solid rgba(92,224,216,.2); border-radius: 24px; background: rgba(92,224,216,.055); }
.ld-team-trust h2 { margin: 10px 0 8px; font-size: clamp(1.4rem,3vw,2rem); line-height: 1.15; }
.ld-team-trust p { max-width: 64ch; margin: 0; color: #98a2b3; line-height: 1.65; }
.ld-team-trust-actions { display: flex; min-width: 210px; flex-direction: column; align-items: stretch; gap: 8px; text-align: center; }
.ld-team-trust-actions > a:not(.ld-plan-cta) { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; color: #84ebad; font-size: 13px; font-weight: 700; }
@media (max-width: 767px) { .ld-team-trust { align-items: stretch; flex-direction: column; } }

/* Index tags (nuage) */
.ld-tags-cloud { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 40px; }
.ld-tag-pill { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); padding: 8px 14px; font-size: 14px; color: #f3f5f8; transition: all .2s var(--ease-out); }
.ld-tag-pill:hover { border-color: rgba(132,235,173,.45); background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-tag-count { font-size: 11px; font-weight: 700; color: #7c8694; }
.ld-tag-pill:hover .ld-tag-count { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Plans tarifaires (lister-mon-saas) */
.ld-pricing-availability { max-width: 820px; margin: -24px auto 40px; padding: 14px 18px; border: 1px solid rgba(92,224,216,.24); border-radius: 16px; background: rgba(92,224,216,.07); color: #b8c2ce; font-size: 14px; line-height: 1.6; text-align: center; }
.ld-pricing-availability strong { color: #84ebad; }
.ld-plans { display: grid; gap: 20px; padding-bottom: 64px; }
@media (min-width: 768px) { .ld-plans { grid-template-columns: repeat(3,1fr); align-items: stretch; } }
.ld-plan-card { position: relative; display: flex; flex-direction: column; gap: 16px; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); padding: 28px; }
.ld-plan-card.is-highlight { border-color: rgba(92,224,216,.4); background: linear-gradient(135deg, rgba(92,224,216,.10), rgba(132,235,173,.10)); box-shadow: 0 12px 40px rgba(92,224,216,.15); }
.ld-plan-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); border-radius: 999px; padding: 4px 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: #061622; background: linear-gradient(135deg,#5ce0d8,#84ebad); white-space: nowrap; }
.ld-plan-card-name { margin: 0; font-size: 24px; font-weight: 800; color: #f3f5f8; }
.ld-plan-card-price { display: flex; align-items: baseline; gap: 6px; }
.ld-plan-card-amount { font-size: 36px; font-weight: 800; color: #f3f5f8; }
.ld-plan-card.is-highlight .ld-plan-card-amount { background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-plan-card-period { font-size: 14px; color: #98a2b3; }
.ld-plan-card-desc { margin: 0; font-size: 14px; line-height: 1.55; color: #98a2b3; }
.ld-plan-feats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.ld-plan-feats li { display: flex; align-items: flex-start; gap: 8px; }
.ld-plan-dot { margin-top: 8px; width: 6px; height: 6px; flex: none; border-radius: 999px; background: linear-gradient(135deg,#5ce0d8,#84ebad); }
.ld-plan-cta { min-height: 44px; box-sizing: border-box; margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 12px 20px; font-size: 13px; font-weight: 700; color: #f3f5f8; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); transition: transform .2s var(--ease-out); }
.ld-plan-cta:hover { transform: translateY(-1px); border-color: transparent; background: var(--gradient-brand); color: #061622; box-shadow: 0 4px 16px rgba(92,224,216,.3); }
.ld-plan-cta.is-primary { color: #061622; background: linear-gradient(135deg,#5ce0d8,#84ebad); border-color: transparent; box-shadow: 0 4px 16px rgba(92,224,216,.3); }
.ld-vendor-process, .ld-plan-comparison, .ld-vendor-faq { margin: 0 auto; padding-bottom: 72px; }
.ld-vendor-process > h2, .ld-plan-comparison > h2, .ld-vendor-faq > h2 { margin: 10px 0 18px; font-size: clamp(1.7rem,3vw,2.35rem); line-height: 1.15; letter-spacing: -.025em; }
.ld-vendor-process > ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; counter-reset: vendor-step; }
.ld-vendor-process li { counter-increment: vendor-step; display: flex; min-width: 0; flex-direction: column; gap: 8px; padding: 22px; border: 1px solid rgba(255,255,255,.08); border-radius: 20px; background: rgba(255,255,255,.035); }
.ld-vendor-process li::before { content: counter(vendor-step,decimal-leading-zero); color: #5ce0d8; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.ld-vendor-process li strong { color: #f3f5f8; }
.ld-vendor-process li span, .ld-plan-comparison > p { color: #98a2b3; font-size: 14px; line-height: 1.65; }
.ld-plan-table-wrap { overflow-x: auto; margin-top: 24px; border: 1px solid rgba(255,255,255,.09); border-radius: 20px; background: rgba(255,255,255,.025); overscroll-behavior-inline: contain; }
.ld-plan-table-wrap:focus-visible { outline: 3px solid rgba(92,224,216,.4); outline-offset: 3px; }
.ld-plan-table-wrap table { width: 100%; min-width: 680px; border-collapse: collapse; }
.ld-plan-table-wrap th, .ld-plan-table-wrap td { padding: 15px 18px; border-bottom: 1px solid rgba(255,255,255,.07); text-align: left; font-size: 13px; line-height: 1.45; }
.ld-plan-table-wrap thead th { color: #f3f5f8; background: rgba(255,255,255,.04); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.ld-plan-table-wrap tbody th { color: #cdd5e0; font-weight: 700; }
.ld-plan-table-wrap td { color: #98a2b3; }
.ld-plan-table-wrap tr:last-child th, .ld-plan-table-wrap tr:last-child td { border-bottom: 0; }
.ld-plan-table-wrap th:first-child { position: sticky; left: 0; z-index: 1; min-width: 220px; background: #0b1020; }
.ld-plan-table-wrap thead th:first-child { z-index: 2; background: #141a2a; }
.ld-vendor-faq { max-width: 880px; }
.ld-vendor-faq details { border-bottom: 1px solid rgba(255,255,255,.09); }
.ld-vendor-faq summary { min-height: 56px; box-sizing: border-box; padding: 18px 0; cursor: pointer; color: #f3f5f8; font-weight: 700; line-height: 1.4; }
.ld-vendor-faq details p { max-width: 72ch; margin: 0; padding: 0 36px 20px 0; color: #98a2b3; line-height: 1.7; }
@media (max-width: 767px) {
	.ld-pricing-availability { margin-top: -8px; text-align: left; }
	.ld-vendor-process > ol { grid-template-columns: 1fr; }
	.ld-plan-table-wrap { margin-inline: -8px; border-radius: 16px; }
}

/* Newsletter — archive + inscription */
.ld-nl-archive { display: flex; flex-direction: column; gap: 12px; max-width: 768px; margin: 0 auto; }
.ld-nl-archive-item { display: block; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.035); padding: 20px 24px; transition: all .3s var(--ease-out); }
.ld-nl-archive-item:hover { border-color: rgba(255,255,255,.16); transform: translateX(4px); }
.ld-nl-archive-date { font-size: 12px; font-weight: 600; color: #7c8694; }
.ld-nl-archive-title { margin: 4px 0 0; font-size: 20px; font-weight: 800; color: #f3f5f8; }
.ld-nl-archive-item:hover .ld-nl-archive-title { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-nl-subscribe { margin-top: 48px; }
.ld-nl-result { max-width: 42rem; margin-inline: auto; padding: clamp(64px,10vw,112px) 24px; text-align: center; }
.ld-nl-result h1 { margin: 12px 0 16px; font-size: clamp(2rem,5vw,3.5rem); line-height: 1.05; letter-spacing: -.03em; }
.ld-nl-result > p { color: #98a2b3; line-height: 1.7; }
.ld-nl-result .ld-plan-cta { margin-top: 14px; }

/* Quiz de recommandation SaaS */
.ld-quiz-form { max-width: 1040px; margin: 0 auto 72px; padding: clamp(20px,4vw,36px); border: 1px solid rgba(255,255,255,.09); border-radius: 28px; background: rgba(255,255,255,.035); }
.ld-quiz-form fieldset { margin: 0; padding: 0 0 32px; border: 0; }
.ld-quiz-form fieldset + fieldset { padding-top: 30px; border-top: 1px solid rgba(255,255,255,.08); }
.ld-quiz-form legend { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #f3f5f8; font-size: clamp(1.05rem,2vw,1.25rem); font-weight: 800; }
.ld-quiz-form legend > span { display: inline-flex; width: 34px; height: 34px; flex: none; align-items: center; justify-content: center; border-radius: 10px; background: rgba(92,224,216,.12); color: #84ebad; font-size: 13px; }
.ld-quiz-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ld-quiz-options.is-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ld-quiz-options label { display: flex; min-width: 0; min-height: 72px; align-items: flex-start; gap: 12px; box-sizing: border-box; padding: 15px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.025); cursor: pointer; transition: border-color .2s var(--ease-out), background .2s var(--ease-out); }
.ld-quiz-options label:has(input:checked) { border-color: rgba(92,224,216,.55); background: rgba(92,224,216,.09); }
.ld-quiz-options label:has(input:focus-visible) { outline: 3px solid rgba(92,224,216,.35); outline-offset: 2px; }
.ld-quiz-options input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: #5ce0d8; }
.ld-quiz-options label > span { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.ld-quiz-options strong { color: #f3f5f8; font-size: 14px; line-height: 1.4; }
.ld-quiz-options small { color: #98a2b3; font-size: 12px; line-height: 1.5; }
.ld-quiz-actions { display: flex; align-items: center; gap: 18px; padding-top: 4px; }
.ld-quiz-actions button { min-height: 52px; flex: none; border: 0; border-radius: 999px; padding: 0 24px; cursor: pointer; color: #061622; background: var(--gradient-brand); font: inherit; font-size: 14px; font-weight: 800; }
.ld-quiz-actions p { margin: 0; color: #7c8694; font-size: 12px; line-height: 1.55; }
.ld-quiz-results { max-width: 1180px; margin: 0 auto; padding: 0 0 80px; scroll-margin-top: 24px; }
.ld-quiz-results > h2 { margin: 10px 0 12px; font-size: clamp(1.7rem,3vw,2.35rem); line-height: 1.15; letter-spacing: -.025em; }
.ld-quiz-method { max-width: 78ch; color: #98a2b3; line-height: 1.65; }
.ld-quiz-result-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 30px 0; padding: 0; list-style: none; }
.ld-quiz-result-grid > li { display: flex; min-width: 0; flex-direction: column; padding: 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 22px; background: rgba(255,255,255,.025); }
.ld-quiz-rank { margin-bottom: 10px; color: #84ebad; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.ld-quiz-result-grid .ld-saascard { height: 100%; border: 0; background: transparent; padding: 0; }
.ld-quiz-why { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); color: #98a2b3; font-size: 12px; line-height: 1.6; }
.ld-quiz-why strong { color: #cdd5e0; }
.ld-quiz-result-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.ld-quiz-result-actions > a:not(.ld-plan-cta) { min-height: 44px; display: inline-flex; align-items: center; color: #84ebad; font-weight: 700; }
@media (max-width: 767px) {
	.ld-quiz-options, .ld-quiz-options.is-three, .ld-quiz-result-grid { grid-template-columns: 1fr; }
	.ld-quiz-actions { align-items: stretch; flex-direction: column; }
	.ld-quiz-actions button { width: 100%; }
}

/* Assistant (RAG) */
.ld-assistant { max-width: 720px; margin: 0 auto; padding: 40px 0 64px; }
@media (min-width: 768px) { .ld-assistant { padding-top: 56px; } }
.ld-assistant-h1 { margin: 12px 0 0; font-family: var(--wp--preset--font-family--sans); font-size: clamp(34px,4vw,52px); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; color: #f3f5f8; text-wrap: balance; }
.ld-assistant .ld-listing-desc { margin: 16px 0 0; max-width: 62ch; }
.ld-assistant .ld-decision-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 24px 0 0; }
.ld-assistant .ld-decision-nav a { display: flex; min-height: 64px; box-sizing: border-box; flex-direction: column; justify-content: center; gap: 3px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.025); color: inherit; text-decoration: none; }
.ld-assistant .ld-decision-nav strong { color: #f3f5f8; font-size: 13px; }
.ld-assistant .ld-decision-nav span { color: #98a2b3; font-size: 11px; line-height: 1.5; }
.ld-assistant .ld-decision-nav a:hover { border-color: rgba(92,224,216,.4); }
.ld-assistant-form { display: flex; gap: 10px; margin-top: 28px; flex-wrap: wrap; }
.ld-assistant-input { flex: 1; min-width: 0; min-height: 52px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); padding: 0 20px; color: #f3f5f8; font-size: 15px; transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.ld-assistant-input::placeholder { color: #7c8694; }
.ld-assistant-input:focus { outline: none; border-color: #8b5cf6; box-shadow: 0 0 0 3px rgba(139,92,246,.2); }
.ld-assistant-send { min-height: 52px; border: 0; border-radius: 999px; padding: 0 24px; font-size: 14px; font-weight: 700; color: #061622; background: linear-gradient(135deg,#5ce0d8,#84ebad); box-shadow: 0 4px 16px rgba(92,224,216,.3); cursor: pointer; white-space: nowrap; transition: transform .2s var(--ease-out); }
.ld-assistant-send:hover { transform: translateY(-1px); }
.ld-assistant-note { margin-top: 40px; font-size: 12px; line-height: 1.6; color: #7c8694; }
.ld-assistant-suggestions { margin-top: 32px; }
.ld-assistant-suggestions h2, .ld-assistant-results > h2 { margin: 0 0 14px; font-size: 1.1rem; }
.ld-assistant-suggestions > div { display: flex; flex-wrap: wrap; gap: 8px; }
.ld-assistant-suggestions a { display: inline-flex; min-height: 44px; align-items: center; padding: 9px 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.035); color: #cdd5e0; font-size: 12px; line-height: 1.35; }
.ld-assistant-suggestions a:hover { border-color: rgba(92,224,216,.35); color: #84ebad; }
.ld-assistant-results { margin-top: 34px; padding: 22px; border: 1px solid rgba(255,255,255,.09); border-radius: 22px; background: rgba(255,255,255,.03); }
.ld-assistant-answer { margin-top: 18px; font-size: 1rem; }
.ld-assistant-results h3 { margin: 24px 0 12px; font-size: 1rem; }
.ld-assistant-sources { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ld-assistant-sources a { display: flex; min-height: 64px; box-sizing: border-box; flex-direction: column; justify-content: center; gap: 3px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.025); }
.ld-assistant-sources strong { color: #f3f5f8; font-size: 13px; }
.ld-assistant-sources span { color: #98a2b3; font-size: 11px; line-height: 1.5; }
@media (max-width: 639px) {
	.ld-assistant .ld-decision-nav { grid-template-columns: 1fr; }
	.ld-assistant-form { align-items: stretch; flex-direction: column; }
	.ld-assistant-send { width: 100%; }
	.ld-assistant-results { padding: 18px; }
}

/* Page générique (légales, à propos…) */
.ld-page { max-width: 720px; margin: 0 auto; padding: 56px 24px 80px; }
.ld-page-title { margin: 0 0 1.5rem; font-family: var(--wp--preset--font-family--serif); font-size: clamp(32px, 4vw, 48px); line-height: 1.1; letter-spacing: -.02em; font-weight: 800; color: #f3f5f8; text-wrap: balance; }
.ld-search-input { width: 100%; min-height: 56px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); padding: 0 24px 0 52px; color: #f3f5f8; font-size: 16px; transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.ld-search-input::placeholder { color: #7c8694; }
.ld-search-input:focus { outline: none; border-color: #5ce0d8; box-shadow: 0 0 0 3px rgba(92,224,216,.25); }

/* Gutenberg / éditeur de site : cadre lisible pour les blocs dynamiques du thème. */
.editor-styles-wrapper .ld-theme-editor-block {
	border: 1px dashed rgba(92,224,216,.38);
	border-radius: 18px;
	background: rgba(12,18,36,.78);
	padding: 14px;
	color: #f3f5f8;
}
.editor-styles-wrapper .ld-theme-editor-block__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 12px;
	padding: 0 2px 10px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.editor-styles-wrapper .ld-theme-editor-block__heading strong { font-size: 13px; letter-spacing: .02em; }
.editor-styles-wrapper .ld-theme-editor-block__heading span { color: #98a2b3; font-size: 12px; }
.editor-styles-wrapper .ld-theme-editor-block__preview { min-height: 72px; }
.editor-styles-wrapper .ld-theme-editor-block .components-notice { margin: 0; }

/* Index catégories (= CategoriesIndex) */
.ld-cat-grid { list-style: none; margin: 0; padding: 0 0 40px; display: grid; align-items: stretch; gap: 16px; }
@media (min-width: 768px) { .ld-cat-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .ld-cat-grid { grid-template-columns: repeat(3,1fr); } }
.ld-cat-grid > li { display: flex; min-width: 0; }
.ld-cat-card { box-sizing: border-box; display: flex; width: 100%; min-width: 0; min-height: 190px; flex-direction: column; gap: 12px; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); padding: 24px; transition: all .3s var(--ease-out); }
.ld-cat-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.16); }
.ld-cat-card-title { margin: 0; font-size: 20px; font-weight: 700; color: #f3f5f8; transition: color .2s var(--ease-out); }
.ld-cat-card:hover .ld-cat-card-title { background: linear-gradient(135deg,#5ce0d8,#84ebad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ld-cat-card-desc { margin: 0; font-size: 14px; line-height: 1.6; color: #98a2b3; }
.ld-cat-card-cta { margin-top: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; transition: gap .2s var(--ease-out); }
.ld-cat-card:hover .ld-cat-card-cta { gap: 8px; }
.ld-cat-card-cta svg { width: 14px; height: 14px; }
.ld-cat-g1 { background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(236,72,153,.18)); }
.ld-cat-g2 { background: linear-gradient(135deg, rgba(92,224,216,.18), rgba(59,130,246,.18)); }
.ld-cat-g3 { background: linear-gradient(135deg, rgba(132,235,173,.18), rgba(34,197,94,.18)); }
.ld-cat-g4 { background: linear-gradient(135deg, rgba(251,191,36,.18), rgba(245,158,11,.18)); }
.ld-cat-g5 { background: linear-gradient(135deg, rgba(249,115,22,.18), rgba(234,88,12,.18)); }
.ld-cat-g6 { background: linear-gradient(135deg, rgba(99,102,241,.18), rgba(59,130,246,.18)); }

/* A11y — mode contrastes forcés (Windows High Contrast, forced-colors: active).
   Le texte en dégradé (-webkit-background-clip:text + color:transparent) devient INVISIBLE
   quand le navigateur retire le fond en forced-colors : on restaure une couleur système
   (CanvasText) et on neutralise le clip. Règle inerte hors forced-colors (zéro impact normal). */
@media (forced-colors: active) {
	.ld-mobile-sublink:hover,
	.ld-footer-cols a:hover,
	.ld-footer-bottom a:hover,
	.ld-wordmark.is-text,
	.ld-eyebrow, .ld-eyebrow a,
	.ld-tags a:hover,
	.ld-card-cat a, .ld-card .ld-card-cat a,
	.ld-card:hover .wp-block-post-title a,
	.ld-prose a:not([class]),
	.ld-live-slide:hover strong,
	.ld-ess-label,
	.ld-mini-index,
	.ld-sh-eyebrow,
	.ld-sh-accent,
	.ld-std:hover .ld-std-title,
	.ld-saascard-cta,
	.ld-nl-eyebrow,
	.ld-nl-title span,
	.ld-nl-stats dd,
	.ld-404-code,
	.ld-author-stats dd,
	.ld-team-card:hover .ld-team-name,
	.ld-team-cta,
	.ld-tag-pill:hover,
	.ld-tag-pill:hover .ld-tag-count,
	.ld-plan-card.is-highlight .ld-plan-card-amount,
	.ld-nl-archive-item:hover .ld-nl-archive-title,
	.ld-cat-card:hover .ld-cat-card-title,
	.ld-cat-card-cta {
		-webkit-text-fill-color: CanvasText;
		color: CanvasText;
		background: none;
	}
}

/* ── Transparence éditoriale (mention assistance IA ; la correction datée vit
      dans le panneau .ld-article-trust) ── */
.ld-transparency {
	margin-top: 1.5rem;
	padding: 0.85rem 1.1rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-left: 3px solid var(--wp--preset--color--turquoise, #5ce0d8);
	border-radius: 0.5rem;
	background: rgba(255, 255, 255, 0.04);
	color: var(--wp--preset--color--foreground-muted, #98a2b3);
	font-size: 0.85rem;
	line-height: 1.55;
}
