/* =========================================================================
   AKÈDA — feuille de style principale
   1. Jetons de design      6. Cartes et grilles
   2. Base                  7. Rubriques et articles
   3. Utilitaires           8. Formulaires
   4. En-tête et navigation 9. Tunnel, espace membre
   5. Bannières & carrousels 10. Pied de page, animations, responsive
   ========================================================================= */

/* Polices de la marque, servies par le site lui-même (latin et latin étendu).
   Plus de feuille Google Fonts bloquante ni de connexion vers un serveur tiers :
   sur une connexion mobile lente, c’est près d’une seconde de gagnée. */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/manrope-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/manrope-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: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/poppins-latin-ext-500.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/poppins-latin-500.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: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/poppins-latin-ext-600.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/poppins-latin-600.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: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/poppins-latin-ext-700.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/poppins-latin-700.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: 'Poppins';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('../fonts/poppins-latin-ext-800.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('../fonts/poppins-latin-800.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;
}

/* ------------------------------------------------------------------ 1. */
:root {
	/* Identité Akèda : bordeaux et ambre.
	   Les jetons historiques --ak-vert* sont conservés comme alias : ils sont
	   référencés à plus de 150 endroits dans cette feuille et dans l'extension.
	   Pour tout nouveau code, préférez --ak-bordeaux*. */
	--ak-bordeaux: #760416;
	--ak-bordeaux-fonce: #57030F;
	--ak-bordeaux-clair: #9E1226;
	--ak-bordeaux-pale: rgba(118, 4, 22, .07);
	--ak-ambre: #F7B438;
	--ak-ambre-clair: #FBD68C;

	--ak-vert: var(--ak-bordeaux);
	--ak-vert-fonce: var(--ak-bordeaux-fonce);
	--ak-vert-clair: var(--ak-bordeaux-clair);
	--ak-vert-pale: var(--ak-bordeaux-pale);
	--ak-or: var(--ak-ambre);
	--ak-or-clair: var(--ak-ambre-clair);

	--ak-creme: #FDF9F5;
	--ak-ivoire: #FBF3EC;
	--ak-blanc: #FFFFFF;
	--ak-encre: #1C0A0E;
	--ak-encre-60: rgba(28, 10, 14, .62);
	--ak-encre-45: rgba(28, 10, 14, .45);
	--ak-trait: rgba(118, 4, 22, .16);
	--ak-alerte: #B4451E;

	/* Couleurs sémantiques : le vert reste réservé aux états « réussi »,
	   « payé », « accès ouvert », pour ne pas les confondre avec la marque. */
	--ak-succes: #0A6B42;
	--ak-succes-fonce: #075934;
	--ak-succes-pale: rgba(10, 107, 66, .12);

	--ak-titre: 'Poppins', system-ui, -apple-system, sans-serif;
	--ak-texte: 'Manrope', system-ui, -apple-system, sans-serif;

	--ak-r-s: 10px;
	--ak-r-m: 16px;
	--ak-r-l: 22px;
	--ak-r-xl: 28px;

	--ak-ombre-s: 0 2px 10px rgba(87, 3, 15, .06);
	--ak-ombre-m: 0 14px 34px rgba(87, 3, 15, .10);
	--ak-ombre-l: 0 28px 64px rgba(87, 3, 15, .18);

	--ak-largeur: 1360px;
	--ak-gouttiere: clamp(18px, 4vw, 40px);
	--ak-transition: 260ms cubic-bezier(.22, .61, .36, 1);
}

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

html { scroll-behavior: smooth; scroll-padding-top: 120px; }

body.ak-body {
	margin: 0;
	background: var(--ak-creme);
	color: var(--ak-encre);
	font-family: var(--ak-texte);
	font-size: 16.5px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

/*
 * Contenus réservés aux technologies d'assistance. Cette règle était
 * jusqu'ici héritée de la feuille de blocs de WordPress : en la retirant
 * pour alléger les pages, le lien d'évitement « Aller au contenu » est
 * redevenu visible en haut du site. Il reste dans le document — un
 * utilisateur au clavier en a besoin — mais ne se montre qu'au focus.
 */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 999;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	padding: 12px 20px;
	background: var(--ak-bordeaux);
	color: var(--ak-ivoire, #FBF3EC);
	font-family: var(--ak-titre);
	font-size: 15px;
	border-radius: var(--ak-r-s, 8px);
	box-shadow: var(--ak-ombre-m);
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--ak-vert); text-decoration: none; transition: color var(--ak-transition); }
a:hover { color: var(--ak-vert-clair); }

h1, h2, h3, h4, h5 {
	font-family: var(--ak-titre);
	letter-spacing: -.028em;
	line-height: 1.12;
	margin: 0 0 .5em;
	text-wrap: balance;
}

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

blockquote {
	margin: 1.6em 0;
	padding: 24px 28px;
	border-left: 4px solid var(--ak-or);
	border-radius: 0 var(--ak-r-m) var(--ak-r-m) 0;
	background: var(--ak-vert-pale);
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 1.24em;
	line-height: 1.45;
}
blockquote p:last-child { margin: 0; }

input, button, textarea, select { font-family: inherit; font-size: inherit; }

::selection { background: var(--ak-or); color: var(--ak-vert); }

:focus-visible {
	outline: 3px solid var(--ak-vert-clair);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ------------------------------------------------------------------ 3. */
.ak-conteneur {
	width: 100%;
	max-width: var(--ak-largeur);
	margin-inline: auto;
	padding-inline: var(--ak-gouttiere);
}

/*
 * Rythme vertical : deux sections qui se suivent additionnent leurs marges.
 * 52 px de chaque côté donnent 104 px entre sections — assez pour séparer,
 * sans les trous que produisaient les 86 px précédents.
 */
.ak-section { padding-block: clamp(36px, 4.5vw, 52px); }
.ak-section--serree { padding-block: clamp(24px, 3vw, 36px); }

.ak-kicker {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--ak-vert-clair);
}
.ak-kicker--or { color: var(--ak-or); }

.ak-etiquette {
	display: inline-flex;
	align-items: center;
	padding: 5px 11px;
	border-radius: 6px;
	background: var(--ak-vert-pale);
	color: var(--ak-vert);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
}
.ak-etiquette--or { background: var(--ak-or); color: var(--ak-vert); }
.ak-etiquette--premium { background: var(--ak-or); color: var(--ak-vert); }

.ak-entete-section {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--ak-vert);
	margin-bottom: 34px;
}
.ak-entete-section__titre {
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 800;
	margin: 0;
}
.ak-entete-section__chapeau {
	margin: 8px 0 0;
	font-size: 16px;
	color: var(--ak-encre-60);
	max-width: 62ch;
}

.ak-vide {
	padding: 40px;
	border: 1px dashed var(--ak-trait);
	border-radius: var(--ak-r-l);
	text-align: center;
	color: var(--ak-encre-60);
}

.ak-note-fine { font-size: 13.5px; color: var(--ak-encre-45); line-height: 1.6; }
.ak-note-fine--centre { text-align: center; max-width: 62ch; margin-inline: auto; }

.ak-lien-discret {
	display: inline-block;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ak-vert-clair);
	text-align: center;
	width: 100%;
}

.ak-retour {
	display: inline-block;
	margin-bottom: 22px;
	font-size: 14.5px;
	font-weight: 600;
}

.ak-hp { position: absolute !important; left: -9999px !important; opacity: 0; height: 0; width: 0; }

/* Boutons ------------------------------------------------------------- */
.ak-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 14px 26px;
	border: 1.6px solid transparent;
	border-radius: 999px;
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	text-align: center;
	transition: transform var(--ak-transition), background var(--ak-transition), color var(--ak-transition), box-shadow var(--ak-transition), border-color var(--ak-transition);
}
.ak-btn:hover { transform: translateY(-2px); }
.ak-btn:active { transform: translateY(0); }

.ak-btn--vert { background: var(--ak-vert); color: var(--ak-or); }
.ak-btn--vert:hover { background: var(--ak-vert-clair); color: var(--ak-or); box-shadow: var(--ak-ombre-m); }

.ak-btn--or { background: var(--ak-or); color: var(--ak-vert); }
.ak-btn--or:hover { background: var(--ak-or-clair); color: var(--ak-vert); box-shadow: var(--ak-ombre-m); }

.ak-btn--ghost { background: transparent; border-color: var(--ak-vert); color: var(--ak-vert); }
.ak-btn--ghost:hover { background: var(--ak-vert); color: var(--ak-or); }

.ak-btn--ghost-clair { background: transparent; border-color: rgba(251, 243, 236, .38); color: var(--ak-ivoire); }
.ak-btn--ghost-clair:hover { border-color: var(--ak-or); color: var(--ak-or); }

.ak-btn--petit { padding: 10px 18px; font-size: 13.5px; }
.ak-btn--bloc { width: 100%; }
.ak-btn--desactive { background: rgba(118, 4, 22, .12); color: var(--ak-encre-45); cursor: not-allowed; }
.ak-btn--desactive:hover { transform: none; }
.ak-btn.is-active { background: var(--ak-vert-clair); color: var(--ak-or); }

.ak-puce {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border: 1.5px solid var(--ak-trait);
	border-radius: 999px;
	background: transparent;
	color: var(--ak-vert);
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-puce:hover { border-color: var(--ak-vert); background: var(--ak-vert-pale); }
.ak-puce.is-active { background: var(--ak-vert); border-color: var(--ak-vert); color: var(--ak-or); }

.ak-filtres, .ak-onglets {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

.ak-pastille {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 14px;
	flex: none;
}

/* Listes -------------------------------------------------------------- */
.ak-liste-check { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 9px; }
.ak-liste-check li {
	position: relative;
	padding-left: 28px;
	font-size: 15px;
	line-height: 1.55;
}
.ak-liste-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .45em;
	width: 15px;
	height: 8px;
	border-left: 2.4px solid var(--ak-vert-clair);
	border-bottom: 2.4px solid var(--ak-vert-clair);
	transform: rotate(-45deg);
}
.ak-liste-check label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.ak-liste-check label input { margin-top: .35em; }
.ak-liste-check li:has(label)::before { display: none; }
.ak-liste-check li:has(label) { padding-left: 0; }

.ak-liste-etapes { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 8px; font-size: 15px; }

/* Alertes ------------------------------------------------------------- */
.ak-alerte {
	padding: 16px 20px;
	border-radius: var(--ak-r-m);
	font-size: 15px;
	line-height: 1.55;
	margin-bottom: 20px;
}
.ak-alerte--succes { background: var(--ak-succes-pale); color: var(--ak-succes-fonce); }
.ak-alerte--erreur { background: rgba(180, 69, 30, .12); color: var(--ak-alerte); }
.ak-alerte--info { background: var(--ak-vert-pale); color: var(--ak-vert); }
.ak-alerte ul { margin: 8px 0 0; padding-left: 20px; }

/* ------------------------------------------------------------------ 4. */
.ak-bandeau {
	background: var(--ak-vert-fonce);
	color: rgba(251, 243, 236, .82);
	font-size: 13px;
}
.ak-bandeau__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 9px;
}
.ak-bandeau__baseline { font-weight: 600; letter-spacing: .01em; }
.ak-bandeau__actions { display: flex; align-items: center; gap: 18px; font-weight: 600; }
.ak-bandeau a { color: rgba(251, 243, 236, .82); }
.ak-bandeau a:hover { color: var(--ak-or); }
.ak-bandeau__espace { color: var(--ak-or); }

.ak-entete {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	border-bottom: 1px solid rgba(247, 180, 56, .22);
	transition: box-shadow var(--ak-transition), padding var(--ak-transition);
}
.ak-entete.is-collee { box-shadow: 0 10px 30px rgba(87, 3, 15, .28); }

.ak-entete__inner {
	display: flex;
	align-items: center;
	gap: 26px;
	justify-content: space-between;
	padding-block: 15px;
	transition: padding var(--ak-transition);
}
.ak-entete.is-collee .ak-entete__inner { padding-block: 10px; }

.ak-logo { display: flex; align-items: center; gap: 12px; color: var(--ak-ivoire); flex: none; }
.ak-logo:hover { color: var(--ak-or); }
.ak-logo img { width: 42px; height: 42px; border-radius: 50%; transition: width var(--ak-transition), height var(--ak-transition); }
.ak-entete.is-collee .ak-logo img { width: 34px; height: 34px; }
.ak-logo__nom { font-family: var(--ak-titre); font-weight: 700; font-size: 23px; letter-spacing: -.02em; }

.ak-nav { display: flex; flex: 1; justify-content: center; }
.ak-nav ul { list-style: none; margin: 0; padding: 0; }
.ak-nav > ul { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ak-nav > ul > li { position: relative; display: flex; }

.ak-nav > ul > li > a,
.ak-nav > ul > li > .ak-nav__parent {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 15px;
	border: none;
	border-radius: var(--ak-r-s);
	background: transparent;
	color: var(--ak-ivoire);
	font-family: var(--ak-texte);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background var(--ak-transition), color var(--ak-transition);
}
.ak-nav > ul > li > a:hover,
.ak-nav > ul > li > .ak-nav__parent:hover,
.ak-nav > ul > li:hover > .ak-nav__parent,
.ak-nav > ul > li:focus-within > .ak-nav__parent,
.ak-nav > ul > li.current-menu-item > a,
.ak-nav > ul > li.current-menu-parent > .ak-nav__parent { background: rgba(247, 180, 56, .15); color: var(--ak-or); }

.ak-nav__parent svg { transition: transform var(--ak-transition); flex: none; }
.ak-nav > ul > li:hover > .ak-nav__parent svg,
.ak-nav > ul > li:focus-within > .ak-nav__parent svg { transform: rotate(180deg); }

/* Panneau de sous-menu : aligné sur le parent, colonne régulière. */
.ak-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 320px;
	margin-top: 10px;
	padding: 8px;
	background: var(--ak-creme);
	border: 1px solid rgba(118, 4, 22, .1);
	border-radius: var(--ak-r-m);
	box-shadow: var(--ak-ombre-l);
	display: grid;
	grid-auto-rows: 1fr;
	gap: 2px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--ak-transition), transform var(--ak-transition), visibility var(--ak-transition);
	z-index: 5;
}

/* Pont invisible : le curseur peut descendre sans refermer le panneau. */
.ak-nav .sub-menu::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 0;
	right: 0;
	height: 12px;
}

.ak-nav > ul > li:hover > .sub-menu,
.ak-nav > ul > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Les derniers panneaux s'ancrent à droite pour ne pas sortir de l'écran. */
.ak-nav > ul > li:nth-last-child(-n+2) .sub-menu { left: auto; right: 0; }

.ak-nav .sub-menu li { display: block; }
.ak-nav .sub-menu a {
	display: grid;
	gap: 3px;
	align-content: start;
	height: 100%;
	padding: 12px 14px;
	border-radius: var(--ak-r-s);
	color: var(--ak-encre);
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1.25;
	white-space: normal;
}
.ak-nav .sub-menu a:hover { background: var(--ak-vert-pale); color: var(--ak-vert); }
.ak-nav .sub-menu .ak-nav__desc {
	font-family: var(--ak-texte);
	font-weight: 400;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--ak-encre-60);
}

/*
 * Le menu mobile est entierement decrit plus bas, sous « Menu mobile :
 * accordeon ». Un ancien bloc traitait ici le parent comme un simple
 * intertitre et masquait son chevron : « display: none » n'etant repris
 * par aucune regle ulterieure, la fleche qui signale un sous-menu restait
 * invisible sur telephone alors qu'elle existait bien dans le HTML.
 */

.ak-entete__actions { display: flex; align-items: center; gap: 10px; flex: none; }

.ak-icone-btn {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(251, 243, 236, .25);
	border-radius: 50%;
	background: transparent;
	color: var(--ak-ivoire);
	cursor: pointer;
	position: relative;
	transition: all var(--ak-transition);
}
.ak-icone-btn:hover { border-color: var(--ak-or); color: var(--ak-or); }
.ak-icone-btn__compteur {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--ak-or);
	color: var(--ak-vert);
	font-size: 11px;
	font-weight: 800;
	display: grid;
	place-items: center;
}

.ak-burger { display: none; }

/* Menu mobile */
.ak-mobile {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	padding: 24px var(--ak-gouttiere) 40px;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform 340ms cubic-bezier(.22, .61, .36, 1);
}
.ak-mobile.is-ouvert { transform: translateX(0); }
.ak-mobile__entete { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.ak-mobile ul { list-style: none; margin: 0; padding: 0; }
.ak-mobile > nav > ul > li { border-bottom: none; }
.ak-mobile a {
	display: block;
	padding: 15px 0;
	color: var(--ak-ivoire);
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 19px;
}
.ak-mobile .sub-menu a { font-size: 15.5px; font-weight: 500; padding: 10px 0 10px 18px; color: rgba(251, 243, 236, .78); }
.ak-mobile__pied { margin-top: 30px; display: grid; gap: 12px; }

/* Recherche */
.ak-recherche {
	position: fixed;
	inset: 0;
	z-index: 95;
	background: rgba(87, 3, 15, .72);
	backdrop-filter: blur(8px);
	display: flex;
	justify-content: center;
	padding: 12vh var(--ak-gouttiere) 24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--ak-transition), visibility var(--ak-transition);
}
.ak-recherche.is-ouvert { opacity: 1; visibility: visible; }
.ak-recherche__boite {
	width: 100%;
	max-width: 700px;
	height: max-content;
	max-height: 72vh;
	overflow: auto;
	background: var(--ak-creme);
	border-radius: var(--ak-r-l);
	padding: 26px;
	transform: translateY(14px);
	transition: transform var(--ak-transition);
}
.ak-recherche.is-ouvert .ak-recherche__boite { transform: translateY(0); }
.ak-recherche__ligne { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ak-recherche__ligne input {
	/* min-width:0 : sans lui le champ refuse de descendre sous sa largeur
	   intrinseque et pousse le bouton hors de l'ecran sur telephone. */
	flex: 1 1 0;
	min-width: 0;
	padding: 16px 20px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
	font-size: 16.5px;
	outline: none;
}
.ak-recherche__ligne button { flex: none; }
.ak-recherche__note { font-size: 13px; color: var(--ak-encre-45); margin: 14px 0 4px; }
.ak-recherche__resultats { display: flex; flex-direction: column; }
.ak-recherche__resultat {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid rgba(118, 4, 22, .12);
	color: var(--ak-encre);
}
.ak-recherche__resultat:hover { color: var(--ak-vert-clair); }
.ak-recherche__resultat img { width: 56px; height: 42px; object-fit: cover; border-radius: 8px; flex: none; }
.ak-recherche__type {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-vert-clair);
	width: 96px;
	flex: none;
}
.ak-recherche__titre { font-family: var(--ak-titre); font-weight: 600; font-size: 16px; line-height: 1.3; }

/* ------------------------------------------------------------------ 5. */
.ak-ads {
	position: relative;
	border-radius: var(--ak-r-m);
	overflow: hidden;
	background: var(--ak-vert-pale);
	border: 1px dashed rgba(118, 4, 22, .26);
}
/* Le liseré du cadre reste discret : c'est la position libre qui se signale. */
.ak-ads { border-style: solid; border-color: var(--ak-trait); }
/* Encart large de l'accueil et bandeau inséré dans un article. */
.ak-ads--wide { margin-block: 8px; }
.ak-ads--inline { margin-block: 36px; }
.ak-ads__viewport { overflow: hidden; }
.ak-ads__track {
	display: flex;
	transition: transform 640ms cubic-bezier(.4, 0, .2, 1);
	will-change: transform;
}
.ak-ads__slide { flex: 0 0 100%; min-width: 0; }
.ak-ads__link { display: block; position: relative; }
.ak-ads__link img { width: 100%; aspect-ratio: var(--ak-ads-ratio, 1200 / 120); object-fit: cover; }
.ak-ads__tag {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 9px;
	border-radius: 5px;
	background: rgba(87, 3, 15, .8);
	color: var(--ak-ivoire);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
/*
 * Position libre du carrousel : elle se vend elle-même. Fond ambre très pâle
 * et liseré pointillé pour la distinguer d'une vraie bannière, sans casser
 * le rythme visuel de l'emplacement.
 */
.ak-ads__vide {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	aspect-ratio: var(--ak-ads-ratio, 1200 / 120);
	padding: 14px 18px;
	text-align: center;
	background: rgba(247, 180, 56, .12);
	border: 1px dashed rgba(118, 4, 22, .3);
	border-radius: var(--ak-r-m);
	color: var(--ak-vert);
	transition: background var(--ak-transition);
}
.ak-ads__vide:hover { background: rgba(247, 180, 56, .22); }
.ak-ads__vide-titre {
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: clamp(12px, 1.3vw, 15px);
	line-height: 1.2;
	letter-spacing: -.01em;
}
.ak-ads__vide-detail {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ak-encre-45);
}
/* Bandeau haut et pied de page : très plats, une seule ligne suffit. */
.ak-ads--header .ak-ads__vide,
.ak-ads--footer .ak-ads__vide { flex-direction: row; gap: 12px; }
.ak-ads--header .ak-ads__vide-detail,
.ak-ads--footer .ak-ads__vide-detail { display: none; }
.ak-ads__dots {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 7px;
	z-index: 2;
}
.ak-ads__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(118, 4, 22, .34);
	cursor: pointer;
	transition: width var(--ak-transition), background var(--ak-transition);
}
.ak-ads__dot.is-active { width: 24px; background: var(--ak-vert); }
.ak-ads--side .ak-ads__dot { background: rgba(118, 4, 22, .3); }

/* Carrousel générique (une, portraits, produits) */
.ak-carrousel { position: relative; }
.ak-carrousel__viewport { overflow: hidden; border-radius: var(--ak-r-l); }
.ak-carrousel__track { display: flex; transition: transform 640ms cubic-bezier(.4, 0, .2, 1); }
.ak-carrousel__slide { flex: 0 0 100%; min-width: 0; }
.ak-carrousel__nav {
	position: absolute;
	inset-inline: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}
.ak-carrousel__fleche {
	pointer-events: auto;
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 50%;
	background: rgba(253, 249, 245, .92);
	color: var(--ak-vert);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: var(--ak-ombre-m);
	transition: background var(--ak-transition), transform var(--ak-transition);
}
.ak-carrousel__fleche:hover { background: var(--ak-or); transform: scale(1.06); }
.ak-carrousel__fleche--prec svg { transform: rotate(180deg); }
.ak-carrousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.ak-carrousel__dot {
	width: 9px; height: 9px; padding: 0; border: none; border-radius: 999px;
	background: rgba(118, 4, 22, .28); cursor: pointer; transition: all var(--ak-transition);
}
.ak-carrousel__dot.is-active { width: 26px; background: var(--ak-vert); }

