/*
 * Fiche formation, habillage « Kiné Formations » (maquette 2026).
 * Couleurs et polices de la maquette : bleu #1A3A6B, orange #E8700A, Bebas Neue / DM Sans / Playfair.
 */

.kf-fiche {
	--kf-navy: #1A3A6B;
	--kf-navy-dk: #0F2547;
	--kf-orange: #E8700A;
	--kf-btn: #FC7A03; /* orange du logo (choix de Thierry, 09/11/2026) */
	--kf-btn-hover: #E86E00;
	--kf-btn-text: #1A1A1A; /* texte foncé : contraste 5,9:1 sur l'orange du logo (blanc : 2,9:1, illisible) */
	--kf-orange-dk: #B35406;
	--kf-ink: #1A1A1A;
	--kf-muted: #4A4A4A;
	--kf-line: #DDE3EE;
	--kf-soft: #EEF2F9;
	--kf-sand: #F9F7F4;
	--kf-pale: #C9D4E6;
	font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	color: var(--kf-ink);
	background: #fff;
	font-size: 16px;
	line-height: 1.55;
}

.kf-fiche *,
.kf-fiche *::before,
.kf-fiche *::after {
	box-sizing: border-box;
}

.kf-fiche a {
	color: var(--kf-navy);
}

.kf-fiche a:hover {
	color: var(--kf-navy-dk);
}

.kf-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* Bandeau --------------------------------------------------------------- */

.kf-hero {
	background: var(--kf-navy);
	color: #fff;
}

.kf-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 48px;
	align-items: center;
	padding-top: 24px;
	padding-bottom: 56px;
}

.kf-hero__grid--solo {
	grid-template-columns: minmax(0, 1fr);
}

.kf-hero__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.kf-crumbs {
	font-size: 14px;
	color: var(--kf-pale);
}

.kf-fiche .kf-crumbs a {
	color: var(--kf-pale);
}

.kf-h1 {
	margin: 0;
	font-family: 'Bebas Neue', Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(44px, 6vw, 72px);
	line-height: .95;
	color: #fff;
	letter-spacing: 0;
	text-transform: none;
}

.kf-lead {
	margin: 0;
	max-width: 760px;
	font-size: 20px;
	line-height: 1.5;
	color: #E6ECF5;
}

.kf-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.kf-fiche .kf-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 4px;
	background: #fff;
	color: var(--kf-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.kf-fiche .kf-chip--ghost {
	background: transparent;
	color: #fff;
	border: 1px solid var(--kf-pale);
	padding: 7px 12px;
}

.kf-fiche .kf-chip--accent {
	background: var(--kf-orange);
	color: var(--kf-ink);
}

/* Liens simples des bandeaux bleus (fil d'Ariane, téléphone…) : blancs soulignés au survol, pas bleu foncé. */
.kf-fiche .kf-hero .kf-crumbs a:hover,
.kf-fiche .kf-hero .kf-crumbs a:focus-visible,
.kf-fiche .kf-hero a[href^="tel:"]:hover,
.kf-fiche .kf-hero a[href^="tel:"]:focus-visible,
.kf-fiche .kf-hero a:not([class]):hover,
.kf-fiche .kf-hero a[class=""]:hover {
	color: #fff;
	text-decoration: underline;
}

/* Survol des pastilles du bandeau bleu : texte toujours lisible (la règle générale des liens le passait en bleu foncé). */
.kf-fiche a.kf-chip:hover,
.kf-fiche a.kf-chip:focus-visible {
	color: var(--kf-navy);
	background: var(--kf-pale);
}

.kf-fiche a.kf-chip--ghost:hover,
.kf-fiche a.kf-chip--ghost:focus-visible {
	color: var(--kf-navy);
	background: #fff;
	border-color: #fff;
}

.kf-fiche a.kf-chip--accent:hover,
.kf-fiche a.kf-chip--accent:focus-visible {
	color: var(--kf-btn-text);
	background: var(--kf-btn-hover);
}

.kf-hero__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 12px;
	background: #2B4C80;
}

/* Mise en page ---------------------------------------------------------- */

.kf-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	align-items: flex-start;
	padding-top: 48px;
	padding-bottom: 72px;
}

