/*
Theme Name: Legalis
Theme URI: https://github.com/ADAGEBF/scpa-legalis.com
Description: Thème enfant FSE de Twenty Twenty-Five pour le site de SCPA LEGALIS Advisory (scpa-legalis.com). Direction « Latérite » : pages sombres et photographiques, grès et rouge LEGALIS, Fraunces et Instrument Sans.
Author: Adage
Author URI: https://adage.africa
Template: twentytwentyfive
Version: 1.3.3
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: legalis
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* ============================================================
   Réglages généraux
   ============================================================ */

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	font-optical-sizing: auto;
}

:where(h1, h2, h3, h4) em,
:where(h1, h2, h3, h4) i {
	font-style: italic;
}

/* Liens soulignés plus finement, comme dans la maquette. */
a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

/* Texte réservé aux lecteurs d’écran. */
.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Fonds sombres : titres crème, texte gris clair, liens soulignés de rouge clair. */
.has-anthracite-background-color,
.has-anthracite-2-background-color,
.has-ardoise-background-color {
	color: var(--wp--preset--color--gris-clair);
}

:is(.has-anthracite-background-color, .has-anthracite-2-background-color, .has-ardoise-background-color) :where(h1, h2, h3, h4, h5) {
	color: var(--wp--preset--color--creme);
}

:is(.has-anthracite-background-color, .has-anthracite-2-background-color, .has-ardoise-background-color, .has-rouge-background-color) :where(a:not(.wp-element-button)) {
	color: var(--wp--preset--color--creme);
	text-decoration-color: var(--wp--preset--color--rouge-clair);
	text-decoration-thickness: 2px;
}

.has-rouge-background-color :where(a:not(.wp-element-button)) {
	text-decoration-color: currentColor;
}

/* ============================================================
   Éléments éditoriaux
   ============================================================ */

/* Surtitre : petite capitale espacée précédée du carré rouge du logo. */
.legalis-surtitre {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--rouge-fonce);
}

.legalis-surtitre::before {
	content: "";
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	background: var(--wp--preset--color--rouge);
}

:is(.has-anthracite-background-color, .has-anthracite-2-background-color, .wp-block-cover) .legalis-surtitre {
	color: var(--wp--preset--color--sable);
}

/* Chapô. */
.legalis-chapo {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
}

/* Chiffre de dossier ou de repère, en Fraunces maigre. */
.legalis-chiffre {
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--chiffre);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--anthracite);
}

.legalis-chiffre .unite,
.legalis-chiffre em {
	font-size: 0.4em;
	font-style: normal;
	letter-spacing: 0;
}

.has-anthracite-background-color .legalis-chiffre,
.wp-block-cover .legalis-chiffre {
	color: var(--wp--preset--color--creme);
}

.has-anthracite-background-color .legalis-unite {
	color: var(--wp--preset--color--gris-clair);
}

/* Lien suivi d’une flèche. */
.legalis-lien-fleche a,
a.legalis-lien-fleche {
	font-weight: 600;
	text-decoration: none;
}

.legalis-lien-fleche a::after,
a.legalis-lien-fleche::after {
	content: " →";
}

.legalis-lien-fleche a:hover,
a.legalis-lien-fleche:hover {
	text-decoration: underline;
}

/* Carte entièrement cliquable : le lien principal couvre la carte. */
.legalis-carte-cliquable {
	position: relative;
}

.legalis-carte-cliquable .legalis-lien-principal a::before,
.legalis-carte-cliquable a.legalis-lien-principal::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.legalis-carte-cliquable:has(:focus-visible) {
	outline: 2px solid var(--wp--preset--color--rouge);
	outline-offset: 4px;
}

.legalis-carte-cliquable :focus {
	outline: none;
}

/*
 * Contour de focus : visible à la navigation au clavier seulement, jamais
 * après un clic de souris. Les champs de formulaire gardent leur propre
 * indication (Gravity Forms).
 */
:where(.wp-site-blocks) :focus:not(:focus-visible) {
	outline: none;
}

