/*
 * Composants (codes courts de barreau-core) dans le style du nouveau site Mada :
 * cartes blanches arrondies, pastilles, en-têtes de section à barre bleue, carrousels à points.
 * Bleu = couleur principale ; noir (--barreau-noir) = rôle de l'orange de Mada.
 * Chargée après theme.css, donc après les styles de mise en page imprimés par WordPress.
 */

/* Les composants comptent bordures et marges intérieures dans leur largeur (pas de débordement). */
[class*="barreau-"], [class*="barreau-"]::before, [class*="barreau-"]::after { box-sizing: border-box; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ---------- Boutons, liens « كل … » ---------- */
.barreau-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-block-size: 44px;
	padding: 10px 22px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 10px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}
.barreau-btn:hover { background: var(--wp--preset--color--primary-dark); border-color: var(--wp--preset--color--primary-dark); color: #fff; }
.barreau-btn--outline { background: #fff; color: var(--barreau-noir); border: 2px solid var(--barreau-noir); }
.barreau-btn--outline:hover { background: var(--barreau-noir); border-color: var(--barreau-noir); color: #fff; }
.barreau-btn--sky { background: var(--wp--preset--color--sky); border-color: var(--wp--preset--color--sky); color: #0b1f36; }
.barreau-btn--sky:hover { background: #fff; border-color: #fff; color: var(--wp--preset--color--primary-dark); }
.barreau-btn:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 2px; }

.barreau-lien-suite {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	white-space: nowrap;
}
.barreau-lien-suite::after { content: "←"; }
.barreau-lien-suite:hover { text-decoration: underline; }

/* ---------- En-tête de section (barre bleue, sous-titre, lien) ---------- */
.barreau-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 16px; margin-block-end: 22px; }
.barreau-sechead .barreau-section-title { font-size: var(--wp--preset--font-size--x-large); }
.barreau-sechead__sub { margin: 4px 0 0; padding-inline-start: 18px; color: #5b6b7c; font-size: .95rem; }
@media (max-width: 600px) { .barreau-sechead__sub { display: none; } }

/* ---------- Filtres ---------- */
.barreau-filtres {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 16px;
	padding: 18px;
	margin-bottom: 18px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--barreau-r-md);
}
.barreau-filtres__champ { display: flex; flex-direction: column; gap: 6px; flex: 1 1 180px; min-width: 0; }
.barreau-filtres__champ--q { flex: 2 1 260px; }
.barreau-filtres__champ > span { font-size: var(--wp--preset--font-size--small); font-weight: 700; color: var(--wp--preset--color--ink); }
.barreau-filtres input,
.barreau-filtres select,
.barreau-biblio__recherche input {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	background: #fff;
	font: inherit;
	color: var(--wp--preset--color--text);
}
.barreau-filtres input:focus-visible,
.barreau-filtres select:focus-visible,
.barreau-biblio__recherche input:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 1px; border-color: var(--wp--preset--color--primary); }
.barreau-filtres__actions { display: flex; align-items: center; gap: 12px; }
.barreau-filtres button,
.barreau-biblio__recherche button {
	min-height: 46px;
	padding: 10px 26px;
	border: 0;
	border-radius: 8px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 700;
	cursor: pointer;
}
.barreau-filtres button:hover,
.barreau-biblio__recherche button:hover { background: var(--wp--preset--color--primary-dark); }
.barreau-filtres__reset { font-size: var(--wp--preset--font-size--small); color: var(--barreau-noir); font-weight: 700; }

.barreau-compteur { margin: 0 0 16px; color: var(--wp--preset--color--muted); }
.barreau-compteur strong { color: var(--barreau-noir); }

/* ---------- Cartes (grilles et carrousels) ---------- */
.barreau-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}
.barreau-carte {
	display: flex;
	flex-direction: column;
	min-width: 0;
	inline-size: 100%;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--barreau-r-md);
	overflow: hidden;
	box-shadow: 0 10px 22px rgba(2, 8, 23, .06);
	transition: transform .2s, box-shadow .2s;
}
.barreau-carte:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(2, 8, 23, .12); }
/* Boîte en aspect-ratio : overflow:hidden, sinon l'image l'agrandit. */
.barreau-carte__media { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--surface); }
.barreau-carte__media img { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.barreau-carte--couverture .barreau-carte__media { aspect-ratio: 3 / 4; }
.barreau-carte--sans-image .barreau-carte__corps { border-block-start: 4px solid var(--wp--preset--color--primary); }
.barreau-carte__corps { display: flex; flex-direction: column; gap: 10px; padding: 18px; flex: 1; }
/* Pastille de rubrique : claire, texte noir (l'orange clair de Mada devient gris-noir). */
.barreau-carte__rubrique {
	align-self: flex-start;
	padding: 2px 12px;
	border: 1px solid #d4d8de;
	border-radius: 999px;
	background: #f3f4f6;
	color: var(--barreau-noir);
	font-size: .8rem;
	font-weight: 700;
}
.barreau-carte__titre { margin: 0; font-size: 17px; line-height: 1.65; font-weight: 700; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.barreau-carte__titre a { color: var(--wp--preset--color--ink); text-decoration: none; }
.barreau-carte__titre a:hover { color: var(--wp--preset--color--primary); }
.barreau-carte__compte { align-self: flex-start; font-size: .8rem; font-weight: 700; color: var(--barreau-noir); }
.barreau-carte__date,
.barreau-slide__date,
.barreau-aside__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.barreau-carte__date { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--primary); }
.barreau-carte__date::before,
.barreau-slide__date::before,
.barreau-aside__date::before {
	content: "";
	flex: 0 0 16px;
	inline-size: 16px;
	block-size: 16px;
	background: currentColor;
	-webkit-mask: var(--barreau-cal) center / contain no-repeat;
	mask: var(--barreau-cal) center / contain no-repeat;
	--barreau-cal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
}

/* ---------- Lignes (annuaire, jugements, rendez-vous) ---------- */
.barreau-lignes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--border); }
.barreau-ligne {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 4px 18px;
	padding: 14px 6px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.barreau-ligne:hover { background: var(--wp--preset--color--surface); }
.barreau-ligne__titre { flex: 1 1 320px; min-width: 0; color: var(--wp--preset--color--ink); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; line-height: 1.7; }
.barreau-ligne__titre:hover { color: var(--wp--preset--color--primary); }
.barreau-ligne__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.barreau-sep { color: var(--wp--preset--color--border); }
.barreau-lignes--compact .barreau-ligne { padding: 10px 0; }
/* Jugements : le titre d'origine est souvent la règle entière ; trois lignes dans la liste, texte complet sur la fiche. */
.post-type-archive-jugement .barreau-ligne__titre,
.tax-categorie_jugement .barreau-ligne__titre { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.barreau-lignes--compact .barreau-ligne__titre { flex-basis: 100%; font-size: .98rem; }
/* Rendez-vous à l'accueil : lignes en cartes. */
.barreau-lignes--cartes { display: grid; gap: 12px; border: 0; }
.barreau-lignes--cartes .barreau-ligne { padding: 16px 20px; background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; }
.barreau-lignes--cartes .barreau-ligne:hover { border-color: var(--wp--preset--color--primary); background: #fff; }
.barreau-badge { padding: 1px 10px; border: 1px solid var(--barreau-noir); border-radius: 999px; color: var(--barreau-noir); font-size: .78rem; font-weight: 700; }
.barreau-badge--muted { border-color: var(--wp--preset--color--border); color: var(--wp--preset--color--muted); }

/* ---------- Pagination (page courante en noir) ---------- */
.barreau-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 32px; font-family: var(--wp--preset--font-family--titre); }
.barreau-pages__num,
.barreau-pages__nav {
	min-width: 42px;
	padding: 7px 12px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background: #fff;
	text-align: center;
	text-decoration: none;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}
.barreau-pages a:hover { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--primary); color: #fff; }
.barreau-pages__num.is-current { background: var(--barreau-noir); border-color: var(--barreau-noir); color: #fff; }
.barreau-pages__gap { padding: 7px 4px; color: var(--wp--preset--color--muted); }

/* ---------- Bibliothèque : résultats à droite, facettes à gauche (RTL : ordre du DOM) ---------- */
.barreau-biblio { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 32px; align-items: start; }
.barreau-biblio__facettes {
	position: sticky;
	top: 96px;
	max-height: calc(100vh - 112px);
	overflow-y: auto;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--barreau-r-md);
}
.barreau-biblio__facettes h2 { margin: 18px 0 10px; font-size: 17px; font-weight: 700; color: var(--wp--preset--color--primary-dark); padding-block-end: 10px; border-block-end: 2px solid var(--barreau-noir); }
.barreau-biblio__recherche { display: flex; gap: 6px; }
.barreau-biblio__recherche label { flex: 1; min-width: 0; }
.barreau-biblio__recherche button { padding-inline: 16px; }
.barreau-facette { list-style: none; margin: 0; padding: 0; }
.barreau-facette a {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	color: var(--wp--preset--color--text);
	text-decoration: none;
}
.barreau-facette a span { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.barreau-facette a:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); }
.barreau-facette a[aria-current] { background: var(--wp--preset--color--primary); color: #fff; font-weight: 700; }
.barreau-facette a[aria-current] span { color: #d8e8f7; }
.barreau-facette--annees { display: flex; flex-wrap: wrap; gap: 6px; }
.barreau-facette--annees a { border: 1px solid var(--wp--preset--color--border); background: #fff; }
.barreau-biblio__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.barreau-biblio__item {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 20px;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--barreau-r-md);
	transition: border-color .2s, box-shadow .2s;
}
.barreau-biblio__item:hover { border-color: var(--wp--preset--color--primary); box-shadow: 0 10px 22px rgba(2, 8, 23, .06); }
.barreau-biblio__couverture {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden; /* boîte en aspect-ratio */
	background: var(--wp--preset--gradient--barreau, #2a65a0);
	border-radius: 8px;
	box-shadow: 0 10px 22px rgba(2, 8, 23, .14);
}
.barreau-biblio__couverture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.barreau-biblio__sans {
	display: flex;
	align-items: flex-end;
	height: 100%;
	padding: 10px;
	border-bottom: 4px solid var(--barreau-noir);
	color: #fff;
	font-family: var(--wp--preset--font-family--titre);
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.barreau-biblio__type { margin: 0 0 6px; font-size: var(--wp--preset--font-size--small); font-weight: 700; color: var(--wp--preset--color--primary); }
.barreau-biblio__num { margin-inline-start: 6px; padding: 0 10px; border-radius: 999px; background: var(--barreau-noir); color: #fff; }
.barreau-biblio__titre { margin: 0 0 6px; font-size: 18px; line-height: 1.6; overflow-wrap: anywhere; }
.barreau-biblio__titre a { color: var(--wp--preset--color--ink); text-decoration: none; }
.barreau-biblio__titre a:hover { color: var(--wp--preset--color--primary); }
.barreau-biblio__meta { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* ---------- Recherche : onglets par type, badge de type ---------- */
.barreau-onglets { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.barreau-onglets a { border: 1px solid var(--wp--preset--color--border); background: #fff; }
.barreau-lignes--resultats .barreau-badge { flex: 0 0 auto; margin-inline-end: 4px; }
.barreau-lignes--resultats .barreau-ligne { justify-content: flex-start; }
.barreau-lignes--resultats .barreau-ligne__meta { flex-basis: 100%; }

/* ==========================================================================
   Accueil
   ========================================================================== */
.barreau-home { padding-top: 0 !important; }
.barreau-home > * + * { margin-block-start: clamp(40px, 5vw, 64px); }
.barreau-home > .barreau-home__band + * { margin-block-start: 28px; }

/* Bandeau d'identité (blanc, comme Mada) */
.barreau-band { border-block-end: 1px solid var(--wp--preset--color--border); background: #fff; }
.barreau-band__inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: 22px 16px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px 24px;
}
.barreau-band__title { margin: 0; color: var(--wp--preset--color--primary-dark); font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; line-height: 1.5; }
.barreau-band__sub { margin: 2px 0 0; font-size: 16px; }
.barreau-band__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Haut de page : diaporama + colonne */
.barreau-top { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.barreau-top--seul { grid-template-columns: minmax(0, 1fr); }

.barreau-slider { position: relative; color: #fff; }
.barreau-slider__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	outline: none;
	overscroll-behavior-x: contain;
	background: #0b1f36;
	border-radius: var(--barreau-r-lg) var(--barreau-r-lg) 0 0;
	box-shadow: var(--wp--preset--shadow--md);
}
.barreau-slider__track::-webkit-scrollbar { display: none; }
.barreau-slider__track:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: -3px; }
.barreau-slide {
	position: relative;
	flex: 0 0 100%;
	scroll-snap-align: start;
	display: flex;
	align-items: flex-end;
	min-block-size: 480px;
	background: var(--wp--preset--gradient--barreau);
}
.barreau-slide__media { position: absolute; inset: 0; overflow: hidden; }
.barreau-slide__media img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.barreau-slide__body {
	position: relative;
	z-index: 1;
	margin: 0 28px 28px;
	padding: 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-inline-size: 640px;
	background: rgba(18, 58, 96, .95);
	border-radius: 14px;
	border-inline-start: 4px solid var(--barreau-noir);
	box-shadow: 0 18px 36px rgba(0, 0, 0, .35);
}
.barreau-slide__top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
/* Pastille de rubrique noire (l'orange de Mada). */
.barreau-slide__cat {
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--barreau-noir);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .25);
}
.barreau-slide__cat:hover { background: #fff; color: var(--barreau-noir); }
.barreau-slide__date { font-size: 14px; color: #cfe0f0; }
.barreau-slide__title { margin: 0; font-size: clamp(20px, 2.3vw, 28px); line-height: 1.5; color: #fff; }
.barreau-slide__title a { color: #fff; text-decoration: none; }
.barreau-slide__title a:hover { text-decoration: underline; }
.barreau-slide__title a:focus-visible, .barreau-slide__cat:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.barreau-slide__excerpt { margin: 0; color: #e6eef7; font-size: 16px; line-height: 1.8; }
.barreau-slide__more { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; color: #fff; font-weight: 700; font-size: 15px; text-decoration: none; }
.barreau-slide__more svg { inline-size: 18px; block-size: 18px; }
.barreau-slide__more:hover { color: var(--wp--preset--color--sky); }
/* Commandes sur fond blanc : la barre de progression noire y reste visible. */
.barreau-slider__controls {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px 14px;
	background: #fff;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--border);
	border-top: 0;
	border-radius: 0 0 var(--barreau-r-lg) var(--barreau-r-lg);
}
.barreau-slider__controls .barreau-carrousel__ctrl { flex: 1; margin: 0; }
.barreau-slider__pause {
	flex: 0 0 auto;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border);
	background: #fff;
	color: var(--barreau-noir);
	cursor: pointer;
	font-size: 12px;
}
.barreau-slider__pause:hover { background: var(--barreau-noir); color: #fff; }
.barreau-slider__pause:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 2px; }
.barreau-slider__pause .i-play { display: none; }
.barreau-slider__pause[aria-pressed="true"] .i-play { display: inline; }
.barreau-slider__pause[aria-pressed="true"] .i-pause { display: none; }
.barreau-slider__progress { position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 4px; background: var(--wp--preset--color--border); overflow: hidden; border-radius: 0 0 var(--barreau-r-lg) var(--barreau-r-lg); }
.barreau-slider__progress span { display: block; block-size: 100%; background: var(--barreau-noir); transform: scaleX(0); transform-origin: right; }
.barreau-slider.is-arrete .barreau-slider__progress { visibility: hidden; }

/* Colonne « بلاغات ومناشير » */
.barreau-aside { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: var(--barreau-r-md); padding: 18px; }
.barreau-aside__title { margin: 0 0 12px; font-size: 18px; font-weight: 700; color: var(--wp--preset--color--primary-dark); padding-block-end: 10px; border-block-end: 3px solid var(--barreau-noir); }
.barreau-aside__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.barreau-aside__item + .barreau-aside__item { border-block-start: 1px solid var(--wp--preset--color--border); }
.barreau-aside__link { display: flex; gap: 12px; align-items: flex-start; padding: 12px 4px; text-decoration: none; color: inherit; }
.barreau-aside__link:hover .barreau-aside__t { color: var(--wp--preset--color--primary); }
.barreau-aside__text { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: 6px; }
.barreau-aside__t { font-size: 14.5px; line-height: 1.7; font-weight: 600; color: var(--wp--preset--color--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.barreau-aside__date { font-size: 12.5px; color: #7a8b9c; }
.barreau-aside__thumb { flex: 0 0 68px; inline-size: 68px; block-size: 52px; border-radius: 8px; overflow: hidden; position: relative; background: var(--wp--preset--color--surface); }
.barreau-aside__thumb img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.barreau-aside__more { margin: 12px 0 0; font-size: 14px; font-weight: 700; }
.barreau-aside__more a { color: var(--barreau-noir); text-decoration: none; }
.barreau-aside__more a::after { content: " ←"; }
.barreau-aside__more a:hover { text-decoration: underline; }

/* Accès rapides « تعرف على الهيئة » : bande claire, pastilles blanches, icônes bleues */
.barreau-home__portes { background: var(--wp--preset--color--surface); padding-block: clamp(40px, 5vw, 64px); }
.barreau-portes { max-width: 1080px; margin-inline: auto; padding-inline: 16px; text-align: center; }
.barreau-portes__title { position: relative; display: inline-block; margin: 0 0 32px; padding-block-end: 16px; font-size: clamp(22px, 2.4vw, 28px); font-weight: 700; color: var(--wp--preset--color--primary-dark); }
.barreau-portes__title::after { content: ""; position: absolute; inset-block-end: 0; inset-inline-start: 50%; translate: 50% 0; inline-size: 74px; block-size: 4px; border-radius: 999px; background: var(--barreau-noir); }
.barreau-portes__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.barreau-portes__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-block-size: 130px;
	padding: 22px 18px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.barreau-portes__link:hover { border-color: var(--barreau-noir); box-shadow: 0 14px 30px rgba(2, 8, 23, .10); transform: translateY(-2px); }
.barreau-portes__link:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 3px; }
.barreau-portes__icon svg { inline-size: 34px; block-size: 34px; display: block; color: var(--wp--preset--color--primary); }
.barreau-portes__link:hover .barreau-portes__icon svg { color: var(--barreau-noir); }
.barreau-portes__label { font-size: 16px; font-weight: 700; line-height: 1.5; }

/* Sections sur fond clair (publications) */
.barreau-home__surface { background: var(--wp--preset--color--surface); border-radius: var(--barreau-r-lg); padding-block: clamp(36px, 4vw, 56px); }
.barreau-home__surface > .barreau-section { max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding-inline: 16px; }

/* Publication mise en avant */
.barreau-featured-pub {
	display: grid;
	grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	margin-block-end: 28px;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--barreau-r-lg);
	box-shadow: 0 10px 22px rgba(2, 8, 23, .06);
}
.barreau-featured-pub__cover { display: block; line-height: 0; }
.barreau-featured-pub__cover img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 12px; box-shadow: 0 18px 36px rgba(2, 8, 23, .18); }
.barreau-featured-pub__body { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.barreau-featured-pub__flag { align-self: flex-start; margin: 0; padding: 4px 14px; border-radius: 999px; background: var(--barreau-noir); color: #fff; font-size: 14px; font-weight: 700; }
.barreau-featured-pub__title { margin: 0; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.45; }
.barreau-featured-pub__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.barreau-featured-pub__title a:hover { color: var(--wp--preset--color--primary); }
.barreau-featured-pub__excerpt { margin: 0; color: var(--wp--preset--color--muted); font-size: 17px; line-height: 1.9; }
.barreau-featured-pub__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 0; }

/* Carrousels de cartes : --par-vue fixé en ligne ; les requêtes média doivent le forcer (!important). */
.barreau-carrousel { position: relative; }
.barreau-carrousel__fenetre { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.barreau-carrousel__fenetre::-webkit-scrollbar { display: none; }
.barreau-carrousel__fenetre:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 4px; border-radius: 16px; }
.barreau-carrousel__piste { display: flex; gap: 24px; margin: 0; padding: 4px 0 12px; list-style: none; }
.barreau-carrousel__item { flex: 0 0 calc((100% - (var(--par-vue) - 1) * 24px) / var(--par-vue)); min-width: 0; scroll-snap-align: start; display: flex; }
.barreau-carrousel__ctrl { display: flex; align-items: center; gap: 10px; margin-block-start: 14px; }
.barreau-carrousel__btn {
	flex: 0 0 auto;
	inline-size: 46px;
	block-size: 46px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border);
	background: #fff;
	color: var(--wp--preset--color--primary);
	font-size: 1.1rem;
	cursor: pointer;
}
.barreau-carrousel__btn:hover:not(:disabled) { background: var(--wp--preset--color--primary); border-color: transparent; color: #fff; }
.barreau-carrousel__btn:disabled { opacity: .4; cursor: default; }
.barreau-carrousel__btn:focus-visible, .barreau-carrousel__dot:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 2px; }
.barreau-carrousel__dots { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.barreau-carrousel__dot { inline-size: 22px; block-size: 22px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; cursor: pointer; }
.barreau-carrousel__dot::before { content: ""; inline-size: 7px; block-size: 7px; border-radius: 999px; background: var(--wp--preset--color--border); transition: inline-size .2s; }
.barreau-carrousel__dot[aria-current="true"]::before { inline-size: 26px; background: var(--barreau-noir); }
.barreau-carrousel__compteur { margin-inline-start: auto; font-family: var(--wp--preset--font-family--titre); font-variant-numeric: tabular-nums; color: var(--wp--preset--color--muted); font-weight: 600; }
.barreau-carrousel__compteur b { color: var(--barreau-noir); font-size: 17px; }
.barreau-carrousel:not(.is-pret) .barreau-carrousel__ctrl,
.barreau-carrousel.is-seul .barreau-carrousel__ctrl { visibility: hidden; }
.barreau-carrousel__progression { display: none; }
@media (max-width: 1100px) { .barreau-carrousel { --par-vue: 3 !important; } }
@media (max-width: 860px) { .barreau-carrousel { --par-vue: 2 !important; } }
@media (max-width: 560px) { .barreau-carrousel { --par-vue: 1 !important; } }

/* Bandeau « الإنخراط في المهنة » */
.barreau-join {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 26px 32px;
	border-radius: var(--barreau-r-lg);
	background: var(--wp--preset--color--primary-dark);
	color: #fff;
	border-inline-start: 6px solid var(--barreau-noir);
}
.barreau-join__title { margin: 0; color: #fff; font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; }

/* ---------- Tablette / mobile ---------- */
@media (max-width: 1024px) {
	.barreau-top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
	.barreau-biblio { grid-template-columns: minmax(0, 1fr); }
	.barreau-biblio__facettes { position: static; order: -1; max-height: none; }
	/* Facettes en rangées de pastilles défilantes : les résultats restent visibles sans long défilement. */
	.barreau-facette,
	.barreau-facette--annees { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
	.barreau-facette li { flex: 0 0 auto; }
	.barreau-facette a { white-space: nowrap; border: 1px solid var(--wp--preset--color--border); background: #fff; }
	.barreau-facette a[aria-current] { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; }
	.barreau-featured-pub { grid-template-columns: minmax(0, 1fr); padding: 16px; }
	.barreau-featured-pub__cover { max-inline-size: 220px; margin-inline: auto; }
	.barreau-portes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.barreau-portes__link { border-radius: 22px; min-block-size: 112px; }
}
@media (max-width: 781px) {
	.barreau-slide { flex-direction: column; align-items: stretch; min-block-size: 0; background: #0b1f36; }
	.barreau-slide__media { position: relative; aspect-ratio: 16 / 10; }
	.barreau-slide--sans-image .barreau-slide__body { min-block-size: 240px; }
	.barreau-slide__body { margin: 0; border-radius: 0; border-inline-start: 0; border-block-start: 4px solid var(--barreau-noir); box-shadow: none; max-inline-size: none; padding: 18px 20px; flex: 1; }
	.barreau-slide__excerpt { display: none; }
}
@media (max-width: 600px) {
	.barreau-filtres { padding: 12px; }
	.barreau-filtres__champ, .barreau-filtres__champ--q { flex-basis: 100%; }
	.barreau-filtres__actions { width: 100%; }
	.barreau-filtres button { flex: 1; }
	.barreau-biblio__item { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 12px; }
	.barreau-pages__nav { flex-basis: 100%; order: 2; }
	.barreau-band__actions { width: 100%; }
	.barreau-band__actions .barreau-btn { flex: 1; }
	.barreau-join { padding: 20px; }
	.barreau-carrousel__dots { display: none; }
}
@media (max-width: 600px) {
	.barreau-portes__link { min-block-size: 96px; padding: 16px 10px; gap: 8px; border-radius: 18px; }
	.barreau-portes__icon svg { inline-size: 28px; block-size: 28px; }
	.barreau-portes__label { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
	.barreau-carte, .barreau-portes__link { transition: none; }
	.barreau-carte:hover, .barreau-portes__link:hover { transform: none; }
}