.kf-main {
	flex: 999 1 560px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.kf-sec {
	display: flex;
	flex-direction: column;
	gap: 16px;
	scroll-margin-top: 96px;
}

.kf-h2 {
	margin: 0;
	font-family: 'DM Sans', system-ui, sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--kf-navy);
	text-transform: none;
	letter-spacing: 0;
}

.kf-h2 a {
	text-decoration: none;
}

.kf-p,
.kf-p p {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
}

.kf-p p + p {
	margin-top: .8em;
}

.kf-p--small,
.kf-p--small p {
	font-size: 15px;
}

.kf-label {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--kf-muted);
}

.kf-muted {
	color: var(--kf-muted);
}

.kf-kicker {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--kf-orange-dk);
}

.kf-ico {
	flex: none;
	margin-top: 2px;
	color: var(--kf-orange);
}

.kf-checks,
.kf-book__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 17px;
	line-height: 1.5;
}

.kf-checks li,
.kf-book__list li {
	display: flex;
	gap: 12px;
	margin: 0;
}

.kf-ol {
	margin: 0;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 16px;
	line-height: 1.5;
}

.kf-ul {
	margin: 0;
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 16px;
}

.kf-details,
.kf-faq {
	border: 1px solid var(--kf-line);
	border-radius: 10px;
	padding: 16px 20px;
}

.kf-details summary,
.kf-faq summary {
	font-size: 16px;
	font-weight: 700;
	color: var(--kf-navy);
	cursor: pointer;
}

.kf-details .kf-ol,
.kf-details .kf-res {
	margin-top: 12px;
}

.kf-res p {
	margin: 0 0 .6em;
}

.kf-faq + .kf-faq {
	margin-top: -4px;
}

.kf-faq > div {
	margin-top: 10px;
	color: var(--kf-muted);
}

.kf-faq > div p {
	margin: 0 0 .6em;
}

.kf-link {
	font-weight: 700;
}

/* Boutons --------------------------------------------------------------- */

.kf-fiche .kf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
}

.kf-fiche .kf-btn--navy {
	background: var(--kf-navy);
	color: #fff;
}

.kf-fiche .kf-btn--navy:hover {
	background: var(--kf-navy-dk);
	color: #fff;
}

.kf-fiche .kf-btn--outline {
	border: 2px solid var(--kf-navy);
	color: var(--kf-navy);
	background: #fff;
	font-size: 15px;
}

.kf-fiche .kf-btn--outline:hover,
.kf-fiche .kf-btn--outline:focus-visible {
	border-color: var(--kf-btn);
	background: var(--kf-btn);
	color: var(--kf-btn-text);
}

.kf-legacy .kf-legacy__dl {
	margin: 28px 0 32px;
}

.kf-legacy .kf-legacy__dl .kf-btn {
	text-decoration: none;
}

.kf-fiche .kf-btn--accent {
	background: var(--kf-btn);
	color: var(--kf-btn-text);
	font-size: 16px;
}

.kf-btn--block {
	width: 100%;
}

/* Indicateurs ----------------------------------------------------------- */

.kf-ind {
	background: var(--kf-soft);
	border-radius: 14px;
	padding: 28px;
	gap: 20px;
}

.kf-ind__head {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.kf-ind__head p,
.kf-ind__src {
	margin: 0;
	font-size: 15px;
	color: var(--kf-muted);
}

.kf-ind__src {
	font-size: 13px;
}

.kf-ind__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 12px;
}

.kf-ind__tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px;
	border: 1px solid var(--kf-line);
	border-radius: 10px;
	background: #fff;
}

.kf-ind__val {
	font-family: 'Bebas Neue', Arial, sans-serif;
	font-size: 40px;
	line-height: 1;
	color: var(--kf-navy);
}

.kf-ind__lib {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.kf-ind__sub {
	font-size: 13px;
	color: var(--kf-muted);
}

/* Sessions -------------------------------------------------------------- */

.kf-table-box {
	overflow-x: auto;
	border: 1px solid var(--kf-line);
	border-radius: 10px;
}

.kf-fiche .kf-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 16px;
}

.kf-fiche .kf-table th,
.kf-fiche .kf-table td {
	padding: 14px 16px;
	border: 0;
	background: none;
	text-align: left;
	vertical-align: middle;
}

.kf-fiche .kf-table thead tr {
	background: var(--kf-soft);
	color: var(--kf-navy);
}

.kf-fiche .kf-table tbody tr {
	border-top: 1px solid var(--kf-line);
}