/* Bandeau défilant */
.ak-marquee {
	background: var(--ak-vert);
	color: var(--ak-or);
	padding: 14px 0;
	overflow: hidden;
	white-space: nowrap;
}
.ak-marquee__piste {
	display: inline-flex;
	gap: 36px;
	padding-right: 36px;
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .03em;
	animation: ak-marquee 34s linear infinite;
}
.ak-marquee:hover .ak-marquee__piste { animation-play-state: paused; }
@keyframes ak-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ------------------------------------------------------------------ 6. */
.ak-grille { display: grid; gap: 28px; }
/*
 * auto-fill et non auto-fit : les colonnes vides sont conservées, si bien
 * qu'un seul portrait ou un seul article garde la largeur normale d'une carte
 * au lieu de s'étirer sur toute la ligne.
 */
.ak-grille--grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.ak-grille--produits { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.ak-grille--portraits { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.ak-grille--offres { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: stretch; }
.ak-grille--publier { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.ak-grille--deux { grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); }

/* ------------------------------------------------------ Liste dense ---
 * Disposition de presse economique : la vignette rapetisse, la fiche
 * devient une ligne, et deux colonnes tiennent cote a cote sur grand
 * ecran. On voit une dizaine d'articles d'un coup au lieu de trois, avec
 * la rubrique, la date et le temps de lecture visibles sans survol.
 *
 * C'est une variante purement visuelle : le balisage des cartes ne change
 * pas, donc les cartes rechargees par le filtre s'y rangent aussi.
 */
.ak-grille--dense {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 430px), 1fr));
	gap: 0 40px;
}
.ak-grille--dense .ak-carte {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 18px 0;
	border-top: 1px solid var(--ak-trait);
}
.ak-grille--dense .ak-carte:first-child { border-top: 0; }

/*
 * Placement explicite. Sans lui, les quatre enfants de la carte se
 * rangeaient en zigzag : vignette et rubrique sur la premiere ligne,
 * titre sous la vignette, dans la colonne de 116 px.
 */
.ak-grille--dense .ak-carte__visuel {
	grid-column: 1;
	grid-row: 1 / span 3;
	aspect-ratio: 4 / 3;
	border-radius: var(--ak-r-s, 8px);
	margin: 0;
}
.ak-grille--dense .ak-carte__meta,
.ak-grille--dense .ak-carte__titre,
.ak-grille--dense .ak-carte__resume { grid-column: 2; }
.ak-grille--dense .ak-carte__meta { gap: 8px; }
.ak-grille--dense .ak-carte__titre {
	font-size: 17px;
	line-height: 1.34;
	margin: 6px 0 0;
}
.ak-grille--dense .ak-carte__resume {
	font-size: 14px;
	line-height: 1.5;
	margin: 5px 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ak-grille--dense .ak-carte:hover { transform: none; }

/* Sur deux colonnes, la premiere ligne de chaque colonne garde son trait :
   sans cela, le second article de la page apparaissait sans separateur. */
@media (min-width: 900px) {
	.ak-grille--dense .ak-carte:nth-child(2) { border-top: 1px solid var(--ak-trait); }
}

@media (max-width: 560px) {
	.ak-grille--dense .ak-carte { grid-template-columns: 92px minmax(0, 1fr); gap: 13px; padding: 15px 0; }
	.ak-grille--dense .ak-carte__titre { font-size: 15.5px; }
	.ak-grille--dense .ak-carte__resume { display: none; }
}

.ak-colonnes {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
	gap: clamp(28px, 4vw, 52px);
	align-items: start;
}
.ak-colonnes--large { grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); }

.ak-aside { display: flex; flex-direction: column; gap: 26px; position: sticky; top: 104px; }

/* Carte générique */
.ak-carte {
	display: flex;
	flex-direction: column;
	gap: 13px;
	color: var(--ak-encre);
}
.ak-carte__visuel {
	position: relative;
	display: block;
	border-radius: var(--ak-r-m);
	overflow: hidden;
	background: var(--ak-vert-pale);
	aspect-ratio: 16 / 10;
}
.ak-carte__visuel img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 620ms cubic-bezier(.22, .61, .36, 1);
}
.ak-carte:hover .ak-carte__visuel img { transform: scale(1.045); }
/*
 * Portrait en carte : cadrage carré plutôt que 4/5. Le 4/5 d'origine donnait
 * une vignette très haute qui, avec un seul portrait publié, occupait la
 * moitié de la section. Le visage reste centré grâce à object-fit: cover.
 */
.ak-carte--portrait .ak-carte__visuel { aspect-ratio: 1 / 1; }
.ak-carte--portrait { gap: 10px; }
.ak-carte--portrait .ak-carte__resume {
	font-size: 14.5px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ak-carte--carre .ak-carte__visuel { aspect-ratio: 1 / 1; }
.ak-carte__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ak-carte__date { font-size: 12.5px; font-weight: 600; color: var(--ak-encre-45); }
.ak-carte__titre {
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.22;
	margin: 0;
}
.ak-carte__titre a { color: inherit; }
.ak-carte:hover .ak-carte__titre a { color: var(--ak-vert-clair); }
.ak-carte__resume { font-size: 15px; line-height: 1.55; color: var(--ak-encre-60); margin: 0; }

.ak-visuel-vide {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--ak-encre-45);
}

/* Carte en liste */
.ak-liste-articles { display: flex; flex-direction: column; }
.ak-ligne {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 22px;
	padding: 22px 0;
	border-bottom: 1px solid rgba(118, 4, 22, .14);
	color: var(--ak-encre);
}
.ak-ligne:hover { color: var(--ak-vert-clair); }
.ak-ligne__date {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ak-encre-45);
	padding-top: 3px;
}
.ak-ligne__corps { display: flex; flex-direction: column; gap: 8px; }
.ak-ligne__titre { font-family: var(--ak-titre); font-weight: 600; font-size: 20px; line-height: 1.25; }
.ak-ligne__resume { font-size: 15.5px; line-height: 1.55; color: var(--ak-encre-60); }
.ak-ligne__source { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ak-vert-clair); }

/* Variante avec aperçu : liste des nouvelles en accueil, résultats de recherche. */
.ak-ligne--vignette { grid-template-columns: 168px minmax(0, 1fr); align-items: start; }
.ak-ligne--vignette .ak-ligne__corps { gap: 6px; }
.ak-ligne--vignette .ak-ligne__date { padding-top: 0; }
.ak-ligne__vignette {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border-radius: var(--ak-r-m);
	background: var(--ak-vert-pale);
}
.ak-ligne__vignette img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--ak-transition);
}
.ak-ligne:hover .ak-ligne__vignette img { transform: scale(1.05); }
.ak-ligne__vignette .ak-visuel-vide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ak-encre-45);
}

@media (max-width: 560px) {
	.ak-ligne--vignette { grid-template-columns: 108px minmax(0, 1fr); gap: 14px; }
	.ak-ligne--vignette .ak-ligne__titre { font-size: 17px; }
	.ak-ligne--vignette .ak-ligne__resume { display: none; }
}

/* À la une */
.ak-une { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(300px, 1fr); gap: clamp(28px, 4vw, 46px); }
.ak-une__visuel {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--ak-r-l);
	overflow: hidden;
	background: var(--ak-vert-pale);
}
.ak-une__visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms cubic-bezier(.22,.61,.36,1); }
.ak-une__visuel:hover img { transform: scale(1.03); }
.ak-une__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.ak-une__titre {
	font-size: clamp(30px, 3.9vw, 52px);
	font-weight: 800;
	line-height: 1.04;
	margin: 16px 0 0;
	text-wrap: pretty;
}
.ak-une__titre a { color: var(--ak-encre); }
.ak-une__titre a:hover { color: var(--ak-vert-clair); }
.ak-une__chapeau { font-size: 18px; line-height: 1.6; color: var(--ak-encre-60); margin: 16px 0 0; max-width: 62ch; }
.ak-une__auteur { display: flex; align-items: center; gap: 12px; margin-top: 24px; font-size: 14.5px; color: var(--ak-encre-60); }

.ak-avatar {
	display: grid;
	place-items: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 12.5px;
	flex: none;
}

.ak-classement { display: flex; flex-direction: column; }
.ak-classement__item {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(118, 4, 22, .14);
	color: var(--ak-encre);
}
.ak-classement__item:hover { color: var(--ak-vert-clair); }
.ak-classement__rang {
	display: grid; place-items: center;
	width: 28px; height: 28px; flex: none;
	border-radius: 50%;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 14px;
}
.ak-classement__corps { display: flex; flex-direction: column; gap: 5px; }
.ak-classement__titre { font-family: var(--ak-titre); font-weight: 600; font-size: 16px; line-height: 1.25; }

/* Bloc sombre */
.ak-bloc-vert {
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	border-radius: var(--ak-r-xl);
	padding: clamp(28px, 4vw, 52px);
}
.ak-bloc-vert h2, .ak-bloc-vert h3 { color: var(--ak-ivoire); }
.ak-bloc-vert p { color: rgba(251, 243, 236, .78); }

.ak-carte-blanche {
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	padding: 28px;
}
.ak-carte-blanche--verte { background: var(--ak-vert); color: var(--ak-ivoire); border-color: var(--ak-vert); }
.ak-carte-blanche--verte h3 { color: var(--ak-ivoire); }
.ak-carte-blanche--verte .ak-liste-check li::before { border-color: var(--ak-or); }
.ak-carte-blanche--verte input, .ak-carte-blanche--verte select { background: rgba(251, 243, 236, .1); border-color: rgba(251, 243, 236, .3); color: var(--ak-ivoire); }
.ak-carte-blanche--verte .ak-champ__label { color: rgba(251, 243, 236, .85); }
.ak-carte-blanche--verte .ak-champ__aide { color: rgba(251, 243, 236, .6); }
.ak-carte-blanche--verte .ak-consentement { color: rgba(251, 243, 236, .85); }

/* ------------------------------------------------------------------ 7. */
.ak-article { max-width: 780px; }
.ak-fil { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; font-weight: 600; color: var(--ak-encre-45); margin-bottom: 18px; }
.ak-article__titre { font-size: clamp(30px, 4vw, 50px); font-weight: 800; line-height: 1.05; margin: 16px 0 0; }
.ak-article__chapeau { font-size: 20px; line-height: 1.55; color: var(--ak-encre-60); margin: 18px 0 0; }
.ak-article__barre {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	margin-top: 28px;
	padding-block: 18px;
	border-top: 1px solid var(--ak-trait);
	border-bottom: 1px solid var(--ak-trait);
}
.ak-article__signature { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--ak-encre-60); }
.ak-article__signature strong { display: block; color: var(--ak-encre); }
.ak-partage { display: flex; align-items: center; gap: 8px; }
.ak-partage__lien {
	display: grid; place-items: center;
	width: 38px; height: 38px;
	border: 1px solid var(--ak-trait);
	border-radius: 50%;
	color: var(--ak-vert);
	background: transparent;
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-partage__lien:hover { background: var(--ak-vert); color: var(--ak-or); border-color: var(--ak-vert); }
.ak-partage__label {
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-encre-45);
	margin-right: 4px;
}
/* Sur le bandeau bordeaux de l'archive des podcasts. */
.ak-partage--clair { margin-top: 20px; }
.ak-partage--clair .ak-partage__label { color: rgba(251, 243, 236, .6); }
.ak-partage--clair .ak-partage__lien {
	border-color: rgba(251, 243, 236, .28);
	background: transparent;
	color: var(--ak-ivoire);
}
.ak-partage--clair .ak-partage__lien:hover {
	background: var(--ak-or);
	border-color: var(--ak-or);
	color: var(--ak-vert);
}

/* ------------------------------------------- Pochette de l'épisode ---
 * La pochette du dernier épisode sert de façade au lecteur vidéo : rien
 * n'est chargé chez YouTube tant que le visiteur n'a pas cliqué, et la
 * lecture s'ouvre dans la fenêtre flottante du site.
 */
.ak-podcast-pochette {
	border-radius: var(--ak-r-l);
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: rgba(251, 243, 236, .08);
}
.ak-podcast-pochette img { width: 100%; height: 100%; object-fit: cover; }
.ak-podcast-pochette__declencheur {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}
.ak-podcast-pochette__declencheur::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .45) 100%);
	opacity: 0;
	transition: opacity var(--ak-transition);
}
.ak-podcast-pochette__declencheur:hover::after,
.ak-podcast-pochette__declencheur:focus-visible::after { opacity: 1; }
.ak-podcast-pochette__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 68px;
	height: 68px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--ak-or);
	color: var(--ak-vert);
	box-shadow: var(--ak-ombre-l);
	transition: transform var(--ak-transition);
	z-index: 1;
}
.ak-podcast-pochette__declencheur:hover .ak-podcast-pochette__play { transform: scale(1.08); }

.ak-podcast-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* --------------------------------------------- Relevé des revenus expert ---
 * Le disponible se lit comme une soustraction : l'auteur voit d'où vient
 * chaque franc qu'il peut retirer, et ce qui en a déjà été déduit.
 */
.ak-releve {
	margin-top: 28px;
	padding: clamp(18px, 3vw, 26px);
	border-radius: var(--ak-r-l);
	background: var(--ak-creme);
	border: 1px solid var(--ak-trait);
}
.ak-releve__lignes { margin: 14px 0 0; display: grid; gap: 0; }
.ak-releve__lignes div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--ak-trait);
}
.ak-releve__lignes dt { font-size: 14.5px; color: var(--ak-encre-60); min-width: 0; }
.ak-releve__lignes dd { margin: 0; font-family: var(--ak-titre); font-weight: 700; font-size: 15.5px; white-space: nowrap; }
.ak-releve__lignes .is-moins dd { color: var(--ak-encre-60); }
.ak-releve__lignes .is-total { border-bottom: 0; border-top: 2px solid var(--ak-bordeaux); margin-top: 4px; padding-top: 12px; }
.ak-releve__lignes .is-total dt { color: var(--ak-encre); font-weight: 700; }
.ak-releve__lignes .is-total dd { font-size: 20px; color: var(--ak-bordeaux); }

/* Historique des retraits : une fiche par demande ou versement. */
.ak-historique-retraits { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ak-historique-retraits__ligne {
	padding: 14px 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
}
.ak-historique-retraits__tete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ak-historique-retraits__tete span { min-width: 0; }
.ak-historique-retraits__tete span strong { font-family: var(--ak-titre); font-size: 15px; }
.ak-historique-retraits__tete small { display: block; font-size: 12.5px; color: var(--ak-encre-45); letter-spacing: .02em; }
.ak-historique-retraits__montant { font-family: var(--ak-titre); font-size: 17px; color: var(--ak-bordeaux); white-space: nowrap; }
.ak-historique-retraits__montant.is-barre { text-decoration: line-through; color: var(--ak-encre-45); }
.ak-historique-retraits__detail {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
	gap: 10px 18px;
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid rgba(118, 4, 22, .08);
}
.ak-historique-retraits__detail dt { font-size: 12px; color: var(--ak-encre-45); }
.ak-historique-retraits__detail dd { margin: 2px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.ak-historique-retraits__ligne .ak-note-fine { margin: 10px 0 0; }
.ak-badge-statut--refuse { background: rgba(180, 69, 30, .14); color: var(--ak-alerte); }

/* ------------------------------------------------ Demande de versement ---
 * Le bloc doit se distinguer du reste du tableau de bord : c'est le seul
 * endroit de l'espace où l'auteur engage de l'argent.
 */
.ak-retrait {
	margin-top: 28px;
	padding: clamp(20px, 3vw, 28px);
	border-radius: var(--ak-r-l);
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	box-shadow: var(--ak-ombre-s);
}
.ak-retrait__titre {
	font-family: var(--ak-titre);
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}
.ak-retrait__montant {
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1.1;
	color: var(--ak-bordeaux, var(--ak-vert));
	margin: 10px 0 0;
}
.ak-retrait__detail {
	font-size: 15px;
	line-height: 1.55;
	color: var(--ak-encre-60);
	margin: 8px 0 0;
	max-width: 62ch;
}
.ak-retrait__form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ak-retrait__form input[type="text"] {
	flex: 1 1 240px;
	min-width: 0;
	padding: 11px 14px;
	border-radius: var(--ak-r-s);
	border: 1px solid var(--ak-trait);
	font-family: var(--ak-texte);
	font-size: 15px;
}
.ak-retrait__form--confirme { display: block; }
.ak-retrait__form--confirme .ak-fiche { margin: 16px 0; }

/* La case de confirmation est la dernière barrière avant une erreur
   coûteuse : elle se voit, elle ne se coche pas par inadvertance. */
.ak-retrait__confirme {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: var(--ak-r-s);
	background: var(--ak-vert-pale);
	font-size: 14.5px;
	line-height: 1.5;
	cursor: pointer;
}
.ak-retrait__confirme input { margin-top: 3px; flex: none; }

.ak-retrait__coordonnees { margin-top: 18px; }
.ak-retrait__coordonnees summary {
	cursor: pointer;
	font-size: 14px;
	color: var(--ak-encre-45);
}
.ak-retrait__regle {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--ak-trait);
}

/* ------------------------------------------------ Numéro à paraître ---
 * Le prix reste affiché, mais rien ne se vend : la pastille dit pourquoi.
 * Sur la couverture, elle se pose en bas à gauche, comme sur l'affiche.
 */
.ak-parution {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 15px;
	border-radius: 999px;
	background: var(--ak-sarcelle, #2C7A7B);
	color: #fff;
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ak-parution::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	animation: ak-pulse 2.4s ease-in-out infinite;
}
@keyframes ak-pulse {
	0%, 100% { opacity: 1; }
	50%      { opacity: .35; }
}

/* Sur le bandeau bordeaux, la pastille passe à l'ambre. */
.ak-parution--clair {
	background: var(--ak-or);
	color: var(--ak-vert);
	margin-top: 14px;
}

/* Posée sur la couverture, dans la grille des numéros. */
.ak-parution--sur-visuel {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 2;
	box-shadow: var(--ak-ombre-m);
}
.ak-produit--attendu .ak-produit__visuel { position: relative; }

/* La couverture d'un numéro non paru reste pleinement lisible : pas de
   voile, pas de grisé — c'est un objet de désir, pas une erreur. */
.ak-produit--attendu .ak-produit__prix::after {
	content: 'à la parution';
	display: block;
	font-family: var(--ak-texte);
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ak-encre-45);
}

/* ------------------------------------------------- Étape de paiement ---
 * Le module de la passerelle s'insère dans .ak-feexpay__rendu ; le reste
 * n'est là que pour l'accueillir proprement et dire ce qui se passe si
 * rien ne se charge.
 */
.ak-feexpay { margin: 22px 0; }
.ak-feexpay__rendu:not(:empty) { margin-bottom: 14px; }
.ak-feexpay__erreur {
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: var(--ak-r-m);
	background: rgba(179, 45, 46, .08);
	border: 1px solid rgba(179, 45, 46, .3);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ak-alerte, #b32d2e);
}
.ak-feexpay__erreur[hidden] { display: none; }
.ak-tunnel__intro { font-size: 16.5px; line-height: 1.6; color: var(--ak-encre-60); margin: 14px 0 0; max-width: 60ch; }

/* Couverture : contenue dans la colonne de texte, jamais plein écran. */
.ak-article__visuel {
	margin: 28px 0 0;
	border-radius: var(--ak-r-l);
	overflow: hidden;
	max-height: 460px;
	background: var(--ak-vert-pale);
}
.ak-article__visuel img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; }
.ak-article__legende { font-size: 13.5px; color: var(--ak-encre-45); margin-top: 10px; }

/* Images d'illustration insérées dans le corps de l'article. */
.ak-figure {
	margin: 32px 0;
	border-radius: var(--ak-r-m);
	overflow: hidden;
}
/*
 * Pas d'agrandissement : une image plus petite que la colonne s'affiche à sa
 * taille réelle, centrée, plutôt qu'étirée et floue. Les logos et les visuels
 * de petite taille restent ainsi nets.
 */
.ak-figure img {
	width: auto;
	max-width: 100%;
	max-height: 430px;
	margin-inline: auto;
	display: block;
}
.ak-figure figcaption {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--ak-encre-45);
	padding: 10px 2px 0;
}

.ak-contenu { font-size: 18px; line-height: 1.72; color: var(--ak-encre); margin-top: 34px; }
.ak-contenu h2 { font-size: clamp(24px, 2.6vw, 30px); margin-top: 1.6em; }
.ak-contenu h3 { font-size: clamp(20px, 2.1vw, 24px); margin-top: 1.4em; }
.ak-contenu img { border-radius: var(--ak-r-m); margin-block: 1.4em; }
.ak-contenu ul, .ak-contenu ol { padding-left: 24px; }
.ak-contenu li { margin-bottom: .55em; }
.ak-contenu a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }

/* ------------------------------------------- Pages larges : le texte ---
 * Une page pleine largeur a besoin de sa largeur pour ses composants —
 * grille d'offres, cartes, formulaires — mais surement pas pour sa prose.
 * Le texte se recentre sur une mesure lisible ; tout ce qui est bloc
 * fonctionnel reprend la pleine largeur.
 */
.ak-contenu-large {
	font-size: 17px;
	line-height: 1.72;
	color: var(--ak-encre);
	margin-top: 30px;
}
.ak-contenu-large > p,
.ak-contenu-large > h2,
.ak-contenu-large > h3,
.ak-contenu-large > h4,
.ak-contenu-large > ul,
.ak-contenu-large > ol,
.ak-contenu-large > blockquote,
.ak-contenu-large > .ak-encadre,
.ak-contenu-large > figure {
	max-width: 74ch;
	margin-left: auto;
	margin-right: auto;
}
.ak-contenu-large > h2 {
	font-size: clamp(23px, 2.4vw, 29px);
	margin-top: 1.7em;
	margin-bottom: .5em;
}
.ak-contenu-large > h3 { font-size: clamp(19px, 2vw, 23px); margin-top: 1.5em; }
.ak-contenu-large > p { margin-bottom: 1.1em; }
.ak-contenu-large > ul,
.ak-contenu-large > ol { padding-left: 24px; }
.ak-contenu-large li { margin-bottom: .55em; }
.ak-contenu-large a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.ak-contenu-large .ak-encadre li:last-child { margin-bottom: 0; }
.ak-contenu-large .ak-chapeau {
	font-size: 19px;
	line-height: 1.6;
	color: var(--ak-encre-60);
}
/* Le premier titre ne doit pas etre pousse par sa marge du haut. */
.ak-contenu-large > *:first-child { margin-top: 0; }

