/*
 * Barreau Theme — mise en page, dans l'esprit du nouveau site Mada.
 * Bleu (#2a65a0 / #123a60 / #478dc7 / #4ebded) = couleur principale ;
 * noir (#111) = couleur secondaire, à la place de l'orange de Mada (signatures, filets, pastilles, pagination).
 * Sens de lecture de droite à gauche : placements par propriétés logiques, jamais par l'ordre du flux.
 */

:root {
	--barreau-noir: var(--wp--preset--color--accent, #111111);
	--barreau-r-sm: var(--wp--custom--radius--sm, 8px);
	--barreau-r-md: var(--wp--custom--radius--md, 16px);
	--barreau-r-lg: var(--wp--custom--radius--lg, 24px);
}
body { -webkit-font-smoothing: antialiased; }

/* ---------- En-tête : une seule barre blanche (logo + nom bilingue, menu en pastilles, recherche) ---------- */
.barreau-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--base);
	border-block-end: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 2px 10px rgba(2, 8, 23, .05);
}
.admin-bar .barreau-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .barreau-header { top: 46px; } }
.barreau-header__inner {
	max-width: 1360px;
	margin-inline: auto;
	padding: 10px 16px;
	min-block-size: 70px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.barreau-header__brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; min-width: 0; }
.barreau-header__logo { margin: 0; line-height: 0; flex: 0 0 auto; }
.barreau-header__logo img { inline-size: 64px; block-size: auto; display: block; }
.barreau-header__ident { min-width: 0; }
.barreau-header__title,
.barreau-header__title a {
	margin: 0;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
}
.barreau-header__fr { margin: 0; font-size: 11px; letter-spacing: .02em; line-height: 1.35; color: var(--wp--preset--color--muted); }

/* Menu : pastilles, pastille bleue pour la page courante. */
.barreau-header__nav { flex: 1 1 auto; min-width: 0; }
.barreau-header__nav .wp-block-navigation__container { gap: 2px; }
.barreau-header__nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 8px 12px;
	border-radius: 999px;
	color: var(--wp--preset--color--text);
	white-space: nowrap;
	text-decoration: none;
}
.barreau-header__nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.barreau-header__nav .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary);
}
.barreau-header__nav .current-menu-item > .wp-block-navigation-item__content,
.barreau-header__nav .current-menu-ancestor > .wp-block-navigation-item__content,
.barreau-header__nav .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--primary) !important;
	color: #fff !important;
}
.barreau-header__nav .wp-block-navigation__submenu-icon { margin-inline-start: 2px; }
.barreau-header__nav .wp-block-navigation-item__content:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 2px; }
/* Sous-menus : carte blanche arrondie. */
.barreau-header__nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	color: var(--wp--preset--color--text) !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 12px;
	box-shadow: var(--wp--preset--shadow--md);
	padding: 8px !important;
}
.barreau-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 14px;
	border-radius: 8px;
	font-weight: 500;
	color: var(--wp--preset--color--text);
	text-decoration: none;
}
.barreau-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); }
/* Sous-menu fermé : retiré du rendu, sinon il déborde de l'écran (les derniers onglets sont au bord gauche). */
@media (min-width: 1025px) {
	.barreau-header__nav .wp-block-navigation__container .has-child:not(:hover):not(:focus-within) > .wp-block-navigation__submenu-container { display: none; }
	.barreau-header__nav .has-child:hover > .wp-block-navigation__submenu-container,
	.barreau-header__nav .has-child:focus-within > .wp-block-navigation__submenu-container { min-width: 230px !important; }
	/* Derniers onglets (bord gauche en RTL) : le sous-menu s'ouvre vers la droite. */
	.barreau-header__nav .wp-block-navigation__container > .has-child:nth-last-child(-n+4) > .wp-block-navigation__submenu-container { left: 0 !important; right: auto !important; }
}