.kf-table__city {
	font-weight: 600;
}

.kf-table__places {
	color: var(--kf-muted);
}

.kf-table__places.is-low {
	color: var(--kf-orange-dk);
	font-weight: 700;
}

.kf-table__places.is-full {
	color: #9B1C1C;
	font-weight: 700;
}

.kf-fiche .kf-table td.kf-table__act {
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: right;
}

/* Financement ----------------------------------------------------------- */

.kf-box {
	background: var(--kf-soft);
	border-radius: 12px;
	padding: 24px 28px;
}

/* Programme ------------------------------------------------------------- */

.kf-days {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	align-items: start;
}

.kf-day {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
	border: 1px solid var(--kf-line);
	border-radius: 10px;
}

.kf-day__n {
	font-family: 'Bebas Neue', Arial, sans-serif;
	font-size: 26px;
	line-height: 1;
	color: var(--kf-orange-dk);
}

.kf-day__h {
	font-size: 14px;
	color: var(--kf-muted);
}

.kf-day__t {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.kf-day__more {
	margin-top: 8px;
}

.kf-day__more summary {
	font-size: 14px;
	font-weight: 700;
	color: var(--kf-navy);
	cursor: pointer;
}

.kf-day__more ul {
	margin: 8px 0 0;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.45;
}

.kf-day__more li + li {
	margin-top: 4px;
}

.kf-docs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Formateurs ------------------------------------------------------------ */

.kf-people {
	gap: 32px;
}

.kf-person {
	display: flex;
	gap: 28px;
	align-items: flex-start;
}

.kf-person__img {
	flex: none;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--kf-pale);
}

.kf-person__img--txt {
	display: grid;
	place-items: center;
	font-family: 'Bebas Neue', Arial, sans-serif;
	font-size: 48px;
	color: var(--kf-navy);
}

/* Avis ------------------------------------------------------------------ */

.kf-stars {
	position: relative;
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	letter-spacing: 2px;
	color: var(--kf-pale);
	white-space: nowrap;
	vertical-align: -2px;
}

.kf-stars::before {
	content: "\2605\2605\2605\2605\2605";
}

.kf-stars > span {
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
	white-space: nowrap;
	color: var(--kf-orange);
}

.kf-stars > span::before {
	content: "\2605\2605\2605\2605\2605";
}

.kf-stars--big {
	font-size: 28px;
	letter-spacing: 4px;
}

.kf-fiche .kf-rate {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 14px;
	color: var(--kf-muted);
	text-decoration: none;
}

.kf-rate strong {
	color: var(--kf-ink);
	font-size: 15px;
}

.kf-note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
	padding: 24px 28px;
	border-radius: 12px;
	background: var(--kf-navy);
	color: #fff;
}

.kf-note__val {
	margin: 0;
	font-family: 'Bebas Neue', Arial, sans-serif;
	font-size: 64px;
	line-height: .9;
}

.kf-note__val small {
	font-size: 28px;
	color: var(--kf-pale);
}

.kf-note__txt {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
	color: #E6ECF5;
}

.kf-note .kf-stars {
	color: #3D5D8F;
}

.kf-src {
	font-size: 13px;
	color: var(--kf-muted);
}

.kf-quote {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 46px 24px 22px;
	border: 1px solid var(--kf-line);
	border-radius: 12px;
	background: #fff;
}

.kf-quote::before {
	content: "\201C";
	position: absolute;
	top: 6px;
	left: 20px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 72px;
	line-height: 1;
	color: var(--kf-orange);
}

.kf-quote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-style: italic;
	font-size: 19px;
	line-height: 1.5;
}

.kf-quote figcaption {
	font-size: 14px;
	color: var(--kf-muted);
}

/* Avis des participant·es (avis WooCommerce) */
.kf-reviews__count {
	margin: 4px 0 18px;
	font-weight: 700;
	color: var(--kf-muted);
	font-size: 14px;
}

.kf-reviews {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}

.kf-review {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
	padding: 42px 22px 18px;
	border-radius: 16px;
	background: var(--kf-sand);
	box-shadow: 0 1px 2px rgba(15, 37, 71, .06);
}

.kf-review::before {
	content: "\201C";
	position: absolute;
	top: 10px;
	left: 20px;
	font: 700 48px/1 Georgia, serif;
	color: var(--kf-orange);
	opacity: .35;
}