/* Tableaux de données dans le corps d'un article ou d'une fiche. */
.ak-contenu table {
	width: 100%;
	margin: 30px 0;
	border-collapse: collapse;
	font-size: 16px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	overflow: hidden;
}
.ak-contenu caption {
	caption-side: top;
	text-align: left;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-encre-45);
	padding-bottom: 10px;
}
.ak-contenu thead th {
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 14px;
	text-align: left;
}
.ak-contenu th,
.ak-contenu td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--ak-trait);
	vertical-align: top;
}
.ak-contenu tbody tr:last-child td { border-bottom: 0; }
.ak-contenu tbody tr:nth-child(even) { background: var(--ak-vert-pale); }
.ak-contenu tbody td:first-child { font-weight: 600; }

/* ------------------------------------------------ Tableau comparatif ---
 * Un tableau de quatre colonnes de texte est illisible sur un téléphone,
 * qu'il déborde ou qu'il défile. Enveloppé dans .ak-tableau-defilant, il
 * défile sur les écrans intermédiaires puis se replie en cartes empilées
 * sur mobile : chaque ligne devient une fiche, chaque cellule reprend
 * l'intitulé de sa colonne. Les cellules portent pour cela un attribut
 * data-libelle dans le contenu.
 */
/* Mention obligatoire encore absente : elle doit se voir, pas se fondre
   dans le texte, sinon elle part en production telle quelle. */
.ak-a-completer {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	background: rgba(247, 180, 56, .28);
	border: 1px dashed var(--ak-or);
	font-family: var(--ak-titre);
	font-size: 13px;
	font-weight: 700;
	color: var(--ak-bordeaux, var(--ak-vert));
}

.ak-tableau-defilant { margin: 30px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ak-tableau-defilant table { margin: 0; min-width: 640px; }

@media (max-width: 720px) {
	.ak-tableau-defilant { overflow: visible; }
	.ak-tableau-defilant table {
		min-width: 0;
		display: block;
		border: 0;
		background: transparent;
		border-radius: 0;
	}
	.ak-tableau-defilant thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
	}
	.ak-tableau-defilant tbody { display: block; }
	.ak-tableau-defilant tbody tr {
		display: block;
		margin-bottom: 16px;
		padding: 6px 0;
		background: var(--ak-blanc);
		border: 1px solid var(--ak-trait);
		border-radius: var(--ak-r-m);
	}
	.ak-tableau-defilant tbody tr:nth-child(even) { background: var(--ak-blanc); }
	.ak-tableau-defilant tbody td {
		display: block;
		padding: 10px 16px;
		border-bottom: 0;
		font-size: 15px;
		line-height: 1.5;
	}
	.ak-tableau-defilant tbody td::before {
		content: attr(data-libelle);
		display: block;
		margin-bottom: 3px;
		font-family: var(--ak-titre);
		font-weight: 700;
		font-size: 10.5px;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--ak-encre-45);
	}
	/* La première cellule fait office de titre de fiche. */
	.ak-tableau-defilant tbody td:first-child {
		padding-top: 14px;
		font-family: var(--ak-titre);
		font-weight: 700;
		font-size: 17px;
		color: var(--ak-bordeaux, var(--ak-vert));
	}
	.ak-tableau-defilant tbody td:first-child::before { content: none; }
	.ak-tableau-defilant tbody td + td { border-top: 1px solid var(--ak-trait); }
	.ak-tableau-defilant caption { padding-bottom: 14px; }
}

.ak-lecture-barre {
	position: fixed;
	top: 0; left: 0;
	height: 3px;
	width: 0;
	background: var(--ak-or);
	z-index: 100;
	transition: width 90ms linear;
}

.ak-paywall {
	margin-top: 40px;
	padding: clamp(28px, 4vw, 44px);
	border-radius: var(--ak-r-xl);
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	text-align: center;
	position: relative;
}
.ak-paywall::before {
	content: "";
	position: absolute;
	top: -110px; left: 0; right: 0;
	height: 110px;
	background: linear-gradient(to bottom, rgba(253, 249, 245, 0), var(--ak-creme));
	pointer-events: none;
}
.ak-paywall__titre { font-size: clamp(23px, 2.8vw, 30px); font-weight: 800; margin: 14px 0 0; color: var(--ak-ivoire); }
.ak-paywall__texte { font-size: 16px; color: rgba(251, 243, 236, .76); margin: 12px auto 0; max-width: 54ch; }
.ak-paywall__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 26px; }
.ak-paywall__connexion { margin-top: 18px; font-size: 14px; color: rgba(251, 243, 236, .7); }
.ak-paywall__connexion a { color: var(--ak-or); text-decoration: underline; }

.ak-bio {
	margin-top: 44px;
	padding: 26px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	background: var(--ak-blanc);
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

/* Chiffres clés d'un portrait */
.ak-chiffres {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 20px;
	margin: 30px 0;
	padding: 26px;
	border-radius: var(--ak-r-l);
	background: var(--ak-vert-pale);
}
.ak-chiffre__valeur { font-family: var(--ak-titre); font-weight: 800; font-size: 32px; color: var(--ak-vert); line-height: 1; }
.ak-chiffre__label { font-size: 14px; color: var(--ak-encre-60); margin-top: 6px; }

/* Fiches (deals, opportunités) */
.ak-fiche-carte {
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	background: var(--ak-blanc);
	overflow: hidden;
	transition: border-color var(--ak-transition), box-shadow var(--ak-transition), transform var(--ak-transition);
}
.ak-fiche-carte:hover { border-color: rgba(118, 4, 22, .32); box-shadow: var(--ak-ombre-m); transform: translateY(-2px); }
.ak-fiche-carte__haut { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 28px; align-items: start; }
.ak-fiche-carte__titre { font-size: 22px; font-weight: 700; margin: 12px 0 0; }
.ak-fiche-carte__resume { font-size: 15.5px; line-height: 1.55; color: var(--ak-encre-60); margin: 10px 0 0; }
.ak-fiche-carte__actions { display: flex; flex-direction: column; gap: 10px; min-width: 170px; }
.ak-fiche-carte__visuel {
	display: block;
	aspect-ratio: 16 / 6;
	margin-bottom: 16px;
	border-radius: var(--ak-r-m);
	overflow: hidden;
	background: var(--ak-vert-pale);
}
.ak-fiche-carte__visuel img { width: 100%; height: 100%; object-fit: cover; }
/* Couverture typographique : le titre est dans l'image, on ne rogne pas. */
.ak-fiche-carte__visuel--entier { aspect-ratio: 16 / 9; margin-bottom: 0; }

/* ------------------------------------------------ Fiche de dossier ---
 * La fiche empilait couverture, texte puis chiffres : 747 px de haut sur
 * ordinateur, 1 006 px sur telephone, soit plus d'un ecran pour un seul
 * dossier. La couverture passe a cote du texte et les chiffres se rangent
 * sur deux colonnes.
 *
 * La mise en page depend de la largeur de la FICHE, pas de celle de
 * l'ecran : la meme carte occupe 746 px dans la bande de l'accueil et
 * 1 170 px sur la page Deals. Une media query se serait trompee dans un
 * cas sur deux — d'ou la requete de conteneur.
 */
.ak-fiche-carte--deal { container-type: inline-size; }

/*
 * Composition en deux colonnes : couverture puis boutons a gauche, texte et
 * chiffres a droite. Avant, la couverture etait centree verticalement dans
 * une colonne bien plus haute qu'elle : elle flottait au milieu, avec du
 * vide au-dessus et au-dessous, pendant que les boutons s'etiraient sur
 * toute la largeur en bas. La fiche paraissait desordonnee.
 */
.ak-fiche-carte--deal .ak-fiche-carte__haut {
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 16px 22px;
	padding: 22px;
	align-items: start;
}
.ak-fiche-carte--deal .ak-fiche-carte__visuel { grid-column: 1; grid-row: 1; }
.ak-fiche-carte--deal .ak-fiche-carte__haut > div:not(.ak-fiche-carte__actions) {
	grid-column: 2;
	grid-row: 1 / span 2;
}
.ak-fiche-carte--deal .ak-fiche-carte__titre { font-size: 19px; margin-top: 8px; }
.ak-fiche-carte--deal .ak-fiche-carte__resume { font-size: 14.5px; margin-top: 7px; }
.ak-fiche-carte--deal .ak-donnees {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin-top: 14px;
	padding-top: 14px;
}
.ak-fiche-carte--deal .ak-fiche-carte__actions {
	grid-column: 1;
	grid-row: 2;
	flex-direction: column;
	align-self: end;
	min-width: 0;
}

/* Fiche large : trois colonnes, chacune alignee en haut. */
@container (min-width: 900px) {
	.ak-fiche-carte--deal .ak-fiche-carte__haut {
		grid-template-columns: minmax(0, 300px) minmax(0, 1fr) auto;
		grid-template-rows: auto;
	}
	.ak-fiche-carte--deal .ak-fiche-carte__haut > div:not(.ak-fiche-carte__actions) {
		grid-column: 2;
		grid-row: 1;
	}
	.ak-fiche-carte--deal .ak-fiche-carte__actions {
		grid-column: 3;
		grid-row: 1;
		align-self: start;
		min-width: 160px;
	}
}

/* Fiche etroite : tout s'empile. */
@container (max-width: 520px) {
	.ak-fiche-carte--deal .ak-fiche-carte__haut {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		gap: 14px;
		padding: 16px;
	}
	.ak-fiche-carte--deal .ak-fiche-carte__visuel,
	.ak-fiche-carte--deal .ak-fiche-carte__haut > div:not(.ak-fiche-carte__actions),
	.ak-fiche-carte--deal .ak-fiche-carte__actions {
		grid-column: 1;
		grid-row: auto;
	}
	.ak-fiche-carte--deal .ak-fiche-carte__actions { flex-direction: row; align-self: auto; }
	.ak-fiche-carte--deal .ak-fiche-carte__actions { gap: 8px; }
	.ak-fiche-carte--deal .ak-fiche-carte__actions .ak-btn { flex: 1 1 118px; padding-left: 12px; padding-right: 12px; }

	/*
	 * Les quatre chiffres du dossier sur deux colonnes de 130 px : une
	 * contrepartie comme « prise de participation minoritaire » y tenait sur
	 * quatre lignes et le bloc montait a 261 px. Une ligne par donnee, le
	 * libelle a gauche et la valeur a droite, tient dans 176 px.
	 */
	.ak-fiche-carte--deal .ak-donnees {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
	.ak-fiche-carte--deal .ak-donnees > div {
		display: grid;
		grid-template-columns: 5.6em minmax(0, 1fr);
		gap: 10px;
		align-items: baseline;
		padding: 6px 0;
		border-top: 1px solid var(--ak-trait);
	}
	.ak-fiche-carte--deal .ak-donnees > div:first-child { border-top: 0; padding-top: 0; }
	.ak-fiche-carte--deal .ak-donnee__valeur { text-align: right; font-size: 13.5px; line-height: 1.35; }
}
.ak-fiche-carte__detail { padding: 26px 28px; background: var(--ak-vert-pale); border-top: 1px solid var(--ak-trait); }
.ak-fiche-carte__detail[hidden] { display: none; }

.ak-donnees {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 18px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--ak-trait);
}
.ak-donnee__label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-encre-45); }
.ak-donnee__valeur { font-family: var(--ak-titre); font-weight: 700; font-size: 17px; margin-top: 4px; }
.ak-donnee__valeur--vert { color: var(--ak-vert-clair); }

.ak-urgence { font-size: 12.5px; font-weight: 700; color: var(--ak-encre-45); }
.ak-urgence--proche { color: var(--ak-alerte); }

.ak-fiche { display: grid; gap: 14px; margin: 20px 0; }
.ak-fiche > div { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--ak-trait); }
.ak-fiche dt { font-size: 13.5px; color: var(--ak-encre-45); margin: 0; }
.ak-fiche dd { margin: 0; font-weight: 600; text-align: right; }

/* Candidature */
.ak-candidature {
	margin-top: 40px;
	padding: clamp(26px, 3.4vw, 40px);
	border-radius: var(--ak-r-xl);
	background: var(--ak-vert);
	color: var(--ak-ivoire);
}
.ak-candidature__titre { font-size: clamp(23px, 2.7vw, 30px); font-weight: 800; margin: 12px 0 0; color: var(--ak-ivoire); }
.ak-candidature__note { font-size: 16px; line-height: 1.6; color: rgba(251, 243, 236, .8); margin: 14px 0 0; max-width: 68ch; }
.ak-candidature__pieces { margin-top: 26px; }
.ak-candidature__pieces h3 { font-size: 17px; color: var(--ak-or); }
.ak-candidature .ak-liste-check li::before { border-color: var(--ak-or); }
.ak-candidature__form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 14px;
	margin-top: 24px;
}
.ak-candidature__form .ak-champ { grid-column: 1 / -1; }
.ak-candidature__form .ak-champ--moitie { grid-column: auto; }
.ak-candidature__form input,
.ak-candidature__form textarea {
	background: rgba(251, 243, 236, .1);
	border-color: rgba(251, 243, 236, .28);
	color: var(--ak-ivoire);
}
.ak-candidature__form .ak-champ__label { color: rgba(251, 243, 236, .88); }
.ak-candidature__form .ak-champ__aide { color: rgba(251, 243, 236, .58); }
.ak-candidature__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.ak-candidature__actions .ak-btn--ghost { border-color: rgba(251, 243, 236, .4); color: var(--ak-ivoire); }
.ak-candidature__actions .ak-btn--ghost:hover { background: var(--ak-or); color: var(--ak-vert); border-color: var(--ak-or); }
.ak-candidature__contact { grid-column: 1 / -1; font-size: 14.5px; color: rgba(251, 243, 236, .78); }
.ak-candidature__contact a { color: var(--ak-or); }

.ak-lien-doc {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	font-weight: 700;
	font-size: 14.5px;
	color: var(--ak-or);
}

/* Produit */
.ak-produit {
	display: flex;
	flex-direction: column;
	gap: 13px;
	padding: 20px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	transition: transform var(--ak-transition), box-shadow var(--ak-transition), border-color var(--ak-transition);
}
.ak-produit:hover { transform: translateY(-3px); box-shadow: var(--ak-ombre-m); border-color: rgba(118, 4, 22, .3); }
.ak-produit__visuel {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--ak-r-s);
	overflow: hidden;
	background: var(--ak-vert-pale);
}
.ak-produit__visuel img { width: 100%; height: 100%; object-fit: cover; }
.ak-produit__flag {
	position: absolute; top: 10px; left: 10px;
	padding: 4px 10px; border-radius: 5px;
	background: var(--ak-or); color: var(--ak-vert);
	font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.ak-produit__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ak-produit__format { font-size: 12.5px; font-weight: 600; color: var(--ak-encre-45); }
.ak-produit__titre { font-size: 18.5px; font-weight: 700; line-height: 1.22; margin: 0; }
.ak-produit__resume { font-size: 14.5px; line-height: 1.5; color: var(--ak-encre-60); margin: 0; }
.ak-produit__pied {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(118, 4, 22, .12);
}
.ak-produit__prix { font-family: var(--ak-titre); font-weight: 800; font-size: 20px; }
.ak-produit__prix del { font-size: 14px; font-weight: 600; color: var(--ak-encre-45); margin-left: 6px; }

/* Produits de la boutique insérés dans un article */
.ak-produits-article { margin: 34px 0; }
.ak-produits-article__titre {
	margin: 0 0 14px;
	font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--ak-vert);
}
.ak-produits-article__grille { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 560px) {
	.ak-produits-article__grille--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ak-produits-article__grille--1 { max-width: 360px; }
}
.ak-contenu .ak-produits-article a { text-decoration: none; }
.ak-contenu .ak-produit__titre { margin: 0; font-size: 18px; }
.ak-contenu .ak-produit__visuel img { margin: 0; border-radius: 0; }

/* Partage en fin d'article */
.ak-article__partage-fin {
	margin-top: 36px;
	padding: 18px 0;
	border-top: 1px solid var(--ak-trait);
	border-bottom: 1px solid var(--ak-trait);
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
}
.ak-article__partage-titre { margin: 0; font-family: var(--ak-titre); font-weight: 700; font-size: 17px; }

/* Podcast */
.ak-lecteur {
	margin-top: 28px;
	padding: 22px;
	border-radius: var(--ak-r-m);
	background: rgba(251, 243, 236, .08);
	border: 1px solid rgba(251, 243, 236, .18);
}
.ak-lecteur__ligne { display: flex; align-items: center; gap: 18px; }
.ak-lecteur__play {
	width: 56px; height: 56px; flex: none;
	border: none; border-radius: 50%;
	background: var(--ak-or); color: var(--ak-vert);
	display: grid; place-items: center;
	cursor: pointer;
	transition: transform var(--ak-transition);
}
.ak-lecteur__play:hover { transform: scale(1.06); }
.ak-lecteur__barre { flex: 1; min-width: 0; }
.ak-progression { height: 6px; border-radius: 999px; background: rgba(251, 243, 236, .22); overflow: hidden; }
.ak-progression span { display: block; height: 100%; border-radius: 999px; background: var(--ak-or); transition: width .3s linear; }
.ak-lecteur__temps { display: flex; justify-content: space-between; margin-top: 10px; font-size: 13px; color: rgba(251, 243, 236, .7); font-variant-numeric: tabular-nums; }

.ak-episode {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 20px 18px;
	border-bottom: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	transition: background var(--ak-transition);
}
.ak-episode:hover { background: var(--ak-vert-pale); }
.ak-episode__play {
	width: 44px; height: 44px; flex: none;
	border: none; border-radius: 50%;
	background: var(--ak-vert-pale); color: var(--ak-vert);
	display: grid; place-items: center; cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-episode__play:hover { background: var(--ak-vert); color: var(--ak-or); }
.ak-episode__corps { flex: 1; min-width: 0; }
.ak-episode__titre { font-family: var(--ak-titre); font-weight: 600; font-size: 19px; line-height: 1.25; margin: 8px 0 0; }
.ak-episode__duree { font-size: 14px; font-weight: 600; color: var(--ak-encre-45); font-variant-numeric: tabular-nums; flex: none; }

/* ------------------------------------------------------------------ 8. */
.ak-form { max-width: 760px; }
.ak-form--compact { max-width: none; }
.ak-form__entete { margin-bottom: 26px; }
.ak-form__titre { font-size: clamp(26px, 3.2vw, 38px); font-weight: 800; margin: 10px 0 0; }
.ak-form__intro { font-size: 16.5px; line-height: 1.6; color: var(--ak-encre-60); margin: 12px 0 0; max-width: 66ch; }

.ak-form__corps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.ak-form__section {
	grid-column: 1 / -1;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-vert-clair);
	margin: 20px 0 -4px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--ak-trait);
}
.ak-form__section:first-child { margin-top: 0; }

.ak-champ { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 7px; }
.ak-champ--moitie { grid-column: span 1; }
.ak-champ--checkbox { margin-top: 2px; }

.ak-champ__label { font-size: 14px; font-weight: 600; color: var(--ak-encre); }
.ak-champ__requis { color: var(--ak-alerte); }
.ak-champ__aide { font-size: 13px; color: var(--ak-encre-45); line-height: 1.5; }

.ak-champ input[type="text"],
.ak-champ input[type="email"],
.ak-champ input[type="tel"],
.ak-champ input[type="url"],
.ak-champ input[type="date"],
.ak-champ input[type="number"],
.ak-champ input[type="password"],
.ak-champ select,
.ak-champ textarea,
.ak-newsletter__ligne input,
.ak-newsletter__ligne select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-s);
	background: var(--ak-blanc);
	color: var(--ak-encre);
	font-size: 15.5px;
	outline: none;
	transition: border-color var(--ak-transition), box-shadow var(--ak-transition);
}
.ak-champ input:focus,
.ak-champ select:focus,
.ak-champ textarea:focus {
	border-color: var(--ak-vert);
	box-shadow: 0 0 0 4px rgba(118, 4, 22, .1);
}
.ak-champ textarea { resize: vertical; line-height: 1.6; }
.ak-champ input:disabled { background: rgba(118, 4, 22, .05); color: var(--ak-encre-45); }

.ak-choix { display: flex; flex-direction: column; gap: 10px; }
.ak-choix--grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.ak-choix__item {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 13px 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-s);
	background: var(--ak-blanc);
	font-size: 15px;
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-choix__item:hover { border-color: var(--ak-vert); }
.ak-choix__item:has(input:checked) { border-color: var(--ak-vert); background: var(--ak-vert-pale); }

.ak-options { display: grid; gap: 10px; }
.ak-options__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 15px 18px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-s);
	background: var(--ak-blanc);
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-options__item:has(input:checked) { border-color: var(--ak-vert); background: var(--ak-vert-pale); }
.ak-options__label { font-size: 15px; font-weight: 500; }
.ak-options__prix { font-family: var(--ak-titre); font-weight: 700; font-size: 15px; color: var(--ak-vert-clair); white-space: nowrap; }

/*
 * Case à cocher d'un formulaire : « J'accepte », « Je certifie ». À ne pas
 * confondre avec .ak-bandeau-cookies, le bandeau de consentement aux
 * traceurs. Les deux ont porté le même nom : le bandeau, déclaré plus bas,
 * l'emportait et arrachait chaque case de son formulaire pour la coller en
 * bas de l'écran, sans pointer-events. Aucune case n'était plus cliquable.
 * tester-collisions-css.py surveille ce genre de télescopage.
 */
.ak-consentement {
	grid-column: 1 / -1;
	display: flex;
	gap: 11px;
	align-items: flex-start;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--ak-encre-60);
	cursor: pointer;
}
.ak-consentement input { margin-top: .25em; flex: none; }

.ak-fichier { position: relative; }
.ak-fichier input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }

/*
 * Un champ de fichier non habille impose sa largeur native — « Choisir un
 * fichier / Aucun fichier selectionne » fait 339 px en francais. Place dans
 * une grille, il tirait toute la colonne a 339 px et le formulaire de
 * contact debordait des ecrans de 320 px. Il doit pouvoir se retrecir.
 */