:where(.wp-site-blocks) :focus-visible:not(input, select, textarea) {
	outline: 2px solid var(--wp--preset--color--rouge);
	outline-offset: 3px;
}

/* Boutons : variante contour. */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button {
	background: transparent;
	color: currentColor;
	border: 1px solid currentColor;
	padding: 15px 27px;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.08);
	color: currentColor;
}

.wp-block-button__link .legalis-fleche,
.wp-element-button.legalis-avec-fleche::after {
	content: "→";
	margin-left: 12px;
}

/* ============================================================
   En-tête
   ============================================================ */

.legalis-entete {
	border-bottom: 1px solid var(--wp--preset--color--ardoise);
}

.legalis-entete .legalis-barre-haute {
	font-size: 13px;
}

.legalis-entete .legalis-barre-haute a {
	color: var(--wp--preset--color--gris-clair);
	text-decoration: none;
}

.legalis-entete .legalis-barre-haute a:hover {
	color: var(--wp--preset--color--creme);
	text-decoration: underline;
}

.legalis-entete .wp-block-site-logo img,
.legalis-entete .legalis-logo img {
	display: block;
	height: var(--wp--custom--hauteur-logo);
	width: auto;
}

.legalis-entete .wp-block-navigation a {
	color: var(--wp--preset--color--creme);
	text-decoration: none;
}

.legalis-entete .wp-block-navigation a:hover,
.legalis-entete .wp-block-navigation .current-menu-item > a,
.legalis-entete .wp-block-navigation [aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--rouge-clair);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.legalis-entete .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--anthracite);
	border: 1px solid var(--wp--preset--color--filet-sombre);
	padding: 8px 0;
	min-width: 300px;
}

.legalis-entete .wp-block-navigation .wp-block-navigation__submenu-container a {
	padding: 9px 20px;
	line-height: 1.35;
	white-space: nowrap;
}

.legalis-entete .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--anthracite);
	color: var(--wp--preset--color--creme);
	padding: 24px clamp(20px, 4vw, 48px);
}

.legalis-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	font-size: 20px;
	gap: 18px;
}

.legalis-entete .wp-block-navigation__responsive-container-open,
.legalis-entete .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--creme);
}

@media (max-width: 781px) {
	.legalis-entete .legalis-barre-haute {
		justify-content: flex-start !important;
	}

	.legalis-entete .legalis-barre-haute .legalis-masque-mobile {
		display: none;
	}

	.legalis-entete .wp-block-site-logo img,
	.legalis-entete .legalis-logo img {
		height: 44px;
	}

	.legalis-entete .legalis-bouton-entete {
		display: none;
	}
}

/* ============================================================
   Bandeau de titre des pages intérieures
   ============================================================ */

.legalis-bandeau-titre {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--60);
}

.legalis-bandeau-titre :is(h1, .wp-block-post-title) {
	text-wrap: balance;
}

.legalis-bandeau-titre .legalis-chiffre-ligne {
	margin-top: var(--wp--preset--spacing--40);
}

/* Photo du bandeau (image à la une, posée par bandeau.php). */
.legalis-bandeau-titre.a-photo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-top: clamp(150px, 17vw, 250px);
}

.legalis-bandeau-titre > .legalis-bandeau-photo {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover;
}

.legalis-bandeau-titre.a-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(28, 31, 35, 0.3) 0%, rgba(28, 31, 35, 0.62) 42%, rgba(28, 31, 35, 0.93) 100%);
}

.legalis-bandeau-titre .legalis-meta-publication,
.legalis-bandeau-titre .legalis-meta-publication :is(p, a, .wp-block-post-date, time) {
	color: var(--wp--preset--color--gris-clair);
}

.legalis-bandeau-titre .wp-block-post-excerpt__excerpt,
.legalis-bandeau-titre .legalis-chapo {
	max-width: 640px;
	font-size: var(--wp--preset--font-size--large);
	color: #D9D1C4;
	margin: 0;
}

