/* Polices auto-hébergées (Google Fonts, licence OFL) : SUSE variable 100-800, Brawler 400/700. */
@font-face{ font-family:'SUSE'; font-style:normal; font-weight:100 800; font-display:swap; src:url('../fonts/suse-var-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Brawler'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/brawler-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Brawler'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/brawler-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/*
Theme Name: Karadocteur — kd-ligne
Description: Thème code pur de karadocteur.fr : « Suivez la ligne » (lignes de couleur au sol, stations, coude évidé).
Version: 1.0.0
Author: Karadocteur
Text Domain: kd-ligne
Requires PHP: 7.4
*/

/*
 * BLOC FIGÉ — ARTICLE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-article*` /
 * `.cdw-fil-ariane` / `.cdw-a-lire` / `.cdw-carte*` (renommées `.sbt-*` ici).
 * Couleurs/polices/espacements uniquement en `var(--sb-*, repli)` : un site neuf peut
 * utiliser ce fichier tel quel sans avoir encore défini ses propres variables.
 *
 * INTERDIT DE MODIFIER : voir single-article.php (un seul <article>, « à lire aussi »
 * en <div>). LIBRE DE MODIFIER : toutes les valeurs des var() ci-dessous.
 */

.sbt-conteneur{ max-width: var(--sb-conteneur, 1240px); margin-inline: auto; padding-inline: var(--sb-gouttiere, 24px); }

.sbt-fil-ariane{ font-size: .8125rem; color: var(--sb-doux, #55607a); display: flex; gap: 6px; flex-wrap: wrap; padding-block: 16px; }
.sbt-fil-ariane a{ color: var(--sb-doux, #55607a); text-decoration: none; }
.sbt-fil-ariane a:hover{ color: var(--sb-encre, #0f172a); }

.sbt-article-entete{ max-width: var(--sb-lecture, 720px); margin-inline: auto; padding-block: 8px 24px; }
.sbt-article-pastille{
	display: inline-block; background: var(--sb-surf, #f4f5fa); color: var(--sb-encre, #0f172a);
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: .75rem;
	text-transform: uppercase; letter-spacing: .04em; padding: 6px 12px; border-radius: 999px; margin-bottom: 16px;
	text-decoration: none;
}
.sbt-article-entete h1{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); line-height: 1.15; margin: 0; }
.sbt-article-chapo{ font-family: var(--sb-texte, 'Inter', system-ui, sans-serif); font-style: italic; font-size: clamp(1.0625rem,1rem + .3vw,1.3125rem); color: var(--sb-doux, #55607a); margin-top: 16px; }
.sbt-article-meta{ display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; font-size: .875rem; color: var(--sb-doux, #55607a); }
.sbt-article-meta img{ width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.sbt-article-meta-auteur{ color: inherit; font-weight: 600; text-decoration: none; }

.sbt-article-une{ max-width: var(--sb-conteneur, 1240px); margin: 28px auto 32px; padding-inline: var(--sb-gouttiere, 24px); }
.sbt-article-une-cadre{ aspect-ratio: 2.4 / 1; max-height: min(520px, 46vh); overflow: hidden; /* 01/10 : à 1440×900 le texte passait sous la ligne de flottaison (B-ART-09) */ border-radius: var(--sb-rayon, 14px); box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); }
.sbt-article-une-cadre img{ width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px){ .sbt-article-une-cadre{ aspect-ratio: auto; height: 220px; max-height: 220px; } }

/* Grille corps + rail — align-items:start obligatoire pour que le rail sticky
   (cf. partial-sidebar.css) tienne sur toute la hauteur du contenu. */
.sbt-article-mise-en-page{
	display: grid; grid-template-columns: minmax(0, var(--sb-lecture, 720px)) var(--sb-rail, 340px);
	column-gap: var(--sb-gouttiere, 24px); row-gap: var(--sb-gouttiere, 24px);
	max-width: var(--sb-conteneur, 1240px); margin-inline: auto;
	padding: 32px var(--sb-gouttiere, 24px) 64px; align-items: start; justify-content: center;
}
@media (max-width: 1080px){ .sbt-article-mise-en-page{ grid-template-columns: minmax(0,1fr); } .sbt-article-principal, .sbt-rail{ min-width: 0; } }
.sbt-article-mise-en-page--suite{ padding-top: 0; }

.sbt-article-corps{ font-size: 1.0625rem; line-height: 1.7; color: var(--sb-encre, #0f172a); font-family: var(--sb-texte, 'Inter', system-ui, sans-serif); }
.sbt-article-corps h2{ margin-top: 2.2em; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-article-corps h3{ margin-top: 1.8em; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-article-corps p{ margin-bottom: 1.3em; }
.sbt-article-corps img{ border-radius: var(--sb-rayon, 14px); margin-block: 1.6em; width: 100%; height: auto; }
.sbt-article-corps blockquote{
	margin: 1.8em 0; padding: 18px 24px; border-left: 4px solid var(--sb-accent, #2563eb);
	background: var(--sb-surf, #f4f5fa); border-radius: 8px; font-style: italic;
}

/* Sommaire replié en accordéon sur mobile uniquement (en desktop, il vit dans le rail —
   cf. partial-sidebar.php / partial-sommaire.php). */
.sbt-sommaire-mobile{ display: none; }
@media (max-width: 1080px){ .sbt-sommaire-mobile{ display: block; margin-bottom: 24px; } }
/* 01/10/2026 (baliturismo, juge visuel) : sous 1080px le rail passe SOUS l'article ; sa carte sommaire
   faisait doublon avec le sommaire mobile de tête (erreur n°6 « sommaire en double »). */
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }

/* « À lire aussi » (toujours un <div>, jamais un <article> — cf. single-article.php) */
.sbt-a-lire{ margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--sb-filet, #e2e5ef); }
.sbt-kicker{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .9375rem; font-weight: 700; margin-bottom: 12px; }
.sbt-grille{ display: grid; gap: var(--sb-gouttiere, 24px); }
.sbt-grille--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 760px){ .sbt-grille--3{ grid-template-columns: 1fr; } }
.sbt-carte{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-radius: var(--sb-rayon, 14px); overflow: hidden; box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08));
	transition: transform .2s ease, box-shadow .2s ease;
}
.sbt-carte:hover{ transform: translateY(-4px); box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); }
.sbt-carte a{ display: block; color: inherit; text-decoration: none; }
.sbt-carte img{ width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.sbt-carte-corps{ padding: 18px; }
.sbt-carte-corps h3{ margin: 0; font-size: 1.0625rem; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }

.sbt-article-commentaires{ margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--sb-filet, #e2e5ef); }

/* 01/10 (accessoiriste.net) : un seul sommaire visible par largeur — la carte du rail se masque quand l'accordéon mobile s'affiche. */
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }
/* 05/10 (operations-digestives, juge visuel) : sous-titres collés au paragraphe suivant (marge basse 0 px mesurée) */
.sbt-article-corps h2{ margin-bottom: .6em; }
.sbt-article-corps h3{ margin-bottom: .45em; }

/*
 * BLOC FIGÉ — BARRE LATÉRALE D'ARTICLE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-rail` / `.cdw-rail-carte`
 * (lignes ~854-861, renommées `.sbt-rail*` ici) — commentaire garde-fou d'origine
 * CONSERVÉ TEL QUEL ci-dessous (règle la plus importante de ce bloc).
 *
 * Inspiration secondaire documentée (pas copiée en entier) : amatauto.fr fait basculer
 * sa colonne latérale en bloc STATIQUE empilé sous le texte à partir de 1100px
 * (assets/css/v2.css, `.a2-art__cote { position: sticky; ... }` +
 * `@media (max-width: 1100px) { .a2-art__cote { position: static; } }`) — repris ici en
 * option mobile (media query 1080px, cohérente avec le point de rupture de
 * `.sbt-article-mise-en-page` dans single-article.css).
 */

/* Rail sticky — collé à la colonne de texte, séparation par un filet interne, jamais un
   gap blanc entre les deux colonnes. */
.sbt-rail{
	position: sticky; top: 96px; align-self: start;
	display: flex; flex-direction: column; gap: 20px;
	border-left: 1px solid var(--sb-filet, #e2e5ef); padding-left: 20px;
}
/* ⛔ GARDE-FOU (conservé tel quel depuis curieux-du-web.com, retour Mathias ×3) : jamais
   de overflow-y ni de max-height ici — la colonne reste collante et accompagne TOUTE la
   lecture de l'article jusqu'en bas, sans sa propre barre de défilement interne. */
.sbt-rail-carte{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-radius: var(--sb-rayon, 14px); padding: 18px;
}
.sbt-rail-carte .sbt-t4, .sbt-rail-carte h4{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .875rem;
	text-transform: uppercase; letter-spacing: .04em; color: var(--sb-doux, #55607a); margin: 0 0 10px;
}

/* Option mobile (inspirée d'amatauto.fr, cf. en-tête) : sous 1080px, la grille parente
   passe déjà en une colonne (cf. .sbt-article-mise-en-page dans single-article.css) — le
   rail redevient donc naturellement un bloc statique empilé sous le texte. */
@media (max-width: 1080px){
	.sbt-rail{ position: static; border-left: 0; padding-left: 0; border-top: 1px solid var(--sb-filet, #e2e5ef); padding-top: 20px; }
}

/* Sommaire tel qu'affiché dans le rail (cf. partial-sommaire.css pour le détail des
   classes `.sbt-sommaire*`) : pas de style supplémentaire ici, la carte du rail suffit. */

/*
 * BLOC FIGÉ — SOMMAIRE (thématique) — CSS
 * CSS volontairement simple (voir partial-sommaire.php : la robustesse de ce bloc est
 * dans le PHP — ids séquentiels, exclusion FAQ/Sources, seuil de 3 titres — pas dans son
 * habillage). Inspiré du rendu `<details>` natif de health-nutrition-cambrai.fr
 * (« Bien Vivre Santé »), classes renommées `.sbt-sommaire*`.
 */

.sbt-sommaire{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-left: 4px solid var(--sb-accent, #2563eb); border-radius: var(--sb-rayon, 14px);
	padding: 16px 20px;
}
.sbt-sommaire-titre{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700;
	font-size: .9375rem; cursor: pointer; list-style: none;
}
.sbt-sommaire-titre::-webkit-details-marker{ display: none; }
.sbt-sommaire ol{ list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-sommaire li a{
	display: flex; align-items: baseline; gap: 10px; font-size: .9375rem;
	color: var(--sb-encre, #0f172a); text-decoration: none;
}
.sbt-sommaire li a:hover{ color: var(--sb-accent, #2563eb); text-decoration: underline; }
.sbt-sommaire-num{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: .75rem;
	color: var(--sb-encre, #0f172a); background: var(--sb-surf, #f4f5fa); border-radius: 50%;
	width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}

/*
 * BLOC FIGÉ — ENCADRÉS « LE SAVIEZ-VOUS » / « POINTS À RETENIR » (thématique) — CSS
 * Origine : amatauto.fr, assets/css/v2.css, règles `.amat-encadre--retenir` / `.a2-saviez`
 * (renommées `.sbt-encadre--retenir` / `.sbt-encadre--saviez` ici). Habillage simplifié
 * (gradients/decorations ::before retirés pour rester générique et léger), la structure
 * (grille icône + texte pour « le saviez-vous », liste à puces pour « points à retenir »)
 * est conservée.
 */

.sbt-encadre{ margin-block: 2em; border-radius: var(--sb-rayon-grand, 22px); }

.sbt-encadre-titre{
	margin: 0 0 12px; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif);
	font-weight: 700; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em;
}

/* « Points à retenir » — fond foncé, liste à puces check. */
.sbt-encadre--retenir{
	background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff);
	padding: 28px 30px;
}
.sbt-encadre--retenir .sbt-encadre-titre{ color: var(--sb-accent-clair, #93c5fd); }
.sbt-retenir-liste{ list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sbt-retenir-liste li{
	position: relative; padding-left: 32px; font-size: 1rem; line-height: 1.55;
}
.sbt-retenir-liste li::before{
	content: ""; position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%;
	background: var(--sb-accent, #2563eb)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")
		center / 12px no-repeat;
}

/* « Le saviez-vous ? » — encadré clair, icône ampoule. */
.sbt-encadre--saviez{
	display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start;
	padding: 22px 24px; background: var(--sb-surf, #f4f5fa);
}
.sbt-encadre--saviez::before{
	content: "?"; grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 14px;
	background: var(--sb-accent, #2563eb); color: #fff; display: flex; align-items: center; justify-content: center;
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: 1.375rem;
}
.sbt-encadre--saviez .sbt-encadre-titre{ grid-column: 2; margin: 0; color: var(--sb-encre, #0f172a); }
.sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column: 2; margin: 0; font-size: 1rem; line-height: 1.6; color: var(--sb-encre, #0f172a); }

@media (max-width: 620px){
	.sbt-encadre--saviez{ grid-template-columns: 1fr; }
	.sbt-encadre--saviez::before{ grid-row: 1; }
	.sbt-encadre--saviez .sbt-encadre-titre, .sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column: 1; }
}
/* 04/10/2026 (invalidcast.com) : la règle de liste du corps d'article écrasait le retrait → la coche mangeait la 1re lettre. */
.sbt-article-corps .sbt-retenir-liste{ padding: 0; margin: 0; list-style: none; }
.sbt-article-corps .sbt-retenir-liste li{ padding-left: 34px; margin: 0; text-indent: 0; }

/*
 * BLOC FIGÉ — FAQ EN ACCORDÉON (thématique) — CSS
 * Visuel inspiré du rendu RÉEL de solutionminceur.fr, classes `.smr-faq*` récupérées par
 * un unique curl en lecture seule sur
 * `https://solutionminceur.fr/wp-content/themes/solutionminceur-v2/roxane.css`
 * (fichier CSS distant, absent du mirroir local du chantier — ce curl a RÉUSSI, voir
 * README). Classes renommées `.sbt-faq*` ici, variables de couleur remplacées par des
 * `var(--sb-*, repli)` génériques.
 *
 * Mécanisme accordéon (natif <details>/<summary>, sans JS) : cf. partial-faq.php, origine
 * health-nutrition-cambrai.fr.
 */

.sbt-faq{ margin: 56px 0; padding: 30px; border-radius: var(--sb-rayon-grand, 22px); background: var(--sb-surf, #f4f5fa); border: 1px solid var(--sb-filet, #e2e5ef); }
.sbt-faq-liste{ display: grid; gap: 10px; }
.sbt-faq-liste details{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef) !important;
	border-radius: 14px; padding: 0 !important; transition: box-shadow .25s ease, border-color .25s ease;
}
.sbt-faq-liste details[open]{ box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); border-color: var(--sb-accent, #2563eb) !important; }
.sbt-faq-liste summary{
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
	gap: 18px; padding: 18px 20px; font-size: 1.03rem; font-weight: 600; line-height: 1.45; color: var(--sb-encre, #0f172a);
}
.sbt-faq-liste summary::-webkit-details-marker{ display: none; }
.sbt-faq-liste summary::after{
	content: ""; width: 30px; height: 30px; flex: none; border-radius: 50%;
	background: var(--sb-surf, #f4f5fa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 15px no-repeat;
	transition: transform .3s ease;
}
.sbt-faq-liste details[open] summary::after{ transform: rotate(135deg); }
.sbt-faq-liste summary:hover{ color: var(--sb-accent, #2563eb); }
.sbt-faq-reponse{ padding: 0 20px 18px; font-size: .96875rem; line-height: 1.75; color: var(--sb-doux, #55607a); }
.sbt-faq-reponse p{ margin: 0 0 14px; }
.sbt-faq-reponse p:last-child{ margin-bottom: 0; }

@media (max-width: 760px){
	.sbt-faq{ padding: 20px; }
}

/*
 * BLOC FIGÉ — SIGNATURE / BOÎTE AUTEUR (thématique) — CSS
 * Visuel inspiré du rendu RÉEL de solutionminceur.fr, classes `.smr-auteur*` récupérées
 * par le même curl en lecture seule que partial-faq.css (roxane.css, voir README).
 * Classes renommées `.sbt-auteur*` ici, variables de couleur remplacées par des
 * `var(--sb-*, repli)` génériques.
 */

.sbt-auteur{
	display: grid; grid-template-columns: 120px 1fr; gap: 26px; margin: 54px 0 10px;
	padding: 30px; border-radius: var(--sb-rayon-grand, 22px);
	background: var(--sb-surf, #f4f5fa); border: 1px solid var(--sb-filet, #e2e5ef);
}
.sbt-auteur-photo img{
	width: 120px; height: 120px; border-radius: 50%; object-fit: cover;
	box-shadow: 0 0 0 5px var(--sb-fond-carte, #ffffff), var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08));
}
.sbt-auteur-sur{ margin: 0 0 2px; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sb-doux, #55607a); }
.sbt-auteur-nom{ font-size: 1.5rem; margin: 0 0 4px; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-auteur-nom a{ color: var(--sb-encre, #0f172a); text-decoration: none; }
.sbt-auteur-nom a:hover{ text-decoration: underline; }
.sbt-auteur-role{ margin: 0 0 12px; font-size: .8125rem; font-weight: 600; color: var(--sb-accent, #2563eb); text-transform: uppercase; letter-spacing: .05em; }
.sbt-auteur-bio{ font-size: .96875rem; line-height: 1.7; color: var(--sb-encre, #0f172a); margin: 0 0 16px; }
.sbt-auteur-chiffres{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.sbt-auteur-chiffres span{ background: var(--sb-fond-carte, #ffffff); border-radius: 12px; padding: 8px 12px; font-size: .78125rem; color: var(--sb-doux, #55607a); }
.sbt-auteur-chiffres b{ color: var(--sb-encre, #0f172a); margin-right: 4px; }
.sbt-auteur-der{ margin-bottom: 18px; }
.sbt-auteur-der p{ margin: 0 0 6px; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sb-doux, #55607a); }
.sbt-auteur-der a{ display: block; font-size: .9375rem; font-weight: 500; padding: 6px 0; color: var(--sb-encre, #0f172a); text-decoration: none; border-bottom: 1px dashed var(--sb-filet, #e2e5ef); }
.sbt-auteur-der a:hover{ color: var(--sb-accent, #2563eb); }
.sbt-auteur-actions{ display: flex; flex-wrap: wrap; gap: 10px; }
.sbt-auteur-actions .sbt-btn{
	display: inline-block; padding: 10px 18px; border-radius: 999px; font-size: .875rem; font-weight: 600;
	text-decoration: none; background: var(--sb-accent, #2563eb); color: #fff;
}
.sbt-auteur-actions .sbt-btn--fantome{ background: transparent; border: 1.5px solid var(--sb-filet, #e2e5ef); color: var(--sb-encre, #0f172a); }

@media (max-width: 700px){
	.sbt-auteur{ grid-template-columns: 1fr; padding: 22px; }
	.sbt-auteur-photo img{ width: 88px; height: 88px; }
}

/*
 * BLOC FIGÉ — PIED DE PAGE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-footer*` / `.cdw-cookies*` /
 * `.cdw-popup-sortie*` / `.cdw-btn*` (renommées `.sbt-footer*` / `.sbt-cookies*` /
 * `.sbt-popup-sortie*` / `.sbt-btn*` ici).
 */

.sbt-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: 1rem;
	background: var(--sb-accent, #2563eb); color: #fff; text-decoration: none; border: 0; cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}
.sbt-btn:hover{ transform: translateY(-2px); box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); }
.sbt-btn--petit{ padding: 10px 18px; font-size: .875rem; }
.sbt-btn--fantome{ background: transparent; border: 1.5px solid rgba(255,255,255,.5); color: inherit; }

.sbt-footer{ background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff); padding-block: clamp(40px,6vw,64px) 24px; }
.sbt-footer a{ color: #c4c7e4; text-decoration: none; }
.sbt-footer a:hover{ color: #fff; }
.sbt-footer a.sbt-btn, .sbt-footer a.sbt-btn:hover{ color: #fff; } /* 10/10/2026 (blueau.fr) : « .sbt-footer a » battait la couleur du bouton (texte gris sur accent, 4,25:1) */

.sbt-footer-cta{
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	padding: 24px 28px; margin-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12);
}
@media (max-width: 600px){ .sbt-footer-cta{ padding: 20px; } } /* 04/10/2026 (invalidcast.com) : texte collé au bord dès qu'un thème donne un fond de carte au bandeau */
.sbt-footer-cta .sbt-t3{ color: #fff; margin: 0 0 4px; font-size: 1.25rem; }
.sbt-footer-cta p{ color: #a9acd0; margin: 0; max-width: 46ch; }

.sbt-footer-grille{ display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12); }
@media (max-width: 980px){ .sbt-footer-grille{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .sbt-footer-grille{ grid-template-columns: 1fr; } }
.sbt-footer-colonne .sbt-t4{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: #8b8fb5; margin: 0 0 14px; }
.sbt-footer-colonne ul{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-footer-colonne ul a{ font-size: .875rem; }
.sbt-footer-logo{ display: block; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: 1.125rem; color: #fff; margin-bottom: 14px; }
.sbt-footer-desc{ color: #a9acd0; font-size: .9375rem; margin: 0; max-width: 32ch; }
.sbt-footer-contact{ display: flex; flex-direction: column; gap: 8px; font-size: .875rem; }

.sbt-footer-bas{ padding-top: 20px; font-size: .8125rem; color: #8b8fb5; }

/* Bandeau cookies — deux boutons de MÊME poids (même classe .sbt-btn/.sbt-btn--petit),
   jamais un seul « J'ai compris » qui vaudrait acceptation forcée. */
.sbt-cookies{
	position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 80;
	background: var(--sb-fonce, #141733); color: #fff; border-radius: 12px;
	padding: 10px 14px; display: none; align-items: center; gap: 12px;
	box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); max-height: 64px; overflow: hidden;
}
.sbt-cookies.est-visible{ display: flex; }
.sbt-cookies p{ margin: 0; flex: 1; min-width: 0; font-size: .75rem; line-height: 1.3; }
.sbt-cookies-actions{ display: flex; gap: 8px; flex-shrink: 0; }
.sbt-cookies .sbt-btn{ flex-shrink: 0; padding: 8px 14px; min-height: 32px; font-size: .8125rem; }

/* Popup de sortie — jamais de colonne image vide : si pas d'image, la boîte bascule sur
   une seule colonne (cf. .sbt-popup-sortie-boite--sans-image). */
.sbt-popup-sortie{ position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 20px; }
.sbt-popup-sortie.est-ouvert{ display: flex; }
.sbt-popup-sortie-fond{ position: absolute; inset: 0; background: rgba(15,23,42,.7); }
.sbt-popup-sortie-boite{
	position: relative; z-index: 1; background: var(--sb-fond-carte, #ffffff); border-radius: var(--sb-rayon, 14px);
	max-width: 720px; width: 100%; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
	box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); max-height: 90vh;
}
.sbt-popup-sortie-boite--sans-image{ grid-template-columns: 1fr; max-width: 480px; }
@media (max-width: 640px){ .sbt-popup-sortie-boite{ grid-template-columns: 1fr; max-height: 85vh; overflow-y: auto; } }
.sbt-popup-sortie-image{ min-height: 220px; }
.sbt-popup-sortie-image img{ width: 100%; height: 100%; object-fit: cover; }
.sbt-popup-sortie-texte{ padding: 28px; color: var(--sb-encre, #0f172a); }
.sbt-popup-sortie-fermer{
	position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 50%;
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.sbt-popup-sortie-fermer svg{ width: 20px; height: 20px; }

/* ==========================================================================
   Karadocteur — « Suivez la ligne » (thème kd-ligne)
   Couloir #F2F6F5 · Nuit #14213D · Carte #FFF · Émeraude #08795F · Safran #F5B82E · Quai #DCEBEF · Rouge 15 #D93A3F
   SUSE (titres, pastilles, boutons, chiffres) · Brawler (lecture)
   ========================================================================== */

:root{
	--kd-couloir:#F2F6F5; --kd-nuit:#14213D; --kd-texte:#1F2B45; --kd-carte:#FFFFFF;
	--kd-emeraude:#08795F; --kd-emeraude-f:#066B55; --kd-safran:#F5B82E; --kd-quai:#DCEBEF; --kd-rouge:#D93A3F;
	--kd-doux:#4A5670; --kd-filet:#D3E1E4;
	--kd-suse:'SUSE', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--kd-brawler:'Brawler', Georgia, 'Times New Roman', serif;
	--kd-ombre:0 18px 40px -18px rgba(20,33,61,.28);
	--kd-ombre-forte:0 30px 60px -20px rgba(20,33,61,.35);
	--kd-r-grand:28px; --kd-r:20px; --kd-entete-h:72px;
	/* Habillage des blocs figés (--sb-*) */
	--sb-conteneur:1240px; --sb-lecture:720px; --sb-rail:340px; --sb-gouttiere:24px;
	--sb-accent:#08795F; --sb-accent-clair:#F5B82E; --sb-encre:#1F2B45; --sb-doux:#4A5670;
	--sb-filet:#D3E1E4; --sb-fond-carte:#FFFFFF; --sb-surf:#EAF2F3; --sb-rayon:20px; --sb-rayon-grand:28px;
	--sb-ombre:0 18px 40px -18px rgba(20,33,61,.28); --sb-ombre-forte:0 30px 60px -20px rgba(20,33,61,.35);
	--sb-titre:'SUSE', system-ui, sans-serif; --sb-texte:'Brawler', Georgia, serif;
	--sb-fonce:#14213D; --sb-sur-fonce:#FFFFFF;
}

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--kd-entete-h) + 16px); }
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior:smooth; } }
body{ margin:0; background:var(--kd-couloir); color:var(--kd-texte); font-family:var(--kd-suse); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:clip; }
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--kd-emeraude); text-underline-offset:3px; }
a:hover{ color:var(--kd-emeraude-f); }
:focus-visible{ outline:3px solid var(--kd-safran); outline-offset:2px; border-radius:6px; }
h1,h2,h3,h4{ font-family:var(--kd-suse); color:var(--kd-nuit); line-height:1.12; margin:0 0 .5em; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
button,input,select,textarea{ font:inherit; color:inherit; }
.kd-main{ display:block; }
.kd-conteneur{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:24px; }
@media (max-width:600px){ .kd-conteneur{ padding-inline:20px; } }
.kd-cache{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.kd-saut{ position:absolute; left:12px; top:-60px; z-index:100; background:var(--kd-nuit); color:#fff; padding:10px 16px; border-radius:999px; }
.kd-saut:focus{ top:12px; color:#fff; }

/* ---------- Boutons, pilules, liens ---------- */
.kd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 20px; border:0; border-radius:999px; background:var(--kd-emeraude); color:#fff; font-family:var(--kd-suse); font-weight:700; font-size:15px; white-space:nowrap; cursor:pointer; text-decoration:none; transition:background .2s ease, transform .2s ease; flex:none; }
.kd-btn:hover{ background:var(--kd-emeraude-f); color:#fff; }
.kd-btn:active{ transform:translateY(1px); }
.kd-btn--plein{ width:100%; }
.kd-btn-rouge{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:999px; background:var(--kd-rouge); color:#fff; font-weight:700; font-size:15px; text-decoration:none; white-space:nowrap; }
.kd-btn-rouge:hover{ background:#B92E33; color:#fff; }
.kd-btn-rouge--clair{ background:#fff; color:var(--kd-rouge); }
.kd-btn-rouge--clair:hover{ background:#FBE9EA; color:#B92E33; }
.kd-btn-page{ display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:999px; background:var(--kd-nuit); color:#fff; font-weight:700; font-size:14px; text-decoration:none; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kd-btn-page:hover{ background:#0C1630; color:#fff; }
.kd-lien{ font-weight:700; color:var(--kd-emeraude); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.kd-pilule{ display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:6px 14px; border:1.5px solid #C9D9DC; border-radius:999px; background:#fff; color:var(--kd-nuit); font-family:var(--kd-suse); font-weight:600; font-size:14px; line-height:1.15; cursor:pointer; transition:border-color .15s, background .15s, color .15s; }
.kd-pilule:hover{ border-color:var(--kd-emeraude); }
.kd-pilule.est-choisie{ background:var(--kd-nuit); border-color:var(--kd-nuit); color:#fff; }
.kd-pilule--grave{ border-color:#EDB3B5; }
.kd-pilule--grave.est-choisie{ background:var(--kd-rouge); border-color:var(--kd-rouge); }
.kd-select{ width:100%; min-height:44px; padding:0 40px 0 14px; border:1.5px solid #C9D9DC; border-radius:14px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314213D' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; appearance:none; font-size:15px; color:var(--kd-nuit); }
.kd-pastille-rub{ display:inline-flex; align-items:center; gap:7px; font-family:var(--kd-suse); font-weight:600; font-size:13px; color:var(--kd-nuit); background:#fff; border:1px solid var(--kd-filet); border-radius:999px; padding:3px 10px 3px 8px; }
.kd-pastille-rub i{ width:10px; height:10px; border-radius:50%; background:var(--kd-c,var(--kd-emeraude)); flex:none; }

/* ---------- Repli d'image : aplat + ligne coudée + nom ---------- */
.kd-repli{ position:relative; display:flex; align-items:flex-end; width:100%; height:100%; min-height:120px; background:var(--kd-c,#08795F); color:var(--kd-e,#fff); overflow:hidden; }
.kd-repli-ligne{ position:absolute; inset:0; width:100%; height:100%; opacity:.9; }
.kd-repli-nom{ position:relative; padding:14px 16px; font-family:var(--kd-suse); font-weight:800; font-size:clamp(16px,1.6vw,22px); line-height:1.1; }

/* ---------- En-tête (collant) ---------- */
.kd-entete{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #E1EAEC; }
.kd-entete.est-defile{ box-shadow:0 10px 24px -18px rgba(20,33,61,.45); }
.kd-entete-in{ display:flex; align-items:center; gap:24px; height:var(--kd-entete-h); }
.kd-logo{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; flex:none; }
.kd-logo-nom{ font-family:var(--kd-suse); font-weight:800; font-size:22px; color:var(--kd-nuit); letter-spacing:-.02em; }
.kd-nav{ flex:1; min-width:0; }
.kd-nav-liste{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:4px; }
.kd-nav-liste > li > a, .kd-nav-plus summary{ display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:999px; font-weight:600; font-size:15px; color:var(--kd-nuit); text-decoration:none; white-space:nowrap; cursor:pointer; }
.kd-nav-liste > li > a::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--kd-c,var(--kd-emeraude)); }
.kd-nav-liste > li > a:hover, .kd-nav-liste > li > a[aria-current]{ background:var(--kd-couloir); }
.kd-nav-plus{ position:relative; }
.kd-nav-plus summary{ list-style:none; }
.kd-nav-plus summary::-webkit-details-marker{ display:none; }
.kd-nav-plus summary::after{ content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-3px); }
.kd-nav-plus ul{ position:absolute; right:0; top:calc(100% + 8px); min-width:250px; list-style:none; margin:0; padding:8px; background:#fff; border-radius:16px; box-shadow:var(--kd-ombre-forte); }
.kd-nav-plus ul a{ display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:10px; color:var(--kd-nuit); text-decoration:none; font-weight:600; font-size:15px; }
.kd-nav-plus ul a::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--kd-c,#C9D9DC); }
.kd-nav-plus ul a:hover{ background:var(--kd-couloir); }
.kd-urgence-pilule{ margin:0; flex:none; display:inline-flex; align-items:center; gap:6px; padding:8px 14px 8px 12px; border-radius:999px; background:var(--kd-rouge); color:#fff; font-weight:700; font-size:15px; }
.kd-urgence-ico{ flex:none; width:16px; height:16px; margin-right:2px; }
.kd-urgence-pilule a{ color:#fff; text-decoration:none; font-variant-numeric:tabular-nums; }
.kd-urgence-pilule a:hover{ text-decoration:underline; color:#fff; }
.kd-burger{ display:none; align-items:center; gap:8px; margin-left:auto; min-height:44px; padding:0 14px; border:1.5px solid #C9D9DC; border-radius:999px; background:#fff; font-weight:700; cursor:pointer; }
.kd-burger-traits{ position:relative; width:18px; height:2px; background:var(--kd-nuit); }
.kd-burger-traits::before,.kd-burger-traits::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:var(--kd-nuit); }
.kd-burger-traits::before{ top:-6px; } .kd-burger-traits::after{ top:6px; }
/* Menu sur une ligne de 1240 à 1920 (corrections n°1) : entrées resserrées, pilule « 15 / 112 » avec picto téléphone */
@media (min-width:1240px){
	.kd-entete-in{ gap:16px; }
	.kd-nav-liste{ gap:0; }
	.kd-nav-liste > li > a, .kd-nav-plus summary{ padding:8px 7px; font-size:14.5px; gap:7px; }
}
@media (max-width:1239px){
	.kd-entete-in{ gap:12px; }
	.kd-burger{ display:inline-flex; }
	.kd-nav{ position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid #E1EAEC; box-shadow:0 18px 30px -20px rgba(20,33,61,.4); display:none; padding:12px 20px 20px; }
	.kd-nav.est-ouvert{ display:block; }
	.kd-nav-liste{ flex-direction:column; align-items:stretch; }
	.kd-nav-liste > li > a, .kd-nav-plus summary{ padding:12px 10px; }
	.kd-nav-plus ul{ position:static; box-shadow:none; padding:0 0 0 12px; }
	.kd-urgence-pilule{ order:3; }
}
@media (max-width:600px){
	:root{ --kd-entete-h:60px; }
	.kd-logo-nom{ font-size:19px; }
	.kd-logo-symbole{ width:30px; height:30px; }
	.kd-urgence-pilule{ padding:6px 11px; font-size:13px; }
	.kd-urgence-ico{ display:none; }
	.kd-burger-txt{ display:none; }
	.kd-burger{ padding:0 12px; }
}

/* ---------- Sections de l'accueil ---------- */
.kd-section{ position:relative; padding-block:56px; }
.kd-section-tete{ margin-bottom:24px; max-width:720px; }
.kd-section-tete--ligne{ max-width:none; display:flex; align-items:flex-end; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; }
.kd-h2{ font-size:clamp(26px, 1.6rem + 1vw, 40px); font-weight:700; margin:0 0 8px; }
.kd-section-chapo{ font-family:var(--kd-brawler); font-size:18px; line-height:1.55; color:var(--kd-doux); margin:0; }
@media (max-width:1440px){ .kd-h2{ font-size:clamp(26px, 1.4rem + 1vw, 36px); } }

/* ---------- 1. Hero ---------- */
.kd-hero{ padding-block:24px 36px; background:var(--kd-couloir); }
.kd-hero-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:24px; align-items:start; }
.kd-hero-intro{ grid-column:1; grid-row:1; padding:36px 80px 0 0; }
.kd-hero-suite{ grid-column:1; grid-row:2; padding:20px 80px 0 0; }
.kd-hero-visuel{ grid-column:2; grid-row:1 / 3; position:relative; height:clamp(520px, calc(100vh - 150px), 640px); }
.kd-pastille-couverture{ display:inline-flex; align-items:center; gap:8px; margin:0 0 20px; padding:6px 14px 6px 10px; border-radius:999px; background:#fff; border:1px solid var(--kd-filet); font-weight:600; font-size:14px; color:var(--kd-nuit); }
.kd-point{ width:12px; height:12px; border-radius:50%; background:var(--kd-safran); box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--kd-nuit); margin-right:4px; }
.kd-h1{ font-size:72px; font-weight:800; line-height:.98; letter-spacing:-.02em; margin:0; }
.kd-h1 span{ display:block; text-wrap:balance; }
.kd-h1-l1{ color:var(--kd-nuit); }
.kd-h1-l2{ color:var(--kd-emeraude); }
.kd-chapo{ font-family:var(--kd-brawler); font-size:21px; line-height:1.5; color:var(--kd-texte); margin:0 0 20px; max-width:30em; }
.kd-reassurances{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 18px; }
.kd-reassurances li{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:var(--kd-nuit); }
.kd-reass-pt{ width:10px; height:10px; border-radius:50%; background:var(--kd-emeraude); }
.kd-reass-pt--rouge{ background:var(--kd-rouge); }
.kd-hero-photo{ position:absolute; inset:0; margin:0; border-radius:var(--kd-r-grand); overflow:hidden; background:var(--kd-quai);
	-webkit-mask:radial-gradient(circle at 0 100%, transparent 88px, #000 89px); mask:radial-gradient(circle at 0 100%, transparent 88px, #000 89px); }
.kd-hero-photo picture,.kd-hero-photo img{ width:100%; height:100%; }
.kd-hero-photo img{ object-fit:cover; object-position:50% 60%; }
.kd-hero-lignes{ position:absolute; left:-64px; right:0; bottom:0; height:58%; width:calc(100% + 64px); z-index:2; pointer-events:none; overflow:visible; }
.kd-hero-lignes path{ fill:none; stroke-width:6; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:0; }
@media (prefers-reduced-motion: no-preference){
	.kd-hero-lignes path{ animation:kd-trace .9s cubic-bezier(.3,.7,.2,1) both; }
	.kd-hero-lignes path:nth-child(2){ animation-delay:.08s; }
	.kd-hero-lignes path:nth-child(3){ animation-delay:.16s; }
}
@keyframes kd-trace{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }
.kd-numeros--hero{ position:absolute; top:-18px; right:24px; z-index:4; margin:0; display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px 8px; padding:9px 18px; border-radius:999px; background:var(--kd-nuit); color:#fff; font-size:14px; box-shadow:var(--kd-ombre); max-width:calc(100% - 48px); }
.kd-numeros--hero .kd-num-n{ color:var(--kd-safran); font-weight:700; font-variant-numeric:tabular-nums; text-decoration:none; font-size:16px; }
.kd-numeros--hero .kd-num-n:hover{ text-decoration:underline; color:var(--kd-safran); }
.kd-numeros--hero .kd-sep{ color:#8D97B0; }
.kd-numeros-legende{ color:#E3E8F2; font-weight:500; }

/* ---------- Carte-orienteur ---------- */
.kd-form-carte{ position:absolute; z-index:3; left:-64px; top:50%; transform:translateY(-50%); width:440px; height:400px; display:flex; flex-direction:column; padding:18px 22px 12px; background:#fff; border-radius:24px; box-shadow:var(--kd-ombre-forte); }
.kd-stations{ list-style:none; margin:0 0 14px; padding:0; display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.kd-stations::before{ content:""; position:absolute; left:12.5%; right:12.5%; top:8px; height:4px; border-radius:4px; background:#DCE6E8; }
.kd-stations::after{ content:""; position:absolute; left:12.5%; top:8px; height:4px; border-radius:4px; background:var(--kd-emeraude); width:0; transition:width .35s ease; }
.kd-form-carte[data-etape="2"] .kd-stations::after{ width:25%; }
.kd-form-carte[data-etape="3"] .kd-stations::after{ width:50%; }
.kd-form-carte[data-etape="4"] .kd-stations::after{ width:75%; }
.kd-station{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:4px; }
.kd-station-pt{ width:20px; height:20px; border-radius:50%; background:#fff; border:4px solid #C9D9DC; transition:background .2s, border-color .2s; }
.kd-station.est-faite .kd-station-pt{ background:var(--kd-emeraude); border-color:var(--kd-emeraude); }
.kd-station.est-active .kd-station-pt{ background:var(--kd-safran); border-color:var(--kd-nuit); }
.kd-station-nom{ font-weight:600; font-size:12.5px; color:var(--kd-doux); }
.kd-station.est-active .kd-station-nom{ color:var(--kd-nuit); }
.kd-form-corps{ flex:1; min-height:0; position:relative; }
.kd-form-etape{ border:0; margin:0; padding:0; min-width:0; display:none; }
.kd-form-etape.est-active{ display:flex; flex-direction:column; gap:12px; height:100%; }
.kd-form-q{ padding:0; margin:0 0 2px; font-family:var(--kd-suse); font-weight:700; font-size:20px; color:var(--kd-nuit); line-height:1.2; }
.kd-pilules{ display:flex; flex-wrap:wrap; gap:7px; }
.kd-pilules .kd-pilule{ font-size:13.5px; min-height:34px; padding:5px 12px; }
.kd-form-ligne{ display:flex; gap:8px; align-items:center; }
.kd-form-ligne input{ flex:1; min-width:0; height:46px; padding:0 16px; border:1.5px solid #C9D9DC; border-radius:999px; background:#fff; font-size:15px; }
.kd-form-ligne input:focus{ border-color:var(--kd-emeraude); outline:none; box-shadow:0 0 0 3px rgba(8,121,95,.18); }
.kd-form-actions{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }
.kd-retour{ border:0; background:none; padding:8px 0; font-weight:600; font-size:14px; color:var(--kd-doux); text-decoration:underline; text-underline-offset:3px; cursor:pointer; min-height:44px; }
.kd-conseil{ position:relative; padding:14px 16px 14px 24px; border-radius:16px; background:var(--kd-couloir); }
.kd-conseil::before{ content:""; position:absolute; left:0; top:14px; bottom:14px; width:6px; border-radius:6px; background:var(--kd-c); transition:background .25s; }
.kd-conseil-nom{ margin:0 0 6px; font-weight:800; font-size:28px; line-height:1.05; color:var(--kd-nuit); }
.kd-conseil-pourquoi{ margin:0 0 8px; font-family:var(--kd-brawler); font-size:16px; line-height:1.45; }
.kd-conseil-acces{ margin:0; font-size:14px; line-height:1.45; color:var(--kd-texte); }
.kd-conseil-acces strong{ display:block; color:var(--kd-nuit); font-size:13.5px; }
.kd-ville-champ input{ width:100%; height:46px; padding:0 16px; border:1.5px solid #C9D9DC; border-radius:999px; font-size:15px; }
.kd-ville-champ input:focus{ border-color:var(--kd-emeraude); outline:none; box-shadow:0 0 0 3px rgba(8,121,95,.18); }
.kd-suggestions{ display:flex; flex-wrap:wrap; gap:7px; max-height:80px; overflow:hidden; }
.kd-suggestions .kd-pilule{ font-size:13.5px; min-height:34px; padding:5px 12px; }
.kd-pilule--autre{ border-style:dashed; }
.kd-ville-grand{ margin:0; min-height:40px; font-weight:800; font-size:38px; line-height:1; letter-spacing:-.02em; color:var(--kd-emeraude); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kd-choix-urgence{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.kd-choix-urgence .kd-pilule{ border-radius:14px; min-height:46px; padding:6px 8px; font-size:13px; text-align:center; white-space:normal; }
.kd-urgence-res{ min-height:44px; }
.kd-res{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.kd-res[hidden]{ display:none; }
.kd-guide-ligne{ margin-top:auto; padding-top:10px; border-top:1px dashed #C9D9DC; }
.kd-guide-ligne .kd-guide-titre{ margin:0 0 6px; font-weight:700; font-size:15px; color:var(--kd-nuit); }
.kd-rgpd{ display:flex; align-items:center; gap:7px; margin-top:6px; font-size:12px; line-height:1.3; color:var(--kd-doux); white-space:nowrap; overflow:hidden; }
.kd-rgpd input{ width:16px; height:16px; flex:none; accent-color:var(--kd-emeraude); margin:0; }
.kd-rgpd a{ color:var(--kd-doux); }
.kd-merci{ margin:0; padding:12px 14px; border-radius:14px; background:#E4F4EF; color:var(--kd-nuit); font-weight:600; font-size:15px; }
.kd-erreur{ color:#B92E33; font-size:13px; margin:4px 0 0; }
.kd-form-pied{ margin:8px 0 0; padding-top:8px; border-top:1px solid #E6EDEF; font-size:13px; color:var(--kd-doux); }
.kd-form-pied a{ color:var(--kd-rouge); font-weight:700; text-decoration:none; }
.kd-form-pied a:hover{ text-decoration:underline; color:#B92E33; }
@media (prefers-reduced-motion: no-preference){
	.kd-form-etape.est-active{ animation:kd-apparait .25s ease both; }
}
@keyframes kd-apparait{ from{ opacity:0; transform:translateX(8px); } to{ opacity:1; transform:none; } }

/* Hero : 1920 (H1 88) */
@media (min-width:1700px){ .kd-h1{ font-size:88px; } .kd-hero-intro{ padding-top:44px; } }
/* Hero : tablettes et mobiles */
@media (max-width:1080px){
	.kd-hero-grille{ grid-template-columns:minmax(0,1fr); grid-template-rows:none; }
	.kd-hero-intro,.kd-hero-suite,.kd-hero-visuel{ grid-column:1; grid-row:auto; padding:0; }
	.kd-hero-intro{ order:1; padding-top:12px; }
	.kd-hero-visuel{ order:2; height:auto; margin-top:18px; }
	.kd-hero-suite{ order:3; padding-top:24px; }
	.kd-hero-photo{ position:relative; height:320px; }
	.kd-hero-lignes{ display:none; }
	.kd-form-carte{ position:relative; left:auto; top:auto; transform:none; margin:-48px auto 0; width:min(560px,100%); }
	.kd-h1{ font-size:56px; }
}
@media (max-width:760px){
	.kd-hero{ padding-block:8px 32px; }
	.kd-pastille-couverture{ margin-bottom:10px; font-size:13px; padding:4px 12px 4px 8px; }
	.kd-h1{ font-size:40px; line-height:.98; }
	.kd-hero-visuel{ margin-top:14px; }
	.kd-hero-photo{ height:200px; border-radius:22px; -webkit-mask:radial-gradient(circle at 0 100%, transparent 44px, #000 45px); mask:radial-gradient(circle at 0 100%, transparent 44px, #000 45px); }
	.kd-numeros--hero{ top:10px; right:10px; padding:6px 12px; font-size:12px; max-width:calc(100% - 20px); }
	.kd-numeros--hero .kd-num-n{ font-size:13px; }
	.kd-numeros-legende{ display:none; }
	.kd-form-carte{ margin-top:-40px; height:400px; padding:14px 16px 10px; border-radius:22px; }
	.kd-stations{ margin-bottom:10px; }
	.kd-station-nom{ font-size:11.5px; }
	.kd-form-q{ font-size:18px; }
	.kd-form-etape[data-kd-etape="1"] .kd-pilules{ display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,auto); grid-auto-columns:max-content; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
	.kd-form-etape[data-kd-etape="1"] .kd-pilules::-webkit-scrollbar{ display:none; }
	.kd-form-etape.est-active{ gap:10px; }
	.kd-conseil-nom{ font-size:24px; }
	.kd-ville-grand{ font-size:32px; }
	.kd-chapo{ font-size:18px; }
	.kd-btn{ padding:0 16px; }
}

/* ---------- Pastille des numéros (rail, ville) ---------- */
.kd-numeros{ background:var(--kd-nuit); color:#fff; border-radius:var(--kd-r); padding:16px 18px; }
.kd-numeros-titre{ margin:0 0 10px; font-weight:700; font-size:15px; color:#fff; }
.kd-numeros ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.kd-numeros li .kd-num-bloc{ display:flex; flex-direction:column; gap:2px; padding:8px 10px; border-radius:12px; background:rgba(255,255,255,.07); color:#fff; text-decoration:none; }
.kd-numeros li b{ color:var(--kd-safran); font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; line-height:1.1; }
.kd-numeros li span{ font-size:12px; color:#D8DEEA; line-height:1.25; }

/* ---------- Coudes entre les bandes ---------- */
.kd-lignes::before,.kd-villes::before,.kd-magazine::before{ content:""; position:absolute; top:-30px; height:60px; width:min(30vw,380px); border-top:6px solid var(--kd-coude,#F5B82E); border-right:6px solid var(--kd-coude,#F5B82E); border-top-right-radius:40px; pointer-events:none; }
.kd-lignes::before{ left:0; top:0; height:40px; --kd-coude:#08795F; }
.kd-villes::before{ left:0; top:0; height:40px; --kd-coude:#F5B82E; }
.kd-magazine::before{ left:0; top:0; height:40px; --kd-coude:#2F6FDB; }
@media (max-width:760px){ .kd-lignes::before,.kd-villes::before,.kd-magazine::before{ width:30vw; height:28px; } }

/* ---------- 2. Quelle ligne prendre ? ---------- */
.kd-lignes{ background:var(--kd-carte); }
.kd-lignes-grille{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.kd-ligne-carte{ position:relative; display:flex; flex-direction:column; border-radius:var(--kd-r); background:#fff; border:1px solid #E1EAEC; overflow:hidden; text-decoration:none; color:var(--kd-texte); box-shadow:0 10px 26px -20px rgba(20,33,61,.35); transition:transform .2s ease, box-shadow .2s ease; }
.kd-ligne-carte::before{ content:""; position:absolute; z-index:2; left:0; top:0; width:56px; height:56px; border-top:6px solid var(--kd-c); border-left:6px solid var(--kd-c); border-top-left-radius:var(--kd-r); transition:border-width .2s; }
.kd-ligne-carte::after{ content:""; position:absolute; z-index:2; left:0; right:0; top:0; height:6px; background:var(--kd-c); }
.kd-ligne-carte:hover{ transform:translateY(-4px); box-shadow:var(--kd-ombre); color:var(--kd-texte); }
.kd-ligne-carte:hover::after{ height:9px; }
.kd-ligne-photo{ display:block; height:124px; overflow:hidden; background:var(--kd-quai); }
.kd-ligne-photo img,.kd-ligne-photo .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-ligne-corps{ display:flex; flex-direction:column; gap:4px; padding:12px 16px 14px; flex:1; }
.kd-ligne-nom{ font-weight:700; font-size:18px; color:var(--kd-nuit); }
.kd-ligne-quand{ font-family:var(--kd-brawler); font-size:15px; line-height:1.4; color:var(--kd-doux); }
.kd-ligne-lien{ margin-top:auto; padding-top:4px; font-weight:700; font-size:14px; color:var(--kd-emeraude); }
.kd-ligne-carte--orienteur{ background:var(--kd-nuit); border-color:var(--kd-nuit); color:#fff; }
.kd-ligne-carte--orienteur::before,.kd-ligne-carte--orienteur::after{ display:none; }
.kd-ligne-carte--orienteur .kd-ligne-corps{ justify-content:center; padding:20px; }
.kd-ligne-carte--orienteur svg{ width:120px; margin-bottom:8px; }
.kd-ligne-carte--orienteur .kd-ligne-nom{ color:#fff; font-size:20px; }
.kd-ligne-carte--orienteur .kd-ligne-quand{ color:#D8DEEA; }
.kd-ligne-carte--orienteur .kd-ligne-lien{ color:var(--kd-safran); margin-top:8px; }
.kd-ligne-carte--orienteur:hover{ color:#fff; }
@media (max-width:1080px){ .kd-lignes-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){
	.kd-lignes-grille{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-inline:-20px; padding:4px 20px 12px; scrollbar-width:thin; }
	.kd-ligne-carte{ flex:0 0 72%; scroll-snap-align:start; }
}

/* ---------- 3. Chiffres repères ---------- */
.kd-chiffres{ background:var(--kd-nuit); color:#fff; }
.kd-chiffres .kd-h2{ color:#fff; }
.kd-chiffres .kd-section-chapo{ color:#C9D1E0; }
.kd-chiffres-grille{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); grid-template-rows:auto 1fr; gap:20px 24px; }
.kd-chiffres-tete{ grid-column:1; }
.kd-tuiles{ grid-column:1; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kd-chiffres-photo{ grid-column:2; grid-row:1 / 3; margin:0; border-radius:var(--kd-r-grand); overflow:hidden; min-height:300px; max-height:520px; }
.kd-chiffres-photo img,.kd-chiffres-photo .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-tuile{ display:flex; flex-direction:column; padding:20px 22px 16px; border-radius:var(--kd-r); text-decoration:none; min-height:180px; }
.kd-tuile p{ margin:0; }
.kd-tuile-chiffre{ font-weight:700; font-size:64px; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; margin-bottom:10px!important; white-space:nowrap; }
.kd-tuile-texte{ font-size:15px; line-height:1.4; font-weight:500; }
.kd-tuile-source{ margin-top:auto!important; padding-top:10px; font-size:12.5px; opacity:1; font-weight:500; }
.kd-tuile--emeraude{ background:var(--kd-emeraude); color:#fff; }
.kd-tuile--safran{ background:var(--kd-safran); color:var(--kd-nuit); }
.kd-tuile--rouge{ background:var(--kd-rouge); color:#fff; }
.kd-tuile--quai{ background:var(--kd-quai); color:var(--kd-nuit); }
a.kd-tuile:hover{ filter:brightness(1.04); }
.kd-tuile--safran:hover,.kd-tuile--quai:hover{ color:var(--kd-nuit); }
.kd-tuile--rouge:hover{ color:#fff; }
@media (min-width:1700px){ .kd-tuile-chiffre{ font-size:76px; } }
@media (max-width:1080px){ .kd-chiffres-grille{ grid-template-columns:1fr; } .kd-chiffres-photo{ grid-column:1; grid-row:auto; min-height:220px; max-height:280px; } .kd-tuile-chiffre{ font-size:52px; } }
@media (max-width:600px){ .kd-tuiles{ gap:10px; } .kd-tuile{ padding:16px 14px 12px; min-height:0; } .kd-tuile-chiffre{ font-size:44px; } .kd-tuile-texte{ font-size:14px; } }
@media (max-width:380px){ .kd-tuile-chiffre{ font-size:38px; } }

/* ---------- 4. Votre ville, station par station ---------- */
.kd-villes{ background-color:var(--kd-quai); background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.4) 1px, transparent 1px); background-size:48px 48px; }
.kd-villes-grille{ display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:24px; align-items:center; }
.kd-villes-ligne{ min-width:0; }
.kd-villes-autres{ margin-top:20px; }
.kd-villes-autres-titre{ margin:0 0 8px; font-weight:700; font-size:15px; color:var(--kd-nuit); }
.kd-villes-autres ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.kd-villes-autres a{ display:inline-block; padding:5px 12px; border-radius:999px; background:#fff; color:var(--kd-nuit); text-decoration:none; font-weight:600; font-size:14px; border:1px solid #C9D9DC; }
.kd-villes-autres a:hover{ border-color:var(--kd-emeraude); color:var(--kd-emeraude); }
@media (max-width:1080px){ .kd-villes-grille{ grid-template-columns:1fr; } }

/* Plan de ligne */
.kd-plan{ list-style:none; margin:0; padding:0; display:flex; position:relative; }
.kd-plan::before{ content:""; position:absolute; left:0; right:0; height:6px; border-radius:6px; background:var(--kd-c); top:var(--kd-plan-y,7px); }
.kd-plan-station{ flex:1 1 0; min-width:0; position:relative; }
.kd-plan-station a{ display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none; color:var(--kd-nuit); padding:0 4px; text-align:center; }
.kd-plan-pt{ order:1; width:20px; height:20px; border-radius:50%; background:#fff; border:5px solid var(--kd-c); position:relative; z-index:1; transition:transform .2s; }
.kd-plan-photo{ order:2; width:96px; height:96px; border-radius:50%; overflow:hidden; border:4px solid #fff; box-shadow:var(--kd-ombre); flex:none; }
.kd-plan-photo img,.kd-plan-photo .kd-repli{ width:100%; height:100%; object-fit:cover; min-height:0; }
.kd-plan-photo .kd-repli-nom{ display:none; }
.kd-plan-nom{ order:3; font-weight:700; font-size:15px; line-height:1.2; }
.kd-plan-station a:hover .kd-plan-pt{ transform:scale(1.25); }
.kd-plan-station a:hover .kd-plan-nom{ color:var(--kd-emeraude); }
.kd-plan-station.est-actif .kd-plan-pt{ background:var(--kd-safran); border-color:var(--kd-nuit); transform:scale(1.3); }
.kd-plan-station.est-actif .kd-plan-nom{ color:var(--kd-nuit); text-decoration:underline; text-decoration-color:var(--kd-safran); text-decoration-thickness:3px; text-underline-offset:5px; }
@media (max-width:760px){
	.kd-plan{ overflow-x:auto; scrollbar-width:none; margin-inline:-20px; padding-inline:20px; }
	.kd-plan::-webkit-scrollbar{ display:none; }
	.kd-plan::before{ left:20px; right:auto; width:calc(var(--kd-n,7) * 104px); }
	.kd-plan-station{ flex:0 0 104px; }
	.kd-plan-photo{ width:76px; height:76px; }
}

/* ---------- Carte « guide de ma ville » ---------- */
.kd-guide-carte{ background:#fff; border-radius:var(--kd-r-grand); padding:24px; box-shadow:var(--kd-ombre); display:flex; flex-direction:column; gap:12px; border-top:6px solid var(--kd-safran); }
.kd-guide-carte .kd-guide-titre{ margin:0; font-weight:800; font-size:22px; color:var(--kd-nuit); line-height:1.15; }
.kd-guide-texte{ margin:0; font-family:var(--kd-brawler); font-size:15.5px; line-height:1.5; color:var(--kd-doux); }
.kd-guide-carte .kd-rgpd{ margin-top:0; }

/* ---------- 5. Urgence ou pas ? ---------- */
.kd-urgence{ background:var(--kd-carte); border-top:6px solid var(--kd-rouge); }
.kd-bento{ display:grid; grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(150px,auto)) auto; gap:14px; }
.kd-bento-grand{ grid-row:1 / 3; position:relative; border-radius:var(--kd-r-grand); overflow:hidden; min-height:320px; background:var(--kd-nuit); color:#fff; display:flex; align-items:flex-end; }
.kd-bento-grand > img,.kd-bento-grand > .kd-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kd-bento-grand::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,33,61,0) 25%, rgba(20,33,61,.92) 100%); }
.kd-bento-grand-txt{ position:relative; z-index:1; padding:24px; }
.kd-bento-grand-txt p{ margin:0 0 10px; color:#E8ECF4; font-size:15.5px; max-width:40ch; }
.kd-bento-grand .kd-bento-titre{ color:#fff; font-size:28px; margin-bottom:6px; }
.kd-bento-actions{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 0!important; }
.kd-bento-carte{ position:relative; display:flex; flex-direction:column; gap:4px; padding:20px; border-radius:var(--kd-r); text-decoration:none; overflow:hidden; font-size:15px; line-height:1.4; }
.kd-bento-titre{ display:block; font-weight:800; font-size:19px; line-height:1.15; }
.kd-bento-num{ font-weight:700; font-size:40px; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; margin-bottom:4px; color:var(--kd-safran); }
.kd-bento-num--rouge{ color:var(--kd-rouge); }
.kd-bento-carte--nuit{ background:var(--kd-nuit); color:#D8DEEA; }
.kd-bento-carte--nuit .kd-bento-titre{ color:#fff; }
.kd-bento-carte--nuit:hover{ color:#fff; background:#1B2C50; }
.kd-bento-carte--blanc{ background:#fff; color:var(--kd-texte); border:1px solid #E1EAEC; border-left:6px solid var(--kd-rouge); }
.kd-bento-carte--blanc .kd-bento-titre{ color:var(--kd-nuit); }
.kd-bento-carte--blanc:hover{ color:var(--kd-texte); box-shadow:var(--kd-ombre); }
.kd-bento-carte--photo{ grid-column:2 / 4; color:#fff; justify-content:flex-end; min-height:150px; background:var(--kd-emeraude); }
.kd-bento-fond{ position:absolute; inset:0; }
.kd-bento-fond img,.kd-bento-fond .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-bento-fond::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,33,61,.88) 0%, rgba(20,33,61,.35) 70%); }
.kd-bento-carte--photo > span:not(.kd-bento-fond){ position:relative; z-index:1; max-width:44ch; }
.kd-bento-carte--photo .kd-bento-titre{ color:#fff; }
.kd-bento-carte--photo:hover{ color:#fff; }
.kd-bento-barre{ grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 14px 14px 24px; border-radius:999px; background:var(--kd-couloir); border:1.5px solid #C9D9DC; text-decoration:none; color:var(--kd-nuit); font-weight:600; font-size:16px; }
.kd-bento-barre-btn{ flex:none; display:inline-flex; align-items:center; min-height:44px; padding:0 20px; border-radius:999px; background:var(--kd-emeraude); color:#fff; font-weight:700; }
.kd-bento-barre:hover{ color:var(--kd-nuit); border-color:var(--kd-emeraude); }
.kd-bento-barre:hover .kd-bento-barre-btn{ background:var(--kd-emeraude-f); }
@media (max-width:1080px){
	.kd-bento{ grid-template-columns:1fr 1fr; grid-template-rows:none; }
	.kd-bento-grand{ grid-column:1 / -1; grid-row:auto; min-height:280px; }
	.kd-bento-carte--photo{ grid-column:1 / -1; }
}
@media (max-width:600px){
	.kd-bento{ grid-template-columns:1fr; }
	.kd-bento-barre{ flex-direction:column; align-items:flex-start; border-radius:var(--kd-r); padding:16px; }
	.kd-bento-grand .kd-bento-titre{ font-size:24px; }
}

/* ---------- Cartes d'articles ---------- */
.kd-carte{ position:relative; min-width:0; }
.kd-carte[hidden]{ display:none; }
.kd-carte-lien{ display:flex; flex-direction:column; height:100%; background:#fff; border-radius:var(--kd-r); overflow:hidden; text-decoration:none; color:var(--kd-texte); border:1px solid #E1EAEC; box-shadow:0 10px 26px -22px rgba(20,33,61,.4); transition:transform .2s ease, box-shadow .2s ease; position:relative; }
.kd-carte-lien::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--kd-c); transition:height .2s; }
.kd-carte-lien:hover{ transform:translateY(-4px); box-shadow:var(--kd-ombre); color:var(--kd-texte); }
.kd-carte-lien:hover::after{ height:7px; }
.kd-carte-photo{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--kd-quai); }
.kd-carte-photo img,.kd-carte-photo .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-carte-corps{ display:flex; flex-direction:column; gap:8px; padding:14px 16px 18px; flex:1; }
.kd-carte-corps .kd-pastille-rub{ align-self:flex-start; }
.kd-carte-titre{ margin:0; font-size:17px; font-weight:700; line-height:1.25; color:var(--kd-nuit); }
.kd-carte-extrait{ font-family:var(--kd-brawler); font-size:15.5px; line-height:1.5; color:var(--kd-doux); }
.kd-carte-date{ margin-top:auto; font-size:13px; color:var(--kd-doux); }
.kd-carte--une .kd-carte-titre{ font-size:26px; line-height:1.15; }
.kd-carte--actu .kd-carte-lien{ flex-direction:row; align-items:stretch; }
.kd-carte--actu .kd-carte-photo{ flex:0 0 150px; aspect-ratio:auto; min-height:104px; }
.kd-carte--actu .kd-carte-corps{ padding:12px 16px; gap:6px; }
.kd-carte--actu .kd-carte-titre{ font-size:16.5px; }
.kd-grille-cartes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
@media (max-width:1080px){ .kd-grille-cartes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .kd-grille-cartes{ grid-template-columns:1fr; } .kd-carte--actu .kd-carte-photo{ flex-basis:112px; } }

/* ---------- 6. Magazine ---------- */
.kd-magazine{ background:var(--kd-couloir); }
.kd-mag-rubriques{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.kd-mag-rubriques a{ display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--kd-filet); color:var(--kd-nuit); font-weight:600; font-size:14px; text-decoration:none; }
.kd-mag-rubriques a i{ width:10px; height:10px; border-radius:50%; background:var(--kd-c); }
.kd-mag-rubriques a:hover{ border-color:var(--kd-c); color:var(--kd-nuit); }
.kd-mag-grille{ display:grid; grid-template-columns:minmax(0,6fr) repeat(2,minmax(0,3fr)); grid-template-rows:repeat(2,auto); gap:18px; }
.kd-mag-grille .kd-carte--une{ grid-row:1 / 3; }
.kd-mag-grille .kd-carte--une .kd-carte-photo{ aspect-ratio:auto; flex:1; min-height:240px; max-height:340px; }
.kd-mag-grille .kd-carte--carte .kd-carte-photo{ aspect-ratio:16/9; }
.kd-mag-grille .kd-carte--carte .kd-carte-titre{ font-size:16px; }
.kd-mag-grille .kd-carte--carte .kd-carte-date{ display:none; }
.kd-mag-grille--1{ grid-template-columns:1fr; }
.kd-mag-grille--1 .kd-carte--une .kd-carte-lien{ flex-direction:row; }
.kd-mag-grille--1 .kd-carte--une .kd-carte-photo{ flex:0 0 55%; min-height:300px; }
.kd-mag-grille--2,.kd-mag-grille--3{ grid-template-columns:minmax(0,6fr) minmax(0,6fr); }
.kd-mag-grille--2 .kd-carte--une{ grid-row:auto; }
@media (max-width:1080px){
	.kd-mag-grille,.kd-mag-grille--2,.kd-mag-grille--3{ grid-template-columns:1fr 1fr; }
	.kd-mag-grille .kd-carte--une{ grid-column:1 / -1; grid-row:auto; }
}
@media (max-width:600px){
	.kd-mag-grille,.kd-mag-grille--2,.kd-mag-grille--3{ grid-template-columns:1fr; }
	.kd-mag-grille--1 .kd-carte--une .kd-carte-lien{ flex-direction:column; }
	.kd-mag-grille .kd-carte--une .kd-carte-photo{ min-height:200px; }
	.kd-carte--une .kd-carte-titre{ font-size:22px; }
}

/* ---------- 7. Actualités ---------- */
.kd-actus{ background-color:var(--kd-quai); background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.4) 1px, transparent 1px); background-size:48px 48px; }
.kd-actus-grille{ display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:24px; align-items:start; }
.kd-actus-liste{ display:flex; flex-direction:column; gap:12px; }
.kd-actus-liste .kd-section-tete{ margin-bottom:8px; }
.kd-actus .kd-guide-carte{ position:sticky; top:calc(var(--kd-entete-h) + 24px); }
@media (max-width:1080px){ .kd-actus-grille{ grid-template-columns:1fr; } .kd-actus .kd-guide-carte{ position:static; } }

/* ---------- 8. Pied de page (bloc figé, habillage) ---------- */
.kd-voisins{ max-width:1240px; margin:0 auto; padding:14px 24px; font-size:13px; line-height:1.5; color:#6B7690; opacity:.85; }
.kd-voisins a{ color:#6B7690; }
.kd-voisins h2,.kd-voisins h3,.kd-voisins p{ font-size:13px; margin:0 0 4px; color:#6B7690; font-weight:600; }
.kd-voisins ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 14px; }
.sbt-footer{ position:relative; background:var(--kd-nuit); color:#fff; padding-block:72px 28px; margin-top:0; }
.sbt-footer::before{ content:""; position:absolute; left:8%; top:-36px; width:min(36vw,460px); height:84px; border-left:6px solid var(--kd-safran); border-bottom:6px solid var(--kd-safran); border-bottom-left-radius:44px; pointer-events:none; }
.sbt-footer::after{ content:""; position:absolute; left:calc(8% + min(36vw,460px) - 8px); top:34px; width:20px; height:20px; border-radius:50%; background:var(--kd-safran); box-shadow:0 0 0 4px var(--kd-nuit); }
.sbt-footer a{ color:#D3D9E6; }
.sbt-footer a:hover{ color:#fff; }
.sbt-footer-cta{ background:rgba(255,255,255,.06); border:0; border-radius:var(--kd-r); margin-bottom:36px; }
.sbt-footer-cta .sbt-t3{ font-family:var(--kd-suse); font-weight:800; }
.sbt-footer-cta p{ color:#C9D1E0; }
.sbt-footer .sbt-btn{ background:var(--kd-emeraude); font-family:var(--kd-suse); }
.sbt-footer-grille{ grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,2fr) minmax(0,1.2fr); grid-auto-rows:auto; gap:28px 32px; }
.sbt-footer-grille > .sbt-footer-colonne:first-child{ grid-column:1 / -1; display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.12); }
.sbt-footer-logo{ font-family:var(--kd-suse); font-weight:800; font-size:24px; margin:0; }
.sbt-footer-desc{ color:#C9D1E0; max-width:none; font-family:var(--kd-brawler); font-size:17px; }
.sbt-footer-colonne .sbt-t4,.kd-footer-titre{ font-family:var(--kd-suse); font-size:15px; text-transform:none; letter-spacing:0; color:#fff; font-weight:700; margin:0 0 14px; }
.sbt-footer-colonne ul a{ font-size:14.5px; }
.sbt-footer-grille > .sbt-footer-colonne:nth-child(2){ grid-column:1; grid-row:2 / span 2; }
.kd-footer-specialites{ grid-column:2; grid-row:2 / span 2; }
.kd-footer-specialites a{ display:inline-flex; align-items:center; gap:8px; }
.kd-footer-specialites a::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--kd-c); flex:none; }
.kd-footer-villes{ grid-column:3 / 5; grid-row:2 / span 2; }
.kd-footer-villes ul{ display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 16px!important; }
.kd-footer-numeros{ grid-column:5; grid-row:2; }
.kd-footer-numeros ul{ display:grid!important; grid-template-columns:1fr 1fr; gap:6px!important; }
.kd-footer-numeros li .kd-num-bloc{ display:flex; flex-direction:column; padding:6px 10px; border-radius:10px; background:rgba(255,255,255,.07); text-decoration:none; }
.kd-footer-numeros li b{ color:var(--kd-safran); font-size:17px; font-variant-numeric:tabular-nums; }
.kd-footer-numeros li span{ font-size:12px; color:#C9D1E0; }
.kd-footer-mention{ margin:12px 0 0; font-size:12.5px; line-height:1.45; color:#AEB8CC; }
.sbt-footer-grille > .sbt-footer-colonne:last-child{ grid-column:5; grid-row:3; }
.sbt-footer-bas{ color:#AEB8CC; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
@media (max-width:1180px){
	.sbt-footer-grille{ grid-template-columns:repeat(3,minmax(0,1fr)); }
	.sbt-footer-grille > .sbt-footer-colonne:nth-child(2){ grid-column:1; grid-row:auto; }
	.kd-footer-specialites{ grid-column:2; grid-row:auto; }
	.kd-footer-villes{ grid-column:3; grid-row:auto; }
	.kd-footer-villes ul{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.kd-footer-numeros{ grid-column:1 / 3; grid-row:auto; }
	.sbt-footer-grille > .sbt-footer-colonne:last-child{ grid-column:3; grid-row:auto; }
}
@media (max-width:640px){
	.sbt-footer{ padding-top:60px; }
	.sbt-footer::before{ width:44vw; height:60px; top:-28px; }
	.sbt-footer::after{ left:calc(8% + 44vw - 8px); top:22px; }
	.sbt-footer-grille{ grid-template-columns:1fr 1fr; gap:24px 20px; }
	.sbt-footer-grille > .sbt-footer-colonne:nth-child(2), .kd-footer-specialites{ grid-column:auto; }
	.kd-footer-villes, .kd-footer-numeros, .sbt-footer-grille > .sbt-footer-colonne:last-child{ grid-column:1 / -1; }
	.kd-footer-villes ul{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
.sbt-cookies{ background:var(--kd-nuit); font-family:var(--kd-suse); }
.sbt-cookies .sbt-btn{ background:var(--kd-emeraude); color:#fff; }
.sbt-cookies .sbt-btn--fantome{ background:transparent; border:1.5px solid rgba(255,255,255,.6); }

/* ==========================================================================
   ARTICLE — en-tête ENTETE neuf + habillage des blocs figés
   ========================================================================== */
.sbt-fil-ariane{ font-family:var(--kd-suse); padding-block:14px; }
.sbt-fil-ariane span{ color:var(--kd-texte); }
.kd-art-entete{ padding-bottom:8px; }
.kd-art-panneau{ position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:32px; align-items:center; padding:32px 32px 40px 72px; background:#fff; border-radius:var(--kd-r-grand); box-shadow:var(--kd-ombre); }
.kd-art-ligne{ position:absolute; left:34px; top:40px; bottom:22px; width:calc(57% - 34px); border-left:6px solid var(--kd-c); border-bottom:6px solid var(--kd-c); border-bottom-left-radius:40px; pointer-events:none; }
.kd-art-ligne::before{ content:""; position:absolute; left:-14px; top:-10px; width:22px; height:22px; border-radius:50%; background:var(--kd-safran); border:4px solid var(--kd-nuit); }
.kd-art-texte{ min-width:0; position:relative; z-index:1; padding-bottom:12px; }
.kd-art-pastille{ display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; padding:5px 12px 5px 9px; border-radius:999px; background:var(--kd-couloir); color:var(--kd-nuit); text-decoration:none; font-weight:600; font-size:14px; }
.kd-art-pastille i{ width:10px; height:10px; border-radius:50%; background:var(--kd-c); }
.kd-art-pastille:hover{ color:var(--kd-nuit); background:var(--kd-quai); }
.kd-art-titre{ font-size:52px; font-weight:700; line-height:1.06; letter-spacing:-.02em; margin:0 0 14px; text-wrap:balance; }
.kd-art-chapo{ font-family:var(--kd-brawler); font-size:21px; line-height:1.5; color:var(--kd-texte); margin:0 0 16px; }
.kd-art-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:14.5px; color:var(--kd-doux); }
.kd-art-meta a{ color:var(--kd-nuit); font-weight:700; text-decoration:none; }
.kd-art-meta a:hover{ text-decoration:underline; }
.kd-art-meta .kd-auteur-photo,.kd-art-meta .kd-auteur-initiales{ width:40px!important; height:40px!important; border-radius:50%; object-fit:cover; font-size:14px; }
.kd-art-figure{ position:relative; margin:0; }
.kd-art-cadre{ height:clamp(240px, 40vh, 360px); border-radius:var(--kd-r-grand); overflow:hidden; background:var(--kd-quai); -webkit-mask:radial-gradient(circle at 0 100%, transparent 56px, #000 57px); mask:radial-gradient(circle at 0 100%, transparent 56px, #000 57px); }
.kd-art-cadre img,.kd-art-cadre .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-art-cartouche{ position:absolute; left:72px; right:16px; bottom:-20px; display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; padding:10px 16px; border-radius:16px; background:var(--kd-nuit); color:#fff; font-size:13.5px; box-shadow:var(--kd-ombre); }
.kd-art-cartouche b{ color:var(--kd-safran); font-weight:700; }
.kd-art-cartouche span{ white-space:nowrap; }
@media (min-width:1700px){ .kd-art-titre{ font-size:60px; } }
@media (max-width:1080px){
	.kd-art-panneau{ grid-template-columns:1fr; padding:24px 22px 36px 52px; gap:20px; }
	.kd-art-ligne{ left:22px; width:calc(100% - 60px); bottom:auto; height:calc(100% - 300px); }
	.kd-art-titre{ font-size:40px; }
	.kd-art-cadre{ height:260px; }
}
@media (max-width:600px){
	.kd-art-panneau{ padding:20px 16px 32px 40px; border-radius:22px; }
	.kd-art-ligne{ left:14px; top:28px; }
	.kd-art-titre{ font-size:32px; }
	.kd-art-chapo{ font-size:18px; }
	.kd-art-cadre{ height:200px; }
	.kd-art-cartouche{ left:44px; right:8px; font-size:12.5px; padding:8px 12px; }
}

/* Variante page ville : photo bord à bord + plan de ligne */
.kd-ville-entete{ position:relative; color:#fff; background:var(--kd-nuit); min-height:clamp(380px, 52vh, 480px); display:flex; align-items:flex-end; overflow:hidden; }
.kd-ville-fond{ position:absolute; inset:0; margin:0; }
.kd-ville-fond img,.kd-ville-fond .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-ville-fond::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,33,61,.92) 0%, rgba(20,33,61,.7) 45%, rgba(20,33,61,.15) 100%), linear-gradient(0deg, rgba(20,33,61,.8) 0%, rgba(20,33,61,0) 45%); }
.kd-ville-in{ position:relative; z-index:1; width:100%; padding-block:28px 26px; }
.kd-ville-in .sbt-fil-ariane,.kd-ville-in .sbt-fil-ariane a,.kd-ville-in .sbt-fil-ariane span{ color:#D8DEEA; }
.kd-ville-in .kd-art-pastille{ background:rgba(255,255,255,.14); color:#fff; }
.kd-ville-in .kd-art-titre{ color:#fff; max-width:18em; }
.kd-ville-in .kd-art-chapo{ color:#E3E8F2; max-width:38em; }
.kd-ville-in .kd-art-meta{ color:#D8DEEA; }
.kd-ville-in .kd-art-meta a{ color:#fff; }
.kd-ville-plan{ margin-top:20px; padding:16px 18px 12px; border-radius:var(--kd-r); background:rgba(20,33,61,.62); backdrop-filter:blur(6px); max-width:760px; }
.kd-ville-plan .kd-plan-nom{ color:#fff; font-size:14px; }
.kd-ville-plan .kd-plan-station a:hover .kd-plan-nom{ color:var(--kd-safran); }
.kd-ville-plan .kd-plan-station.est-actif .kd-plan-nom{ color:#fff; }
.kd-ville-numeros{ position:absolute; right:24px; bottom:24px; z-index:2; width:300px; }
@media (max-width:1080px){ .kd-ville-numeros{ position:static; width:auto; margin-top:16px; } .kd-ville-entete{ min-height:0; } }
@media (max-width:600px){ .kd-ville-in .kd-art-titre{ font-size:30px; } .kd-ville-plan{ padding:12px 10px 8px; } }

/* Mise en page corps + rail (bloc figé) : gouttière 56 px, rail collant proche du texte */
.sbt-article-mise-en-page{ column-gap:56px; padding-top:44px; }
.sbt-article-principal{ min-width:0; }
.sbt-article-corps{ background:#fff; border-radius:var(--kd-r-grand); padding:40px 48px; box-shadow:0 10px 30px -24px rgba(20,33,61,.35); font-family:var(--kd-brawler); font-size:18px; line-height:1.7; color:var(--kd-texte); }
.sbt-article-corps > *:first-child{ margin-top:0; }
.sbt-article-corps p,.sbt-article-corps li{ max-width:68ch; }
.sbt-article-corps h2{ font-family:var(--kd-suse); font-size:36px; font-weight:700; line-height:1.15; margin-top:1.6em; color:var(--kd-nuit); position:relative; padding-left:20px; }
.sbt-article-corps h2::before{ content:""; position:absolute; left:0; top:.18em; bottom:.18em; width:6px; border-radius:6px; background:var(--kd-c,var(--kd-emeraude)); }
.sbt-article-corps h3{ font-family:var(--kd-suse); font-size:22px; font-weight:600; color:var(--kd-nuit); }
.sbt-article-corps a{ color:var(--kd-emeraude); text-decoration:underline; text-decoration-thickness:1.5px; }
.sbt-article-corps strong{ color:var(--kd-nuit); }
@media (max-width:1440px){ .sbt-article-corps h2{ font-size:32px; } }
@media (max-width:760px){
	.sbt-article-corps{ padding:24px 18px; font-size:17.5px; border-radius:20px; }
	.sbt-article-corps h2{ font-size:26px; padding-left:16px; }
	.sbt-article-mise-en-page{ padding-inline:14px; padding-top:28px; }
}
/* Listes à puces → repères à coches */
.sbt-article-corps ul:not([class]){ list-style:none; padding:0; margin:1.4em 0; display:grid; gap:10px; }
.sbt-article-corps ul:not([class]) > li{ position:relative; padding:12px 16px 12px 50px; background:var(--kd-couloir); border-radius:14px; line-height:1.55; max-width:none; }
.sbt-article-corps ul:not([class]) > li::before{ content:""; position:absolute; left:14px; top:14px; width:22px; height:22px; border-radius:50%; background:var(--kd-c,var(--kd-emeraude)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
/* Listes numérotées → mini-ligne à stations */
.sbt-article-corps ol:not([class]){ list-style:none; counter-reset:kd-st; padding:0 0 0 0; margin:1.6em 0; position:relative; }
.sbt-article-corps ol:not([class])::before{ content:""; position:absolute; left:15px; top:18px; bottom:18px; width:4px; border-radius:4px; background:var(--kd-c,var(--kd-emeraude)); opacity:.35; }
.sbt-article-corps ol:not([class]) > li{ counter-increment:kd-st; position:relative; padding:4px 0 14px 52px; max-width:none; }
.sbt-article-corps ol:not([class]) > li::before{ content:counter(kd-st); position:absolute; left:0; top:2px; width:34px; height:34px; border-radius:50%; background:#fff; border:4px solid var(--kd-c,var(--kd-emeraude)); display:flex; align-items:center; justify-content:center; font-family:var(--kd-suse); font-weight:700; font-size:14px; color:var(--kd-nuit); }
/* Citation → encadré */
.sbt-article-corps blockquote{ margin:1.8em 0; padding:20px 24px 20px 28px; background:var(--kd-couloir); border:0; border-left:6px solid var(--kd-safran); border-radius:0 18px 18px 0; font-style:normal; font-size:19px; color:var(--kd-nuit); }
.sbt-article-corps blockquote p:last-child{ margin-bottom:0; }
/* Tableaux → fiche lisible à 390 */
.kd-table{ margin:1.6em 0; border-radius:16px; border:1px solid var(--kd-filet); overflow-x:auto; background:#fff; }
.kd-table table{ width:100%; border-collapse:collapse; font-family:var(--kd-suse); font-size:15px; line-height:1.45; }
.kd-table th{ background:var(--kd-nuit); color:#fff; text-align:left; font-weight:700; padding:12px 14px; }
.kd-table td{ padding:11px 14px; border-top:1px solid var(--kd-filet); vertical-align:top; }
.kd-table tbody tr:nth-child(even) td{ background:#F7FAFA; }
@media (max-width:640px){
	.kd-table--fiche{ border:0; background:none; overflow:visible; }
	.kd-table--fiche thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.kd-table--fiche table,.kd-table--fiche tbody,.kd-table--fiche tr,.kd-table--fiche td{ display:block; width:100%; }
	.kd-table--fiche tr{ margin-bottom:12px; background:#fff; border:1px solid var(--kd-filet); border-left:6px solid var(--kd-c,var(--kd-emeraude)); border-radius:14px; padding:6px 0; }
	.kd-table--fiche td{ border:0; padding:6px 14px; background:none!important; }
	.kd-table--fiche td[data-label]::before{ content:attr(data-label); display:block; font-weight:700; font-size:12.5px; color:var(--kd-doux); }
}
/* « Quand consulter… » → encadré à la couleur de la spécialité */
.kd-encadre-quand{ margin:2em 0; padding:22px 26px 10px; border-radius:22px; background:color-mix(in srgb, var(--kd-c,#08795F) 9%, #fff); border:1px solid color-mix(in srgb, var(--kd-c,#08795F) 30%, #fff); position:relative; }
.kd-encadre-quand::before{ content:""; position:absolute; left:-1px; top:-1px; width:64px; height:64px; border-top:6px solid var(--kd-c,#08795F); border-left:6px solid var(--kd-c,#08795F); border-top-left-radius:22px; }
.kd-encadre-quand h2{ margin-top:0!important; font-size:26px!important; padding-left:0!important; }
.kd-encadre-quand h2::before{ display:none; }
.kd-encadre-quand ul:not([class]) > li{ background:#fff; }
/* Sources → encadré de fin */
.kd-sources{ margin:2.4em 0 0; padding:20px 24px; border-radius:18px; background:var(--kd-couloir); border:1px dashed #B9CCD0; font-family:var(--kd-suse); font-size:14.5px; line-height:1.55; }
.kd-sources h2{ font-size:18px!important; margin:0 0 10px!important; padding-left:28px!important; }
.kd-sources h2::before{ width:18px!important; height:18px; top:.15em!important; bottom:auto!important; border-radius:50%!important; background:var(--kd-nuit)!important; }
.kd-sources ul:not([class]) > li{ background:#fff; padding:8px 12px 8px 36px; font-size:14.5px; }
.kd-sources ul:not([class]) > li::before{ width:14px; height:14px; left:12px; top:13px; background-size:9px; }
/* Encadrés figés (habillage) */
.sbt-encadre--retenir{ background:var(--kd-nuit); border-radius:22px; }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--kd-safran); text-transform:none; letter-spacing:0; font-size:16px; font-family:var(--kd-suse); }
.sbt-article-corps .sbt-retenir-liste li{ font-family:var(--kd-suse); font-size:16px; color:#fff; max-width:none; }
.sbt-encadre--saviez{ background:#FFF7E3; border-left:6px solid var(--kd-safran); border-radius:0 22px 22px 0; }
.sbt-encadre--saviez::before{ background:var(--kd-safran); color:var(--kd-nuit); border-radius:50%; }
.sbt-encadre--saviez .sbt-encadre-titre{ text-transform:none; letter-spacing:0; font-size:16px; font-family:var(--kd-suse); }
.sbt-faq{ background:var(--kd-couloir); border-color:var(--kd-filet); font-family:var(--kd-suse); }
.sbt-faq-liste summary{ font-family:var(--kd-suse); color:var(--kd-nuit); }
.sbt-faq-liste summary::after{ background-color:#fff; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B8A6F' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E"); border:2px solid var(--kd-emeraude); }
.sbt-faq-liste details[open]{ border-color:var(--kd-emeraude)!important; }
.sbt-faq-reponse{ font-family:var(--kd-brawler); font-size:16.5px; color:var(--kd-texte); }
.sbt-auteur{ background:#fff; border-color:var(--kd-filet); font-family:var(--kd-suse); }
.sbt-auteur-sur,.sbt-auteur-der p{ text-transform:none; letter-spacing:0; font-size:13px; font-weight:600; }
.sbt-auteur-role{ text-transform:none; letter-spacing:0; color:var(--kd-emeraude); }
.sbt-auteur-bio{ font-family:var(--kd-brawler); }
.sbt-auteur .sbt-btn{ background:var(--kd-emeraude); }

/* Rail : UN bloc collant (sommaire + mini-orienteur + numéros), sans barre de défilement interne */
.sbt-rail{ top:calc(var(--kd-entete-h) + 20px); gap:14px; border-left:0; padding-left:0; }
.sbt-rail-carte{ border-radius:var(--kd-r); padding:16px 18px; border-color:var(--kd-filet); }
.sbt-sommaire{ border:0; border-left:0; padding:0; background:none; border-radius:0; }
.sbt-sommaire-titre{ font-family:var(--kd-suse); font-size:16px; color:var(--kd-nuit); }
.sbt-sommaire ol{ margin-top:10px; gap:2px; position:relative; }
.sbt-sommaire li a{ font-family:var(--kd-suse); font-size:14px; line-height:1.3; padding:5px 6px; border-radius:8px; gap:10px; align-items:flex-start; }
.sbt-sommaire li a:hover{ background:var(--kd-couloir); text-decoration:none; color:var(--kd-nuit); }
.sbt-sommaire li a.est-courant{ background:var(--kd-couloir); font-weight:700; }
.sbt-sommaire-num{ background:#fff; border:3px solid var(--kd-c,var(--kd-emeraude)); width:20px; height:20px; font-size:0; margin-top:1px; }
.sbt-sommaire li a.est-courant .sbt-sommaire-num{ background:var(--kd-safran); border-color:var(--kd-nuit); }
.sbt-sommaire-mobile .sbt-sommaire{ background:#fff; border-radius:var(--kd-r); padding:14px 18px; border:1px solid var(--kd-filet); }
.kd-mini{ background:#fff; border:1px solid var(--kd-filet); border-radius:var(--kd-r); padding:16px 18px; display:flex; flex-direction:column; gap:6px; border-top:6px solid var(--kd-emeraude); }
.kd-mini-titre{ margin:0 0 2px; font-weight:800; font-size:17px; color:var(--kd-nuit); }
.kd-mini-label{ font-weight:600; font-size:13px; color:var(--kd-doux); }
.kd-mini .kd-select{ min-height:42px; font-size:14.5px; }
.kd-mini .kd-btn{ margin-top:6px; }
.kd-numeros--rail{ padding:14px 16px; }
.kd-numeros--rail li b{ font-size:18px; }
@media (max-width:1080px){ .sbt-rail{ border-top:0; } }

/* Villes proches + « À lire aussi » pleine largeur */
.kd-proches{ padding-block:8px 48px; }
.kd-proches-grille{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.kd-proche{ display:flex; flex-direction:column; background:#fff; border-radius:var(--kd-r); overflow:hidden; text-decoration:none; color:var(--kd-nuit); border:1px solid #E1EAEC; transition:transform .2s, box-shadow .2s; }
.kd-proche:hover{ transform:translateY(-4px); box-shadow:var(--kd-ombre); color:var(--kd-nuit); }
.kd-proche-photo{ display:block; height:130px; background:var(--kd-quai); }
.kd-proche-photo img,.kd-proche-photo .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-proche-txt{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-top:4px solid var(--kd-emeraude); }
.kd-proche-nom{ font-weight:700; font-size:17px; }
.kd-proche-km{ font-size:13.5px; color:var(--kd-doux); font-variant-numeric:tabular-nums; white-space:nowrap; }
@media (max-width:1080px){ .kd-proches-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.kd-alire{ background:#fff; }
.kd-alire .sbt-a-lire{ margin:0; padding:0; border:0; }

/* ==========================================================================
   RUBRIQUE, LISTES, PAGES
   ========================================================================== */
.kd-rub-entete{ position:relative; min-height:clamp(320px, 52vh, 460px); display:flex; align-items:flex-end; color:#fff; background:var(--kd-nuit); overflow:hidden; }
.kd-rub-fond{ position:absolute; inset:0; margin:0; }
.kd-rub-fond img,.kd-rub-fond .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-rub-fond::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,33,61,.94) 0%, rgba(20,33,61,.66) 48%, rgba(20,33,61,.1) 100%); }
.kd-rub-in{ position:relative; z-index:1; width:100%; padding-block:24px 26px; }
.kd-rub-in .sbt-fil-ariane,.kd-rub-in .sbt-fil-ariane a,.kd-rub-in .sbt-fil-ariane span{ color:#D8DEEA; }
.kd-rub-titre{ color:#fff; font-size:clamp(34px, 2rem + 2vw, 60px); font-weight:800; letter-spacing:-.02em; margin:0 0 10px; }
.kd-rub-chapo{ font-family:var(--kd-brawler); font-size:19px; line-height:1.5; color:#E3E8F2; max-width:38em; margin:0 0 18px; }
.kd-rub-plan{ padding:14px 16px 10px; border-radius:var(--kd-r); background:rgba(20,33,61,.6); backdrop-filter:blur(6px); }
.kd-rub-plan .kd-plan-nom{ color:#fff; font-size:13.5px; font-weight:600; }
.kd-rub-plan .kd-plan-station a:hover .kd-plan-nom{ color:var(--kd-safran); }
.kd-rub-corps{ padding-block:40px 64px; }
.kd-rub-une{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); background:#fff; border-radius:var(--kd-r-grand); overflow:hidden; box-shadow:var(--kd-ombre); margin-bottom:28px; text-decoration:none; color:var(--kd-texte); position:relative; }
.kd-rub-une::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:var(--kd-c); }
.kd-rub-une-photo{ display:block; height:clamp(280px, calc(100vh - 360px), 420px); background:var(--kd-quai); }
.kd-rub-une-photo img,.kd-rub-une-photo .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-rub-une-texte{ display:flex; flex-direction:column; justify-content:center; gap:12px; padding:32px; }
.kd-rub-une-titre{ margin:0; font-size:30px; line-height:1.12; color:var(--kd-nuit); }
.kd-rub-une-extrait{ font-family:var(--kd-brawler); font-size:17px; line-height:1.55; color:var(--kd-doux); margin:0; }
.kd-rub-une:hover{ color:var(--kd-texte); }
.kd-rub-une:hover .kd-rub-une-titre{ color:var(--kd-emeraude); }
.kd-voir-plus-zone{ display:flex; justify-content:center; margin-top:28px; }
.kd-voir-plus{ min-height:48px; padding:0 26px; border-radius:999px; border:2px solid var(--kd-nuit); background:#fff; color:var(--kd-nuit); font-weight:700; cursor:pointer; }
.kd-voir-plus:hover{ background:var(--kd-nuit); color:#fff; }
.kd-villes-plan-complet{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:32px; }
.kd-villes-plan-complet a{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:14px; background:#fff; border:1px solid #E1EAEC; color:var(--kd-nuit); text-decoration:none; font-weight:700; }
.kd-villes-plan-complet a::before{ content:""; width:14px; height:14px; border-radius:50%; background:#fff; border:4px solid var(--kd-emeraude); flex:none; }
.kd-villes-plan-complet a:hover{ border-color:var(--kd-emeraude); color:var(--kd-emeraude); }
@media (max-width:1080px){ .kd-rub-une{ grid-template-columns:1fr; } .kd-rub-une-photo{ height:260px; } .kd-villes-plan-complet{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px){ .kd-rub-une-texte{ padding:20px; } .kd-rub-une-titre{ font-size:24px; } .kd-villes-plan-complet{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

.kd-page{ padding-block:24px 64px; }
.kd-page-entete{ position:relative; padding:32px 32px 28px 72px; background:#fff; border-radius:var(--kd-r-grand); box-shadow:var(--kd-ombre); margin-bottom:24px; }
.kd-page-entete::before{ content:""; position:absolute; left:34px; top:36px; bottom:28px; width:6px; border-radius:6px; background:var(--kd-emeraude); }
.kd-page-titre{ font-size:clamp(32px, 1.6rem + 1.6vw, 52px); font-weight:700; margin:0; letter-spacing:-.02em; }
.kd-page-chapo{ font-family:var(--kd-brawler); font-size:19px; color:var(--kd-doux); margin:10px 0 0; max-width:40em; }
.kd-page-corps{ max-width:860px; background:#fff; border-radius:var(--kd-r-grand); padding:40px 48px; font-family:var(--kd-brawler); font-size:18px; line-height:1.7; }
.kd-page-corps h2{ font-size:28px; margin-top:1.4em; }
.kd-page-corps h3{ font-size:21px; }
.kd-page-mention{ margin-top:24px; padding:16px 20px; border-radius:16px; background:var(--kd-couloir); font-family:var(--kd-suse); font-size:15px; }
@media (max-width:760px){ .kd-page-entete{ padding:22px 18px 20px 44px; } .kd-page-entete::before{ left:18px; } .kd-page-corps{ padding:24px 18px; font-size:17px; } }

/* À propos */
.kd-apropos-tete{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; padding-block:32px 48px; }
.kd-apropos-photo{ margin:0; height:clamp(300px, 52vh, 440px); border-radius:var(--kd-r-grand); overflow:hidden; -webkit-mask:radial-gradient(circle at 0 100%, transparent 70px, #000 71px); mask:radial-gradient(circle at 0 100%, transparent 70px, #000 71px); }
.kd-apropos-photo img,.kd-apropos-photo .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-apropos-tete .kd-page-titre{ font-size:clamp(36px, 2rem + 2vw, 60px); font-weight:800; }
.kd-methode{ background:#fff; }
.kd-methode-ligne{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; position:relative; }
.kd-methode-ligne::before{ content:""; position:absolute; left:12px; right:12px; top:12px; height:6px; border-radius:6px; background:linear-gradient(90deg, var(--kd-emeraude), var(--kd-safran) 40%, var(--kd-emeraude) 70%, #2F6FDB); }
.kd-methode-ligne li{ position:relative; padding-top:44px; }
.kd-methode-ligne li::before{ content:""; position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; background:#fff; border:6px solid var(--kd-nuit); }
.kd-methode-ligne li:first-child::before{ background:var(--kd-safran); }
.kd-methode-ligne h3{ font-size:21px; margin:0 0 6px; }
.kd-methode-ligne p{ font-family:var(--kd-brawler); font-size:16.5px; line-height:1.55; color:var(--kd-doux); margin:0; }
.kd-auteurs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.kd-auteur-carte{ display:flex; gap:16px; align-items:flex-start; padding:22px; background:#fff; border-radius:var(--kd-r); border:1px solid #E1EAEC; text-decoration:none; color:var(--kd-texte); }
.kd-auteur-carte:hover{ box-shadow:var(--kd-ombre); color:var(--kd-texte); }
.kd-auteur-photo{ border-radius:50%; object-fit:cover; flex:none; }
.kd-auteur-initiales{ display:inline-flex; align-items:center; justify-content:center; flex:none; border-radius:50%; background:var(--kd-safran); color:var(--kd-nuit); border:4px solid var(--kd-nuit); font-family:var(--kd-suse); font-weight:800; font-size:22px; }
.kd-auteur-nom{ display:block; font-weight:800; font-size:19px; color:var(--kd-nuit); margin-bottom:4px; }
.kd-auteur-bio{ display:block; font-family:var(--kd-brawler); font-size:15.5px; line-height:1.5; color:var(--kd-doux); }
.kd-auteur-nb{ display:block; margin-top:8px; font-size:13.5px; font-weight:600; color:var(--kd-emeraude); }
.kd-editeur{ display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between; padding:24px 28px; border-radius:var(--kd-r-grand); background:var(--kd-nuit); color:#fff; }
.kd-editeur p{ margin:0; font-size:16px; color:#D8DEEA; max-width:60ch; }
.kd-editeur strong{ color:#fff; }
@media (max-width:1080px){ .kd-apropos-tete{ grid-template-columns:1fr; } .kd-methode-ligne{ grid-template-columns:1fr 1fr; } .kd-methode-ligne::before{ display:none; } .kd-auteurs{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .kd-methode-ligne,.kd-auteurs{ grid-template-columns:1fr; } }

/* Contact */
.kd-contact{ position:relative; min-height:clamp(560px, calc(100vh - 72px), 760px); display:flex; align-items:center; padding-block:40px; }
.kd-contact-fond{ position:absolute; inset:0; margin:0; }
.kd-contact-fond img,.kd-contact-fond .kd-repli{ width:100%; height:100%; object-fit:cover; }
.kd-contact-fond::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,33,61,.15) 0%, rgba(20,33,61,.55) 100%); }
.kd-contact-in{ position:relative; z-index:1; display:flex; justify-content:flex-end; }
.kd-contact-carte{ width:min(520px,100%); background:#fff; border-radius:var(--kd-r-grand); padding:30px 32px 24px; box-shadow:var(--kd-ombre-forte); display:flex; flex-direction:column; gap:12px; border-top:6px solid var(--kd-emeraude); }
.kd-contact-carte h1{ font-size:32px; font-weight:800; margin:0; }
.kd-contact-carte .kd-chapo-court{ font-family:var(--kd-brawler); font-size:17px; color:var(--kd-doux); margin:0; }
.kd-champ{ display:flex; flex-direction:column; gap:4px; }
.kd-champ label{ font-weight:600; font-size:14px; color:var(--kd-nuit); }
.kd-champ input,.kd-champ textarea{ width:100%; min-height:46px; padding:10px 14px; border:1.5px solid #C9D9DC; border-radius:14px; font-size:15.5px; background:#fff; }
.kd-champ textarea{ min-height:0; resize:vertical; }
.kd-champ input:focus,.kd-champ textarea:focus{ border-color:var(--kd-emeraude); outline:none; box-shadow:0 0 0 3px rgba(8,121,95,.18); }
.kd-champs-2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.kd-contact-note{ font-size:13px; line-height:1.45; color:var(--kd-doux); margin:0; }
.kd-contact-avis{ margin:0; padding:10px 14px; border-radius:12px; background:#FFF7E3; font-size:14px; font-weight:600; color:var(--kd-nuit); }
@media (max-width:760px){ .kd-contact{ min-height:0; padding-block:180px 24px; } .kd-contact-in{ justify-content:center; } .kd-contact-carte{ padding:22px 18px 18px; } .kd-champs-2{ grid-template-columns:1fr; } }

/* Recherche, 404, auteur */
.kd-recherche{ display:flex; gap:8px; max-width:560px; }
.kd-recherche input{ flex:1; min-width:0; height:48px; padding:0 18px; border:1.5px solid #C9D9DC; border-radius:999px; background:#fff; font-size:16px; }
.kd-vide{ padding:32px; border-radius:var(--kd-r-grand); background:#fff; text-align:left; }
.kd-vide p{ font-family:var(--kd-brawler); font-size:18px; color:var(--kd-doux); }
.kd-404-plan{ margin-top:28px; }
.kd-auteur-tete{ display:flex; gap:24px; align-items:center; }
.kd-auteur-tete .kd-auteur-photo,.kd-auteur-tete .kd-auteur-initiales{ width:120px!important; height:120px!important; font-size:34px; }

/* Apparitions au défilement (discrètes) */
@media (prefers-reduced-motion: no-preference){
	.kd-js .kd-apparition{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
	.kd-js .kd-apparition.est-vue{ opacity:1; transform:none; }
}

/* Ajustements : hauteur fixe de la carte, suggestions mobiles, pastille à propos, avatar de la boîte auteur */
.kd-form-etape.est-active{ gap:10px; }
.kd-ville-grand{ font-size:34px; min-height:36px; }
@media (max-width:760px){
	.kd-suggestions{ display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,auto); grid-auto-columns:max-content; overflow-x:auto; max-height:none; scrollbar-width:none; }
	.kd-suggestions::-webkit-scrollbar{ display:none; }
	.kd-ville-grand{ font-size:28px; min-height:30px; }
}
.kd-numeros--apropos{ max-width:480px; margin-top:20px; }
.sbt-auteur-photo .kd-auteur-initiales{ width:120px!important; height:120px!important; font-size:34px; }
@media (max-width:700px){ .sbt-auteur-photo .kd-auteur-initiales{ width:88px!important; height:88px!important; } }

/* ==========================================================================
   CORRECTIONS N°1 (16/10/2026) — mesurées par outils/kd-sonde.js
   ========================================================================== */

/* Bandes de l'accueil ≤ 704 px à 1440 et 1920 */
.kd-section{ padding-block:48px; }
.kd-hero{ padding-block:24px 40px; }
.kd-section-tete{ margin-bottom:20px; }
.kd-ligne-photo{ height:100px; }
.kd-mag-grille .kd-carte--carte .kd-carte-photo{ aspect-ratio:2/1; }
.kd-mag-grille .kd-carte--une .kd-carte-photo{ max-height:none; position:relative; }
.kd-mag-grille .kd-carte--une .kd-carte-photo > img,.kd-mag-grille .kd-carte--une .kd-carte-photo > .kd-repli{ position:absolute; inset:0; }
.kd-mag-grille .kd-carte-corps{ padding:12px 16px 14px; }
.kd-mag-grille .kd-carte--une .kd-carte-corps{ flex:none; } /* la photo de une absorbe la hauteur restante : pas de trou entre l'extrait et la date */
.kd-contact{ min-height:clamp(560px, calc(100vh - 80px), 700px); }
/* Une photo qui charge n'est jamais un carré gris : teinte de la couleur de ligne */
.kd-carte-photo,.kd-ligne-photo,.kd-proche-photo,.kd-rub-une-photo{ background:color-mix(in srgb, var(--kd-c, #08795F) 20%, #EAF2F3); }

/* Hero : les 3 lignes partent du sol de la photo (et débordent sous le cadre), puis entrent dans la carte-orienteur */
.kd-hero-lignes{ left:376px; right:auto; top:50%; bottom:auto; width:calc(100% - 376px); height:calc(50% + 30px); max-width:none; }

/* Carte-orienteur (≥ 1081) : toutes les étapes empilées dans la même case, la carte prend la hauteur de la plus haute ;
   l'espace en trop d'une étape courte se répartit autour de ses blocs (la légende d'un fieldset n'est pas un bloc flex) */
@media (min-width:1081px){
	.kd-form-carte{ height:auto; padding:18px 22px 12px; }
	.kd-form-corps{ display:grid; grid-template-areas:"etape"; flex:none; }
	.kd-form-etape{ grid-area:etape; display:flex; flex-direction:column; justify-content:space-evenly; gap:10px; visibility:hidden; height:auto; }
	.kd-form-etape.est-active{ visibility:visible; height:auto; }
	.kd-form-actions,.kd-guide-ligne{ margin-top:0; }
	.kd-form-etape[data-kd-etape="1"] .kd-pilules{ gap:8px 7px; }
	.kd-form-etape[data-kd-etape="1"] .kd-pilule{ min-height:36px; }
}
/* Tablette et mobile : hauteur au contenu, choix qui passent à la ligne (jamais un libellé coupé) */
@media (max-width:1080px){
	.kd-form-carte{ height:auto; }
	.kd-form-actions,.kd-guide-ligne{ margin-top:4px; }
}
@media (max-width:760px){
	.kd-hero-photo{ height:172px; }
	.kd-hero-visuel{ margin-top:12px; }
	.kd-numeros--hero{ top:8px; right:8px; padding:4px 10px; gap:2px 6px; }
	.kd-numeros--hero .kd-num-n{ font-size:12.5px; }
	.kd-form-carte{ margin-top:-36px; padding:12px 14px 10px; }
	.kd-form-etape[data-kd-etape="1"] .kd-pilules,.kd-suggestions{ display:flex; flex-wrap:wrap; overflow:visible; max-height:none; gap:6px; padding-bottom:0; }
	.kd-pilules .kd-pilule,.kd-suggestions .kd-pilule{ font-size:13px; min-height:34px; padding:5px 10px; }
	.kd-form-q{ font-size:17px; }
}

/* Rail d'article compact : sommaire + mini-orienteur + numéros tiennent dans la fenêtre − 120 px */
.sbt-rail{ gap:10px; top:calc(var(--kd-entete-h) + 16px); }
.sbt-rail-carte--sommaire{ padding:12px 14px 10px; }
.sbt-rail .sbt-sommaire-titre{ font-size:15px; }
.sbt-rail .sbt-sommaire ol{ margin-top:6px; gap:0; }
.sbt-rail .sbt-sommaire li a{ font-size:13.5px; line-height:1.27; padding:3px 6px; gap:9px; }
.sbt-rail .sbt-sommaire-num{ width:16px; height:16px; border-width:3px; margin-top:1px; }
.sbt-rail .sbt-sommaire--long li a{ font-size:13px; line-height:1.22; padding:2px 6px; }
.kd-mini{ padding:12px 14px; gap:8px; border-top-width:5px; }
.kd-mini-titre{ font-size:15.5px; margin:0; }
.kd-mini-champs{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
.kd-mini .kd-select{ min-height:40px; font-size:13.5px; padding:0 26px 0 10px; background-position:right 9px center; background-size:13px; border-radius:12px; }
.kd-mini .kd-btn{ margin-top:0; min-height:40px; }
.kd-numeros--rail{ padding:8px; border-radius:16px; }
.kd-numeros--rail ul{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.kd-numeros--rail li a{ height:100%; align-items:center; justify-content:flex-start; text-align:center; padding:6px 3px; gap:1px; border-radius:10px; }
.kd-numeros--rail li b{ font-size:16px; white-space:nowrap; }
.kd-numeros--rail li span{ font-size:11px; line-height:1.2; }

/* 390 : aucune colonne de grille qui s'élargit sur son contenu (plan de ligne, cartes) */
@media (max-width:1080px){
	.kd-villes-grille,.kd-chiffres-grille,.kd-actus-grille,.kd-apropos-tete,.kd-rub-une{ grid-template-columns:minmax(0,1fr); }
	.kd-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px){ .kd-bento{ grid-template-columns:minmax(0,1fr); } }
/* Plan de ligne de la page ville à 390 : 3 stations (précédente, la ville, suivante) sur toute la largeur, sans défilement */
@media (max-width:760px){
	.kd-ville-plan .kd-plan{ overflow:visible; margin-inline:0; padding-inline:0; }
	.kd-ville-plan .kd-plan::before{ left:0; right:0; width:auto; }
	.kd-ville-plan .kd-plan-station{ flex:1 1 0; min-width:0; }
	.kd-ville-plan .kd-plan-station:first-child:nth-last-child(n+5),.kd-ville-plan .kd-plan-station:last-child:nth-child(n+5){ display:none; }
	.kd-ville-plan .kd-plan-nom{ font-size:13px; }
}

/* =====================================================================
   CORRECTIONS n°2 (16/10/2026) — contraste, en-tête sans déroulant, numéros en texte
   ===================================================================== */
a.kd-urgence-pilule{ color:#fff; text-decoration:none; }
a.kd-urgence-pilule:hover{ color:#fff; background:#B92E33; }
.kd-urgence-pilule b{ font-variant-numeric:tabular-nums; }
.kd-num-gros{ display:inline-flex; align-items:baseline; gap:10px; padding:8px 18px; border-radius:999px; background:#FBE9EA; border:2px solid var(--kd-rouge); color:#7A1519; line-height:1.1; }
.kd-num-gros b{ font-size:30px; font-weight:700; font-variant-numeric:tabular-nums; color:#A12328; letter-spacing:-.01em; }
.kd-num-gros span{ font-size:14px; font-weight:600; color:#4A1013; }
.kd-bento-grand-txt .kd-num-gros{ background:#fff; }
.kd-bento-carte--nuit .kd-bento-num, .kd-bento-carte--blanc .kd-bento-num{ font-variant-numeric:tabular-nums; }
.kd-bento-num--rouge{ color:#B0262B; }
.kd-form-pied b{ color:#B0262B; }
.kd-numeros--hero .kd-num-n{ color:var(--kd-safran); font-weight:700; font-variant-numeric:tabular-nums; font-size:16px; }
.sbt-auteur .sbt-btn--fantome{ background:transparent; color:var(--kd-nuit); border:1.5px solid #9DB3B8; }
.sbt-auteur .sbt-btn--fantome:hover{ background:var(--kd-couloir); }
.kd-fig{ margin:2em 0; padding:0; }
.kd-fig--faq,.kd-fig--sources{ margin:40px 0 0; }
.kd-fig > :first-child{ margin-top:0!important; margin-bottom:0!important; }
.kd-fig-legende{ margin:10px 4px 0; font-family:var(--kd-suse); font-size:13px; line-height:1.4; color:var(--kd-doux); }
/* Barre latérale d'article : UN bloc collant (sommaire + formulaire compact) */
.sbt-article-mise-en-page{ column-gap:56px; }
.sbt-rail{ gap:0; background:#fff; border:1px solid var(--kd-filet); border-radius:var(--kd-r); padding:14px 16px 16px; box-shadow:0 10px 30px -24px rgba(20,33,61,.35); top:calc(var(--kd-entete-h) + 16px); }
.sbt-rail .sbt-rail-carte{ border:0; background:none; padding:0; border-radius:0; box-shadow:none; }
.sbt-rail .kd-guide-rail{ background:none; box-shadow:none; border-radius:0; border-top:1px solid var(--kd-filet); padding:12px 0 0; margin-top:12px; gap:8px; }
.sbt-rail .kd-guide-rail .kd-guide-titre{ font-size:16px; }
.sbt-rail .kd-guide-rail .kd-select{ min-height:40px; font-size:14px; }
.sbt-rail .kd-guide-rail .kd-form-ligne{ flex-direction:column; align-items:stretch; gap:8px; }
.sbt-rail .kd-guide-rail .kd-form-ligne input{ flex:none; height:40px; font-size:14px; }
.sbt-rail .kd-guide-rail .kd-form-ligne .kd-btn{ min-height:40px; width:100%; }
.sbt-rail .kd-guide-rail .kd-rgpd{ white-space:normal; overflow:visible; align-items:flex-start; font-size:12px; margin-top:0; }
.sbt-rail .kd-guide-rail .kd-rgpd input{ margin-top:2px; }
.sbt-rail .sbt-sommaire, .sbt-rail .sbt-sommaire ol{ overflow:visible; max-height:none; }
/* À propos : plus aucun bloc collé au précédent (rythme 32 px) */
.kd-apropos-corps, .kd-apropos-editeur{ margin-top:32px; }
.kd-apropos-corps{ padding-bottom:0; }
.kd-apropos-editeur{ padding-bottom:72px; }
.kd-ville-entete{ margin-top:12px; }

/* 16/10 sortie n°2 : formulaire de contact entier au-dessus du pli à 390 (fenêtre utile 700 px) */
@media (max-width:760px){ .kd-contact{ padding-block:84px 24px; } .kd-contact-carte{ gap:10px; } .kd-contact-carte h1{ font-size:26px; line-height:1.15; } .kd-champs-2{ grid-template-columns:1fr 1fr; gap:8px; } .kd-contact-carte textarea{ min-height:72px; height:72px; } .kd-contact-avis{ font-size:13px; padding:8px 12px; } }