.ak-champ { min-width: 0; }
.ak-champ input[type="file"] { max-width: 100%; }
.ak-fichier__faux {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1.5px dashed var(--ak-trait);
	border-radius: var(--ak-r-s);
	background: var(--ak-blanc);
	transition: border-color var(--ak-transition);
}
.ak-fichier:hover .ak-fichier__faux { border-color: var(--ak-vert); }
.ak-fichier__bouton {
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.ak-fichier__nom { font-size: 13.5px; color: var(--ak-encre-45); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ak-form__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 26px;
	padding: 20px 24px;
	border-radius: var(--ak-r-m);
	background: var(--ak-vert-pale);
}
.ak-form__total-label { font-size: 15px; font-weight: 600; }
.ak-form__total-valeur { font-family: var(--ak-titre); font-weight: 800; font-size: 26px; color: var(--ak-vert); }

.ak-form__pied { margin-top: 22px; }
.ak-form__mention { font-size: 13.5px; color: var(--ak-encre-45); margin-top: 14px; text-align: center; line-height: 1.6; }

/* Newsletter */
.ak-newsletter { position: relative; }
.ak-newsletter--large {
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	padding: clamp(44px, 6vw, 80px) var(--ak-gouttiere);
	text-align: center;
	border-radius: var(--ak-r-xl);
}

/* En pleine largeur (accueil), les coins se suppriment d'eux-mêmes. */
.ak-accueil > .ak-newsletter--large,
.ak-principal > .ak-newsletter--large { border-radius: 0; }
.ak-newsletter--large .ak-newsletter__contenu { max-width: 780px; margin-inline: auto; }
/*
 * Le titre du Brief tient sur deux lignes ; « text-wrap: balance » les
 * équilibre au lieu de laisser un mot seul en bas, et la légère réduction de
 * taille garde la même hauteur de bloc qu'avec l'ancien titre, plus court.
 */
.ak-newsletter__titre {
	font-size: clamp(27px, 3.6vw, 44px);
	font-weight: 800;
	line-height: 1.06;
	margin: 16px 0 0;
	color: inherit;
	text-wrap: balance;
	max-width: 20ch;
	margin-inline: auto;
}
.ak-newsletter--compact .ak-newsletter__titre { max-width: none; margin-inline: 0; }
.ak-newsletter__texte { font-size: 17.5px; line-height: 1.6; margin: 16px auto 0; max-width: 58ch; }
.ak-newsletter--large .ak-newsletter__texte { color: rgba(251, 243, 236, .78); }
.ak-newsletter__ligne {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 30px;
}
.ak-newsletter--large .ak-newsletter__ligne input,
.ak-newsletter--large .ak-newsletter__ligne select {
	background: rgba(251, 243, 236, .09);
	border-color: rgba(251, 243, 236, .28);
	color: var(--ak-ivoire);
	border-radius: 999px;
	padding: 16px 22px;
}
.ak-newsletter--large .ak-newsletter__ligne input::placeholder { color: rgba(251, 243, 236, .5); }
.ak-newsletter__ligne input { flex: 1; min-width: 250px; }
.ak-newsletter__ligne select { min-width: 210px; flex: 0 1 auto; }
.ak-newsletter__note { font-size: 13.5px; margin-top: 16px; }
.ak-newsletter--large .ak-newsletter__note { color: rgba(251, 243, 236, .58); }
.ak-newsletter__note.is-succes { color: var(--ak-or); font-weight: 600; }
.ak-newsletter__note.is-erreur { color: #FFB59B; font-weight: 600; }

.ak-newsletter--compact {
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	border-radius: var(--ak-r-l);
	padding: 28px;
	text-align: left;
}
.ak-newsletter--compact .ak-newsletter__titre { font-size: 21px; line-height: 1.18; }
.ak-newsletter--compact .ak-newsletter__texte { font-size: 15px; margin-left: 0; }
.ak-newsletter--compact .ak-newsletter__ligne { flex-direction: column; }
.ak-newsletter--compact .ak-newsletter__ligne input,
.ak-newsletter--compact .ak-newsletter__ligne select {
	background: rgba(251, 243, 236, .1);
	border-color: rgba(251, 243, 236, .28);
	color: var(--ak-ivoire);
	min-width: 0;
	width: 100%;
}
.ak-newsletter--compact .ak-btn { width: 100%; }

.ak-newsletter__secteurs {
	border: none;
	margin: 18px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}
.ak-newsletter__secteurs legend { font-size: 13px; margin-bottom: 10px; opacity: .7; }

.ak-puce-check { cursor: pointer; }
.ak-puce-check input { position: absolute; opacity: 0; }
.ak-puce-check span {
	display: inline-block;
	padding: 8px 15px;
	border: 1px solid var(--ak-trait);
	border-radius: 999px;
	font-size: 13.5px;
	transition: all var(--ak-transition);
}
.ak-puce-check input:checked + span { background: var(--ak-vert); border-color: var(--ak-vert); color: var(--ak-or); }
.ak-newsletter--large .ak-puce-check span { border-color: rgba(251, 243, 236, .3); color: rgba(251, 243, 236, .85); }
.ak-newsletter--large .ak-puce-check input:checked + span { background: var(--ak-or); color: var(--ak-vert); border-color: var(--ak-or); }

/* ------------------------------------------------------------------ 9. */
.ak-etapes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0 0 34px;
	padding: 0;
}
.ak-etapes li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px 10px 10px;
	border-radius: 999px;
	background: var(--ak-vert-pale);
	color: var(--ak-encre-45);
	font-size: 14px;
	font-weight: 600;
}
.ak-etapes li span {
	display: grid; place-items: center;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: rgba(118, 4, 22, .16);
	color: var(--ak-vert);
	font-size: 13px;
	font-weight: 800;
}
.ak-etapes li.is-active { background: var(--ak-vert); color: var(--ak-or); }
.ak-etapes li.is-active span { background: var(--ak-or); color: var(--ak-vert); }
.ak-etapes li.is-done { background: rgba(10, 107, 66, .14); color: var(--ak-succes); }
.ak-etapes li.is-done span { background: var(--ak-succes); color: #fff; }

.ak-tunnel__grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: clamp(28px, 4vw, 46px);
	align-items: start;
}
.ak-tunnel__colonne { min-width: 0; }
.ak-tunnel__titre { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; margin: 0 0 18px; }
.ak-tunnel__sous-titre { font-size: 19px; font-weight: 700; margin: 32px 0 14px; }
.ak-tunnel__note { font-size: 14.5px; color: var(--ak-encre-60); margin-bottom: 18px; }
.ak-tunnel__note--securite { display: flex; align-items: center; gap: 8px; margin-top: 24px; }

.ak-tunnel__resume {
	position: sticky;
	top: 104px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	padding: 26px;
}
.ak-tunnel__resume h3 { font-size: 18px; margin-bottom: 16px; }
.ak-tunnel__resume ul { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 10px; }
.ak-tunnel__resume li { display: flex; justify-content: space-between; gap: 14px; font-size: 14.5px; }
.ak-tunnel__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-top: 16px;
	border-top: 1px solid var(--ak-trait);
	margin-bottom: 18px;
}
.ak-tunnel__total strong { font-family: var(--ak-titre); font-weight: 800; font-size: 26px; }
.ak-tunnel__mention { font-size: 13px; color: var(--ak-encre-45); margin-top: 14px; line-height: 1.6; }

.ak-panier-lignes { list-style: none; margin: 0 0 34px; padding: 0; display: grid; gap: 14px; }
.ak-panier-ligne {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) auto auto;
	gap: 16px;
	align-items: center;
	padding: 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
}
.ak-panier-ligne__image { width: 84px; height: 62px; object-fit: cover; border-radius: 8px; }
.ak-panier-ligne__infos a { font-family: var(--ak-titre); font-weight: 600; font-size: 16px; display: block; }
.ak-panier-ligne__infos span { font-size: 13px; color: var(--ak-encre-45); }
.ak-panier-ligne__prix { font-family: var(--ak-titre); font-weight: 800; font-size: 17px; }
.ak-panier-ligne__retirer { font-size: 13px; font-weight: 700; color: var(--ak-encre-45); }
.ak-panier-ligne__retirer:hover { color: var(--ak-alerte); }

.ak-vide-panier {
	text-align: center;
	padding: clamp(40px, 6vw, 80px) 24px;
	border: 1px dashed var(--ak-trait);
	border-radius: var(--ak-r-xl);
	display: grid;
	justify-items: center;
	gap: 14px;
	color: var(--ak-encre-60);
}
.ak-vide-panier h2 { margin: 0; }

.ak-moyens { display: grid; gap: 12px; margin-bottom: 10px; }
.ak-moyen {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 18px 20px;
	border: 1.5px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-moyen:has(input:checked) { border-color: var(--ak-vert); background: var(--ak-vert-pale); }
.ak-moyen__corps { display: flex; flex-direction: column; gap: 4px; }
.ak-moyen__corps span { font-size: 14px; color: var(--ak-encre-60); }

.ak-confirmation__entete {
	display: grid;
	justify-items: center;
	gap: 10px;
	text-align: center;
	padding: clamp(30px, 4vw, 48px);
	border-radius: var(--ak-r-xl);
	margin-bottom: 32px;
}
.ak-confirmation__entete--succes { background: var(--ak-or); color: var(--ak-vert); }
.ak-confirmation__entete--attente { background: var(--ak-vert-pale); color: var(--ak-vert); }
.ak-confirmation__entete h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); }
.ak-confirmation__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.ak-confirmation__pied { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 34px; }

.ak-liste-lignes { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ak-liste-lignes li { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; padding-bottom: 10px; border-bottom: 1px solid rgba(118, 4, 22, .1); }
.ak-liste-lignes li.is-total { border: none; padding-top: 6px; font-family: var(--ak-titre); font-size: 18px; }

.ak-liste-dl { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 14px; }
.ak-liste-dl li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 18px;
	align-items: center;
	padding: 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-creme);
}
.ak-liste-dl__titre { font-family: var(--ak-titre); font-weight: 600; font-size: 15.5px; }
.ak-liste-dl__meta { grid-column: 1; font-size: 13px; color: var(--ak-encre-45); }

/* Espace membre */
.ak-espace__entete {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 30px;
}
.ak-espace__titre { font-size: clamp(30px, 4vw, 46px); font-weight: 800; margin: 0; }
.ak-espace__bienvenue { font-size: 16.5px; color: var(--ak-encre-60); margin: 10px 0 0; }
.ak-espace__section { font-size: clamp(21px, 2.5vw, 28px); font-weight: 800; margin: 0 0 22px; padding-bottom: 14px; border-bottom: 2px solid var(--ak-vert); }

.ak-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 18px; margin-bottom: 34px; }
.ak-kpi {
	padding: 22px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
}
.ak-kpi__label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ak-vert-clair); }
.ak-kpi__valeur { display: block; font-family: var(--ak-titre); font-weight: 800; font-size: 34px; line-height: 1.1; margin-top: 10px; }
.ak-kpi__detail { font-size: 13.5px; color: var(--ak-encre-60); }

.ak-liste-cartes { display: grid; gap: 18px; }
.ak-carte-commande, .ak-carte-suivi {
	padding: 24px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
}
.ak-carte-commande header, .ak-carte-suivi header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}
.ak-carte-commande__ref { font-size: 13px; color: var(--ak-encre-45); }
.ak-carte-suivi__statut { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--ak-vert-clair); }
.ak-carte-suivi h3 { font-size: 19px; margin: 0 0 14px; }
.ak-carte-suivi .ak-progression { background: rgba(118, 4, 22, .12); }
.ak-carte-suivi .ak-progression span { background: var(--ak-vert-clair); }
.ak-carte-suivi__meta { font-size: 13.5px; color: var(--ak-encre-45); margin-top: 12px; }

.ak-badge-statut {
	display: inline-block;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	background: rgba(118, 4, 22, .1);
	color: var(--ak-vert);
}
.ak-badge-statut--paye { background: rgba(10, 107, 66, .14); color: var(--ak-succes); }
.ak-badge-statut--en_attente { background: rgba(247, 180, 56, .28); color: var(--ak-bordeaux); }
.ak-badge-statut--annule, .ak-badge-statut--echec { background: rgba(180, 69, 30, .14); color: var(--ak-alerte); }

.ak-offre {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	transition: transform var(--ak-transition), box-shadow var(--ak-transition);
}
.ak-offre:hover { transform: translateY(-3px); box-shadow: var(--ak-ombre-m); }
.ak-offre--vedette { background: var(--ak-vert); color: var(--ak-ivoire); border-color: var(--ak-vert); box-shadow: var(--ak-ombre-m); }
.ak-offre--vedette .ak-kicker { color: var(--ak-or); }
.ak-offre--vedette .ak-liste-check li::before { border-color: var(--ak-or); }
.ak-offre header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ak-offre__etat { font-size: 12.5px; font-weight: 700; color: var(--ak-encre-45); }
.ak-offre.is-active { border-color: var(--ak-vert-clair); }
.ak-offre__titre { font-size: 22px; margin: 8px 0 0; }
.ak-offre__prix { margin: 6px 0 0; display: flex; align-items: baseline; gap: 8px; }
.ak-offre__prix strong { font-family: var(--ak-titre); font-weight: 800; font-size: 34px; letter-spacing: -.03em; }
.ak-offre__prix span { font-size: 14.5px; opacity: .72; }
.ak-offre__echeance { font-size: 14px; color: var(--ak-encre-60); }
.ak-offre .ak-btn { margin-top: auto; }

.ak-preferences__listes { display: grid; gap: 12px; margin-bottom: 26px; }
.ak-preference {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 18px 20px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-preference.is-active { border-color: var(--ak-vert); background: rgba(247, 180, 56, .12); }
.ak-preference.is-payante { cursor: default; opacity: .82; }
.ak-preference__corps { display: flex; flex-direction: column; gap: 3px; }
.ak-preference__corps span { font-size: 14px; color: var(--ak-encre-60); }
.ak-preference__corps em { font-size: 12.5px; color: var(--ak-encre-45); font-style: normal; }
.ak-preference__etat { font-size: 12.5px; font-weight: 700; color: var(--ak-vert-clair); white-space: nowrap; }

.ak-compte__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 26px; }
.ak-compte__intro { text-align: center; margin-bottom: 34px; }
.ak-compte__intro h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; margin: 12px 0 0; }
.ak-compte__intro p { color: var(--ak-encre-60); max-width: 60ch; margin-inline: auto; }

/* Publier */
.ak-publier__intro { max-width: 70ch; margin: 0 auto 36px; text-align: center; font-size: 17px; color: var(--ak-encre-60); }
.ak-carte-publier {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	transition: transform var(--ak-transition), box-shadow var(--ak-transition), border-color var(--ak-transition);
}
.ak-carte-publier:hover { transform: translateY(-3px); box-shadow: var(--ak-ombre-m); border-color: rgba(118, 4, 22, .3); }
.ak-carte-publier__icone {
	display: grid; place-items: center;
	width: 52px; height: 52px;
	border-radius: var(--ak-r-s);
	background: var(--ak-vert-pale);
	color: var(--ak-vert);
}
.ak-carte-publier h3 { font-size: 21px; margin: 6px 0 0; }
.ak-carte-publier p { font-size: 15px; color: var(--ak-encre-60); margin: 0; }
.ak-carte-publier__infos { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; font-size: 13.5px; color: var(--ak-encre-60); }
.ak-carte-publier__infos strong { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-encre-45); }
.ak-carte-publier__pied {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid rgba(118, 4, 22, .12);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.ak-carte-publier__prix { font-family: var(--ak-titre); font-weight: 800; font-size: 20px; }
.ak-publier__charte { margin-top: 52px; padding: 30px; border-radius: var(--ak-r-l); background: var(--ak-vert-pale); }
.ak-publier__charte h2 { font-size: 22px; }

.ak-livraison { margin-top: 60px; background: var(--ak-vert); color: var(--ak-ivoire); border-radius: var(--ak-r-xl); padding: clamp(28px, 4vw, 46px); }
.ak-livraison__titre { font-size: clamp(23px, 2.8vw, 32px); color: var(--ak-ivoire); }
.ak-livraison__etapes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 26px; margin-top: 26px; }
.ak-livraison__etape h3 { font-size: 18px; margin: 14px 0 6px; color: var(--ak-ivoire); }
.ak-livraison__etape p { font-size: 14.5px; color: rgba(251, 243, 236, .74); margin: 0; }
.ak-livraison .ak-pastille { background: var(--ak-or); color: var(--ak-vert); }

/* Modale */
.ak-modale { position: fixed; inset: 0; z-index: 95; display: flex; align-items: flex-start; justify-content: center; padding: 6vh var(--ak-gouttiere) 24px; overflow: auto; }
.ak-modale[hidden] { display: none; }
.ak-modale__fond { position: fixed; inset: 0; background: rgba(87, 3, 15, .68); backdrop-filter: blur(6px); }
.ak-modale__boite {
	position: relative;
	width: 100%;
	max-width: 560px;
	height: max-content;
	background: var(--ak-creme);
	border-radius: var(--ak-r-xl);
	padding: clamp(24px, 3vw, 36px);
	box-shadow: var(--ak-ombre-l);
	animation: ak-pop 240ms cubic-bezier(.22, .61, .36, 1);
}
.ak-modale__fermer {
	position: absolute;
	top: 18px; right: 18px;
	width: 38px; height: 38px;
	border: none; border-radius: 50%;
	background: rgba(118, 4, 22, .08);
	color: var(--ak-encre-60);
	display: grid; place-items: center;
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-modale__fermer:hover { background: var(--ak-vert); color: var(--ak-or); }
.ak-modale__titre { font-size: 26px; font-weight: 800; margin: 10px 0 0; }
.ak-modale__prix { font-family: var(--ak-titre); font-weight: 800; font-size: 22px; margin: 10px 0 20px; }
.ak-modale__prix span { font-size: 14px; font-weight: 500; color: var(--ak-encre-45); }

@keyframes ak-pop { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }

/* Popup d'invitation */
.ak-popup {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 70;
	width: min(380px, calc(100vw - 40px));
	padding: 26px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	box-shadow: var(--ak-ombre-l);
	animation: ak-pop 320ms cubic-bezier(.22, .61, .36, 1);
}
.ak-popup__entete { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ak-popup__fermer { border: none; background: none; color: var(--ak-encre-45); cursor: pointer; padding: 0; }
.ak-popup__fermer:hover { color: var(--ak-encre); }
.ak-popup__titre { font-size: 21px; margin: 12px 0 0; }
.ak-popup__texte { font-size: 15px; color: var(--ak-encre-60); margin: 10px 0 18px; }

/* ------------------------------------------------------------------ 10. */
.ak-pied {
	background: var(--ak-vert-fonce);
	color: rgba(251, 243, 236, .74);
	padding: clamp(46px, 6vw, 68px) 0 36px;
	margin-top: 60px;
}
.ak-pied__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 38px; }
.ak-pied__marque { display: flex; align-items: center; gap: 12px; }
.ak-pied__marque img { width: 38px; height: 38px; border-radius: 50%; }
.ak-pied__marque span { font-family: var(--ak-titre); font-weight: 700; font-size: 21px; color: var(--ak-ivoire); }
.ak-pied__texte { font-size: 14.5px; line-height: 1.6; margin-top: 16px; max-width: 32ch; }
.ak-pied__colonne { display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; }
.ak-pied__titre {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ak-or);
	margin-bottom: 4px;
}
.ak-pied a { color: rgba(251, 243, 236, .74); }
.ak-pied a:hover { color: var(--ak-or); }
.ak-pied ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ak-pied__reseaux { display: flex; gap: 10px; margin-top: 8px; }
.ak-pied__reseau {
	display: grid; place-items: center;
	width: 38px; height: 38px;
	border: 1px solid rgba(251, 243, 236, .24);
	border-radius: 50%;
	transition: all var(--ak-transition);
}
.ak-pied__reseau:hover { border-color: var(--ak-or); background: rgba(247, 180, 56, .12); }
.ak-pied__bas {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid rgba(251, 243, 236, .14);
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	font-size: 13.5px;
}
.ak-pied__bas ul { display: flex; flex-wrap: wrap; gap: 18px; }

/* Pagination */
.ak-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 48px; }
.ak-pagination .page-numbers {
	display: grid; place-items: center;
	min-width: 44px; height: 44px;
	padding: 0 12px;
	border: 1px solid var(--ak-trait);
	border-radius: 999px;
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 14.5px;
	color: var(--ak-vert);
	transition: all var(--ak-transition);
}
.ak-pagination .page-numbers:hover { border-color: var(--ak-vert); background: var(--ak-vert-pale); }
.ak-pagination .page-numbers.current { background: var(--ak-vert); border-color: var(--ak-vert); color: var(--ak-or); }

/* Commentaires */
.ak-commentaires { margin-top: 56px; }
.ak-commentaire {
	padding: 22px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
	margin-bottom: 16px;
	list-style: none;
}
.ak-commentaire__entete { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.ak-commentaire__auteur { font-family: var(--ak-titre); font-weight: 600; font-size: 15.5px; }
.ak-commentaire__date { font-size: 12.5px; color: var(--ak-encre-45); }
.ak-commentaire__corps { font-size: 15.5px; line-height: 1.6; color: rgba(28, 10, 14, .78); margin-top: 10px; }
.ak-commentaires .comment-respond { margin-top: 26px; }
.ak-commentaires input[type="text"],
.ak-commentaires input[type="email"],
.ak-commentaires input[type="url"],
.ak-commentaires textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-s);
	background: var(--ak-blanc);
	font-size: 15.5px;
	outline: none;
}
.ak-commentaires .submit {
	padding: 14px 26px;
	border: none;
	border-radius: 999px;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
}

/* ------------------------------------------- Accueil : haut de page --- */
.ak-accueil-haut {
	display: grid;
	grid-template-columns: minmax(0, 1.62fr) minmax(300px, 1fr);
	gap: clamp(26px, 3.4vw, 42px);
	align-items: stretch;
}
.ak-accueil-haut__cote { display: flex; flex-direction: column; gap: 20px; }

/* La bannière s'étire sur la hauteur de la colonne « À la une ». */
.ak-accueil-haut .ak-hero { display: flex; flex-direction: column; }
.ak-accueil-haut .ak-hero__viewport { flex: 1; }
.ak-accueil-haut .ak-hero__track { height: 100%; }

.ak-hero { position: relative; }
.ak-hero__viewport { overflow: hidden; border-radius: var(--ak-r-l); }
.ak-hero__track { display: flex; transition: transform 620ms cubic-bezier(.4, 0, .2, 1); }
/*
 * La une occupe toute la largeur de sa colonne : visuel en haut, texte
 * dessous. La hauteur obtenue s'aligne naturellement sur la colonne
 * « À la une » de droite, ce qui supprime le blanc sous la bannière.
 */