.legalis-bandeau-titre .wp-block-post-excerpt__more-text {
	display: none;
}

.legalis-fil {
	font-size: 13px;
	color: var(--wp--preset--color--gris-clair);
}

.legalis-fil a {
	color: inherit;
	text-decoration: none !important;
}

.legalis-fil a:hover {
	color: var(--wp--preset--color--creme);
}

/* Fil d’Ariane SEOPress (balisage BreadcrumbList fourni par l’extension). */
.legalis-fil ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
	list-style: none;
}

.legalis-fil li + li::before {
	content: "›";
	margin-right: 8px;
	color: var(--wp--preset--color--rouge-clair);
}

.legalis-fil [aria-current="page"] {
	color: var(--wp--preset--color--creme);
}

/* Sur téléphone, seul le niveau parent : « ‹ Expertises ». */
@media (max-width: 781px) {
	.legalis-fil li {
		display: none;
	}

	.legalis-fil li:nth-last-child(2) {
		display: block;
	}

	.legalis-fil li:nth-last-child(2)::before {
		content: "‹";
		margin-right: 8px;
	}
}

/* ============================================================
   Accueil : ouverture
   ============================================================ */

.legalis-ouverture.wp-block-cover {
	align-items: flex-start;
}

.legalis-ouverture.wp-block-cover::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 340px;
	background: linear-gradient(180deg, rgba(28, 31, 35, 0) 0%, rgba(28, 31, 35, 0.97) 100%);
	pointer-events: none;
	z-index: 1;
}

.legalis-ouverture .wp-block-cover__inner-container {
	z-index: 2;
}

.legalis-ouverture h1 {
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.98;
	letter-spacing: -0.035em;
	color: var(--wp--preset--color--creme);
}

.legalis-ouverture h1 .legalis-sous-titre {
	display: block;
	margin-top: 20px;
	font-style: italic;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--sable);
}

.legalis-ouverture .legalis-chapo {
	color: #D9D1C4;
	max-width: 600px;
}

/* Carte de preuve posée sur la photo. */
.legalis-carte-preuve {
	position: relative;
	box-shadow: var(--wp--custom--ombre-carte);
	color: var(--wp--preset--color--encre);
}

.legalis-carte-preuve::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	background: var(--wp--preset--color--rouge);
}

.legalis-carte-preuve h2,
.legalis-carte-preuve .legalis-carte-texte {
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0;
	color: var(--wp--preset--color--brun);
}

.legalis-carte-preuve .legalis-surtitre,
.legalis-carte-dossier .legalis-surtitre {
	font-size: 11px;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--rouge-fonce);
}

.legalis-carte-preuve .legalis-surtitre::before,
.legalis-carte-dossier .legalis-surtitre::before {
	display: none;
}

/* Repères chiffrés. */
.legalis-reperes {
	border-top: 1px solid rgba(230, 218, 202, 0.35);
}

.legalis-reperes > .wp-block-group {
	padding: 26px 24px 40px;
	border-left: 1px solid rgba(230, 218, 202, 0.2);
}

.legalis-reperes > .wp-block-group:first-child {
	padding-left: 0;
	border-left: 0;
}

.legalis-reperes .legalis-chiffre {
	font-size: 52px;
	color: var(--wp--preset--color--creme);
}

.legalis-reperes .legalis-chiffre.is-texte {
	font-size: 32px;
	font-style: italic;
	line-height: 1.1;
	letter-spacing: 0;
}

.legalis-reperes p:not(.legalis-chiffre) {
	font-size: 14px;
	line-height: 1.45;
	color: var(--wp--preset--color--gris-clair);
}

@media (max-width: 781px) {
	.legalis-reperes > .wp-block-group {
		padding: 20px 0;
		border-left: 0;
		border-top: 1px solid rgba(230, 218, 202, 0.2);
	}

	.legalis-reperes > .wp-block-group:first-child {
		border-top: 0;
	}
}

/* ============================================================
   Accueil : deux secteurs en plein écran
   ============================================================ */

