/* ==========================================================================
   loukian.net — Ligne
   ========================================================================== */

:root {
	--noir: #0D0D0E;
	--noir-2: #1D1E21;
	--accent: #F2C230;
	--gris-1: #F3F3F1;
	--gris-2: #E4E4E2;
	--gris-3: #5F6166;
	--gris-4: #C9CAC7;
	--run: #D4002A;
	--f-titre: 'Big Shoulders Display', 'Arial Narrow', sans-serif;
	--f-texte: 'Atkinson Hyperlegible Next', system-ui, sans-serif;
	--f-mono: 'JetBrains Mono', ui-monospace, monospace;
	--f-run: 'Kanit', sans-serif;
	--pad: 64px;
	--band-h: 140px;
	--map-bg: #FFFFFF;
	--map-land: #ECECE8;
	--map-border: #FFFFFF;
	--map-ink: #0D0D0E;
	--map-muted: #5F6166;
}

/* ---------- Bases ---------- */

html { scroll-padding-top: 24px; }
body.ln { margin: 0; background: #fff; color: var(--noir); font-family: var(--f-texte); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.ln .wp-site-blocks { padding: 0 !important; }
.ln .wp-site-blocks > * { margin-block-start: 0; }
:where(.ln) img { max-width: 100%; height: auto; }
:where(.ln) a { color: inherit; }
:where(.ln) button { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ln-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--accent); color: var(--noir); padding: 8px 14px; border-radius: 999px; font-family: var(--f-mono); font-size: 13px; text-decoration: none; }
.ln-skip:focus { left: 16px; }
.ln :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.ln-eyebrow { display: block; font-family: var(--f-mono); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 12px; }
.ln-accent-txt { color: var(--accent); }
.ln-accent-bg { background: var(--accent); color: var(--noir); }
.ln-swatch { display: inline-block; width: 22px; height: 6px; border-radius: 3px; flex-shrink: 0; }