.ak-hero__slide {
	flex: 0 0 100%;
	min-width: 0;
	display: grid;
	grid-template-rows: auto 1fr;
	gap: clamp(16px, 1.8vw, 22px);
	align-content: start;
	padding: 20px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
}
.ak-hero__visuel {
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: var(--ak-r-m);
	overflow: hidden;
	background: var(--ak-vert-pale);
}
.ak-hero__visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms cubic-bezier(.22, .61, .36, 1); }
.ak-hero__slide:hover .ak-hero__visuel img { transform: scale(1.03); }
.ak-hero__corps { display: flex; flex-direction: column; gap: 13px; min-width: 0; }
.ak-hero__titre {
	font-size: clamp(24px, 2.7vw, 36px);
	font-weight: 800;
	line-height: 1.1;
	margin: 0;
	text-wrap: balance;
}
.ak-hero__titre a { color: var(--ak-encre); }
.ak-hero__titre a:hover { color: var(--ak-vert-clair); }
.ak-hero__chapeau { font-size: 16.5px; line-height: 1.6; color: var(--ak-encre-60); margin: 0; max-width: 68ch; }
.ak-hero__corps .ak-btn { align-self: flex-start; margin-top: auto; }

.ak-hero__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 16px;
}
.ak-hero__dots { display: flex; gap: 8px; }
.ak-hero__nav .ak-carrousel__fleche { width: 38px; height: 38px; box-shadow: none; border: 1px solid var(--ak-trait); }

.ak-actions-section { display: flex; flex-wrap: wrap; gap: 10px; }

/*
 * La couverture prenait 405 px de large sur un grand ecran, soit 540 px de
 * haut : la section entiere depassait 800 px et poussait tout le reste de
 * l'accueil vers le bas. Une largeur plafonnee suffit a la reconnaitre.
 */
.ak-bloc-revue {
	display: grid;
	grid-template-columns: minmax(0, 250px) minmax(0, 1fr);
	gap: clamp(22px, 3vw, 38px);
	align-items: center;
}
.ak-bloc-revue__couverture {
	display: block;
	aspect-ratio: 3 / 4;
	border-radius: var(--ak-r-m);
	overflow: hidden;
	background: rgba(251, 243, 236, .08);
	box-shadow: var(--ak-ombre-l);
}
.ak-bloc-revue__couverture img { width: 100%; height: 100%; object-fit: cover; }
.ak-bloc-revue__titre { font-size: clamp(22px, 2.3vw, 30px); font-weight: 800; margin: 12px 0 0; line-height: 1.2; }
.ak-bloc-revue__titre a { color: var(--ak-ivoire); }
.ak-bloc-revue__chapeau { font-size: 15.5px; line-height: 1.55; margin: 10px 0 0; max-width: 62ch; }
.ak-bloc-revue__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

/* ------------------------------------------------- Bandes défilantes ---
 * Composant générique : un contenu large par vue, piloté par le même
 * script que les carrousels de cartes. Sert à la Revue et aux dossiers
 * d'investissement, dont les fiches sont trop hautes pour être empilées.
 */
/* Placée en cellule de grille, une bande doit pouvoir rétrécir : sans
   min-width, la piste impose sa largeur intrinsèque et la page déborde
   latéralement sur téléphone. */
.ak-bande { min-width: 0; }
.ak-bande__viewport { overflow: hidden; min-width: 0; }
.ak-bande__track {
	display: flex;
	align-items: stretch;
	transition: transform 620ms cubic-bezier(.4, 0, .2, 1);
}
.ak-bande__slide {
	flex: 0 0 100%;
	min-width: 0;
	/* Une marge intérieure d'un pixel évite que l'ombre des fiches soit
	   rognée par le débordement masqué du viewport. */
	padding: 3px;
}
.ak-bande__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 22px;
}
.ak-bande__nav .ak-carrousel__fleche { width: 38px; height: 38px; box-shadow: none; border: 1px solid var(--ak-trait); }

/* Sur fond bordeaux, les commandes reprennent les tons clairs. */
.ak-bande__nav--clair .ak-carrousel__fleche {
	border-color: rgba(251, 243, 236, .3);
	background: transparent;
	color: var(--ak-ivoire);
}
.ak-bande__nav--clair .ak-carrousel__fleche:hover {
	background: rgba(251, 243, 236, .12);
	color: var(--ak-ivoire);
}
.ak-bande__nav--clair .ak-carrousel__dot { background: rgba(251, 243, 236, .3); }
.ak-bande__nav--clair .ak-carrousel__dot.is-active { background: var(--ak-or); }

/* Le bloc Revue porte lui-même le fond : la grille descend d'un cran. */
.ak-bloc-revue-bande { display: block; }

/* ------------------------------------------------- Vidéo embarquée --- */
.ak-video {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--ak-r-m);
	overflow: hidden;
	background: var(--ak-encre);
}
.ak-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Bouton de partage WhatsApp : la couleur du réseau, sans crier. */
.ak-btn--whatsapp { border-color: rgba(37, 211, 102, .55); color: #128C4A; }
.ak-btn--whatsapp:hover { background: rgba(37, 211, 102, .12); border-color: #25D366; color: #0B6B37; }

/* ------------------------------------------------ À ne pas manquer --- */
.ak-mixte__viewport { overflow: hidden; }
.ak-mixte__track { display: flex; transition: transform 620ms cubic-bezier(.4, 0, .2, 1); }
.ak-mixte__groupe {
	flex: 0 0 33.3333%;
	min-width: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	padding: 4px 12px;
}
.ak-mixte__carte {
	display: flex;
	flex-direction: column;
	gap: 11px;
	padding: 18px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	transition: transform var(--ak-transition), box-shadow var(--ak-transition);
}
.ak-mixte__carte:hover { transform: translateY(-3px); box-shadow: var(--ak-ombre-m); }
.ak-mixte__visuel {
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: var(--ak-r-s);
	overflow: hidden;
	background: var(--ak-vert-pale);
}
.ak-mixte__visuel img { width: 100%; height: 100%; object-fit: cover; }
.ak-mixte__titre { font-size: 18px; font-weight: 700; line-height: 1.22; margin: 0; }
.ak-mixte__resume { font-size: 14.5px; line-height: 1.5; color: var(--ak-encre-60); margin: 0; }
.ak-mixte__pied {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid rgba(118, 4, 22, .12);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.ak-mixte__meta { font-family: var(--ak-titre); font-weight: 700; font-size: 14.5px; }
.ak-mixte__cta { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--ak-vert-clair); }

/* ---------------------------------------------------- Témoignages --- */
.ak-temoignages { position: relative; }
.ak-temoignages__entete {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}
.ak-temoignages__fleches { display: flex; gap: 8px; }
.ak-temoignages__fleches .ak-carrousel__fleche { width: 38px; height: 38px; box-shadow: none; border: 1px solid var(--ak-trait); }
.ak-temoignages__viewport { overflow: hidden; }
.ak-temoignages__track { display: flex; transition: transform 620ms cubic-bezier(.4, 0, .2, 1); }
.ak-temoignages__groupe {
	flex: 0 0 33.3333%;
	min-width: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	padding: 4px 10px;
}
.ak-temoignage {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 22px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
}
.ak-temoignage__note { display: flex; gap: 2px; color: var(--ak-or); }
.ak-temoignage__note svg { fill: currentColor; stroke: none; }
.ak-temoignage__texte {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	border-radius: 0;
	font-family: var(--ak-texte);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(28, 10, 14, .78);
}
.ak-temoignage__texte::before { content: "« "; }
.ak-temoignage__texte::after { content: " »"; }
.ak-temoignage__auteur {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid rgba(118, 4, 22, .12);
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
}
.ak-temoignage__photo { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex: none; }
.ak-temoignage__profil { display: block; font-size: 12.5px; color: var(--ak-encre-45); }

/* ------------------------------------------- En-tete d'archive media --- */
/*
 * Pochette a gauche, texte a droite. La regle etait ecrite en style en
 * ligne dans les gabarits : impossible a reprendre en media query, la
 * colonne de 220 px restait donc imposee sur telephone et ecrasait le
 * texte a 90 px de large. Le contenu debordait alors de l'ecran.
 */
.ak-entete-media {
	display: grid;
	grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
	gap: clamp(28px, 4vw, 48px);
	align-items: center;
}
.ak-entete-media--revue {
	grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
	gap: clamp(30px, 5vw, 56px);
}
@media (max-width: 820px) {
	.ak-entete-media,
	.ak-entete-media--revue {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}
}

/* Confirmation de copie du lien : elle doit se voir, pas seulement
   s'annoncer aux lecteurs d'ecran. */
.ak-partage__lien { position: relative; }
.ak-copie-bulle {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	font-family: var(--ak-titre);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	pointer-events: none;
	z-index: 5;
	animation: ak-copie-apparition .18s ease-out;
}
.ak-copie-bulle--erreur { background: var(--ak-bordeaux); }
@keyframes ak-copie-apparition {
	from { opacity: 0; transform: translate(-50%, 4px); }
	to   { opacity: 1; transform: translate(-50%, 0); }
}

/* ----------------------------------------------- Consentement ---
 * Bandeau ancré en bas d'écran. Accepter et refuser ont le même poids
 * visuel et demandent le même nombre de clics : un refus enfoui n'est pas
 * un consentement libre.
 */
.ak-bandeau-cookies {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 120;
	padding: 0 var(--ak-gouttiere) 16px;
	pointer-events: none;
}
.ak-bandeau-cookies[hidden] { display: none; }
.ak-bandeau-cookies__boite {
	pointer-events: auto;
	max-width: 720px;
	margin: 0 auto;
	padding: 20px 22px;
	border-radius: var(--ak-r-l);
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	box-shadow: 0 18px 44px rgba(28, 10, 14, .32);
	animation: ak-bandeau-cookies-entree .32s cubic-bezier(.22, .61, .36, 1);
}
@keyframes ak-bandeau-cookies-entree {
	from { opacity: 0; transform: translateY(18px); }
	to   { opacity: 1; transform: translateY(0); }
}
.ak-bandeau-cookies__titre {
	font-family: var(--ak-titre);
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 8px;
	color: var(--ak-or);
}
.ak-bandeau-cookies__texte {
	font-size: 14.5px;
	line-height: 1.55;
	margin: 0;
	color: rgba(251, 243, 236, .9);
}
.ak-bandeau-cookies__texte a { color: var(--ak-or); text-decoration: underline; text-underline-offset: 3px; }
.ak-bandeau-cookies__choix { display: grid; gap: 12px; margin-top: 16px; }
.ak-bandeau-cookies__choix[hidden] { display: none; }
.ak-bandeau-cookies__ligne {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 11px;
	align-items: start;
	font-size: 14.5px;
	cursor: pointer;
}
.ak-bandeau-cookies__ligne input { margin-top: 3px; accent-color: var(--ak-or); width: 17px; height: 17px; }
.ak-bandeau-cookies__detail {
	display: block;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(251, 243, 236, .66);
	margin-top: 2px;
}
.ak-bandeau-cookies__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}
.ak-bandeau-cookies__actions .ak-btn { flex: 1 1 150px; justify-content: center; }
.ak-bandeau-cookies__lien {
	flex: none;
	border: 0;
	background: none;
	padding: 8px 4px;
	color: rgba(251, 243, 236, .8);
	font-family: var(--ak-titre);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.ak-bandeau-cookies__lien:hover { color: var(--ak-or); }
.ak-bandeau-cookies__actions .ak-btn--ghost {
	border-color: rgba(251, 243, 236, .42);
	color: var(--ak-ivoire);
}
.ak-bandeau-cookies__actions .ak-btn--ghost:hover { background: rgba(251, 243, 236, .12); }

@media (max-width: 560px) {
	.ak-bandeau-cookies { padding-bottom: 10px; }
	.ak-bandeau-cookies__boite { padding: 17px 16px; }
	.ak-bandeau-cookies__actions .ak-btn { flex: 1 1 100%; }
}

/* ---------------------------------------------------- Nous suivre --- */
.ak-suivre--bande {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 24px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	background: var(--ak-blanc);
}
.ak-suivre--colonne {
	padding: 22px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	background: var(--ak-blanc);
}
.ak-suivre__label {
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 15px;
	color: var(--ak-vert);
}
.ak-suivre--colonne .ak-suivre__label { display: block; margin-bottom: 14px; }
.ak-suivre__liens { display: flex; flex-wrap: wrap; gap: 10px; }
.ak-suivre__lien {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border: 1px solid var(--ak-trait);
	border-radius: 999px;
	color: var(--ak-vert);
	font-size: 13.5px;
	font-weight: 600;
	transition: all var(--ak-transition);
}
.ak-suivre__lien:hover { background: var(--ak-vert); border-color: var(--ak-vert); color: var(--ak-or); transform: translateY(-2px); }
.ak-suivre--colonne .ak-suivre__nom { display: none; }
.ak-suivre--colonne .ak-suivre__lien { padding: 10px; }

/*
 * Les pastilles rondes tiennent sur une seule ligne, quelle que soit la
 * largeur : sept comptes dans une colonne de 293 px passaient à deux lignes
 * et YouTube se retrouvait seul en dessous. Elles se partagent la largeur
 * disponible au lieu d'imposer la leur, et plafonnent à 46 px pour ne pas
 * s'étirer sur les écrans larges.
 */
.ak-suivre--colonne .ak-suivre__liens {
	flex-wrap: nowrap;
	gap: clamp(4px, 1.6vw, 10px);
}
.ak-suivre--colonne .ak-suivre__lien {
	flex: 1 1 0;
	min-width: 0;
	max-width: 46px;
	padding: 0;
	aspect-ratio: 1;
	justify-content: center;
}
.ak-suivre--colonne .ak-suivre__lien svg { flex: none; width: 18px; height: 18px; }

/* ------------------------------------------------- Mini-produits --- */
.ak-mini-produits { display: grid; gap: 12px; margin: 14px 0; }
.ak-mini-produit {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	color: var(--ak-encre);
}
.ak-mini-produit img,
.ak-mini-produit .ak-visuel-vide {
	width: 62px;
	height: 46px;
	object-fit: cover;
	border-radius: 8px;
	background: var(--ak-vert-pale);
}
.ak-mini-produit strong { display: block; font-family: var(--ak-titre); font-size: 14px; line-height: 1.25; }
.ak-mini-produit span span { font-size: 13px; color: var(--ak-vert-clair); font-weight: 700; }
.ak-mini-produit:hover strong { color: var(--ak-vert-clair); }

/* --------------------------------------------- Paywall à deux voies --- */
/* Extrait qui s'estompe, puis bouton « Lire la suite ». */
.ak-extrait { position: relative; }
.ak-extrait__voile {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 190px;
	background: linear-gradient(to bottom, rgba(253, 249, 245, 0), var(--ak-creme) 82%);
	pointer-events: none;
}
.ak-extrait__suite { text-align: center; margin: 0 0 8px; }

/* Étiquette « Premium » avec cadenas et prix, avant le clic. */
.ak-etiquette--verrou {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--ak-or);
	color: var(--ak-vert);
}
.ak-etiquette--verrou em {
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	padding-left: 6px;
	border-left: 1px solid rgba(118, 4, 22, .3);
}

/* Bandeau d'annonce en tête d'article. */
.ak-bandeau-premium {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 22px;
	padding: 14px 18px;
	border-radius: var(--ak-r-m);
	background: rgba(247, 180, 56, .18);
	border: 1px solid rgba(247, 180, 56, .55);
}
.ak-bandeau-premium__texte {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
	color: var(--ak-encre-60);
}
.ak-bandeau-premium__texte strong { color: var(--ak-vert); }
.ak-bandeau-premium__actions { display: flex; align-items: center; gap: 12px; }
.ak-bandeau-premium__prix {
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 15px;
	color: var(--ak-vert);
	white-space: nowrap;
}
.ak-bandeau-premium--ouvert {
	background: rgba(10, 107, 66, .12);
	border-color: rgba(10, 107, 66, .35);
}
.ak-bandeau-premium--ouvert .ak-bandeau-premium__texte strong { color: var(--ak-succes); }

.ak-paywall__etiquette {
	display: inline-block;
	align-self: flex-start;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(251, 243, 236, .16);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-or);
}
.ak-paywall__liste {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
	font-size: 13.5px;
	line-height: 1.5;
	color: rgba(251, 243, 236, .78);
}
.ak-paywall__liste li { position: relative; padding-left: 22px; }
.ak-paywall__liste li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .4em;
	width: 12px;
	height: 6px;
	border-left: 2px solid var(--ak-or);
	border-bottom: 2px solid var(--ak-or);
	transform: rotate(-45deg);
}

.ak-paywall__offres {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 18px;
	margin-top: 26px;
	text-align: left;
}
.ak-paywall__offre {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px;
	border: 1px solid rgba(251, 243, 236, .22);
	border-radius: var(--ak-r-m);
	background: rgba(251, 243, 236, .06);
}
.ak-paywall__prix {
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 30px;
	line-height: 1;
	color: var(--ak-or);
}
.ak-paywall__prix small { font-size: 14px; font-weight: 600; opacity: .8; margin-left: 6px; }
.ak-paywall__sous { font-size: 13.5px; line-height: 1.55; color: rgba(251, 243, 236, .72); }

/* Remise abonné sur une contribution d'expert : prix catalogue barré. */
.ak-paywall__prix-barre {
	display: block;
	font-size: 17px;
	font-weight: 600;
	color: rgba(251, 243, 236, .5);
	text-decoration: line-through;
	margin-bottom: 2px;
}
.ak-paywall__remise {
	display: inline-block;
	margin-top: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(247, 180, 56, .16);
	color: var(--ak-or);
	font-size: 12.5px;
	font-weight: 700;
}
.ak-paywall--expertise { border-color: rgba(247, 180, 56, .38); }

/* ------------------------------------------------ Fiches d'expertise --- */
.ak-expertise .ak-carte__visuel { position: relative; }
.ak-expertise__tag {
	position: absolute;
	top: 10px; left: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--ak-ambre);
	color: var(--ak-bordeaux);
	font-family: var(--ak-titre);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ak-expertise__auteur { display: flex; align-items: center; gap: 9px; }
.ak-expertise__auteur img,
.ak-expertise__initiale {
	width: 34px; height: 34px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}
.ak-expertise__initiale {
	display: grid;
	place-items: center;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-family: var(--ak-titre);
	font-weight: 700;
}
.ak-expertise__auteur strong { display: block; font-size: 14px; line-height: 1.2; }
.ak-expertise__auteur small { display: block; font-size: 12px; color: var(--ak-encre-45); line-height: 1.3; }

.ak-expertise__pied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--ak-trait);
}
.ak-expertise__prix { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.ak-expertise__prix del { font-size: 13px; color: var(--ak-encre-45); }
.ak-expertise__prix strong { font-family: var(--ak-titre); font-size: 19px; color: var(--ak-vert); }
.ak-expertise__prix small { font-size: 12px; color: var(--ak-encre-45); }
.ak-expertise__acquis {
	font-family: var(--ak-titre);
	font-size: 14px;
	font-weight: 700;
	color: var(--ak-succes);
}

/* ------------------------------------------------- Page Experts : hero --- */
.ak-experts-hero {
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	padding: clamp(38px, 6vw, 72px) 0;
}
.ak-experts-hero .ak-fil,
.ak-experts-hero .ak-fil a { color: rgba(251, 243, 236, .62); }
.ak-experts-hero__titre {
	font-size: clamp(30px, 4.4vw, 54px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.02em;
	margin: 14px 0 0;
	color: var(--ak-ivoire);
	text-wrap: balance;
	max-width: 18ch;
}
.ak-experts-hero__chapeau {
	font-size: 17.5px;
	line-height: 1.6;
	color: rgba(251, 243, 236, .78);
	margin: 18px 0 0;
	max-width: 62ch;
}
.ak-experts-hero__grille {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: end;
}
@media (max-width: 900px) {
	.ak-experts-hero__grille { grid-template-columns: minmax(0, 1fr); align-items: start; }
}

/* Moteur de recherche du hero. */
.ak-experts-recherche {
	padding: clamp(18px, 3vw, 26px);
	border-radius: var(--ak-r-l);
	background: rgba(251, 243, 236, .07);
	border: 1px solid rgba(251, 243, 236, .16);
}
.ak-experts-recherche__label {
	display: block;
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 15px;
	color: var(--ak-ivoire);
	margin-bottom: 10px;
}
.ak-experts-recherche__champ {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 6px 6px 14px;
	border-radius: 999px;
	background: var(--ak-blanc);
	color: var(--ak-encre-45);
}
.ak-experts-recherche__champ svg { flex: none; }
.ak-experts-recherche__champ input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 15px;
	color: var(--ak-encre);
	padding: 8px 0;
	outline: none;
}
.ak-experts-recherche__champ .ak-btn { flex: none; }

.ak-experts-hero__chiffres {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 20px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(251, 243, 236, .18);
}
.ak-experts-hero__chiffres div { display: flex; flex-direction: column-reverse; }
.ak-experts-hero__chiffres dd {
	margin: 0;
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: clamp(24px, 3vw, 30px);
	line-height: 1;
	color: var(--ak-or);
}
.ak-experts-hero__chiffres dt { font-size: 13px; color: rgba(251, 243, 236, .74); margin-top: 5px; line-height: 1.3; }

/* Catalogue : onglets par format, secteurs, ligne de résultat. */
.ak-experts-catalogue { scroll-margin-top: 90px; }
.ak-experts-onglets {
	display: flex;
	gap: 4px;
	border-bottom: 1px solid var(--ak-trait);
	margin-bottom: 20px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.ak-experts-onglets::-webkit-scrollbar { display: none; }
.ak-experts-onglet {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	margin-bottom: -1px;
	border-bottom: 3px solid transparent;
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 15px;
	color: var(--ak-encre-60);
	white-space: nowrap;
}
.ak-experts-onglet span {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--ak-vert-pale);
	color: var(--ak-vert);
	font-size: 12px;
	font-weight: 700;
}
.ak-experts-onglet:hover { color: var(--ak-vert); }
.ak-experts-onglet.is-active { color: var(--ak-vert); border-bottom-color: var(--ak-or); }
.ak-experts-onglet.is-active span { background: var(--ak-vert); color: var(--ak-or); }

.ak-experts-barre { display: grid; gap: 14px; margin-bottom: 26px; }
.ak-experts-secteurs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ak-puce--petite { padding: 7px 14px; font-size: 13px; }
.ak-experts-resultat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
}
.ak-experts-resultat p { margin: 0; font-size: 14.5px; color: var(--ak-encre-60); }
.ak-experts-resultat strong { color: var(--ak-encre); }
.ak-experts-resultat__effacer { margin-left: 10px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ak-experts-resultat__remise { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ak-experts-resultat__remise svg { color: var(--ak-ambre); flex: none; }
.ak-experts-resultat__remise a { font-weight: 700; }
@media (max-width: 600px) {
	/* Sur mobile, les secteurs défilent sur une ligne plutôt que d'empiler. */
	.ak-experts-secteurs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--ak-gouttiere)); padding-inline: var(--ak-gouttiere); }
	.ak-experts-secteurs::-webkit-scrollbar { display: none; }
	.ak-experts-secteurs .ak-puce { flex: none; white-space: nowrap; }
	.ak-experts-recherche__champ { flex-wrap: wrap; border-radius: var(--ak-r-m); padding: 6px 6px 6px 12px; }
	.ak-experts-recherche__champ .ak-btn { width: 100%; }
}
.ak-experts-vide { text-align: center; padding: 48px 24px; }
.ak-experts-vide h2 { font-size: 22px; margin: 0 0 10px; }
.ak-experts-vide p { max-width: 56ch; margin: 0 auto 20px; }