.legalis-secteurs {
	gap: 0 !important;
}

.legalis-secteur.wp-block-cover {
	min-height: 760px;
	align-items: flex-end;
}

.legalis-secteur .legalis-secteur-nom {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(72px, 8.4vw, 128px);
	line-height: 0.88;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--creme);
	margin: 0;
}

.legalis-secteur p:not(.legalis-secteur-nom) {
	max-width: 500px;
	color: var(--wp--preset--color--sable);
}

.legalis-secteur .legalis-lien-principal a {
	color: var(--wp--preset--color--creme);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--rouge-clair);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.legalis-secteur img {
	transition: transform 0.6s ease;
}

.legalis-secteur:hover img {
	transform: scale(1.03);
}

@media (max-width: 781px) {
	.legalis-secteur.wp-block-cover {
		min-height: 560px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.legalis-secteur img {
		transition: none;
	}
}

/* ============================================================
   Domaines du droit en lignes numérotées
   ============================================================ */

.legalis-domaines {
	border-bottom: 1px solid var(--wp--preset--color--filet-sombre);
}

.legalis-domaine {
	border-top: 1px solid var(--wp--preset--color--filet-sombre);
	padding: 22px 0;
}

.legalis-domaine .legalis-numero {
	flex: 0 0 84px;
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 300;
	font-size: 52px;
	line-height: 1;
	color: var(--wp--preset--color--rouge-clair);
}

.legalis-domaine .legalis-domaine-texte {
	flex: 1 1 420px;
	min-width: 0;
}

.legalis-domaine h3 {
	font-size: 34px;
	line-height: 1.1;
	margin: 0;
}

.legalis-domaine h3 a {
	color: var(--wp--preset--color--creme);
	text-decoration: none;
}

.legalis-domaine p:not(.legalis-numero) {
	max-width: 560px;
	font-size: 15px;
	margin: 6px 0 0;
}

.legalis-domaine figure {
	flex: 0 0 200px;
	margin: 0;
}

.legalis-domaine figure img {
	width: 200px;
	height: 112px;
	object-fit: cover;
	display: block;
}

.legalis-domaine::after {
	content: "→";
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border: 1px solid var(--wp--preset--color--sable);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--wp--preset--color--creme);
	transition: background 0.2s;
}

.legalis-domaine:hover::after {
	background: var(--wp--preset--color--rouge);
	border-color: var(--wp--preset--color--rouge);
}

.legalis-etiquette {
	display: inline-block;
	border: 1px solid #6E6A63;
	padding: 1px 8px;
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: 11px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris-clair);
	vertical-align: middle;
}

@media (max-width: 781px) {
	.legalis-domaine figure {
		display: none;
	}

	.legalis-domaine .legalis-numero {
		flex-basis: 56px;
		font-size: 40px;
	}

	.legalis-domaine h3 {
		font-size: 26px;
	}

	.legalis-domaine::after {
		display: none;
	}
}

/* ============================================================
   Cartes de dossier
   ============================================================ */

.legalis-carte-dossier {
	border-top: 4px solid var(--wp--preset--color--anthracite);
	height: 100%;
}

.legalis-carte-dossier h3 {
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
}

.legalis-carte-dossier h3 a {
	color: inherit;
	text-decoration: none;
}

.legalis-carte-dossier .wp-block-post-excerpt__more-text {
	display: none;
}

.legalis-grille-dossiers .wp-block-post-template > li {
	display: flex;
}

.legalis-grille-dossiers .wp-block-post-template > li > .wp-block-group {
	flex: 1;
}

/* ============================================================
   Associés
   ============================================================ */

.legalis-portrait {
	position: relative;
	aspect-ratio: 3 / 4;
	display: flex;
	align-items: flex-end;
	padding: 18px;
	box-sizing: border-box;
	overflow: hidden;
}

.legalis-portrait::after {
	content: "";
	position: absolute;
	top: 16px;
	right: 16px;
	width: 14px;
	height: 14px;
	background: var(--wp--preset--color--rouge);
}