/* Recherche : bouton carré qui déplie le champ. */
.barreau-header__search { flex-shrink: 0; margin: 0; }
.barreau-header__search .wp-block-search__button {
	min-inline-size: 44px;
	min-block-size: 44px;
	margin: 0;
	padding: 0;
	display: grid;
	place-items: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary);
}
.barreau-header__search .wp-block-search__button:hover { background: var(--wp--preset--color--primary); color: #fff; border-color: transparent; }
.barreau-header__search .wp-block-search__input { border-radius: 10px; border-color: var(--wp--preset--color--border); }

/* Écrans moyens : le nom bilingue s'efface avant le menu. */
@media (max-width: 1360px) { .barreau-header__ident { display: none; } }

/* Jusqu'à 1024 px : bouton de menu et panneau plein écran bleu foncé. */
@media (max-width: 1024px) {
	.barreau-header__nav { flex: 0 0 auto; margin-inline-start: auto; }
	.barreau-header__ident { display: block; }
	.barreau-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; color: var(--wp--preset--color--primary-dark); padding: 8px; border-radius: 10px; }
	.barreau-header__nav .wp-block-navigation__responsive-container-open:hover { background: var(--wp--preset--color--surface); }
	.barreau-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.barreau-header__nav .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		background: var(--wp--preset--color--primary-dark) !important;
		color: #fff !important;
		padding-top: 24px;
	}
	.barreau-header__nav .is-menu-open .wp-block-navigation__responsive-container-content { inline-size: 100%; padding-inline: 24px; }
	.barreau-header__nav .is-menu-open .wp-block-navigation__container { gap: 2px; inline-size: 100%; }
	.barreau-header__nav .is-menu-open .wp-block-navigation-item { inline-size: 100%; border-block-end: 1px solid rgba(255, 255, 255, .14); }
	.barreau-header__nav .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
		inline-size: 100%;
		padding: 14px 4px;
		color: #fff !important;
		font-size: 17px;
		font-weight: 600;
		border-radius: 0;
		background: none !important;
		justify-content: flex-start;
	}
	.barreau-header__nav .is-menu-open .wp-block-navigation__submenu-container {
		position: static !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		inline-size: 100% !important;
		padding: 0 16px 0 0 !important;
	}
	.barreau-header__nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
	.barreau-header__nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 15px; font-weight: 400; padding-block: 10px; opacity: .9; }
	.barreau-header__nav .wp-block-navigation__responsive-container-close { color: #fff; }
}
@media (min-width: 1025px) {
	.barreau-header__nav .wp-block-navigation__responsive-container-open { display: none !important; }
}
@media (max-width: 600px) {
	.barreau-header__inner { gap: 10px; min-block-size: 62px; }
	.barreau-header__logo img { inline-size: 48px; }
	.barreau-header__title, .barreau-header__title a { font-size: 14px; }
	.barreau-header__fr { display: none; }
}