/* En-têtes de section de la page Experts. */
.ak-experts-entete { margin-bottom: 20px; }
.ak-experts-entete h2 { font-size: clamp(22px, 2.6vw, 30px); margin: 6px 0 0; }

/* Annuaire des auteurs. */
.ak-experts-auteurs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 12px;
}
.ak-experts-auteur {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
	color: var(--ak-encre);
	transition: border-color var(--ak-transition), box-shadow var(--ak-transition);
}
.ak-experts-auteur:hover,
.ak-experts-auteur.is-active { border-color: var(--ak-or); box-shadow: var(--ak-ombre-s); color: var(--ak-encre); }
.ak-experts-auteur img,
.ak-experts-auteur__initiale {
	width: 52px; height: 52px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}
.ak-experts-auteur__initiale {
	display: grid;
	place-items: center;
	background: var(--ak-vert);
	color: var(--ak-or);
	font-family: var(--ak-titre);
	font-weight: 700;
	font-size: 20px;
}
.ak-experts-auteur__texte { min-width: 0; }
.ak-experts-auteur strong { display: block; font-family: var(--ak-titre); font-size: 15px; color: var(--ak-vert); line-height: 1.25; }
.ak-experts-auteur small { display: block; font-size: 12.5px; color: var(--ak-encre-60); line-height: 1.35; margin-top: 2px; }
.ak-experts-auteur em { display: block; font-style: normal; font-size: 12px; font-weight: 700; color: var(--ak-encre-45); margin-top: 4px; }

/* Appel aux contributeurs. */
.ak-experts-appel {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(22px, 4vw, 48px);
	align-items: center;
}
.ak-experts-appel h2 { font-size: clamp(24px, 3vw, 34px); margin: 10px 0 12px; }
.ak-experts-appel p { max-width: 56ch; }
.ak-experts-appel__formats { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ak-experts-appel__formats li {
	padding: 12px 16px;
	border-radius: var(--ak-r-s);
	background: rgba(251, 243, 236, .08);
	color: rgba(251, 243, 236, .78);
	font-size: 14px;
	line-height: 1.45;
}
.ak-experts-appel__formats strong { display: block; color: var(--ak-or); font-family: var(--ak-titre); font-size: 14.5px; }
@media (max-width: 900px) {
	.ak-experts-appel { grid-template-columns: minmax(0, 1fr); }
}

/* Les quatre profils de lecteur. */
.ak-profils {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 20px;
}
.ak-profil {
	padding: 24px 22px;
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	background: var(--ak-blanc);
	transition: border-color var(--ak-transition), transform var(--ak-transition);
}
.ak-profil:hover { border-color: var(--ak-or); transform: translateY(-3px); }
.ak-profil__icone {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ak-vert-pale);
	color: var(--ak-vert);
	margin-bottom: 14px;
}
.ak-profil__titre {
	font-family: var(--ak-titre);
	font-size: 17px;
	font-weight: 700;
	color: var(--ak-vert);
	margin: 0 0 8px;
	line-height: 1.25;
}
.ak-profil__texte { font-size: 14.5px; line-height: 1.55; color: var(--ak-encre-60); margin: 0; }

/* Deux actions côte à côte sur une ligne de publication. */
.ak-liste-dl__actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 600px) {
	.ak-liste-dl__actions { justify-content: flex-start; }
	.ak-liste-dl__actions .ak-btn { flex: 1; }
}

/* Encart d'identification dans le formulaire de contribution. */
.ak-champ--info { grid-column: 1 / -1; }
.ak-encart-auteur {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border-radius: var(--ak-r-m);
	background: var(--ak-vert-pale);
	border: 1px solid var(--ak-trait);
}
.ak-encart-auteur img {
	width: 48px; height: 48px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}
.ak-encart-auteur > div { flex: 1; min-width: 0; }
.ak-encart-auteur strong {
	display: block;
	font-family: var(--ak-titre);
	font-size: 16px;
	color: var(--ak-vert);
	line-height: 1.25;
}
.ak-encart-auteur span {
	display: block;
	font-size: 13.5px;
	color: var(--ak-encre-60);
	line-height: 1.4;
	margin-top: 2px;
}
.ak-encart-auteur .ak-lien-discret { margin-top: 0; flex: none; }

/* Bandeau de remise en tête de la page Experts. */
.ak-bandeau-remise {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	border-radius: var(--ak-r-m);
	background: rgba(247, 180, 56, .13);
	border: 1px solid rgba(247, 180, 56, .38);
}
.ak-bandeau-remise p { margin: 0; font-size: 15px; line-height: 1.5; flex: 1; }
.ak-bandeau-remise strong { color: var(--ak-vert); }
.ak-bandeau-remise__pastille {
	display: grid;
	place-items: center;
	width: 38px; height: 38px;
	flex: none;
	border-radius: 50%;
	background: var(--ak-ambre);
	color: var(--ak-bordeaux);
}
@media (max-width: 600px) {
	.ak-bandeau-remise { flex-direction: column; align-items: flex-start; text-align: left; }
	.ak-expertise__pied { flex-direction: column; align-items: stretch; gap: 10px; }
	.ak-expertise__pied .ak-btn { width: 100%; }
}

/* ------------------------------------------------------- Chartes --- */
.ak-charte {
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	background: var(--ak-blanc);
	margin-bottom: 10px;
}
.ak-charte > summary {
	cursor: pointer;
	padding: 15px 18px;
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 14.5px;
	color: var(--ak-vert);
	list-style: none;
	display: flex;
	align-items: center;
	gap: 10px;
}
.ak-charte > summary::-webkit-details-marker { display: none; }
.ak-charte > summary::before {
	content: "+";
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	flex: none;
	border-radius: 50%;
	background: var(--ak-vert-pale);
	font-size: 15px;
	line-height: 1;
}
.ak-charte[open] > summary::before { content: "−"; }
.ak-charte[open] > summary { border-bottom: 1px solid var(--ak-trait); }
.ak-charte__corps {
	max-height: 340px;
	overflow-y: auto;
	padding: 18px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--ak-encre-60);
}
.ak-charte__corps h4 {
	font-size: 14px;
	font-weight: 700;
	color: var(--ak-vert);
	margin: 18px 0 6px;
}
.ak-charte__corps h4:first-child { margin-top: 0; }
.ak-charte__corps p { margin: 0 0 10px; }

/* Charte sur fond vert (fiche deal). */
.ak-charte--sombre {
	background: rgba(251, 243, 236, .07);
	border-color: rgba(251, 243, 236, .22);
	margin-top: 22px;
}
.ak-charte--sombre > summary { color: var(--ak-or); }
.ak-charte--sombre > summary::before { background: rgba(251, 243, 236, .14); color: var(--ak-ivoire); }
.ak-charte--sombre[open] > summary { border-bottom-color: rgba(251, 243, 236, .22); }
.ak-charte--sombre .ak-charte__corps { color: rgba(251, 243, 236, .8); }
.ak-charte--sombre .ak-charte__corps h4 { color: var(--ak-or); }

/* Bouton bloqué tant que les conditions ne sont pas acceptées. */
.ak-btn.is-desactive { opacity: .45; cursor: not-allowed; }
.ak-btn.is-desactive:hover { transform: none; }
.ak-consentement.is-requis {
	animation: ak-secousse 420ms ease;
	color: var(--ak-or);
}
@keyframes ak-secousse {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-5px); }
	75% { transform: translateX(5px); }
}

/* ------------------------------------------------------- Agenda --- */
.ak-agenda { display: grid; gap: 18px; }
.ak-agenda__mois {
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ak-vert-clair);
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ak-vert);
	margin: 26px 0 4px;
}
.ak-agenda__mois:first-child { margin-top: 0; }
.ak-agenda__jour {
	display: grid;
	grid-template-columns: 86px 180px minmax(0, 1fr) auto;
	gap: 22px;
	align-items: center;
	padding: 18px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	transition: transform var(--ak-transition), box-shadow var(--ak-transition);
}
.ak-agenda__jour:hover { transform: translateY(-2px); box-shadow: var(--ak-ombre-m); }
.ak-agenda__date {
	display: grid;
	place-items: center;
	padding: 12px 8px;
	border-radius: var(--ak-r-m);
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	text-align: center;
}
.ak-agenda__date strong { font-family: var(--ak-titre); font-size: 28px; line-height: 1; }
.ak-agenda__date span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ak-or); margin-top: 4px; }
.ak-agenda__visuel {
	aspect-ratio: 16 / 10;
	border-radius: var(--ak-r-s);
	overflow: hidden;
	background: var(--ak-vert-pale);
}
.ak-agenda__visuel img { width: 100%; height: 100%; object-fit: cover; }
.ak-agenda__corps { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ak-agenda__titre { font-family: var(--ak-titre); font-weight: 700; font-size: 19px; line-height: 1.22; margin: 0; }
.ak-agenda__lieu { font-size: 14px; color: var(--ak-encre-60); display: flex; align-items: center; gap: 6px; }
.ak-agenda__actions { display: flex; flex-direction: column; gap: 8px; }

.ak-calendrier { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ak-calendrier .ak-btn--ghost { border-color: rgba(251, 243, 236, .4); color: var(--ak-ivoire); }
.ak-calendrier .ak-btn--ghost:hover { background: var(--ak-or); border-color: var(--ak-or); color: var(--ak-vert); }

/* --------------------------- Opportunités en liste compacte (accueil) --- */
.ak-opp-compact {
	display: grid;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-l);
	overflow: hidden;
}
.ak-opp-ligne {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 110px auto;
	gap: 20px;
	align-items: center;
	padding: 16px 22px;
	border-bottom: 1px solid rgba(118, 4, 22, .1);
	transition: background var(--ak-transition);
}
.ak-opp-ligne:last-child { border-bottom: none; }
.ak-opp-ligne:hover { background: var(--ak-vert-pale); }

.ak-opp-ligne__type {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ak-vert-clair);
	line-height: 1.3;
}
.ak-opp-ligne__corps { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ak-opp-ligne__titre {
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 16.5px;
	line-height: 1.25;
	color: var(--ak-encre);
}
.ak-opp-ligne__titre:hover { color: var(--ak-vert-clair); }
.ak-opp-ligne__meta { font-size: 13px; color: var(--ak-encre-45); }
.ak-opp-ligne__cloture { text-align: right; line-height: 1.3; }
.ak-opp-ligne__cloture strong {
	display: block;
	font-family: var(--ak-titre);
	font-size: 16px;
	color: var(--ak-vert);
	font-variant-numeric: tabular-nums;
}
.ak-opp-ligne__cloture strong.ak-urgence--proche { color: var(--ak-alerte); }
.ak-opp-ligne__cloture span { font-size: 12px; color: var(--ak-encre-45); }
.ak-opp-ligne__actions { display: flex; align-items: center; gap: 12px; }
.ak-opp-ligne__detail { font-size: 13.5px; font-weight: 700; color: var(--ak-vert-clair); white-space: nowrap; }

/* ------------------------------ Espace membre : deux univers signalés --- */
.ak-onglets--univers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
	margin-bottom: 26px;
}
.ak-univers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 8px 12px 8px 14px;
	border-radius: 999px;
	background: var(--ak-vert-pale);
}
.ak-univers__label {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-vert-clair);
	margin-right: 4px;
}
.ak-univers--expert { background: rgba(247, 180, 56, .2); }
.ak-univers--expert .ak-univers__label { color: var(--ak-bordeaux); }

.ak-puce--expert { border-color: rgba(247, 180, 56, .55); }
.ak-puce--expert.is-active { background: var(--ak-or); border-color: var(--ak-or); color: var(--ak-vert); }

.ak-bandeau-expert {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: clamp(22px, 3vw, 32px);
	margin-bottom: 26px;
	border-radius: var(--ak-r-l);
	background: var(--ak-vert);
	color: var(--ak-ivoire);
}
.ak-bandeau-expert h2 { font-size: clamp(20px, 2.4vw, 26px); margin: 10px 0 0; color: var(--ak-ivoire); }
.ak-bandeau-expert p { font-size: 15px; line-height: 1.55; color: rgba(251, 243, 236, .78); margin: 10px 0 0; max-width: 66ch; }

.ak-espace__panneau--expert .ak-espace__section { border-bottom-color: var(--ak-or); }
.ak-espace__panneau--expert .ak-kpi { border-color: rgba(247, 180, 56, .5); }
.ak-espace__panneau--expert .ak-kpi__label { color: var(--ak-bordeaux); }

/* ------------------------------------------- Mini-lecteur podcast --- */
.ak-lecteur-mini {
	position: fixed;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	z-index: 85;
	width: min(620px, calc(100vw - 24px));
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 12px 16px;
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	border-radius: 999px;
	box-shadow: var(--ak-ombre-l);
	animation: ak-pop 260ms cubic-bezier(.22, .61, .36, 1);
}
.ak-lecteur-mini[hidden] { display: none; }

.ak-lecteur-mini__play {
	width: 42px;
	height: 42px;
	flex: none;
	border: none;
	border-radius: 50%;
	background: var(--ak-or);
	color: var(--ak-vert);
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: transform var(--ak-transition);
}
.ak-lecteur-mini__play:hover { transform: scale(1.07); }
.ak-lecteur-mini__image { width: 38px; height: 38px; border-radius: 8px; object-fit: cover; flex: none; }
.ak-lecteur-mini__corps { min-width: 0; }
.ak-lecteur-mini__titre {
	display: block;
	color: var(--ak-ivoire);
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 6px;
}
.ak-lecteur-mini__titre:hover { color: var(--ak-or); }
.ak-lecteur-mini .ak-progression { height: 5px; cursor: pointer; }
.ak-lecteur-mini__temps {
	display: flex;
	justify-content: space-between;
	margin-top: 5px;
	font-size: 11.5px;
	color: rgba(251, 243, 236, .68);
	font-variant-numeric: tabular-nums;
}
.ak-lecteur-mini__fermer {
	width: 32px;
	height: 32px;
	flex: none;
	border: none;
	border-radius: 50%;
	background: rgba(251, 243, 236, .12);
	color: var(--ak-ivoire);
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: background var(--ak-transition);
}
.ak-lecteur-mini__fermer:hover { background: rgba(251, 243, 236, .24); }

/* Le pied de page ne passe pas sous le lecteur. */
body.ak-a-mini-lecteur .ak-pied { padding-bottom: 100px; }

.ak-episode__play.is-actif { background: var(--ak-vert); color: var(--ak-or); }
.ak-episode__actions { display: flex; align-items: center; gap: 12px; flex: none; }
.ak-episode__video {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	border: 1px solid var(--ak-trait);
	border-radius: 999px;
	background: transparent;
	color: var(--ak-vert);
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--ak-transition);
}
.ak-episode__video:hover { background: var(--ak-vert); border-color: var(--ak-vert); color: var(--ak-or); }