.kf-review[hidden] {
	display: none;
}

.kf-review blockquote {
	position: relative;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--kf-ink);
}

.kf-review__by {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding-top: 14px;
	border-top: 1px solid var(--kf-line);
	font-size: 14px;
}

.kf-review__ini {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--kf-navy);
	color: #fff;
	font-weight: 700;
}

.kf-review__by strong {
	display: block;
	color: var(--kf-navy);
}

.kf-review__by small {
	display: block;
	color: var(--kf-muted);
	font-size: 13px;
}

/* Informations pratiques, évaluation : menus dépliants ------------------- */

.kf-acc {
	border: 1px solid var(--kf-line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.kf-acc__it + .kf-acc__it {
	border-top: 1px solid var(--kf-line);
}

.kf-acc__it summary {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px 18px;
	font-weight: 700;
	color: var(--kf-navy);
	cursor: pointer;
	list-style: none;
}

.kf-acc__it summary::-webkit-details-marker {
	display: none;
}

.kf-acc__it summary::before {
	content: "+";
	display: grid;
	place-items: center;
	flex: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--kf-soft);
	color: var(--kf-navy);
	font-size: 18px;
	line-height: 1;
}

.kf-acc__it[open] summary::before {
	content: "\2212";
	background: var(--kf-navy);
	color: #fff;
}

.kf-acc__it summary:hover {
	background: var(--kf-soft);
}

.kf-acc__it summary:focus-visible {
	outline: 2px solid var(--kf-orange);
	outline-offset: -2px;
}

.kf-acc__body {
	padding: 0 18px 16px 54px;
}

.kf-acc__body p {
	margin: 0 0 .5em;
}

.kf-acc__body p:last-child,
.kf-acc__body ul:last-child {
	margin-bottom: 0;
}

/* Cartes « vous pourriez aussi aimer » ---------------------------------- */

.kf-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}

.kf-fiche .kf-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow: hidden;
	padding-bottom: 16px;
	border: 1px solid var(--kf-line);
	border-radius: 10px;
	color: var(--kf-ink);
	text-decoration: none;
}

.kf-card img,
.kf-card__ph {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	background: var(--kf-soft);
}

.kf-card__t {
	padding: 0 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--kf-navy);
}

.kf-card .kf-rate {
	padding: 0 16px;
}

.kf-card__p {
	padding: 0 16px;
	font-weight: 600;
}

/* Encart de réservation ------------------------------------------------- */

.kf-book {
	flex: 1 1 320px;
	position: sticky;
	top: 88px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	border: 1px solid var(--kf-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(26, 58, 107, .10);
	scroll-margin-top: 96px;
}

.admin-bar .kf-book {
	top: 120px;
}

.kf-book__top {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
}

.kf-book__price {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
	color: var(--kf-navy);
}

.kf-book__list {
	gap: 8px;
	font-size: 14px;
	line-height: 1.4;
}

.kf-book__list li {
	gap: 8px;
}

.kf-book__list .kf-ico {
	width: 18px;
	height: 18px;
	margin-top: 0;
}

.kf-book__help {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 16px;
	border-top: 1px solid var(--kf-line);
	font-size: 14px;
}

.kf-book__help span {
	font-weight: 600;
	color: var(--kf-navy);
}

.kf-book__help a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
}

/* Formulaire WooCommerce dans l'encart : listes Lieu / Session et bouton. */

.kf-book form.cart {
	margin: 0;
}

.kf-book table.variations,
.kf-book table.variations tbody,
.kf-book table.variations tr,
.kf-book table.variations th,
.kf-book table.variations td {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.kf-book table.variations tr + tr {
	margin-top: 14px;
}

.kf-book table.variations th.label,
.kf-book table.variations td.label {
	padding-bottom: 6px;
	text-align: left;
}

.kf-book table.variations label {
	font-size: 13px;
	font-weight: 600;
	color: var(--kf-muted);
}

.kf-book table.variations select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #B9C4D6;
	border-radius: 6px;
	background-color: #fff;
	font: inherit;
	font-size: 16px;
	color: var(--kf-ink);
}

.kf-book .reset_variations {
	display: none !important;
}

.kf-book .single_variation_wrap {
	margin-top: 14px;
}

.kf-book .woocommerce-variation-price {
	display: none;
}