.legalis-portrait .legalis-initiales {
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 300;
	font-size: 72px;
	line-height: 0.9;
	color: var(--wp--preset--color--sable);
}

.legalis-carte-associe h3 {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
	margin-top: 12px;
}

.legalis-carte-associe h3 a {
	color: inherit;
	text-decoration: none;
}

/* ============================================================
   « Vous êtes… »
   ============================================================ */

.legalis-profil {
	border-top: 2px solid var(--wp--preset--color--anthracite);
	padding-top: 20px;
}

.legalis-profil .legalis-profil-titre {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}

.legalis-profil .legalis-profil-titre a {
	color: var(--wp--preset--color--anthracite);
	text-decoration: none;
}

/* ============================================================
   Publications
   ============================================================ */

.legalis-liste-publications .wp-block-post-template > li {
	border-bottom: 1px solid var(--wp--preset--color--filet-clair);
	padding: 18px 0;
	margin: 0;
}

.legalis-liste-publications {
	border-top: 1px solid var(--wp--preset--color--filet-clair);
}

.legalis-liste-publications .wp-block-post-title {
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
}

.legalis-liste-publications .wp-block-post-title a {
	color: var(--wp--preset--color--anthracite);
	text-decoration: none;
}

.legalis-liste-publications .wp-block-post-title a:hover {
	text-decoration: underline;
}

.legalis-couverture-guide {
	position: relative;
	min-height: 460px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.legalis-couverture-guide > .wp-block-group {
	width: 236px;
	min-height: 332px;
	transform: rotate(-5deg);
	box-shadow: 0 34px 60px rgba(60, 44, 28, 0.32);
	overflow: hidden;
}

/* ============================================================
   Contact
   ============================================================ */

.legalis-engagements {
	list-style: none;
	padding: 0 !important;
	margin: 12px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.35);
}

.legalis-engagements li {
	padding: 18px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	font-size: 14px;
	line-height: 1.55;
	color: #FFF1F1;
}

.legalis-engagements li strong {
	display: block;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 21px;
	font-weight: 400;
	color: var(--wp--preset--color--blanc);
	margin-bottom: 4px;
}

/* ============================================================
   Pages intérieures : contenus rédigés
   ============================================================ */

.legalis-contenu > h2 {
	margin-top: var(--wp--preset--spacing--60);
	font-size: var(--wp--preset--font-size--xx-large);
}

.legalis-contenu > h2:first-child {
	margin-top: 0;
}

.legalis-contenu > h3 {
	margin-top: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
}

.legalis-contenu ul li,
.legalis-contenu ol li {
	margin-bottom: 0.5em;
}

/* Questions fréquentes. */
.wp-block-details summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	line-height: 1.3;
	list-style: none;
	position: relative;
	padding-right: 40px;
	color: var(--wp--preset--color--anthracite);
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: -2px;
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: 28px;
	font-weight: 300;
	color: var(--wp--preset--color--rouge);
}

.wp-block-details[open] summary::after {
	content: "–";
}

.wp-block-details:last-of-type {
	border-bottom: 1px solid var(--wp--preset--color--filet-clair);
}

.wp-block-details > :not(summary) {
	margin-top: 12px;
}

/* Tableaux. */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table :is(th, td) {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--filet-clair);
	padding: 12px 14px 12px 0;
	text-align: left;
	vertical-align: top;
}

.wp-block-table thead {
	border-bottom: 2px solid var(--wp--preset--color--anthracite);
}

.wp-block-table th {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--anthracite);
}

/* Fiche d’un dossier : libellés et valeurs. */
.legalis-fiche-dossier {
	border-top: 2px solid var(--wp--preset--color--anthracite);
}

.legalis-fiche-dossier > .wp-block-group {
	border-bottom: 1px solid var(--wp--preset--color--filet-clair);
	padding: 14px 0;
}

.legalis-fiche-dossier .legalis-libelle {
	flex: 0 0 180px;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
}