/* Boutons */
.ln-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 22px; border-radius: 999px; border: 0; font-family: var(--f-mono); font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; white-space: nowrap; box-sizing: border-box; }
.ln-btn--accent { background: var(--accent); color: var(--noir) !important; }
.ln-btn--dark { background: var(--noir); color: #fff !important; }
.ln-btn--light { background: #fff; color: var(--noir) !important; }
.ln-btn--outline { background: transparent; color: var(--noir) !important; border: 2px solid var(--noir); }
.ln-btn--ghost { background: transparent; color: #fff !important; border: 1.5px solid rgba(255,255,255,.5); }
.ln-btn--wide { width: 100%; }
.ln-btn--sm { height: 36px; padding: 0 14px; font-size: 12px; }
.ln-btn:hover { filter: brightness(.95); }
.ln-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.ln-round { width: 44px; height: 44px; border: 0; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; padding: 0; font-size: 22px; line-height: 1; }
.ln-round--ghost { background: rgba(255,255,255,.12); color: #fff; }

/* Voie ferrée (séparateurs, lignes) */
.ln-rail-sep { height: 10px; margin-bottom: 56px; background: linear-gradient(#C9C9C4, #C9C9C4) top / 100% 1.5px no-repeat, linear-gradient(#C9C9C4, #C9C9C4) bottom / 100% 1.5px no-repeat, repeating-linear-gradient(90deg, #DADAD5 0 2px, transparent 2px 16px); }
.ln-rail-sep--light { opacity: .35; background: linear-gradient(#fff, #fff) top / 100% 2px no-repeat, linear-gradient(#fff, #fff) bottom / 100% 2px no-repeat, repeating-linear-gradient(90deg, #fff 0 3px, transparent 3px 14px); }

/* ---------- En-tête ---------- */

.ln-header { position: absolute; top: 0; left: 0; right: 0; z-index: 30; color: #fff; }
.ln-header--solid { position: relative; background: var(--noir); }
.ln-header-in { display: flex; align-items: center; gap: 24px; padding: 32px var(--pad); max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-logo img { height: 42px; width: auto; display: block; }
/* En-tête qui réapparaît quand on remonte la page */
.ln-header.is-fixed { position: fixed; top: 0; background: rgba(13,13,14,.97); transform: translateY(-105%); transition: transform .25s ease, box-shadow .25s; z-index: 70; }
.ln-header.is-fixed.is-shown { transform: none; box-shadow: 0 6px 24px rgba(0,0,0,.18); }
.ln-header.is-fixed .ln-header-in { padding-top: 12px; padding-bottom: 12px; }
.ln-header.is-fixed .ln-logo img { height: 32px; }
.admin-bar .ln-header.is-fixed { top: 32px; }
.ln-header-spacer { display: none; }
.ln-header-shown .ln-toc-in { top: 96px; }
.ln-tagline { font-family: var(--f-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; opacity: .85; margin-right: auto; }
.ln-nav { display: flex; gap: 28px; align-items: center; font-family: var(--f-titre); font-weight: 800; font-size: 21px; text-transform: uppercase; letter-spacing: .04em; }
.ln-nav a { color: #fff; text-decoration: none; }
.ln-nav a:hover, .ln-nav a[aria-current] { color: var(--accent); }
.ln-nav .ln-run-pill { font-family: var(--f-run); font-style: italic; font-weight: 900; font-size: 15px; letter-spacing: 0; padding: 6px 12px; border: 2px solid #fff; border-radius: 999px; }
.ln-nav .ln-run-pill:hover { color: #fff; background: var(--run); border-color: var(--run); }
.ln-burger { display: none; }
.ln-search { position: absolute; left: var(--pad); right: var(--pad); top: 100%; z-index: 40; }
.ln-search form { display: flex; gap: 10px; align-items: center; background: #fff; border-radius: 999px; padding: 8px 8px 8px 22px; box-shadow: 0 16px 40px rgba(0,0,0,.25); max-width: 760px; margin-left: auto; }
.ln-search input { flex: 1; border: 0; outline: none; font: inherit; font-size: 18px; height: 44px; background: transparent; }
.ln-search .ln-round { background: var(--gris-1); color: var(--noir); }

/* ---------- Grande photo (article, accueil) ---------- */

.ln-hero { --edge: max(var(--pad), calc((100% - 1240px) / 2 + var(--pad))); position: relative; background: var(--noir); color: #fff; min-height: clamp(680px, 100vh, 980px); overflow: hidden; display: flex; flex-direction: column; }
.ln-hero-img { position: absolute; left: 0; top: 0; width: 100%; height: calc(100% - var(--band-h)); object-fit: cover; object-position: 50% 45%; }
.ln-hero--noimg { background: var(--noir-2); }
.ln-hero-shade { position: absolute; left: 0; top: 0; width: 100%; height: calc(100% - var(--band-h)); background: linear-gradient(180deg, rgba(10,10,11,.5) 0%, rgba(10,10,11,0) 22%), linear-gradient(90deg, rgba(10,10,11,.82) 0%, rgba(10,10,11,.4) 42%, rgba(10,10,11,0) 64%); }
.ln-hero-text { position: relative; z-index: 2; margin-top: auto; padding: 150px var(--edge) 60px; width: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.ln-kicker { display: flex; gap: 12px; align-items: center; font-family: var(--f-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.ln-tag { background: var(--accent); color: var(--noir); padding: 5px 10px; border-radius: 3px; font-weight: 700; }
.ln-hero-title { display: block; margin: 0; font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: clamp(46px, 6.2vw, 96px); line-height: .88; letter-spacing: .005em; color: #fff; text-decoration: none; text-wrap: balance; }
a.ln-hero-title:hover { color: var(--accent); }
.ln-hero-text > * { max-width: min(980px, 68%); }
.ln-hero-title.is-long { font-size: clamp(40px, 4.9vw, 78px); }
.ln-hero-title.is-xlong { font-size: clamp(36px, 4.2vw, 66px); line-height: .9; }
.ln-pills { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; }
.ln-pills li { display: flex; gap: 8px; align-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; padding: 7px 12px; background: rgba(13,13,14,.35); }

.ln-band { position: relative; z-index: 2; flex-shrink: 0; height: var(--band-h); box-sizing: border-box; padding: 34px var(--edge) 0; display: flex; gap: 64px; background: var(--noir); }
.ln-band-main { flex: 1; min-width: 0; }
.ln-band-side { width: 200px; flex-shrink: 0; border-left: 1px solid rgba(255,255,255,.2); padding-left: 32px; display: flex; flex-direction: column; gap: 8px; }
.ln-cells { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 24px; }
.ln-cell { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ln-cell-k { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.ln-cell-v { font-family: var(--f-mono); font-size: 22px; font-weight: 700; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ln-band--board .ln-cell { padding-right: 24px; box-shadow: inset -1px 0 0 rgba(255,255,255,.16); }
.ln-band--board .ln-cell:last-child { box-shadow: none; }

/* Ligne de gares sur rails */
.ln-rail { position: relative; height: 72px; }
.ln-rail-track { position: absolute; left: 9px; right: 9px; top: 3px; height: 12px; background: linear-gradient(#fff, #fff) top / 100% 2px no-repeat, linear-gradient(#fff, #fff) bottom / 100% 2px no-repeat, repeating-linear-gradient(90deg, rgba(255,255,255,.75) 0 3px, transparent 3px 14px); }
.ln-rail-stops { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; display: flex; justify-content: space-between; }
.ln-stop { width: 18px; position: relative; }
.ln-stop-dot { display: block; width: 18px; height: 18px; box-sizing: border-box; border: 3px solid #fff; border-radius: 999px; background: var(--noir); }
.ln-stop.is-last .ln-stop-dot { background: var(--accent); }
.ln-stop-label { position: absolute; top: 28px; left: 9px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 4px; white-space: nowrap; }
.ln-stop.is-first .ln-stop-label { left: 0; transform: none; align-items: flex-start; }
.ln-stop.is-last .ln-stop-label { left: auto; right: 0; transform: none; align-items: flex-end; }
.ln-stop-name { font-family: var(--f-titre); font-weight: 900; font-size: 23px; line-height: 1; text-transform: uppercase; }
.ln-stop-sub { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; color: var(--accent); }
.ln-rail--mini { height: 56px; }
.ln-rail--mini .ln-rail-track { left: 8px; right: 8px; top: 2px; }
.ln-rail--mini .ln-stop, .ln-rail--mini .ln-stop-dot { width: 16px; height: 16px; }
.ln-rail--mini .ln-stop-label { top: 24px; left: 8px; }
.ln-rail--mini .ln-stop-name { font-size: 19px; }

/* ---------- Article ---------- */

.ln-article { display: grid; grid-template-columns: 230px minmax(0, 700px); justify-content: center; gap: 64px; padding: 80px var(--pad) 0; margin: 0 auto; box-sizing: border-box; }
.ln-article-body { min-width: 0; }
.ln-content { counter-reset: ln-etape; }
.ln-content > * { max-width: 700px; margin-top: 0; margin-bottom: 1.15em; }
/* Photos : jamais plus larges que le texte, jamais plus hautes que l'écran. */
.ln-content img { border-radius: 6px; }
.ln-content > .wp-block-image:not(.alignleft):not(.alignright) { margin: 40px auto; width: min(100%, var(--w, 100%), calc(min(78vh, 760px) * var(--r, 1.5))); }
.ln-content > .wp-block-image:not(.alignleft):not(.alignright) img { display: block; width: 100%; height: auto; }
.ln-content > .wp-block-image a { display: block; }
.ln-content .alignleft { float: left; clear: left; margin: 6px 32px 20px 0 !important; max-width: 46%; }
.ln-content .alignright { float: right; clear: right; margin: 6px 0 20px 32px !important; max-width: 46%; }
.ln-content .alignleft img, .ln-content .alignright img { display: block; max-width: 100%; height: auto !important; }
.ln-content h2, .ln-content h3, .ln-content > .wp-block-image:not(.alignleft):not(.alignright), .ln-content > .wp-block-gallery, .ln-content > .wp-block-columns, .ln-content > .ln-360, .ln-content > .ln-son, .ln-content > .ln-compteurs { clear: both; }
.ln-content > .wp-block-gallery { margin: 40px 0; }
.ln-content .wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 4px; }
.ln-content figcaption, .ln-content .wp-element-caption { font-family: var(--f-mono); font-size: 12px; color: var(--gris-3); margin-top: 12px; text-align: left; }
.ln-content { font-size: 17.5px; line-height: 1.65; font-weight: 450; color: #16171A; }
.ln-content p, .ln-content li { font-size: inherit; line-height: inherit; }
.ln-content ul, .ln-content ol { font-size: 17.5px; }
.ln-content strong, .ln-content b { font-weight: 750; }

.ln-content a { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.ln-content p a:hover, .ln-content li a:hover { background: rgba(242,194,48,.25); }
.ln-content a:has(img) { text-decoration: none; background: none !important; }
.ln-content h2 { font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: clamp(34px, 3.6vw, 52px); line-height: .92; margin: 72px 0 24px; scroll-margin-top: 90px; text-wrap: balance; }
.ln-content h2::before { counter-increment: ln-etape; content: counter(ln-etape, decimal-leading-zero); display: block; width: max-content; font-family: var(--f-mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1; background: var(--accent); color: var(--noir); padding: 5px 9px; border-radius: 3px; margin-bottom: 16px; }
.ln-gabarit-voyage .ln-content h2::before { content: "Étape " counter(ln-etape, decimal-leading-zero); text-transform: uppercase; }
.ln .ln-content h2.ln-nostep::before, .ln .ln-compteurs-anciens h2::before { content: none; counter-increment: none; }
.ln-content h3 { font-family: var(--f-titre); font-weight: 800; text-transform: uppercase; font-size: 29px; line-height: 1; margin: 56px 0 20px; }
.ln-content h4 { font-family: var(--f-titre); font-weight: 800; text-transform: uppercase; font-size: 26px; line-height: 1.05; margin: 48px 0 16px; }
.ln-content ul, .ln-content ol { padding-left: 1.2em; }
.ln-content li { margin-bottom: .4em; }
.ln-content blockquote { border-left: 4px solid var(--accent); margin: 32px 0; padding: 4px 0 4px 24px; font-size: 22px; }
.ln-content hr { border: 0; height: 10px; margin: 56px 0; background: linear-gradient(#C9C9C4, #C9C9C4) top / 100% 1.5px no-repeat, linear-gradient(#C9C9C4, #C9C9C4) bottom / 100% 1.5px no-repeat, repeating-linear-gradient(90deg, #DADAD5 0 2px, transparent 2px 16px); }
.ln-content .wp-block-columns { gap: 12px; }
.ln-content .wp-block-columns .wp-block-image { margin: 0; }
.ln-content .wp-block-columns img { width: 100%; border-radius: 6px; }
.ln-content .wp-block-group.has-background { border: 0 !important; outline: 0; border-radius: 10px; padding: 28px 32px !important; margin: 40px 0; box-sizing: border-box; }
.ln-content .wp-block-group.has-background > :first-child { margin-top: 0 !important; }
.ln-content .wp-block-group.has-background > :last-child { margin-bottom: 0 !important; }
.ln-content .wp-block-group.has-background p, .ln-content .wp-block-group.has-background li { font-size: 16.5px; }
.ln-content .wp-block-group.has-background h3, .ln-content .wp-block-group.has-background h4 { margin: 0 0 14px; font-size: 26px; }
/* Couleurs de l'ancien thème (Blueprint) */
.ln .has-gray-50-background-color { background-color: #F8F8F7 !important; }
.ln .has-gray-100-background-color { background-color: #F3F3F1 !important; }
.ln .has-gray-200-background-color, .ln .has-gray-300-background-color, .ln .has-gray-400-background-color { background-color: #F1F1EE !important; }
.ln .has-gray-500-background-color, .ln .has-gray-600-background-color { background-color: #E4E4E2 !important; }
.ln .has-gray-700-background-color, .ln .has-gray-800-background-color, .ln .has-gray-900-background-color { background-color: var(--noir-2) !important; color: #fff; }
.ln-content .wp-block-media-text { margin: 40px 0; gap: 0; border-radius: 10px; overflow: hidden; }
.ln-content .wp-block-media-text .wp-block-media-text__content { padding: 28px 32px; }
.ln-content .addtoany_share_save_container, .ln-content .addtoany_content { margin-top: 48px; font-family: var(--f-mono); font-size: 12px; }

/* Compteurs */
.ln-compteurs { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); background: var(--noir); color: #fff; border-radius: 8px; overflow: hidden; margin: 40px 0 !important; max-width: 720px !important; }
.ln-compteur { padding: 20px 20px 18px; display: flex; flex-direction: column; gap: 10px; box-shadow: inset 1px 0 0 rgba(255,255,255,.12); }
.ln-compteur .ln-icon { color: var(--accent); }
.ln-compteur strong { font-family: var(--f-mono); font-size: 50px; line-height: 1; font-weight: 700; }
.ln-compteur span { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.ln .ln-compteurs-anciens.ln-compteurs-anciens { background: var(--noir) !important; }
.ln-compteurs-anciens { background: var(--noir) !important; color: #fff; border-radius: 8px; padding: 22px 8px !important; margin: 40px 0 !important; gap: 0 !important; }
.ln-compteurs-anciens .wp-block-column { box-shadow: inset 1px 0 0 rgba(255,255,255,.12); padding: 0 12px; }
.ln-compteurs-anciens .wp-block-column:first-child { box-shadow: none; }
.ln-compteurs-anciens p { margin: 0 !important; color: #fff; font-family: var(--f-mono); font-size: 12px !important; letter-spacing: .1em; text-transform: uppercase; line-height: 1.4; }
.ln-compteurs-anciens p.has-large-font-size { font-size: 50px !important; line-height: 1.1; letter-spacing: 0; }
.ln .ln-compteurs-anciens h1, .ln .ln-compteurs-anciens h2, .ln .ln-compteurs-anciens h3 { font-family: var(--f-titre); font-weight: 900; font-size: 50px; line-height: 1.05; margin: 0 0 8px; color: #fff; text-transform: uppercase; }
.ln-compteurs-anciens .wp-block-column { text-align: center; }

/* Sommaire flottant */
.ln-toc-in { position: sticky; top: 24px; transition: top .25s; display: flex; flex-direction: column; gap: 20px; }
.ln-toc-head { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; font-weight: 700; }
.ln-toc-head span + span { color: var(--gris-3); font-weight: 400; }
.ln-toc nav { position: relative; }
.ln-toc-line { position: absolute; left: 7px; top: 8px; bottom: 30px; width: 4px; background: var(--gris-2); }
.ln-toc-line span { position: absolute; left: 0; top: 0; width: 100%; height: 0; background: var(--noir); transition: height .2s; }
.ln-toc ol { list-style: none; margin: 0; padding: 0; }
.ln-toc li a { position: relative; display: flex; gap: 14px; align-items: flex-start; padding-bottom: 24px; min-height: 52px; color: var(--noir); text-decoration: none; }
.ln-toc-dot { width: 18px; height: 18px; flex-shrink: 0; box-sizing: border-box; border-radius: 999px; border: 4px solid var(--gris-4); background: #fff; }
.ln-toc li.is-done .ln-toc-dot { border-color: var(--noir); background: var(--noir); }
.ln-toc li.is-current .ln-toc-dot { border-color: var(--noir); background: var(--accent); }
.ln-toc-txt { display: flex; flex-direction: column; gap: 3px; }
.ln-toc-num, .ln-toc-sub { font-family: var(--f-mono); font-size: 10px; letter-spacing: .1em; color: var(--gris-3); }
.ln-toc-title { font-size: 15px; line-height: 1.25; font-weight: 500; }
.ln-toc li.is-current .ln-toc-title { font-weight: 800; }
.ln-toc li a:hover .ln-toc-title { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 3px; }
.ln-toc-pill { display: none; }

/* Prises de son */
.ln-son { display: flex; gap: 24px; align-items: center; background: var(--gris-1); border-radius: 16px; padding: 24px 28px; margin: 40px 0 !important; box-sizing: border-box; }
.ln-son-play { width: 76px; height: 76px; flex-shrink: 0; border: 0; border-radius: 999px; background: var(--noir); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ln-son-play svg { fill: var(--accent); }
.ln-son .i-pause, .ln-son.is-playing .i-play { display: none; }
.ln-son.is-playing .i-pause { display: block; }
.ln-son-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ln-son-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.ln-son-title { font-family: var(--f-titre); font-weight: 800; font-size: 24px; line-height: 1.05; text-transform: uppercase; }
.ln-son-time { font-family: var(--f-mono); font-size: 13px; color: var(--gris-3); white-space: nowrap; }
.ln-son-wave { height: 44px; display: flex; gap: 3px; align-items: center; cursor: pointer; overflow: hidden; }
.ln-son-wave span { flex: 1 1 0; min-width: 2px; max-width: 5px; border-radius: 2px; background: #8C8E93; }
.ln-son-wave span.is-played { background: var(--noir); }
.ln-son-desc { font-family: var(--f-texte) !important; font-size: 15px !important; line-height: 1.5; color: #3F4146 !important; margin: 0 !important; }
.ln-son-meta { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--gris-3); }
.ln-son audio { display: none; }
.ln-son-inline { display: inline-flex; gap: 8px; align-items: center; vertical-align: 2px; height: 30px; padding: 0 12px 0 4px; border: 0; border-radius: 999px; background: var(--noir); color: #fff; font-family: var(--f-mono); font-size: 12px; cursor: pointer; }
.ln-son-inline .dot { width: 22px; height: 22px; border-radius: 999px; background: var(--accent); display: inline-flex; align-items: center; justify-content: center; }
.ln-son-inline svg { fill: var(--noir); }
.ln-son-inline.is-playing .dot { animation: ln-pulse 1s infinite; }
@keyframes ln-pulse { 50% { transform: scale(.8); } }

/* Images 360° */
.ln-360 { margin: 48px 0 !important; }
.ln-360-stage { position: relative; height: 560px; border-radius: 8px; overflow: hidden; background: var(--noir) center / cover no-repeat; }
.ln-360-stage::after { content: ""; position: absolute; inset: 0; background: rgba(10,10,11,.35); pointer-events: none; }
.ln-360-stage.is-live::after, .ln-360-stage.is-live .ln-360-start, .ln-360-stage.is-live .ln-360-hint { display: none; }
.ln-360-start { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; display: flex; gap: 12px; align-items: center; height: 56px; padding: 0 26px 0 20px; border: 0; border-radius: 999px; background: var(--accent); color: var(--noir); font-family: var(--f-mono); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.ln-360-hint { position: absolute; left: 24px; bottom: 20px; z-index: 2; color: #fff; font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ln-360-view { position: absolute; inset: 0; }

/* Photos du voyage, signature, commentaires, article suivant */
.ln-after { max-width: 1016px; }
.ln-trip-photos { background: var(--noir); color: #fff; border-radius: 10px; padding: 28px; margin: 64px 0 48px; display: flex; flex-direction: column; gap: 20px; }
.ln-trip-photos-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.ln-trip-photos-title { display: block; font-family: var(--f-titre); font-weight: 900; font-size: 36px; line-height: 1; text-transform: uppercase; }
.ln-trip-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.ln-trip-thumb { padding: 0; border: 0; border-radius: 4px; overflow: hidden; height: 120px; cursor: zoom-in; background: #2A2B2F; }
.ln-trip-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ln-signature { max-width: 720px; display: flex; gap: 20px; align-items: center; padding-top: 28px; border-top: 2px solid var(--noir); margin-bottom: 64px; }
.ln-signature img { border-radius: 999px; }
.ln-signature strong { display: block; font-family: var(--f-titre); font-weight: 900; font-size: 26px; text-transform: uppercase; line-height: 1; }
.ln-signature span { font-size: 16px; color: var(--gris-3); }
.ln-comments { max-width: 720px; margin-bottom: 64px; }
.ln-comments h2, .ln-comments .wp-block-comments-title { font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: 40px; }
.ln-comments input[type=text], .ln-comments input[type=email], .ln-comments input[type=url], .ln-comments textarea { width: 100%; box-sizing: border-box; border: 1.5px solid var(--gris-4); border-radius: 8px; padding: 12px 14px; font: inherit; font-size: 16px; }
.ln-comments .wp-block-post-comments-form input[type=submit], .ln-comments .submit { background: var(--noir); color: #fff; border: 0; border-radius: 999px; height: 48px; padding: 0 24px; font-family: var(--f-mono); font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.ln-next { position: relative; display: block; height: 420px; background: var(--noir); color: #fff; overflow: hidden; margin-top: 64px; text-decoration: none; }
.ln-next img { position: absolute; right: 0; top: 0; width: 62%; height: 100%; object-fit: cover; }
.ln-next-shade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--noir) 0%, var(--noir) 40%, rgba(13,13,14,0) 72%); }
.ln-next-txt { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 96px var(--pad); max-width: 620px; }
.ln-next-title { font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: 62px; line-height: .9; }
.ln-next:hover .ln-next-title { color: var(--accent); }

/* ---------- Accueil ---------- */

.ln-avenir { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; min-height: 84px; padding: 16px var(--pad); box-sizing: border-box; background: var(--accent); color: var(--noir); }
.ln-avenir-k { display: flex; gap: 10px; align-items: center; font-family: var(--f-mono); font-weight: 700; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.ln-avenir-dot { width: 10px; height: 10px; border-radius: 999px; background: var(--noir); animation: ln-pulse 1.6s infinite; }
.ln-avenir-title { font-family: var(--f-titre); font-weight: 900; font-size: 36px; line-height: 1; text-transform: uppercase; }
.ln-avenir-when { font-family: var(--f-mono); font-size: 13px; }
.ln-avenir .ln-btn { margin-left: auto; height: 44px; font-size: 12px; }
.ln-home { padding-bottom: 96px; }
.ln-section { padding: 88px var(--pad) 0; max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 36px; }
.ln-h2 { margin: 0; font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: clamp(36px, 4vw, 58px); line-height: .9; }
.ln-section-intro { margin: 0; max-width: 380px; font-size: 17px; line-height: 1.45; color: var(--gris-3); }
.ln-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 220px; gap: 12px; }
.ln-tile { position: relative; display: block; border-radius: 8px; overflow: hidden; color: #fff; text-decoration: none; background: var(--noir-2); }
.ln-tile--big { grid-row: span 2; grid-column: span 2; }
.ln-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.ln-tile:hover img { transform: scale(1.03); }
.ln-tile-shade, .ln-card-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,11,0) 35%, rgba(10,10,11,.85) 100%); }
.ln-tile-txt { position: absolute; left: 24px; right: 24px; bottom: 22px; display: flex; flex-direction: column; gap: 10px; }
.ln-tile-meta { display: flex; gap: 10px; align-items: center; font-family: var(--f-mono); font-size: 11px; font-weight: 700; letter-spacing: .08em; flex-wrap: wrap; }
.ln-tile-date { font-weight: 400; opacity: .8; }
.ln-tile-title { font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: 27px; line-height: .95; }
.ln-tile--big .ln-tile-title { font-size: 44px; }

/* Plan du réseau */
.ln-home .ln-mapbox { max-width: min(100%, calc(76vh * 1312 / 840)); margin: 0 auto; }
.ln-mapbox { position: relative; background: var(--map-bg); border: 1px solid var(--gris-2); border-radius: 10px; overflow: hidden; }
.ln-map { display: block; width: 100%; height: auto; }
.ln-map-mobile { display: none; }
.lnm-land { fill: var(--map-land); }
.lnm-border { fill: none; stroke: var(--map-border); }
.lnm-casing { fill: none; stroke: var(--map-bg); }
.ln-line path { fill: none; }
.ln-line { cursor: pointer; transition: opacity .2s; }
.ln-line:hover { opacity: .7; }
.lnm-st { fill: var(--map-bg); stroke: var(--map-ink); }
.lnm-big { font-family: var(--f-titre); font-weight: 800; fill: var(--map-ink); stroke: var(--map-bg); paint-order: stroke; }
.lnm-small { font-family: var(--f-mono); fill: var(--map-muted); stroke: var(--map-bg); paint-order: stroke; }
.lnm-focus { font-family: var(--f-mono); font-weight: 700; fill: var(--map-ink); }
.lnm-diamond { fill: var(--accent); stroke: var(--map-ink); }
.lnm-stem { fill: none; stroke: var(--map-ink); }
.ln-legend { position: absolute; right: 16px; top: 16px; width: 220px; max-height: calc(100% - 32px); overflow-y: auto; font-size: 13px; background: rgba(255,255,255,.94); border-radius: 8px; padding: 18px 18px 8px; box-sizing: border-box; }
.ln-legend ul, .ln-legend-list { list-style: none; margin: 0; padding: 0; }
.ln-legend a, .ln-legend-list button { display: flex; gap: 10px; align-items: center; padding: 7px 0; border: 0; border-top: 1px solid var(--gris-2); font-size: 13px; line-height: 1.25; text-decoration: none; background: none; width: 100%; text-align: left; cursor: pointer; color: var(--noir); }
.ln-legend a:hover, .ln-legend-list button:hover { color: var(--gris-3); }
.ln-legend .ln-swatch, .ln-legend-list .ln-swatch { width: 18px; }
.ln-map-more { position: absolute; left: 24px; bottom: 24px; }
.ln-mapbox.has-sel .ln-line { opacity: .12; }
.ln-mapbox.has-sel .ln-line.is-sel { opacity: 1; }

/* Photos libres (accueil) */
.ln-quais { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 210px 210px; gap: 12px; }
.ln-quai { position: relative; margin: 0; border-radius: 6px; overflow: hidden; background: var(--gris-2); cursor: zoom-in; }
.ln-quai img { transition: transform .5s; }
.ln-quai:hover img { transform: scale(1.03); }
[data-ln-shuffle] svg { flex-shrink: 0; }
.ln-quai img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ln-quai--0 { grid-row: span 2; }
.ln-quai--3 { grid-column: span 2; }
.ln-quai figcaption { position: absolute; left: 12px; bottom: 12px; background: rgba(13,13,14,.75); color: #fff; font-family: var(--f-mono); font-size: 11px; padding: 6px 10px; border-radius: 999px; }
.ln-quai figcaption:empty { display: none; }
.ln-dl { position: absolute; right: 12px; bottom: 12px; height: 32px; padding: 0 12px; border-radius: 999px; background: #fff; color: var(--noir); font-family: var(--f-mono); font-weight: 700; font-size: 11px; display: flex; align-items: center; text-decoration: none; }

/* ---------- Pages ---------- */

.ln-pagehead { background: var(--noir); color: #fff; padding-bottom: 56px; }
.ln-pagehead-in { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; padding: 24px var(--pad) 0; max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-pagehead-title { margin: 0; font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: clamp(40px, 5vw, 78px); line-height: .88; text-wrap: balance; }
.ln-pagehead-intro { margin: 0; max-width: 460px; font-size: 18px; line-height: 1.55; opacity: .85; }
.ln-searchbar { display: flex; align-items: center; gap: 12px; height: 52px; padding: 0 20px; border: 2px solid var(--noir); border-radius: 999px; box-sizing: border-box; }
.ln-searchbar input { flex: 1; min-width: 0; height: 44px; border: 0; outline: none; background: transparent; font: inherit; font-size: 17px; color: inherit; }
.ln-searchbar--dark { border: 1.5px solid rgba(255,255,255,.5); width: 460px; color: #fff; }
.ln-searchbar--dark input::placeholder { color: rgba(255,255,255,.6); }
.ln-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 20px var(--pad); border-bottom: 1px solid var(--gris-2); max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-filters--tight { padding: 0; border: 0; margin: 0; max-width: none; }
.ln-filter-k { width: 64px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; font-weight: 700; text-transform: uppercase; }
.ln-filter-art { width: auto; margin-left: 24px; }
.ln-filters select { height: 38px; min-width: 260px; border: 1.5px solid var(--noir); border-radius: 999px; padding: 0 14px; font: inherit; font-size: 14px; background: #fff; }
.ln-chip { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid #D4D4D1; font-size: 14px; color: var(--noir); text-decoration: none; background: #fff; }
.ln-chip:hover { border-color: var(--noir); }
.ln-chip.is-on { background: var(--noir); color: #fff; border-color: var(--noir); }
.ln-count { margin-left: auto; font-family: var(--f-mono); font-size: 12px; color: var(--gris-3); text-transform: uppercase; }
.ln-searchbar .ln-count { margin-left: 0; }
.ln-empty { padding: 48px 0; color: var(--gris-3); }
.ln-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 40px var(--pad) 96px; max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-card { position: relative; display: block; height: 400px; border-radius: 10px; overflow: hidden; background: var(--noir); color: #fff; text-decoration: none; }
.ln-card-media { position: absolute; left: 0; top: 0; width: 100%; height: 300px; background: var(--noir-2); }
.ln-card-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.ln-card-shade { height: 300px; background: linear-gradient(90deg, rgba(10,10,11,.85) 0%, rgba(10,10,11,.3) 55%, rgba(10,10,11,0) 75%); }
.ln-card-txt { position: absolute; left: 32px; top: 30px; width: 72%; display: flex; flex-direction: column; gap: 14px; }
.ln-card-title { font-family: var(--f-titre); font-weight: 900; text-transform: uppercase; font-size: 50px; line-height: .9; text-wrap: balance; }
.ln-card:hover .ln-card-title { color: var(--accent); }
.ln-card-band { position: absolute; left: 0; top: 300px; width: 100%; height: 100px; box-sizing: border-box; padding: 24px 32px 0; }
.ln-card-band .ln-cell-v { font-size: 16px; }
.ln-list .nav-links { display: flex; gap: 8px; justify-content: center; padding-bottom: 64px; font-family: var(--f-mono); }
.ln-page { max-width: 720px; margin: 64px auto 96px; padding: 0 20px; }
.ln-404 { max-width: 720px; margin: 0 auto !important; padding: 96px 20px !important; box-sizing: content-box; }
.ln-404 .ln-pagehead-title { color: var(--noir); }

/* Le réseau */
.ln-reseau { padding: 32px var(--pad) 96px; max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-panel { position: absolute; right: 20px; top: 20px; bottom: 20px; width: 290px; background: rgba(255,255,255,.95); border-radius: 10px; padding: 20px; box-sizing: border-box; overflow: auto; display: flex; flex-direction: column; }
.ln-panel [data-ln-panel-detail] { display: flex; flex-direction: column; gap: 14px; flex: 1; }
.ln-panel [hidden] { display: none !important; }
.ln-panel-img { width: 100%; height: 150px; object-fit: cover; border-radius: 6px; }
.ln-panel-title { font-family: var(--f-titre); font-weight: 900; font-size: 34px; line-height: .95; text-transform: uppercase; }
.ln-panel-date { font-family: var(--f-mono); font-size: 11px; color: var(--gris-3); }
.ln-panel-stops { list-style: none; margin: 0; padding: 0; position: relative; }
.ln-panel-stops::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 3px; background: var(--c, var(--noir)); }
.ln-panel-stops li { position: relative; display: flex; gap: 12px; align-items: center; min-height: 26px; font-size: 14px; }
.ln-panel-stops li::before { content: ""; width: 15px; height: 15px; box-sizing: border-box; border-radius: 999px; border: 3px solid var(--noir); background: #fff; flex-shrink: 0; }
.ln-panel .ln-btn--wide { margin-top: 2px; flex-shrink: 0; }

/* Photothèque */
.ln-phbar { position: relative; z-index: 25; background: #fff; border-bottom: 1px solid var(--gris-2); padding: 18px var(--pad); display: flex; flex-direction: column; gap: 12px; }
.ln-phototheque { padding: 32px var(--pad) 96px; max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
.ln-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 250px; grid-auto-flow: dense; gap: 12px; }
.ln-grid-item { position: relative; padding: 0; border: 0; border-radius: 6px; overflow: hidden; cursor: zoom-in; background: var(--gris-2); }
.ln-grid-item.is-big { grid-column: span 2; grid-row: span 2; }
.ln-grid-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.ln-grid-item:hover img { transform: scale(1.03); }
.ln-grid-lieu { position: absolute; left: 10px; bottom: 10px; background: rgba(13,13,14,.75); color: #fff; font-family: var(--f-mono); font-size: 11px; padding: 6px 10px; border-radius: 999px; }

/* Visionneuse */
.ln-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(10,10,11,.97); color: #fff; display: grid; grid-template-columns: minmax(0, 1fr) 380px; }
.ln-lightbox[hidden] { display: none; }
.ln-lb-stage { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) 104px; min-height: 0; }
.ln-lb-stage img { max-width: calc(100% - 160px); max-height: calc(100% - 48px); object-fit: contain; place-self: center; }
.ln-lb-nav { position: absolute; top: calc(50% - 76px); width: 48px; height: 48px; border: 0; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ln-lb-prev { left: 20px; }
.ln-lb-next { right: 20px; }
.ln-lb-strip { display: flex; gap: 8px; align-items: center; padding: 0 24px 20px; overflow-x: auto; }
.ln-lb-strip button { width: 108px; height: 72px; flex-shrink: 0; padding: 0; border: 3px solid transparent; border-radius: 4px; overflow: hidden; background: #2A2B2F; cursor: pointer; opacity: .55; }
.ln-lb-strip button.is-on { border-color: var(--accent); opacity: 1; }
.ln-lb-strip img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; max-height: none; }
.ln-lb-side { background: var(--noir); border-left: 1px solid rgba(255,255,255,.1); padding: 28px; display: flex; flex-direction: column; gap: 20px; overflow: auto; }
.ln-lb-top { display: flex; justify-content: space-between; align-items: center; font-family: var(--f-mono); font-size: 12px; opacity: .9; }
.ln-lb-lieu { font-family: var(--f-titre); font-weight: 900; font-size: 36px; line-height: .95; text-transform: uppercase; }
.ln-lb-cap { margin: 0; font-size: 17px; line-height: 1.55; opacity: .9; }
.ln-lb-cap:empty { display: none; }
.ln-lb-meta { display: grid; grid-template-columns: 90px minmax(0, 1fr); row-gap: 10px; margin: 0; font-size: 15px; }
.ln-lb-meta dt { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; opacity: .6; padding-top: 3px; text-transform: uppercase; }
.ln-lb-meta dd { margin: 0; }
.ln-lb-meta a { color: #fff; }
.ln-lb-credit { background: rgba(255,255,255,.06); border-radius: 8px; padding: 16px; display: flex; flex-direction: column; gap: 10px; font-family: var(--f-mono); font-size: 13px; line-height: 1.5; align-items: flex-start; }
.ln-lb-credit .ln-eyebrow { margin: 0; opacity: .7; font-size: 11px; }
body.ln-noscroll { overflow: hidden; }

/* ---------- loukian.run et pied de page ---------- */

.ln-run { display: grid; grid-template-columns: minmax(0, 1fr) 460px; background: var(--run); color: #fff; margin-top: 104px; }
.ln-run-txt { padding: 56px var(--pad); display: flex; flex-direction: column; gap: 12px; }
.ln-run-name { font-family: var(--f-run); font-style: italic; font-weight: 900; font-size: 64px; line-height: 1; text-transform: uppercase; }
.ln-run-desc { font-size: 19px; line-height: 1.5; max-width: 560px; }
.ln-run-go { display: flex; align-items: center; justify-content: center; border-left: 1px solid rgba(255,255,255,.3); font-family: var(--f-run); font-style: italic; font-weight: 900; font-size: 30px; text-transform: uppercase; color: #fff; text-decoration: none; }
.ln-run-go:hover { background: rgba(0,0,0,.12); }
.ln-footer { background: var(--noir); color: #fff; padding: 0 var(--pad) 72px; }
.ln-footer .ln-rail-sep--light { margin: 0 calc(-1 * var(--pad)) 64px; }
.ln-footer-nl { display: flex; justify-content: space-between; align-items: center; gap: 48px; flex-wrap: wrap; }
.ln-footer-title { display: block; font-family: var(--f-titre); font-weight: 900; font-size: 52px; line-height: .95; text-transform: uppercase; }
.ln-footer-sub { font-size: 18px; opacity: .8; }
.ln-nl { display: flex; gap: 10px; }
.ln-nl input { width: 340px; height: 56px; box-sizing: border-box; padding: 0 20px; border-radius: 999px; border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; font-family: var(--f-mono); font-size: 14px; }
.ln-nl .ln-btn { height: 56px; }
.ln-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 56px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.2); font-family: var(--f-mono); font-size: 12px; letter-spacing: .06em; }
.ln-footer-bottom img { height: 30px; width: auto; }
.ln-footer-bottom span { opacity: .75; }

/* ==========================================================================
   Tablette et mobile
   ========================================================================== */

@media (max-width: 1180px) {
	.ln-nav { gap: 20px; font-size: 18px; }
	.ln-tagline { display: none; }
	.ln-article { grid-template-columns: minmax(0, 700px); padding-top: 56px; gap: 0; }
	.ln-toc { position: static; }
	.ln-toc-in { position: fixed; left: 16px; right: 16px; bottom: 70px; z-index: 60; background: #fff; border-radius: 16px; padding: 22px; box-shadow: 0 16px 48px rgba(0,0,0,.25); top: auto; height: auto; max-height: 70vh; overflow: auto; display: none; }
	.ln-toc.is-open .ln-toc-in { display: block; }
	.ln-toc-in .ln-toc-head { margin-bottom: 18px; }
	.ln-toc-in li a { padding-bottom: 16px; min-height: 0; }
	.ln-toc-in li:last-child a { padding-bottom: 0; }
	.ln-toc-in .ln-toc-line { bottom: 12px; }
	.ln-toc-pill { position: fixed; left: 16px; right: 16px; bottom: 14px; z-index: 60; height: 44px; border: 0; border-radius: 999px; background: var(--noir); color: #fff; display: flex; align-items: center; gap: 12px; padding: 0 20px; box-shadow: 0 8px 24px rgba(13,13,14,.3); font-family: var(--f-mono); font-size: 11px; letter-spacing: .04em; cursor: pointer; opacity: 0; transform: translateY(70px); pointer-events: none; transition: .25s; white-space: nowrap; overflow: hidden; }
	.ln-toc-pill span[data-ln-toc-current] { overflow: hidden; text-overflow: ellipsis; }
	.ln-toc.is-visible.is-up .ln-toc-pill, .ln-toc.is-open .ln-toc-pill { opacity: 1; transform: none; pointer-events: auto; }
	.ln-toc-pill span[data-ln-toc-current] { flex: 1; text-align: left; }
	.ln-toc-pill-line { width: 60px; height: 4px; border-radius: 2px; background: rgba(255,255,255,.3); position: relative; overflow: hidden; }
	.ln-toc-pill-line::after { content: ""; position: absolute; inset: 0; width: var(--p, 0%); background: var(--accent); }
	.ln-toc--empty { display: none; }
}

@media (max-width: 900px) {
	:root { --pad: 20px; --band-h: 120px; }
	.ln-header-in { padding: 18px var(--pad); }
	.ln-logo img, .ln-header.is-fixed .ln-logo img { height: 30px; }
	.ln-header.is-fixed .ln-header-in { padding-top: 12px; padding-bottom: 12px; }
	.ln-burger { display: inline-flex; margin-left: auto; }
	.ln-nav { display: none; }
	.ln-header.is-open .ln-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; position: absolute; left: 0; right: 0; top: 100%; background: var(--noir); padding: 24px var(--pad) 32px; font-size: 30px; z-index: 40; }
	.ln-search { left: var(--pad); right: var(--pad); }
	.ln-hero { min-height: clamp(620px, 92vh, 820px); }
	.ln-hero-text { padding: 120px var(--pad) 32px; gap: 16px; }
	.ln-hero-text > * { max-width: none; }
	.ln-hero-title.is-long { font-size: clamp(36px, 10vw, 54px); }
	.ln-hero-title.is-xlong { font-size: clamp(32px, 8.6vw, 46px); }
	.ln-content .alignleft, .ln-content .alignright { float: none; max-width: 100%; margin: 32px 0 !important; }
	.ln-content .alignleft img, .ln-content .alignright img { width: 100% !important; }
	.ln-hero-title { font-size: clamp(44px, 12vw, 64px); }
	.ln-hero-shade { background: linear-gradient(180deg, rgba(10,10,11,.5) 0%, rgba(10,10,11,0) 22%, rgba(10,10,11,.1) 45%, rgba(10,10,11,.9) 100%); }
	.ln-band { padding: 26px var(--pad) 0; gap: 20px; }
	.ln-band-side { display: none; }
	.ln-stop:not(.is-first):not(.is-last) .ln-stop-label { display: none; }
	.ln-stop-sub { display: none; }
	.ln-stop-name { font-size: 22px; }
	.ln-cells { gap: 14px; }
	.ln-cell:nth-child(n+4) { display: none; }
	.ln-cell-v { font-size: 15px; }
	.ln-content > * { max-width: none; }
	.ln-content h2 { margin-top: 64px; }
	.ln-content, .ln-content ul, .ln-content ol { font-size: 17px; line-height: 1.6; }
	.ln-compteurs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ln-compteur strong { font-size: 36px; }
	.ln-compteurs-anciens { flex-wrap: wrap !important; }
	.ln-compteurs-anciens .wp-block-column { flex-basis: 45% !important; margin-bottom: 12px; }
	.ln-son { flex-direction: row; padding: 16px; gap: 14px; }
	.ln-son-play { width: 56px; height: 56px; }
	.ln-son-title { font-size: 18px; }
	.ln-360-stage { height: 320px; }
	.ln-trip-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ln-trip-photos-head { flex-direction: column; align-items: flex-start; }
	.ln-next { height: 360px; }
	.ln-next img { width: 100%; opacity: .45; }
	.ln-next-txt { padding: 64px var(--pad); }
	.ln-next-title { font-size: 42px; }
	.ln-avenir { padding: 16px var(--pad); }
	.ln-avenir-title { font-size: 26px; flex-basis: 100%; }
	.ln-avenir .ln-btn { margin-left: 0; }
	.ln-section { padding-top: 64px; }
	.ln-section-head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
	.ln-mosaic { grid-template-columns: 1fr; grid-template-rows: none; }
	.ln-tile { height: 240px; }
	.ln-tile--big { grid-row: auto; grid-column: auto; height: 300px; }
	.ln-tile--big .ln-tile-title, .ln-tile-title { font-size: 34px; }
	.ln-map-desktop { display: none; }
	.ln-map-mobile { display: block; }
	.ln-home .ln-legend { display: none; }
	.ln-mapbox:not(.ln-mapbox--full) { overflow: visible; }
	.ln-map-more { position: static; margin: 12px; }
	.ln-quais { grid-template-columns: 1fr 1fr; grid-template-rows: 200px 150px 150px; }
	.ln-quai--0 { grid-row: auto; grid-column: span 2; }
	.ln-quai--3 { grid-column: span 2; }
	.ln-pagehead-in { flex-direction: column; align-items: flex-start; gap: 24px; }
	.ln-pagehead-title { font-size: clamp(44px, 13vw, 72px); }
	.ln-searchbar--dark { width: 100%; }
	.ln-cards { grid-template-columns: 1fr; padding-top: 24px; }
	.ln-card { height: 340px; }
	.ln-card-media, .ln-card-shade { height: 250px; }
	.ln-card-band { top: 250px; height: 90px; padding: 20px 20px 0; }
	.ln-card-txt { left: 20px; top: 20px; width: 85%; }
	.ln-card-title { font-size: 36px; }
	.ln-filters { padding: 14px var(--pad); }
	.ln-filter-k { width: 100%; }
	.ln-filter-art { margin-left: 0; }
	.ln-filters select { min-width: 0; width: 100%; }
	.ln-count { margin-left: 0; }
	.ln-reseau { padding: 16px var(--pad) 64px; }
	.ln-reseau .ln-mapbox { overflow: visible; border: 0; }
	.ln-reseau .ln-map-mobile { border: 1px solid var(--gris-2); border-radius: 10px; }
	.ln-panel { position: static; width: auto; margin-top: 16px; padding: 0; background: none; }
	.ln-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; gap: 8px; }
	.ln-phbar { position: static; }
	.ln-lightbox { grid-template-columns: 1fr; grid-template-rows: 58vh minmax(0, 1fr); }
	.ln-lb-stage { grid-template-rows: minmax(0, 1fr) 76px; }
	.ln-lb-stage img { max-width: 100%; max-height: calc(100% - 16px); }
	.ln-lb-nav { top: calc(50% - 50px); }
	.ln-lb-prev { left: 8px; }
	.ln-lb-next { right: 8px; }
	.ln-lb-strip { padding: 0 12px 12px; }
	.ln-lb-strip button { width: 72px; height: 52px; }
	.ln-lb-side { padding: 20px; gap: 14px; }
	.ln-lb-lieu { font-size: 28px; }
	.ln-run { grid-template-columns: 1fr; }
	.ln-run-txt { padding: 40px var(--pad) 24px; }
	.ln-run-name { font-size: 44px; }
	.ln-run-go { border-left: 0; border-top: 1px solid rgba(255,255,255,.3); padding: 20px; font-size: 24px; }
	.ln-footer-title { font-size: 38px; }
	.ln-nl { width: 100%; flex-direction: column; }
	.ln-nl input { width: 100%; }
}

@media (max-width: 782px) { .admin-bar .ln-header.is-fixed { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ln-header.is-fixed { top: 0; } }