.kf-book .woocommerce-variation-availability p.stock {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--kf-navy);
}

.kf-book .woocommerce-variation-availability p.out-of-stock {
	color: #9B1C1C;
}

.kf-book .quantity {
	display: none !important;
}

.kf-book .woocommerce-variation-add-to-cart,
.kf-book .woocommerce-variation-add-to-cart-disabled {
	display: block;
}

.kf-fiche .kf-book .single_add_to_cart_button,
.kf-fiche .kf-book .single_add_to_cart_button.button.alt {
	display: block;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-radius: 6px;
	background: var(--kf-btn);
	color: var(--kf-btn-text);
	font: inherit;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
}

.kf-fiche .kf-book .single_add_to_cart_button:hover {
	background: #D86508;
	color: #fff;
}

/* Tant qu'aucune date n'est choisie : orange atténué, texte toujours blanc et lisible. */
.kf-fiche .kf-book .single_add_to_cart_button.disabled,
.kf-fiche .kf-book .single_add_to_cart_button:disabled {
	opacity: 1;
	background: #EE9443;
	color: #fff;
	cursor: not-allowed;
}

.kf-book.is-flash {
	box-shadow: 0 0 0 3px var(--kf-orange), 0 8px 24px rgba(26, 58, 107, .10);
	transition: box-shadow .3s;
}

/* Barre mobile ---------------------------------------------------------- */

.kf-mbar {
	display: none;
}

@media (max-width: 960px) {
	.kf-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.kf-hero__img {
		order: -1;
		aspect-ratio: 16 / 9;
	}

	.kf-book {
		position: static;
	}
}

@media (max-width: 720px) {
	.kf-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.kf-lead {
		font-size: 18px;
	}

	.kf-h2 {
		font-size: 26px;
	}

	.kf-main {
		gap: 44px;
	}

	.kf-ind {
		padding: 20px 16px;
	}

	.kf-ind__val {
		font-size: 34px;
	}

	.kf-fiche .kf-table thead {
		display: none;
	}

	.kf-fiche .kf-table,
	.kf-fiche .kf-table tbody,
	.kf-fiche .kf-table tr,
	.kf-fiche .kf-table td {
		display: block;
		width: auto;
	}

	.kf-fiche .kf-table tr {
		padding: 10px 0;
	}

	.kf-fiche .kf-table td,
	.kf-fiche .kf-table td.kf-table__act {
		padding: 4px 16px;
		text-align: left;
	}

	.kf-fiche .kf-table td.kf-table__act .kf-btn {
		display: flex;
		margin-top: 6px;
	}

	.kf-info {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}

	.kf-person {
		flex-direction: column;
		gap: 16px;
	}

	.kf-person__img {
		width: 120px;
		height: 120px;
	}

	.kf-mbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		padding: 10px 16px;
		background: #fff;
		border-top: 1px solid var(--kf-line);
		box-shadow: 0 -6px 18px rgba(26, 58, 107, .12);
	}

	.kf-mbar > span {
		display: flex;
		flex-direction: column;
		font-size: 13px;
		color: var(--kf-muted);
		line-height: 1.3;
	}

	.kf-mbar strong {
		font-size: 18px;
		color: var(--kf-navy);
	}

	.kf-fiche {
		padding-bottom: 76px;
	}
}

/* Catalogue e-learning -------------------------------------------------- */

.kf-el__hero {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-top: 24px;
	padding-bottom: 56px;
}

.kf-el__kicker {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #F7C08A;
}

.kf-el__hero .kf-lead {
	max-width: 780px;
}

.kf-el__body {
	display: flex;
	flex-direction: column;
	gap: 48px;
	padding-top: 56px;
	padding-bottom: 72px;
}

.kf-el__body > section {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.kf-el__avant,
.kf-el__cats {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kf-el__avant {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.kf-el__avant li {
	background: var(--kf-soft);
	border-radius: 12px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
	line-height: 1.5;
}

.kf-el__avant strong {
	color: var(--kf-navy);
	font-size: 17px;
}

.kf-el__cats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}

.kf-fiche .kf-el__cats a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none;
	border: 1px solid var(--kf-line);
	border-radius: 12px;
	padding: 18px 20px;
	background: #fff;
	min-height: 44px;
	transition: border-color 0.15s;
}

.kf-fiche .kf-el__cats a:hover,
.kf-fiche .kf-el__cats a:focus-visible {
	border-color: var(--kf-orange);
}

.kf-el__cat-nom {
	font-weight: 700;
	color: var(--kf-navy);
	font-size: 17px;
}

.kf-el__cat-n {
	font-size: 14px;
	color: var(--kf-muted);
}

.kf-el__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}