/* ------------------------------------------- Vidéo flottante -------- */
.ak-video-flottante {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 88;
	width: min(480px, calc(100vw - 32px));
	background: var(--ak-vert-fonce);
	border-radius: var(--ak-r-m);
	overflow: hidden;
	box-shadow: var(--ak-ombre-l);
	animation: ak-pop 260ms cubic-bezier(.22, .61, .36, 1);
}
.ak-video-flottante[hidden] { display: none; }
.ak-video-flottante__barre {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	color: var(--ak-ivoire);
	font-size: 13.5px;
	font-weight: 600;
}
.ak-video-flottante__barre span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ak-video-flottante__barre button {
	border: none;
	background: rgba(251, 243, 236, .12);
	color: var(--ak-ivoire);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	cursor: pointer;
	flex: none;
}
.ak-video-flottante__cadre { aspect-ratio: 16 / 9; background: #000; }
.ak-video-flottante__cadre iframe { width: 100%; height: 100%; border: 0; display: block; }

body.ak-a-mini-lecteur .ak-video-flottante { bottom: 96px; }

/* ---------------------------------------- Encadrés de l'éditeur ----- */
.ak-encadre {
	padding: 24px 26px;
	margin: 30px 0;
	border-radius: var(--ak-r-m);
	background: var(--ak-vert-pale);
	border-left: 4px solid var(--ak-vert);
}
.ak-encadre h3 { font-size: 18px; margin: 0 0 12px; color: var(--ak-vert); }
.ak-encadre ul { margin: 0; padding-left: 20px; }
.ak-encadre--methode { background: rgba(247, 180, 56, .14); border-left-color: var(--ak-or); }
.ak-encadre--retenir { background: var(--ak-vert); color: var(--ak-ivoire); border-left-color: var(--ak-or); }
.ak-encadre--retenir h3 { color: var(--ak-or); }

.ak-carte-publier--vedette {
	border-color: var(--ak-vert);
	box-shadow: var(--ak-ombre-m);
}
.ak-carte-publier--vedette .ak-carte-publier__icone { background: var(--ak-vert); color: var(--ak-or); }

/* Animations d'apparition */
[data-ak-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 620ms cubic-bezier(.22, .61, .36, 1), transform 620ms cubic-bezier(.22, .61, .36, 1);
	will-change: opacity, transform;
}
[data-ak-reveal].is-visible { opacity: 1; transform: none; }
[data-ak-reveal][data-delai="1"] { transition-delay: 90ms; }
[data-ak-reveal][data-delai="2"] { transition-delay: 180ms; }
[data-ak-reveal][data-delai="3"] { transition-delay: 270ms; }
[data-ak-reveal][data-delai="4"] { transition-delay: 360ms; }

.ak-compteur { font-variant-numeric: tabular-nums; }

/* Responsive ---------------------------------------------------------- */
@media (max-width: 1200px) {
	.ak-mixte__groupe,
	.ak-temoignages__groupe { flex-basis: 50%; }
}

/* ---------------------------------------------- Tablette paysage (iPad Pro) */
@media (max-width: 1024px) {
	/* Les cartes étaient calibrées pour 1360 px : on resserre les minimums. */
	.ak-grille--grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
	.ak-grille--produits { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
	.ak-grille--portraits { grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); }
	.ak-grille { gap: 22px; }

	.ak-entete__inner { gap: 16px; }
	.ak-nav > ul { gap: 2px; }
	.ak-nav > ul > li > a,
	.ak-nav > ul > li > .ak-nav__parent { padding: 10px 11px; font-size: 13.5px; }
	.ak-entete__cta { padding: 10px 14px; font-size: 12.5px; }
}

@media (max-width: 1080px) {
	.ak-nav { display: none; }
	.ak-burger { display: grid; }
	.ak-une { grid-template-columns: 1fr; }
	.ak-colonnes, .ak-colonnes--large { grid-template-columns: 1fr; }
	.ak-aside { position: static; }
	.ak-tunnel__grille { grid-template-columns: 1fr; }
	.ak-tunnel__resume { position: static; }
	.ak-accueil-haut { grid-template-columns: 1fr; }
	.ak-bloc-revue { grid-template-columns: 1fr; gap: 18px; }
	.ak-bloc-revue__couverture { max-width: 158px; }
	.ak-bloc-revue__titre { font-size: 22px; }
	/* Le chapeau donne l'idee du numero ; le detail est sur sa fiche. */
	.ak-bloc-revue__chapeau {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.ak-bloc-revue__actions .ak-btn { flex: 1 1 100%; text-align: center; justify-content: center; }
	.ak-agenda__jour { grid-template-columns: 76px 150px minmax(0, 1fr); }
	.ak-agenda__actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
}

/* ------------------------------------------- Tablette portrait et en dessous */
@media (max-width: 900px) {
	/*
	 * L'en-tête se recompose : le bouton « Le Brief hebdo » quitte la barre.
	 * Il occupait à lui seul près de 150 px et poussait le bouton menu hors
	 * de l'écran, sans possibilité de rattrapage puisque le corps de page
	 * masque le débordement horizontal. Il reste accessible dans le panneau
	 * mobile, où il figure déjà en tête des actions.
	 */
	.ak-entete__cta { display: none; }
	.ak-entete__inner { gap: 12px; }
	.ak-entete__actions { gap: 8px; }

	/* Une seule colonne publicitaire latérale suffit : les suivantes sont
	   masquées pour ne pas empiler trois carrés dans le fil de lecture. */
	.ak-aside .ak-ads--side ~ .ak-ads--side,
	.ak-section .ak-ads--side ~ .ak-ads--side { display: none; }

	.ak-grille--portraits { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
}

@media (max-width: 780px) {
	body.ak-body { font-size: 16px; }
	.ak-bandeau__baseline { display: none; }
	.ak-form__corps { grid-template-columns: minmax(0, 1fr); }
	.ak-champ--moitie { grid-column: 1 / -1; }
	.ak-fiche-carte__haut { grid-template-columns: 1fr; }
	.ak-fiche-carte__actions { flex-direction: row; flex-wrap: wrap; }
	.ak-ligne { grid-template-columns: 1fr; gap: 10px; }
	.ak-panier-ligne { grid-template-columns: 64px minmax(0, 1fr); }
	.ak-panier-ligne__prix, .ak-panier-ligne__retirer { grid-column: 2; }
	.ak-popup { right: 12px; left: 12px; bottom: 12px; width: auto; }
	.ak-newsletter__ligne { flex-direction: column; }
	.ak-newsletter__ligne input, .ak-newsletter__ligne select { min-width: 0; width: 100%; }
	.ak-espace__entete { flex-direction: column; align-items: flex-start; }
	.ak-liste-dl li { grid-template-columns: 1fr; }
	.ak-mixte__groupe,
	.ak-temoignages__groupe { flex-basis: 100%; padding: 4px; }
	/*
	 * Une seule colonne. La grille a deux colonnes laissait le corps de
	 * l'evenement — titre, lieu, horaires — dans la colonne de 70 px
	 * reservee a la date : le texte s'y empilait sur 622 px de haut, une
	 * lettre par ligne ou presque. « order » ne suffisait pas : le
	 * placement automatique reprenait la premiere colonne libre.
	 *
	 * La date devient une pastille horizontale posee au-dessus du titre.
	 */
	.ak-agenda__jour {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		align-items: start;
	}
	.ak-agenda__date,
	.ak-agenda__corps,
	.ak-agenda__visuel,
	.ak-agenda__actions { grid-column: 1; }
	.ak-agenda__date {
		display: flex;
		align-items: baseline;
		gap: 7px;
		width: max-content;
		padding: 7px 13px;
		order: 1;
	}
	.ak-agenda__date strong { font-size: 20px; }
	.ak-agenda__date span { margin-top: 0; }
	.ak-agenda__corps { order: 2; }
	.ak-agenda__visuel { order: 3; }
	.ak-agenda__actions { order: 4; flex-direction: row; flex-wrap: wrap; }
	.ak-agenda__actions .ak-btn { flex: 1 1 130px; }
	.ak-actions-section { width: 100%; }
	.ak-actions-section .ak-btn { flex: 1; }

	/* Mini-lecteur : format compact, collé au bas de l'écran. */
	.ak-lecteur-mini {
		left: 8px;
		right: 8px;
		bottom: 8px;
		width: auto;
		transform: none;
		grid-template-columns: auto minmax(0, 1fr) auto;
		border-radius: var(--ak-r-m);
		padding: 10px 12px;
		gap: 10px;
	}
	.ak-lecteur-mini__image { display: none; }
	.ak-lecteur-mini__temps { font-size: 11px; }
	body.ak-a-mini-lecteur .ak-pied { padding-bottom: 120px; }

	.ak-video-flottante {
		left: 8px;
		right: 8px;
		bottom: 8px;
		width: auto;
	}
	body.ak-a-mini-lecteur .ak-video-flottante { bottom: 92px; }

	.ak-episode { flex-wrap: wrap; }
	.ak-episode__actions { width: 100%; justify-content: space-between; padding-left: 62px; }

	/* Opportunités : la ligne se replie en bloc. */
	.ak-opp-ligne {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px 14px;
		padding: 16px;
	}
	.ak-opp-ligne__type { grid-column: 1 / -1; }
	.ak-opp-ligne__cloture { text-align: left; }
	.ak-opp-ligne__cloture strong { display: inline; }
	.ak-opp-ligne__cloture span { display: inline; margin-left: 6px; }
	.ak-opp-ligne__actions { grid-column: 1 / -1; justify-content: space-between; margin-top: 6px; }

	/* Espace membre : les deux univers se superposent. */
	.ak-onglets--univers { flex-direction: column; align-items: stretch; gap: 12px; }
	.ak-univers { border-radius: var(--ak-r-m); }
	.ak-bandeau-expert { flex-direction: column; align-items: flex-start; }

	/* Préférences de newsletters : la mention d'état passe sous le libellé. */
	.ak-preference { grid-template-columns: auto minmax(0, 1fr); row-gap: 8px; }
	.ak-preference__etat { grid-column: 2; white-space: normal; }

	/* Étapes du tunnel : deux par ligne plutôt qu'un débordement. */
	.ak-etapes li { flex: 1 1 calc(50% - 10px); font-size: 13px; padding: 9px 12px 9px 8px; }

	/* Fil d'Ariane et badges : retour à la ligne autorisé. */
	.ak-fil { font-size: 12.5px; }
	.ak-etiquette { white-space: normal; }

	/* Tableaux et blocs de code du contenu : défilement propre. */
	.ak-contenu table,
	.ak-contenu pre { display: block; width: 100%; overflow-x: auto; }
}

/* ------------------------------------------------------------- Téléphone */
@media (max-width: 600px) {
	/* Grilles : une carte pleine largeur plutôt que deux à l'étroit. */
	.ak-grille--grille,
	.ak-grille--produits,
	.ak-grille--portraits,
	.ak-grille--offres,
	.ak-grille--publier,
	.ak-grille--deux { grid-template-columns: 1fr; }
	.ak-grille { gap: 24px; }

	/* Le portrait retrouve un cadrage vertical quand il occupe toute la
	   largeur : en carré plein écran, la vignette devenait énorme. */
	.ak-carte--portrait .ak-carte__visuel { aspect-ratio: 16 / 11; }

	/* Titres : on réduit le bas des fourchettes, trop hautes sur petit écran. */
	.ak-entete-section__titre { font-size: clamp(23px, 6.4vw, 30px); }
	.ak-article__titre { font-size: clamp(26px, 7.4vw, 34px); }
	.ak-contenu { font-size: 17px; }
	.ak-contenu h2 { font-size: 22px; }

	/* Bandeau supérieur : les liens se répartissent sans se chevaucher. */
	.ak-bandeau { font-size: 12px; }
	.ak-bandeau__inner { justify-content: center; padding-block: 7px; }
	.ak-bandeau__actions { gap: 14px; }

	/* Barre de partage et fil d'Ariane. */
	.ak-partage { flex-wrap: wrap; gap: 8px; }
	.ak-article__barre { flex-direction: column; align-items: flex-start; gap: 14px; }

	/* Encadrés et figures : moins de rembourrage, plus de texte utile. */
	.ak-encadre { padding: 18px 18px; margin: 24px 0; }
	.ak-figure { margin: 24px 0; }
	.ak-article__visuel { max-height: 260px; border-radius: var(--ak-r-m); }
	.ak-article__visuel img { max-height: 260px; }

	/* Boutons : pleine largeur, plus faciles à viser. */
	.ak-actions-section { flex-direction: column; }
	.ak-actions-section .ak-btn { width: 100%; }
}

/* -------------------------------------------------------- Petit téléphone */
@media (max-width: 420px) {
	.ak-logo__nom { font-size: 19px; }
	.ak-logo img { width: 36px; height: 36px; }
	.ak-logo { gap: 9px; }
	.ak-entete__actions { gap: 6px; }
	.ak-icone-btn { width: 38px; height: 38px; }

	.ak-bandeau__actions { gap: 10px; font-size: 11.5px; }
	.ak-ligne--vignette { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
	.ak-etapes li { flex: 1 1 100%; }
}

/* ------------------------------------------------ Menu mobile : accordéon */
/*
 * Le panneau mobile réutilise le HTML du menu de bureau, mais son conteneur
 * porte la classe « ak-mobile__nav » : aucune règle « .ak-nav … » ne s'y
 * applique. Les boutons de rubrique s'affichaient donc en boutons bruts du
 * navigateur, et les sous-menus restaient ouverts en permanence.
 */
.ak-mobile__nav .ak-nav__parent {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 15px 0;
	border: none;
	background: transparent;
	color: var(--ak-ivoire);
	font-family: var(--ak-titre);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
}
.ak-mobile__nav .ak-nav__parent svg {
	flex: none;
	width: 14px;
	height: 14px;
	transition: transform var(--ak-transition);
}
.ak-mobile__nav .ak-nav__parent[aria-expanded="true"] { color: var(--ak-or); }
.ak-mobile__nav .ak-nav__parent[aria-expanded="true"] svg { transform: rotate(180deg); }

/*
 * Sous-menu replié par défaut, déplié par le bouton de rubrique.
 * Repli par la hauteur maximale, et non par « grid-template-rows : 0fr » :
 * cette astuce n'écrase correctement qu'un conteneur possédant un seul
 * enfant. Ici la liste en compte plusieurs — seule la première entrée était
 * ramenée à zéro et venait se superposer à la suivante.
 */
.ak-mobile__nav .sub-menu {
	display: block;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 320ms cubic-bezier(.22, .61, .36, 1), opacity 200ms linear;
}
.ak-mobile__nav .menu-item-has-children.is-ouvert > .sub-menu {
	max-height: 60rem;
	opacity: 1;
}

/* Le sous-menu déplié se détache légèrement, en retrait de son parent. */
.ak-mobile__nav .menu-item-has-children.is-ouvert > .sub-menu {
	padding-bottom: 8px;
	border-left: 2px solid rgba(247, 180, 56, .35);
	margin-left: 2px;
}
.ak-mobile__nav .sub-menu li { border-top: none; }
.ak-mobile__nav .sub-menu li:first-child { border-top: none; }
.ak-mobile__nav .sub-menu a {
	display: grid;
	gap: 3px;
	padding: 12px 0 12px 16px;
	font-family: var(--ak-titre);
	font-weight: 500;
	font-size: 16px;
	color: rgba(251, 243, 236, .82);
}
.ak-mobile__nav .sub-menu .ak-nav__desc {
	font-family: var(--ak-texte);
	font-weight: 400;
	font-size: 12.5px;
	line-height: 1.4;
	color: rgba(251, 243, 236, .52);
}
/* Sur les écrans les plus étroits, la description alourdit inutilement. */
@media (max-width: 420px) {
	.ak-mobile__nav .sub-menu .ak-nav__desc { display: none; }
	.ak-mobile__nav .sub-menu a { padding-block: 13px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
	[data-ak-reveal] { opacity: 1; transform: none; }
}

@media print {
	.ak-bandeau, .ak-entete, .ak-pied, .ak-ads, .ak-popup, .ak-paywall, .ak-candidature { display: none !important; }
	body.ak-body { background: #fff; }
}

/* ================================================================== 11. */
/* Mobile first — refonte UX (v1.11)
   Objectifs : cibles tactiles ≥ 44 px, planchers typographiques, en-tête
   allégé, page d'accueil raccourcie (bandes à balayer), barre de navigation
   basse dans la zone du pouce, popups moins intrusives.
   ------------------------------------------------------------------- */

:root {
	--ak-barre-bas: 0px;
	--ak-cible: 44px;
}

/* 11.1 Lisibilité : plus aucun texte utile sous 12 px, quel que soit l'écran. */
.ak-kicker { font-size: 12px; }
.ak-etiquette { font-size: 11.5px; padding: 6px 11px; }
.ak-carte__date { font-size: 13.5px; }
.ak-ads__tag { font-size: 11px; }
.ak-ads__vide-titre { font-size: clamp(13px, 1.3vw, 15px); }
.ak-ads__vide-detail { font-size: 12px; }
.ak-recherche__type { font-size: 11.5px; }
.ak-mobile__nav .sub-menu .ak-nav__desc { font-size: 13.5px; }
.ak-lecteur-mini__temps { font-size: 12px; }
.ak-opp-ligne__type,
.ak-donnee__label,
.ak-pied__titre,
.ak-parution,
.ak-ligne__source,
.ak-carte-publier__infos strong { font-size: 12px; }

/* 11.2 Cibles tactiles : 44 px minimum (recommandation Apple / WCAG 2.5.8). */
.ak-icone-btn { width: var(--ak-cible); height: var(--ak-cible); }
.ak-btn--petit { min-height: 42px; }
.ak-bande__nav .ak-carrousel__fleche,
.ak-temoignages__fleches .ak-carrousel__fleche,
.ak-hero__nav .ak-carrousel__fleche { width: var(--ak-cible); height: var(--ak-cible); }
.ak-partage__lien,
.ak-pied__reseau,
.ak-modale__fermer { width: var(--ak-cible); height: var(--ak-cible); }
.ak-suivre--bande .ak-suivre__lien { min-height: var(--ak-cible); }
/*
 * Les pastilles en colonne gardent le « min-width: 0 » qui leur permet de se
 * partager la largeur : leur imposer 44 px ici les empêchait de rétrécir et
 * faisait déborder la page de 82 px sur un écran de 320 px. La cible de 44 px
 * est obtenue autrement sur téléphone — par le retour à la ligne, plus bas.
 */
.ak-kicker[href] { padding-block: 10px; margin-block: -10px; }
.ak-popup__fermer {
	display: grid;
	place-items: center;
	width: var(--ak-cible);
	height: var(--ak-cible);
	margin: -12px -12px 0 0;
}
/* Les pastilles restent fines à l'œil ; leur zone de toucher est étendue. */
.ak-carrousel__dot,
.ak-ads__dot { position: relative; }
.ak-carrousel__dot::before,
.ak-ads__dot::before {
	content: "";
	position: absolute;
	inset: -14px -6px;
}
.ak-carrousel__dots { gap: 12px; }
.ak-ads__dots { gap: 10px; }

/* 11.3 Emplacements publicitaires encore libres : aucune pastille à faire
   tourner, et les bandeaux plats disparaissent sur téléphone où ils
   n'auraient fait que repousser le contenu. */
.ak-ads--vide .ak-ads__dots { display: none; }

/* 11.4 Barre de navigation basse : invisible sur grand écran. */
.ak-barre-bas { display: none; }

/* ------------------------------------------------ Tablette portrait et téléphone */
@media (max-width: 780px) {
	:root { --ak-barre-bas: 62px; }

	/* Champs : 16 px, sous ce seuil iOS zoome la page à la prise de focus. */
	.ak-champ input[type="text"],
	.ak-champ input[type="email"],
	.ak-champ input[type="tel"],
	.ak-champ input[type="url"],
	.ak-champ input[type="date"],
	.ak-champ input[type="number"],
	.ak-champ input[type="password"],
	.ak-champ select,
	.ak-champ textarea,
	.ak-newsletter__ligne input,
	.ak-newsletter__ligne select,
	.ak-recherche__ligne input { font-size: 16px; }

	/* En-tête : le bandeau supérieur (liens de 11 px) se retire ; ses deux
	   entrées existent déjà dans le panneau de menu et la barre basse. */
	.ak-bandeau { display: none; }
	.ak-entete__inner { padding-block: 10px; }
	.ak-entete.is-collee .ak-entete__inner { padding-block: 8px; }
	html { scroll-padding-top: 84px; }

	/* Panneau de menu : le logo restait empilé (icône au-dessus du nom)
	   parce que « .ak-mobile a » l'emportait sur « .ak-logo ». */
	.ak-mobile .ak-logo { display: flex; padding: 0; }
	.ak-mobile { padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }
	.ak-mobile a,
	.ak-mobile__nav .ak-nav__parent { min-height: 52px; }

	/* Emplacements publicitaires sans annonceur : masqués. */
	.ak-ads--header.ak-ads--vide,
	.ak-ads--footer.ak-ads--vide,
	.ak-aside .ak-ads--side.ak-ads--vide { display: none; }
	.ak-conteneur:has(> .ak-ads--vide:only-child) { display: none; }

	/* En-têtes de rubrique : titre, puis deux boutons compacts sur une
	   ligne — au lieu de deux boutons pleine largeur empilés (110 px)
	   avant le moindre contenu. */
	.ak-entete-section { gap: 12px; padding-bottom: 14px; margin-bottom: 20px; }
	.ak-entete-section__chapeau { font-size: 14.5px; margin-top: 6px; }
	.ak-entete-section .ak-actions-section {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
	}
	.ak-entete-section .ak-actions-section .ak-btn {
		width: auto;
		flex: 0 1 auto;
		min-height: 42px;
		padding: 10px 16px;
		font-size: 13.5px;
	}

	/* Accueil : les grilles deviennent des bandes à balayer. Une carte et
	   l'amorce de la suivante restent visibles — l'invitation au geste
	   se lit sans flèche ni légende. La page passe de ~24 à ~14 écrans. */
	.home .ak-grille--portraits,
	.home .ak-grille--grille,
	.home .ak-grille--produits {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--ak-gouttiere);
		-webkit-overflow-scrolling: touch;
		margin-inline: calc(-1 * var(--ak-gouttiere));
		padding-inline: var(--ak-gouttiere);
		padding-bottom: 6px;
		scrollbar-width: none;
	}
	.home .ak-grille--portraits::-webkit-scrollbar,
	.home .ak-grille--grille::-webkit-scrollbar,
	.home .ak-grille--produits::-webkit-scrollbar { display: none; }
	.home .ak-grille--portraits > *,
	.home .ak-grille--grille > *,
	.home .ak-grille--produits > * {
		flex: 0 0 min(78vw, 320px);
		scroll-snap-align: start;
	}
	.home .ak-carte--portrait .ak-carte__visuel { aspect-ratio: 1 / 1; }

	/* Accueil : les encarts de la colonne latérale qui répètent une
	   rubrique déjà présente (outils, publicité vide) se retirent. */
	.home #podcasts .ak-aside { display: none; }
	.home #nouvelles .ak-aside .ak-carte-blanche:has(.ak-mini-produits) { display: none; }

	/* Popup : feuille compacte posée sur la barre basse. */
	.ak-popup {
		left: 10px;
		right: 10px;
		bottom: calc(var(--ak-barre-bas) + 10px + env(safe-area-inset-bottom, 0px));
		width: auto;
		padding: 18px 20px 20px;
	}
	.ak-popup__titre { font-size: 19px; margin-top: 6px; }
	.ak-popup__texte { font-size: 14.5px; margin: 8px 0 14px; }
	.ak-popup .ak-btn { width: 100%; }

	/* Barre de navigation basse : cinq entrées dans la zone du pouce. */
	body.ak-body { padding-bottom: calc(var(--ak-barre-bas) + env(safe-area-inset-bottom, 0px)); }
	.ak-barre-bas {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 80;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		padding-bottom: env(safe-area-inset-bottom, 0px);
		background: var(--ak-blanc);
		border-top: 1px solid var(--ak-trait);
		box-shadow: 0 -6px 24px rgba(87, 3, 15, .08);
	}
	.ak-barre-bas__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		min-height: var(--ak-barre-bas);
		padding: 0;
		border: none;
		background: none;
		color: var(--ak-encre-60);
		font-family: var(--ak-titre);
		font-weight: 600;
		font-size: 11px;
		letter-spacing: .01em;
		line-height: 1;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		transition: color var(--ak-transition);
	}
	.ak-barre-bas__item svg { width: 22px; height: 22px; }
	.ak-barre-bas__item:hover,
	.ak-barre-bas__item.is-active { color: var(--ak-bordeaux); }
	.ak-barre-bas__item.is-active svg { stroke-width: 2.3; }

	/* Les éléments flottants remontent au-dessus de la barre. */
	.ak-lecteur-mini { bottom: calc(var(--ak-barre-bas) + 8px + env(safe-area-inset-bottom, 0px)); }
	.ak-video-flottante { bottom: calc(var(--ak-barre-bas) + 8px + env(safe-area-inset-bottom, 0px)); }
	body.ak-a-mini-lecteur .ak-video-flottante { bottom: calc(var(--ak-barre-bas) + 92px + env(safe-area-inset-bottom, 0px)); }
	.ak-bandeau-cookies { padding-bottom: calc(var(--ak-barre-bas) + 12px + env(safe-area-inset-bottom, 0px)); }
	body.ak-a-mini-lecteur .ak-pied { padding-bottom: 140px; }
}

/* ------------------------------------------------------------- Téléphone */
@media (max-width: 600px) {
	.ak-section { padding-block: 28px; }
	.ak-section--serree { padding-block: 16px; }

	/* Bandeaux 1200 × 120 et 1200 × 140 : sur 340 px de large ils ne font
	   plus que 34 px de haut — illisibles, ils ne servaient ni le lecteur ni
	   l'annonceur. L'encart accueil, l'encart d'article et le carré latéral
	   restent affichés. */
	.ak-ads--header,
	.ak-ads--footer { display: none; }
	.ak-conteneur:has(> .ak-ads--header:only-child),
	.ak-conteneur:has(> .ak-ads--footer:only-child) { display: none; }

	/* Une : visuel, titre, trois lignes de chapeau, bouton pleine largeur. */
	.ak-hero__slide { padding: 14px; gap: 14px; }
	.ak-hero__titre { font-size: clamp(22px, 6.4vw, 28px); }
	.ak-hero__chapeau {
		font-size: 15.5px;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.ak-hero__corps .ak-btn { align-self: stretch; }
	.ak-hero__nav { margin-top: 12px; }

	.ak-carte__titre { font-size: 18px; }
	.ak-classement__item { padding: 14px 0; }
	.ak-marquee { font-size: 13.5px; }
}

/* ================================================================== 12. */
/* Petits écrans et navigateurs tiers (v1.11.1)
   Le parc africain n'est pas un parc d'iPhone : Huawei et Honor sans services
   Google embarquent leur propre navigateur, Opera Mini et Samsung Internet
   sont très présents, et une partie du parc affiche 360 px — parfois 320 px.
   Cette section traite trois choses : le débordement horizontal, les très
   petits écrans, et les propriétés CSS récentes qui, non reconnues, cassent
   la mise en page au lieu de simplement ne rien faire.
   ------------------------------------------------------------------- */

/* 12.1 Filet anti-débordement.
   Une URL collée dans un article, un nom de structure sans espace ou un
   intitulé d'appel à projets suffisent à pousser la page au-delà de l'écran.
   Le corps de page masque le débordement, mais la ligne reste illisible. */
.ak-contenu,
.ak-carte__titre,
.ak-hero__titre,
.ak-article__titre,
.ak-entete-section__titre,
.ak-ligne__titre,
.ak-classement__titre,
.ak-fiche-carte__titre,
.ak-opp-ligne,
.ak-pied,
.ak-mobile__nav { overflow-wrap: break-word; word-wrap: break-word; }

.ak-contenu a,
.ak-pied a { word-break: break-word; }

/* Contenus intégrés (YouTube, cartes, lecteurs) collés par la rédaction. */
.ak-contenu iframe,
.ak-contenu embed,
.ak-contenu object,
.ak-contenu video { max-width: 100%; }

/* 12.2 Pastilles de réseaux sociaux.
   En colonne, elles se partagent la largeur disponible : sur un écran de
   320 px, sept pastilles de 44 px ne tiennent pas sur une rangée. Plutôt que
   de les rétrécir sous la cible tactile ou de faire déborder la page, elles
   passent à la ligne sur téléphone. */
@media (max-width: 780px) {
	.ak-suivre--colonne .ak-suivre__liens {
		flex-wrap: wrap;
		gap: 10px;
	}
	.ak-suivre--colonne .ak-suivre__lien {
		flex: 0 0 auto;
		width: var(--ak-cible);
		height: var(--ak-cible);
		max-width: none;
	}
}

/* 12.3 Bandeau publicitaire de tête : masqué sur téléphone par sa propre
   classe, et non par « :has() » que les navigateurs antérieurs à 2022
   ignorent — l'encart laissait alors une bande vide. */
@media (max-width: 600px) {
	.ak-zone-pub { display: none; }
}

/* 12.4 Compatibilité « inset ».
   « inset: 0 » date de Chromium 87 (fin 2020). Non reconnu, le panneau de
   menu et la fenêtre de recherche perdent leurs quatre calages : décalés
   hors écran par leur propre translation, ils tiraient la page en largeur.
   Les quatre propriétés détaillées disent la même chose, partout. */
.ak-mobile,
.ak-recherche,
.ak-modale,
.ak-modale__fond,
.ak-video iframe {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/* Le panneau de menu ne défile jamais latéralement, quoi qu'il contienne. */
.ak-mobile { overflow-x: hidden; }

/* 12.5 Compatibilité « aspect-ratio » (Chromium 88, début 2021).
   Non reconnu, les cadres d'image tombent à zéro pixel de haut : les
   vignettes disparaissent et les cartes se réduisent à leur texte. Le repli
   par rembourrage proportionnel donne le même cadrage partout. */
@supports not (aspect-ratio: 1 / 1) {
	.ak-carte__visuel,
	.ak-hero__visuel,
	.ak-fiche-carte__visuel,
	.ak-ligne__vignette {
		position: relative;
		height: 0;
		padding-bottom: 62.5%;
	}
	.ak-hero__visuel { padding-bottom: 56.25%; }
	.ak-fiche-carte__visuel { padding-bottom: 37.5%; }
	.ak-carte--portrait .ak-carte__visuel,
	.ak-carte--carre .ak-carte__visuel,
	.ak-ligne__vignette { padding-bottom: 100%; }

	.ak-carte__visuel img,
	.ak-carte__visuel .ak-visuel-vide,
	.ak-hero__visuel img,
	.ak-hero__visuel .ak-visuel-vide,
	.ak-fiche-carte__visuel img,
	.ak-ligne__vignette img,
	.ak-ligne__vignette .ak-visuel-vide {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	/* Emplacements publicitaires et pastilles : une hauteur plutôt que rien. */
	.ak-ads__vide { min-height: 64px; }
	.ak-ads__link img { height: auto; }
	.ak-suivre--colonne .ak-suivre__lien { min-height: 40px; }
}

/* 12.6 Très petits écrans (320 – 360 px).
   La gouttière se resserre, l'en-tête et la barre basse se compactent :
   cinq entrées doivent tenir dans 320 px sans se chevaucher. */
.ak-barre-bas__item {
	min-width: 0;
	overflow: hidden;
	text-align: center;
}
.ak-barre-bas__item span {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 360px) {
	:root { --ak-gouttiere: 14px; }

	.ak-logo__nom { font-size: 18px; }
	.ak-logo img { width: 32px; height: 32px; }
	.ak-logo { gap: 8px; }
	.ak-entete__actions { gap: 4px; }
	.ak-icone-btn { width: 40px; height: 40px; }

	.ak-barre-bas__item { font-size: 10px; gap: 3px; }
	.ak-barre-bas__item svg { width: 20px; height: 20px; }

	/* Une carte pleine largeur dans les bandes à balayer : à cette largeur,
	   laisser dépasser la carte suivante ne laisse plus rien à lire. */
	.home .ak-grille--portraits > *,
	.home .ak-grille--grille > *,
	.home .ak-grille--produits > * { flex-basis: 86vw; }

	.ak-hero__slide { padding: 12px; }
	.ak-btn { padding: 13px 20px; font-size: 14.5px; }
	.ak-etiquette { letter-spacing: .08em; }
}

/* 12.7 Repli pour « gap » en disposition flexible (Chromium 84, mi-2020).
   Sans lui, les boutons et les pastilles se touchent. Les marges de secours
   ne s'appliquent que si l'espacement n'est pas reconnu. */
@supports not (gap: 1px) {
	.ak-actions-section > *,
	.ak-suivre__liens > *,
	.ak-partage > * { margin: 0 8px 8px 0; }
}

/* =========================================================================
   13. AKÈDA CONNECT — entrepreneurs d'Afrique de l'Ouest (1.13.0)
   ========================================================================= */
.ak-connect-hero {
	background: var(--ak-vert);
	color: var(--ak-ivoire);
	padding: clamp(38px, 6vw, 72px) 0 clamp(30px, 4vw, 48px);
}
.ak-connect-hero .ak-fil,
.ak-connect-hero .ak-fil a { color: rgba(251, 243, 236, .62); }
.ak-connect-hero__titre {
	font-size: clamp(30px, 4.6vw, 58px);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -.02em;
	margin: 14px 0 0;
	color: var(--ak-ivoire);
	text-wrap: balance;
	max-width: 16ch;
}
.ak-connect-hero__chapeau {
	font-size: 18px;
	line-height: 1.6;
	color: rgba(251, 243, 236, .8);
	margin: 18px 0 0;
	max-width: 62ch;
}
.ak-connect-chiffres {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
	gap: 20px;
	margin: 34px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(251, 243, 236, .2);
}
.ak-connect-chiffres > div { display: flex; flex-direction: column-reverse; }
.ak-connect-chiffres dd {
	margin: 0;
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 34px;
	line-height: 1.1;
	color: var(--ak-or);
}
.ak-connect-chiffres dt { font-size: 14.5px; color: rgba(251, 243, 236, .74); margin-top: 4px; }

/* Bande défilante des membres */
.ak-connect-bande {
	background: var(--ak-vert-fonce);
	padding: 22px 0;
	overflow: hidden;
}
.ak-connect-bande__fenetre { display: flex; width: max-content; }
.ak-connect-bande__fenetre:hover .ak-connect-bande__piste,
.ak-connect-bande__fenetre:focus-within .ak-connect-bande__piste { animation-play-state: paused; }
.ak-connect-bande__piste {
	display: flex;
	gap: 16px;
	padding: 0 8px;
	margin: 0;
	list-style: none;
	animation: ak-connect-defile var(--ak-duree, 40s) linear infinite;
}
@keyframes ak-connect-defile { from { transform: translateX(0); } to { transform: translateX(-100%); } }

.ak-connect-membre {
	flex: 0 0 auto;
	width: 220px;
	background: var(--ak-blanc);
	border-radius: var(--ak-r-m);
	overflow: hidden;
	box-shadow: var(--ak-ombre-s);
	list-style: none;
}
.ak-connect-membre__visuel {
	position: relative;
	height: 118px;
	background: var(--ak-ivoire);
}
.ak-connect-membre__produit { width: 100%; height: 100%; object-fit: cover; display: block; }
.ak-connect-membre__photo {
	position: absolute;
	left: 14px;
	bottom: -30px;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--ak-blanc);
	background: var(--ak-ivoire);
	display: grid;
	place-items: center;
	color: var(--ak-vert);
}
.ak-connect-membre__logo {
	position: absolute;
	right: 10px;
	bottom: -18px;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	object-fit: contain;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	padding: 3px;
}
.ak-connect-membre__texte {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 38px 14px 14px;
	min-width: 0;
}
.ak-connect-membre__nom {
	font-family: var(--ak-titre);
	font-size: 15.5px;
	line-height: 1.25;
	color: var(--ak-encre);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ak-connect-membre__entreprise {
	font-size: 14px;
	color: var(--ak-encre-60);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ak-connect-membre__pays {
	align-self: flex-start;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ak-vert);
	background: var(--ak-vert-pale);
	padding: 3px 9px;
	border-radius: 999px;
}

/* Bande vide : cartes d'attente et invitation */
.ak-connect-bande__attente {
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}
.ak-connect-bande__attente > li { scroll-snap-align: start; }
.ak-connect-membre--vide { background: rgba(251, 243, 236, .08); box-shadow: none; border: 1.5px dashed rgba(251, 243, 236, .35); }
.ak-connect-membre--vide .ak-connect-membre__visuel { background: rgba(251, 243, 236, .06); }
.ak-connect-membre--vide .ak-connect-membre__nom { color: var(--ak-ivoire); }
.ak-connect-membre--vide .ak-connect-membre__entreprise { color: rgba(251, 243, 236, .6); }
.ak-connect-membre--vide .ak-connect-membre__pays { background: rgba(247, 180, 56, .16); color: var(--ak-or); }
.ak-connect-bande__invite { color: rgba(251, 243, 236, .8); margin: 16px 0 0; font-size: 15px; }
.ak-connect-bande__invite a { color: var(--ak-or); font-weight: 700; margin-left: 6px; }

/* Compteurs par pays */
.ak-connect-pays {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ak-connect-pays__item a {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	gap: 6px 10px;
	padding: 14px 16px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-s);
	color: var(--ak-encre);
	text-decoration: none;
	transition: border-color var(--ak-transition), transform var(--ak-transition);
}
.ak-connect-pays__item a:hover,
.ak-connect-pays__item a:focus-visible { border-color: var(--ak-vert); transform: translateY(-2px); }
.ak-connect-pays__nom { font-weight: 700; font-size: 15.5px; min-width: 0; }
.ak-connect-pays__langue {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .06em;
	text-decoration: none;
	color: var(--ak-encre-60);
	border: 1px solid var(--ak-trait);
	border-radius: 4px;
	padding: 1px 4px;
	margin-left: 4px;
	vertical-align: 2px;
}
.ak-connect-pays__nb { font-family: var(--ak-titre); font-weight: 800; font-size: 22px; color: var(--ak-vert); }
.ak-connect-pays__item.is-vide .ak-connect-pays__nb { font-family: var(--ak-texte); font-size: 12.5px; font-weight: 700; color: var(--ak-encre-45); }
.ak-connect-pays__barre { grid-column: 1 / -1; height: 4px; background: var(--ak-vert-pale); border-radius: 4px; overflow: hidden; }
.ak-connect-pays__barre > span { display: block; height: 100%; background: var(--ak-or); border-radius: 4px; }

/* Inscription et FAQ */
.ak-connect-inscription { margin-top: 64px; scroll-margin-top: 110px; }
.ak-connect-faq { margin-top: 56px; max-width: 820px; }
.ak-connect-faq__item { border-bottom: 1px solid var(--ak-trait); padding: 16px 0; }
.ak-connect-faq__item summary { cursor: pointer; font-weight: 700; font-size: 17px; }
.ak-connect-faq__item p { margin: 10px 0 0; color: var(--ak-encre-60); }

@media (max-width: 420px) {
	.ak-connect-membre { width: 190px; }
	.ak-connect-chiffres dd { font-size: 28px; }
	.ak-connect-hero__chapeau { font-size: 16.5px; }
}

/* Sans animation : la bande devient une rangée que l'on fait défiler au doigt. */
@media (prefers-reduced-motion: reduce) {
	.ak-connect-bande { overflow-x: auto; }
	.ak-connect-bande__piste { animation: none !important; }
	.ak-connect-bande__piste--copie { display: none; }
}

/* ------------------------------------------- Akèda Connect 1.14.0 ---- */

/* Cartes contenant un formulaire : marges intérieures resserrées sur
   mobile, pour laisser la place aux champs (Invest et Connect). */
@media (max-width: 600px) {
	.ak-carte-blanche--form { padding: 18px 14px; border-radius: var(--ak-r-m); }
}
@media (max-width: 380px) {
	.ak-carte-blanche--form { padding: 14px 10px; }
}

/* Cartes membres cliquables, rang, recommandations, Pack */
.ak-connect-membre__lien { display: block; color: inherit; text-decoration: none; }
.ak-connect-membre__lien:hover .ak-connect-membre__nom,
.ak-connect-membre__lien:focus-visible .ak-connect-membre__nom { color: var(--ak-vert); }
.ak-connect-membre.is-vedette { box-shadow: 0 0 0 3px var(--ak-or), var(--ak-ombre-s); }
.ak-connect-membre__rang {
	position: absolute;
	top: 10px;
	left: 10px;
	min-width: 30px;
	height: 30px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--ak-or);
	color: var(--ak-vert-fonce);
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 15px;
	display: grid;
	place-items: center;
}
.ak-connect-membre__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.ak-connect-membre__meta .ak-connect-membre__pays { margin-top: 0; }
.ak-connect-membre__recos { font-size: 12px; font-weight: 700; color: var(--ak-encre-60); }

/* Grille du Top 10 et de l'annuaire */
.ak-connect-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ak-connect-grille .ak-connect-membre { width: auto; border: 1px solid var(--ak-trait); }

/* Annuaire : bandeau court et filtres */
.ak-connect-hero--court { padding-bottom: clamp(26px, 4vw, 40px); }
.ak-connect-filtres { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.ak-connect-filtres select {
	flex: 1 1 180px;
	min-width: 0;
	padding: 12px 14px;
	border-radius: var(--ak-r-s);
	border: 1px solid rgba(251, 243, 236, .3);
	background: rgba(251, 243, 236, .1);
	color: var(--ak-ivoire);
	font: inherit;
}
.ak-connect-filtres select option { color: var(--ak-encre); }

/* Page d'un membre */
.ak-connect-fiche-hero { background: var(--ak-vert); color: var(--ak-ivoire); padding: clamp(30px, 5vw, 60px) 0; }
.ak-connect-fiche-hero .ak-fil,
.ak-connect-fiche-hero .ak-fil a { color: rgba(251, 243, 236, .62); }
.ak-connect-fiche-hero__grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.ak-connect-fiche-hero__portraits { position: relative; width: 120px; margin-bottom: 18px; }
.ak-connect-fiche-hero__photo { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 4px solid var(--ak-or); display: block; }
.ak-connect-fiche-hero__logo {
	position: absolute;
	right: -12px;
	bottom: -6px;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	object-fit: contain;
	background: var(--ak-blanc);
	padding: 4px;
}
.ak-connect-fiche-hero__nom { font-size: clamp(30px, 4.4vw, 52px); font-weight: 800; line-height: 1.08; margin: 10px 0 0; color: var(--ak-ivoire); }
.ak-connect-fiche-hero__role { font-size: 18px; color: rgba(251, 243, 236, .85); margin: 8px 0 0; }
.ak-connect-fiche-hero__puces { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0; }
.ak-connect-fiche-hero__puces li { font-size: 13.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; background: rgba(251, 243, 236, .12); }
.ak-connect-fiche-hero__activite { font-size: 17px; line-height: 1.6; margin: 18px 0 0; max-width: 56ch; color: rgba(251, 243, 236, .9); }
.ak-connect-fiche-hero__produit { margin: 0; border-radius: var(--ak-r-l); overflow: hidden; aspect-ratio: 4 / 3; background: rgba(251, 243, 236, .08); }
.ak-connect-fiche-hero__produit img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 860px) {
	.ak-connect-fiche-hero__grille { grid-template-columns: 1fr; }
}

.ak-connect-recos { display: grid; gap: 14px; }
.ak-connect-reco { margin: 0; padding: 18px 20px; background: var(--ak-blanc); border: 1px solid var(--ak-trait); border-left: 4px solid var(--ak-or); border-radius: var(--ak-r-s); }
.ak-connect-reco p { margin: 0; }
.ak-connect-reco footer { margin-top: 10px; font-size: 14px; color: var(--ak-encre-60); }

.ak-connect-badge__apercu { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 16px 0; }
.ak-connect-badge__code {
	width: 100%;
	font-family: ui-monospace, Consolas, monospace;
	font-size: 12.5px;
	padding: 12px;
	border-radius: var(--ak-r-s);
	border: 1px solid var(--ak-trait);
	background: var(--ak-ivoire);
	resize: vertical;
	margin-top: 6px;
}
.ak-connect-lien { font-weight: 700; color: var(--ak-vert); }
.ak-connect-fiche-hero__numero { color: var(--ak-or); text-decoration: none; letter-spacing: .04em; }
.ak-connect-fiche-hero__numero:hover { text-decoration: underline; }

/* Vérifier un membre */
.ak-verifier-form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; max-width: 460px; }
.ak-verifier-form input {
	flex: 1 1 180px;
	min-width: 0;
	min-height: 48px;
	padding: 10px 16px;
	border-radius: 999px;
	border: 2px solid var(--ak-or);
	background: var(--ak-ivoire);
	color: var(--ak-encre);
	font: 700 17px/1.2 inherit;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.ak-verifier { display: grid; gap: 32px; max-width: 760px; }
.ak-verifier-resultat { padding: clamp(18px, 3vw, 28px); border-radius: var(--ak-r-l); border: 1px solid var(--ak-trait); background: var(--ak-blanc); }
.ak-verifier-resultat--ok { border-left: 6px solid var(--ak-vert); }
.ak-verifier-resultat--ko { border-left: 6px solid var(--ak-bordeaux); }
.ak-verifier-resultat__statut { display: flex; gap: 10px; align-items: baseline; font-size: clamp(18px, 2.4vw, 22px); font-weight: 800; margin: 0 0 16px; overflow-wrap: anywhere; }
.ak-verifier-resultat--ok .ak-verifier-resultat__statut span { color: var(--ak-vert); }
.ak-verifier-resultat--ko .ak-verifier-resultat__statut span { color: var(--ak-bordeaux); }
.ak-verifier-membre { display: flex; gap: 16px; align-items: center; margin-bottom: 14px; }
.ak-verifier-membre__photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; border: 3px solid var(--ak-or); }
.ak-verifier-membre__nom { font-size: 20px; font-weight: 800; margin: 0; overflow-wrap: anywhere; }
.ak-verifier-membre__infos { margin: 2px 0 0; color: var(--ak-encre-60); font-size: 14.5px; }
.ak-verifier-kit img { max-width: 100%; height: auto; }
.ak-verifier-conseils ul { margin: 12px 0 16px; padding-left: 1.2em; }
.ak-verifier-conseils li { margin: 6px 0; }

/* Connect Days */
.ak-connect-day { display: block; color: inherit; text-decoration: none; transition: border-color var(--ak-transition); }
.ak-connect-day:hover { border-color: var(--ak-vert); }
.ak-connect-day__date { font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--ak-vert); }

/* Accueil anglophone */
.ak-connect-anglais {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-radius: var(--ak-r-s);
	background: var(--ak-vert-pale);
	font-size: 15px;
	line-height: 1.55;
}

/* Pack Visibilité et parrainage */
.ak-connect-pack {
	margin-top: 64px;
	padding: clamp(20px, 4vw, 36px);
	border-radius: var(--ak-r-l);
	background: var(--ak-ivoire);
	border: 2px solid var(--ak-or);
	scroll-margin-top: 110px;
}
.ak-connect-parrainage { margin-top: 56px; scroll-margin-top: 110px; }
.ak-connect-depliant { margin-top: 18px; }
.ak-connect-depliant > summary { list-style: none; display: inline-flex; cursor: pointer; }
.ak-connect-depliant > summary::-webkit-details-marker { display: none; }
.ak-connect-depliant[open] > summary { opacity: .75; }
@media (max-width: 600px) {
	.ak-connect-pack { padding: 18px 14px; }
}

/* ------------------------------------------ Sélecteur FR / EN 1.15.0 ---- */
.ak-langues { display: inline-flex; align-items: center; gap: 2px; font-weight: 700; font-size: 12.5px; letter-spacing: .06em; }
.ak-langues a {
	padding: 3px 8px;
	border-radius: 999px;
	text-decoration: none;
	line-height: 1.4;
}
.ak-langues a.is-active { background: var(--ak-or); color: var(--ak-vert-fonce) !important; }
.ak-langues__note { font-size: 11px; font-weight: 600; opacity: .6; margin-left: 4px; letter-spacing: 0; }
.ak-langues--bandeau a { color: rgba(251, 243, 236, .82); }
.ak-langues--mobile { width: 100%; justify-content: center; gap: 8px; font-size: 14px; margin-bottom: 4px; }
.ak-langues--mobile a { padding: 8px 18px; border: 1px solid rgba(251, 243, 236, .3); color: var(--ak-ivoire); }
.ak-langues--pied a { color: inherit; border: 1px solid currentColor; opacity: .85; }
.ak-langues--pied a.is-active { opacity: 1; border-color: var(--ak-or); }

/* ------------------------------------------------- Annuaire 1.16.0 ---- */
.ak-annuaire-filtres input[type=search] {
	flex: 2 1 220px;
	min-width: 0;
	padding: 12px 14px;
	border-radius: var(--ak-r-s);
	border: 1px solid rgba(251, 243, 236, .3);
	background: rgba(251, 243, 236, .1);
	color: var(--ak-ivoire);
	font: inherit;
}
.ak-annuaire-filtres input[type=search]::placeholder { color: rgba(251, 243, 236, .6); }
.ak-annuaire-filtres select { flex: 1 1 150px; }

.ak-annuaire-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ak-annuaire-carte { list-style: none; }
.ak-annuaire-carte__lien {
	display: flex;
	gap: 14px;
	height: 100%;
	padding: 16px;
	background: var(--ak-blanc);
	border: 1px solid var(--ak-trait);
	border-radius: var(--ak-r-m);
	color: inherit;
	text-decoration: none;
	transition: border-color var(--ak-transition), transform var(--ak-transition);
}
.ak-annuaire-carte__lien:hover,
.ak-annuaire-carte__lien:focus-visible { border-color: var(--ak-vert); transform: translateY(-2px); }
.ak-annuaire-carte__logo {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	border: 1px solid var(--ak-trait);
	background: var(--ak-blanc);
	display: grid;
	place-items: center;
	overflow: hidden;
}
.ak-annuaire-carte__logo img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.ak-annuaire-carte__initiale {
	font-family: var(--ak-titre);
	font-weight: 800;
	font-size: 24px;
	color: var(--ak-vert);
}
.ak-annuaire-carte__corps { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ak-annuaire-carte__type { font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--ak-vert); }
.ak-annuaire-carte__nom { font-family: var(--ak-titre); font-size: 16px; line-height: 1.3; }
.ak-annuaire-carte__lieu { font-size: 13.5px; color: var(--ak-encre-60); }
.ak-annuaire-carte__services,
.ak-annuaire-carte__badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.ak-annuaire-carte__services span { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: var(--ak-vert-pale); color: var(--ak-vert); }
.ak-annuaire-carte__badges span { font-size: 11.5px; font-weight: 700; color: var(--ak-encre-60); }
.ak-annuaire-carte__badges .is-label { color: var(--ak-succes); }
.ak-annuaire-carte__badges .is-verifiee { color: var(--ak-vert); }

.ak-annuaire-types { margin-top: 40px; }
.ak-annuaire-puces { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ak-annuaire-pays { margin-top: 48px; scroll-margin-top: 110px; }
.ak-annuaire-referencer { scroll-margin-top: 110px; }

.ak-annuaire-fiche__logo {
	width: 96px;
	height: 96px;
	border-radius: 18px;
	background: var(--ak-blanc);
	display: grid;
	place-items: center;
	overflow: hidden;
	margin-bottom: 16px;
}
.ak-annuaire-fiche__logo img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.ak-annuaire-offre { margin-top: 36px; }
.ak-annuaire-offre dl { margin: 0; }
.ak-annuaire-offre__ligne { display: grid; grid-template-columns: minmax(0, 170px) 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--ak-trait); }
.ak-annuaire-offre__ligne dt { font-weight: 700; }
.ak-annuaire-offre__ligne dd { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 560px) {
	.ak-annuaire-offre__ligne { grid-template-columns: 1fr; }
}
.ak-annuaire-contacts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; word-break: break-word; }
.ak-annuaire-contacts a { font-weight: 700; color: var(--ak-vert); }