.legalis-fiche-dossier p {
	margin: 0;
}

@media (max-width: 781px) {
	.legalis-fiche-dossier > .wp-block-group {
		flex-wrap: wrap !important;
		gap: 4px !important;
	}

	.legalis-fiche-dossier .legalis-libelle {
		flex-basis: 100%;
	}
}

/* ============================================================
   Pied de page
   ============================================================ */

.legalis-pied a {
	color: var(--wp--preset--color--gris-clair);
	text-decoration: none;
}

.legalis-pied a:hover {
	color: var(--wp--preset--color--creme);
	text-decoration: underline;
}

.legalis-pied .legalis-pied-titre {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gres);
}

.legalis-pied .legalis-pied-liens {
	display: flex;
	flex-direction: column;
	gap: 9px;
	font-size: 14px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.legalis-pied .legalis-logo img {
	height: 56px;
	width: auto;
	display: block;
}

.legalis-pied .legalis-legal {
	border-top: 1px solid var(--wp--preset--color--filet-sombre);
}

/* ============================================================
   Impression
   ============================================================ */

@media print {
	.legalis-entete,
	.legalis-pied,
	.legalis-contact-bandeau {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}
}

/* ============================================================
   Utilitaires de mise en page des sections
   ============================================================ */

.legalis-section {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
}

/*
 * Sections bord à bord : aucun espace entre l’en-tête, les sections et le
 * pied de page (l’écart par défaut laissait voir le fond crème entre deux
 * aplats). Une section pleine largeur en tête ou en fin de contenu touche
 * le bandeau voisin.
 */
:root .wp-site-blocks > *,
main.legalis-sans-ecart > *,
.wp-block-post-content.legalis-sections > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.wp-block-post-content.legalis-contenu > .alignfull:last-child {
	margin-block-end: 0;
}

.legalis-contenu.legalis-section:has(> .alignfull:last-child) {
	padding-bottom: 0;
}

.legalis-contenu.legalis-section:has(> .alignfull:first-child) {
	padding-top: 0;
}

.wp-block-post-content.legalis-contenu > .alignfull:first-child {
	margin-block-start: 0;
}

.legalis-section-courte {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.legalis-entete {
	padding-top: 10px;
	padding-bottom: 20px;
}

.legalis-entete .legalis-barre-haute {
	gap: 6px 22px !important;
	margin-bottom: 10px;
}

.legalis-entete .legalis-barre-haute p {
	margin: 0;
}

.legalis-entete-principale {
	gap: 16px 32px !important;
}

.legalis-entete .legalis-navigation {
	gap: 10px 32px !important;
}

.legalis-entete .wp-block-navigation {
	gap: 10px 32px;
}

.legalis-bouton-compact .wp-block-button__link {
	padding: 13px 22px;
	font-size: 15px;
}

.legalis-entete-section {
	gap: 20px 64px !important;
	margin-bottom: 40px;
}

.legalis-entete-section h2 {
	margin: 0;
}

.legalis-carte-dossier {
	padding: 30px 30px 26px;
	gap: 14px !important;
}

.legalis-carte-dossier > * {
	margin: 0 !important;
}

.legalis-carte-dossier .wp-block-read-more {
	margin-top: auto !important;
}

.legalis-chiffre-ligne {
	gap: 8px !important;
	align-items: baseline !important;
}

.legalis-chiffre-ligne > .legalis-chiffre {
	flex-shrink: 0;
	white-space: nowrap;
}

.legalis-unite {
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	color: var(--wp--preset--color--anthracite);
}

.legalis-carte-texte,
.legalis-carte-dossier .wp-block-post-excerpt__excerpt {
	font-size: 15px;
	color: var(--wp--preset--color--brun);
	margin: 0;
}

.legalis-reperes {
	gap: 0 !important;
	margin-top: clamp(72px, 8vw, 128px);
}

.legalis-reperes > .wp-block-group {
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.legalis-reperes > .wp-block-group:last-child {
	flex: 1.3 1 220px;
	padding-right: 0;
}

.legalis-reperes > .wp-block-group > * {
	margin: 0;
}

.legalis-ouverture .wp-block-columns {
	gap: 48px 64px;
}

.legalis-carte-preuve {
	padding: 30px 30px 26px;
	gap: 14px !important;
}

.legalis-carte-preuve > * {
	margin: 0 !important;
}

.legalis-carte-preuve .legalis-chiffre,
.wp-block-cover .legalis-carte-preuve .legalis-chiffre {
	font-size: 58px;
	color: var(--wp--preset--color--anthracite);
}

.legalis-associes-grille {
	gap: 20px !important;
}

.legalis-associes-grille > .legalis-carte-associe {
	flex: 1 1 200px;
	min-width: 0;
	gap: 8px !important;
}

.legalis-carte-associe > * {
	margin: 0;
}

.legalis-carte-associe > .legalis-portrait {
	align-self: stretch;
	width: 100%;
}

.legalis-carte-associe p {
	font-size: 14px;
	color: var(--wp--preset--color--brun);
}

.legalis-carte-associe p.legalis-mention {
	font-size: 13px;
	color: var(--wp--preset--color--gris);
}

.legalis-profils {
	gap: 32px 40px !important;
}

.legalis-profils > * {
	flex: 1 1 200px;
	min-width: 0;
}

.legalis-profils h2 {
	flex: 1 1 160px;
	font-style: italic;
	font-size: 56px;
	line-height: 1;
	margin: 0;
}

.legalis-profil {
	gap: 10px !important;
}

.legalis-profil > * {
	margin: 0;
}

.legalis-profil p {
	font-size: 15px;
	color: var(--wp--preset--color--brun);
}

.legalis-profil p.legalis-lien-fleche a {
	color: var(--wp--preset--color--rouge-fonce);
	font-size: 14px;
}

.legalis-meta-publication {
	gap: 4px 10px !important;
	font-size: 13px;
	color: var(--wp--preset--color--gris);
}

.legalis-meta-publication > * {
	margin: 0;
}

.legalis-meta-publication p:not(:empty)::after {
	content: " ·";
}

.legalis-publication-une .wp-block-post-title {
	font-size: clamp(30px, 2.6vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.legalis-publication-une .wp-block-post-title a {
	color: var(--wp--preset--color--anthracite);
	text-decoration: none;
}

.legalis-contact-section > .wp-block-column {
	padding: clamp(56px, 6vw, 96px) clamp(20px, 4vw, 64px);
}

.legalis-contact-section {
	gap: 0 !important;
	margin: 0 !important;
}

.legalis-contact-section h2 {
	font-size: clamp(42px, 4.4vw, 64px);
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--blanc);
	margin: 0;
}

.legalis-contact-section .has-rouge-background-color p {
	color: #FFF1F1;
}

.legalis-pied {
	padding-top: 56px;
	padding-bottom: 32px;
	font-size: 14px;
	line-height: 1.6;
}

.legalis-pied .legalis-pied-colonnes {
	gap: 36px 48px !important;
	margin-bottom: 36px;
}

.legalis-pied .legalis-pied-colonnes > * {
	flex: 1 1 180px;
	min-width: 0;
}

.legalis-pied .legalis-pied-colonnes > :first-child {
	flex: 1.6 1 280px;
}

.legalis-pied .legalis-legal {
	padding-top: 22px;
	font-size: 13px;
}

.legalis-pied p {
	margin: 0;
}

.legalis-investir figure img {
	width: 100%;
	height: auto;
}

.legalis-investir .wp-block-columns {
	gap: 48px 72px;
}

.legalis-appel {
	gap: 24px 64px !important;
}

.legalis-appel h2 {
	color: var(--wp--preset--color--blanc);
	margin: 0;
}

.legalis-appel p {
	color: #FFF1F1;
	max-width: 560px;
	margin: 12px 0 0;
}

.legalis-appel .wp-block-button__link {
	background: var(--wp--preset--color--anthracite);
}

.legalis-appel .wp-block-button__link:hover {
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--anthracite);
}

/* Italique rouge dans les titres de section sur fond clair. */
:is(.has-gres-background-color, .has-gres-clair-background-color, .has-sable-background-color) :is(h1, h2) em {
	color: var(--wp--preset--color--rouge);
}

/* Sauf dans un bloc rouge ou sombre posé sur ce fond clair. */
:is(.has-gres-background-color, .has-gres-clair-background-color, .has-sable-background-color) :is(.has-rouge-background-color, .has-anthracite-background-color) :is(h1, h2) em {
	color: inherit;
}

.legalis-secteurs-titre {
	padding-top: 72px;
	padding-bottom: 40px;
}

.legalis-secteurs-titre h2 {
	margin: 0;
}

.legalis-couverture-guide > .wp-block-group {
	display: flex;
	flex-direction: column;
}

.legalis-couverture-guide .legalis-couverture-image {
	margin: 0;
}

.legalis-couverture-guide .legalis-couverture-image img {
	width: 100%;
	height: 142px;
	object-fit: cover;
	display: block;
}

.legalis-couverture-texte {
	padding: 16px 16px 14px;
	gap: 8px !important;
	flex-grow: 1;
}

.legalis-couverture-texte > * {
	margin: 0;
}

.legalis-couverture-texte .legalis-surtitre {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.16em;
	gap: 6px;
}

.legalis-couverture-texte .legalis-surtitre::before {
	width: 7px;
	height: 7px;
}

.legalis-couverture-titre {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 20px;
	line-height: 1.1;
	color: var(--wp--preset--color--anthracite);
}

.legalis-couverture-titre em {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	font-weight: 300;
	color: var(--wp--preset--color--rouge);
}

.legalis-couverture-auteur {
	margin-top: auto !important;
	font-size: 9px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
}

.legalis-publication-une .wp-block-post-template > li,
.legalis-liste-publications .wp-block-post-template > li > * {
	margin-top: 0;
	margin-bottom: 6px;
}

.legalis-publication-une {
	margin-bottom: 24px;
}

/* ============================================================
   Associés en liste compacte (page Le cabinet)
   ============================================================ */

.legalis-associes-liste {
	margin-top: 24px;
	border-top: 1px solid var(--wp--preset--color--filet-clair);
}

.legalis-associe-ligne {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 0 20px;
	align-items: start;
	padding: 18px 0;
	border-bottom: 1px solid var(--wp--preset--color--filet-clair);
}

.legalis-associes-liste > .legalis-associe-ligne,
.legalis-associe-ligne > *,
.legalis-associe-texte > * {
	margin: 0 !important;
}

.legalis-portrait-mini {
	position: relative;
	width: 56px;
	aspect-ratio: 3 / 4;
	display: flex;
	align-items: flex-end;
	padding: 6px 8px;
	box-sizing: border-box;
	overflow: hidden;
}

.legalis-portrait-mini::after {
	content: "";
	position: absolute;
	top: 6px;
	right: 6px;
	width: 6px;
	height: 6px;
	background: var(--wp--preset--color--rouge);
}

.legalis-portrait-mini .legalis-initiales {
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 300;
	font-size: 24px;
	line-height: 0.9;
	color: var(--wp--preset--color--sable);
}

.legalis-associe-texte h3 {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
}

.legalis-associe-texte h3 a {
	color: inherit;
	text-decoration: none;
}

.legalis-associe-ligne:hover h3 a {
	color: var(--wp--preset--color--rouge-fonce);
}

.legalis-associe-texte p {
	margin-top: 4px !important;
	font-size: 15px;
	color: var(--wp--preset--color--brun);
}

.legalis-associe-texte p.legalis-mention {
	margin-top: 2px !important;
	font-size: 13px;
	color: var(--wp--preset--color--gris);
}

.legalis-associes-liste + .legalis-lien-fleche {
	margin-top: 20px;
}