.kf-el__head .kf-h2 {
	margin: 0;
}

.kf-el__search {
	flex: 1 1 320px;
	max-width: 520px;
}

.kf-el__search label {
	display: block;
	font-weight: 700;
	color: var(--kf-navy);
	margin-bottom: 8px;
}

.kf-fiche .kf-el__search input {
	width: 100%;
	font: inherit;
	font-size: 16px;
	padding: 12px 16px;
	border: 2px solid var(--kf-line);
	border-radius: 8px;
	min-height: 48px;
	background: #fff;
	color: var(--kf-ink);
}

.kf-fiche .kf-el__search input:focus {
	outline: none;
	border-color: var(--kf-navy);
}

.kf-el__empty {
	margin: 0;
	color: var(--kf-muted);
}

.kf-el__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.kf-el__card {
	border: 1px solid var(--kf-line);
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
}

.kf-el__card[hidden] {
	display: none;
}

.kf-el__img {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: var(--kf-soft);
}

.kf-el__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kf-el__corps {
	padding: 18px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-grow: 1;
}

.kf-el__badge {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--kf-navy);
	background: var(--kf-soft);
	border-radius: 4px;
	padding: 4px 8px;
	align-self: flex-start;
}

.kf-el__card h3 {
	margin: 0;
	font-family: inherit;
	font-size: 17px;
	line-height: 1.35;
	font-weight: 700;
}

.kf-fiche .kf-el__card h3 a {
	text-decoration: none;
	color: var(--kf-ink);
}

.kf-fiche .kf-el__card h3 a:hover {
	color: var(--kf-navy);
	text-decoration: underline;
}

.kf-el__note {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 14px;
	color: var(--kf-muted);
}

.kf-el__note strong {
	color: var(--kf-ink);
	font-size: 15px;
}

.kf-el__prix {
	margin: auto 0 0;
	font-size: 20px;
	font-weight: 700;
	color: var(--kf-navy);
}

.kf-fiche .kf-el__cta {
	font-weight: 700;
	color: var(--kf-orange-dk);
	text-decoration: none;
	font-size: 15px;
}

.kf-fiche .kf-el__cta:hover {
	color: var(--kf-orange-dk);
	text-decoration: underline;
}

.kf-el__presentiel {
	background: var(--kf-navy);
	color: #fff;
	border-radius: 16px;
	padding: 32px;
	flex-direction: row !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.kf-el__presentiel > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 720px;
}

.kf-el__presentiel h2 {
	margin: 0;
	font-family: inherit;
	font-size: 26px;
	color: #fff;
}

.kf-el__presentiel p {
	margin: 0;
	color: #E6ECF5;
	font-size: 16px;
	line-height: 1.6;
}

@media (max-width: 900px) {
	.kf-el__avant {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.kf-el__avant {
		grid-template-columns: minmax(0, 1fr);
	}

	.kf-el__body {
		gap: 36px;
		padding-top: 36px;
	}

	.kf-el__presentiel {
		padding: 24px;
	}
}

/* Fiche e-learning ------------------------------------------------------ */

.kf-elf__rich {
	font-size: 16px;
	line-height: 1.6;
}

.kf-elf__rich p,
.kf-elf__rich ul,
.kf-elf__rich ol {
	margin: 0 0 12px;
}

.kf-elf__rich > :last-child {
	margin-bottom: 0;
}

.kf-elf__rich ul,
.kf-elf__rich ol {
	padding-left: 22px;
}

.kf-elf__prog {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 16px;
	line-height: 1.55;
}

.kf-elf__prog > p,
.kf-elf__prog > ul,
.kf-elf__prog > ol {
	margin: 0;
	background: var(--kf-sand);
	border-radius: 10px;
	padding: 14px 16px;
}

.kf-elf__prog > ul,
.kf-elf__prog > ol {
	padding-left: 38px;
}

.kf-elf__prog li + li {
	margin-top: 4px;
}

.kf-elf__prog ul ul,
.kf-elf__prog ol ol {
	margin: 4px 0 0;
	padding-left: 20px;
}

.kf-elf__prog strong,
.kf-elf__prog b {
	display: block;
	color: var(--kf-navy);
	font-size: 17px;
	margin-bottom: 2px;
}

.kf-elf__biblio {
	font-size: 15px;
	color: var(--kf-muted);
}

.kf-elf__biblio strong {
	color: var(--kf-ink);
}

.kf-elf__gift {
	margin: 0;
	background: #FDF1E6;
	border-left: 4px solid var(--kf-orange);
	border-radius: 8px;
	padding: 14px 16px;
	font-size: 15px;
	line-height: 1.5;
}

.kf-elf .kf-book .quantity {
	display: none;
}

.kf-elf__more summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--kf-orange-dk);
	margin: 4px 0 12px;
	list-style: none;
}