/* ---------- Contenu ---------- */
.barreau-main { padding-block: var(--wp--preset--spacing--50); min-height: 50vh; }
.barreau-page-title {
	position: relative;
	margin-top: 0;
	padding-block-end: 16px;
	color: var(--wp--preset--color--ink);
	font-weight: 700;
}
/* Filet noir court sous le titre (rôle de l'orange sur Mada). */
.barreau-page-title::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	inline-size: 74px;
	block-size: 4px;
	border-radius: 999px;
	background: var(--barreau-noir);
}
.barreau-section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-weight: 700;
}
.barreau-section-title::before { content: ""; flex: 0 0 6px; inline-size: 6px; block-size: 1.2em; border-radius: 3px; background: var(--wp--preset--color--sky); }
.barreau-signature { color: var(--barreau-noir); font-family: var(--wp--preset--font-family--titre); font-weight: 700; }
.barreau-terms a,
.wp-block-post-terms a {
	display: inline-block;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--barreau-noir);
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-decoration: none;
}
.wp-block-post-terms a:hover { background: var(--wp--preset--color--primary); color: #fff; }
.wp-block-post-terms .wp-block-post-terms__separator { display: none; }
.wp-block-post-terms { display: flex; flex-wrap: wrap; gap: 6px; }

/* Corps importé : images et tableaux ne doivent jamais élargir la page ; les longues adresses se coupent. */
.barreau-main .wp-block-post-content { overflow-wrap: anywhere; }
.barreau-main .wp-block-post-content img { max-width: 100%; height: auto; border-radius: 12px; }
.barreau-main .wp-block-post-content table { display: block; max-width: 100%; overflow-x: auto; }
.barreau-main .wp-block-post-content h2,
.barreau-main .wp-block-post-content h3 {
	font-family: var(--wp--preset--font-family--titre);
	margin-block: 1.6em .6em;
	padding-inline-start: 12px;
	border-inline-start: 5px solid var(--wp--preset--color--sky);
}
.barreau-main .wp-block-post-content a { text-decoration: underline; text-underline-offset: 3px; }
.barreau-single__media img { width: 100%; height: auto; border-radius: var(--barreau-r-lg); box-shadow: var(--wp--preset--shadow--md); }
/* Portraits, couvertures : pas d'agrandissement au-delà d'une taille lisible. */
.single-avocat .barreau-single__media,
.single-conseil .barreau-single__media { max-width: 260px; margin-inline: 0 auto; }
.single-publication .barreau-single__media { max-width: 360px; margin-inline: 0 auto; }
.barreau-excerpt {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
	border-inline-start: 6px solid var(--wp--preset--color--brand);
	border-radius: 12px;
	padding: 14px 18px;
}
.barreau-excerpt:empty { display: none; }
.wp-block-quote { background: var(--wp--preset--color--surface); border-radius: 12px; padding: 16px 20px; }
.wp-block-post-date { color: var(--wp--preset--color--primary); font-weight: 600; }

/* Pagination des blocs WordPress (recherche des anciens gabarits). */
.barreau-pagination { margin-top: 32px; gap: 6px; }
.barreau-pagination .page-numbers { display: inline-block; min-width: 40px; padding: 6px 12px; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; text-align: center; text-decoration: none; }
.barreau-pagination .page-numbers.current { background: var(--barreau-noir); color: #fff; border-color: var(--barreau-noir); }

/* ---------- Pied de page : bleu foncé, filet noir, titres soulignés de noir ---------- */
.barreau-footer {
	margin-top: var(--wp--preset--spacing--60);
	background: var(--wp--preset--color--primary-dark);
	color: #e6eef7;
	border-top: 4px solid var(--barreau-noir);
}
.barreau-footer__inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--60) 16px var(--wp--preset--spacing--40);
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
}
.barreau-footer__col--1 { grid-column: 1; }
.barreau-footer__col--2 { grid-column: 2; }
.barreau-footer__col--3 { grid-column: 3; }
.barreau-footer__logo { margin: 0 0 14px; line-height: 0; }
.barreau-footer__logo img { inline-size: 96px; block-size: auto; padding: 8px 10px; background: #fff; border-radius: 12px; }
.barreau-footer__titre {
	position: relative;
	margin: 0 0 14px;
	padding-block-end: 10px;
	color: #fff;
	font-size: var(--wp--preset--font-size--large);
}
.barreau-footer__titre::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	inline-size: 38px;
	block-size: 4px;
	border-radius: 999px;
	background: var(--barreau-noir);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .18);
}
.barreau-footer__fr { margin: 0; font-size: var(--wp--preset--font-size--small); color: #cfe0f0; }
.barreau-footer a { color: #fff; }
.barreau-footer a:hover { color: var(--wp--preset--color--sky); }
.barreau-footer__liens { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; line-height: 2.1; font-size: var(--wp--preset--font-size--small); }
.barreau-footer__liens a { text-decoration: none; }
.barreau-footer__copy {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	padding: 16px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
	color: #cfe0f0;
}
@media (max-width: 781px) {
	.barreau-footer__inner { grid-template-columns: minmax(0, 1fr); }
	.barreau-footer__col--1, .barreau-footer__col--2, .barreau-footer__col--3 { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