.kf-elf__more summary::-webkit-details-marker {
	display: none;
}

.kf-elf__more summary::after {
	content: " ↓";
}

.kf-elf__more[open] summary::after {
	content: " ↑";
}

.kf-elf__prog strong + br,
.kf-elf__prog b + br {
	display: none;
}

.kf-elf__sub {
	margin: 8px 0 -4px;
	font-weight: 700;
	color: var(--kf-navy);
	font-size: 17px;
}

/* Textes repris des anciennes fiches : intertitres à la taille du texte. */
.kf-legacy h3,
.kf-legacy h4 {
	margin: 1.2em 0 .4em;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--kf-navy);
}

.kf-legacy h3:first-child,
.kf-legacy h4:first-child {
	margin-top: 0;
}

/* Boutons orange : survol (30/10/2026). */
.kf-fiche .kf-btn--accent:hover,
.kf-fiche .kf-btn--accent:focus-visible,
.kf-fiche .kf-book .single_add_to_cart_button.button.alt:hover {
	background: var(--kf-btn-hover);
	color: var(--kf-btn-text);
}

/* Formulaire « Donner mon avis » (30/10/2026). */
.kf-fiche .kf-avis-form { margin-top: 28px; }
.kf-fiche .kf-avis-form > summary { list-style: none; cursor: pointer; display: inline-flex; }
.kf-fiche .kf-avis-form > summary::-webkit-details-marker { display: none; }
.kf-fiche .kf-avis-form[open] > summary { margin-bottom: 18px; }
.kf-fiche .kf-avis-form form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 24px; border: 1px solid var(--kf-line); border-radius: 12px; background: #fff; }
.kf-fiche .kf-avis-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: #4A4A4A; }
.kf-fiche .kf-avis-form label small { font-weight: 400; }
.kf-fiche .kf-avis-form input[type="text"], .kf-fiche .kf-avis-form input[type="email"], .kf-fiche .kf-avis-form select, .kf-fiche .kf-avis-form textarea { font: inherit; font-size: 16px; font-weight: 400; padding: 10px 12px; min-height: 46px; border: 1px solid #B9C4D6; border-radius: 6px; box-sizing: border-box; width: 100%; background: #fff; color: #1A1A1A; }
.kf-fiche .kf-avis-form .plein, .kf-fiche .kf-avis-form .kf-avis-intro { grid-column: 1 / -1; }
.kf-fiche .kf-avis-form .kf-avis-check { flex-direction: row; align-items: center; gap: 10px; }
.kf-fiche .kf-avis-form .kf-avis-check input { width: 20px; height: 20px; margin: 0; }
.kf-fiche .kf-avis-form .kf-avis-intro, .kf-fiche .kf-avis-form .kf-avis-rgpd { margin: 0; font-size: 14px; line-height: 1.6; color: #4A4A4A; }
.kf-fiche .kf-avis-form .kf-avis-rgpd { font-size: 13px; color: #6B6B6B; }
.kf-fiche .kf-avis-form button { justify-self: start; border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.kf-fiche .kf-avis-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kf-fiche .kf-avis-msg { margin: 24px 0 0; padding: 14px 18px; border-radius: 8px; font-weight: 600; }
.kf-fiche .kf-avis-msg--ok { background: #E8F5EC; color: #1E6B3A; }
.kf-fiche .kf-avis-msg--err { background: #FDECEC; color: #9B1C1C; }
@media (max-width: 560px) { .kf-fiche .kf-avis-form form { grid-template-columns: minmax(0, 1fr); padding: 18px; } }
