/*
Theme Name: Twenty Twenty-Five – BL Médiation
Template: twentytwentyfive
Description: Habillage BL Médiation (palette, typographie, header/footer) sur base de Twenty Twenty-Five.
Author: Aventurier Digital
Version: 1.7.10
Text Domain: twentytwentyfive-blmediation
*/

/* ===== Line-height 1.7 pour les textes longs (paragraphes courants), sauf
   les textes accolés à une icône (rangées icône+texte) qui gardent un
   interlignage plus serré ===== */
p {
	line-height: 1.7;
}
.wp-block-group:has(> .blm-icon-circle-outline) p,
.wp-block-group:has(> .blm-icon-circle) p,
.wp-block-group:has(> .blm-icon-square) p,
.wp-block-group:has(> .blm-icon-plain) p {
	line-height: 1.3;
}

/* ===== Menu header : trait de survol plus éloigné du texte + conservé sur la page active ===== */
.blm-site-header .wp-block-navigation-item__content:hover {
	text-underline-offset: 5px;
	text-decoration-color: var(--wp--preset--color--accent-1);
}
.blm-site-header .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: var(--wp--preset--color--accent-1);
}

/* ===== Icône pleine (dorée, sans cercle) — cartes de la page d'accueil ===== */
.blm-icon-plain {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 16px;
	color: var(--wp--preset--color--accent-1);
}

/* ===== Trait d'accent centré (variante de .blm-underline pour un texte centré) ===== */
.blm-underline-center {
	width: 88px;
	height: 2px;
	background: var(--wp--preset--color--accent-1);
	margin: 26px auto;
}

/* ===== Chronologie verticale (étapes numérotées reliées par un trait) ===== */
.blm-timeline-item {
	display: flex;
	align-items: stretch;
	gap: 24px;
}
.blm-timeline-marker {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 0 0 auto;
}
.blm-timeline-marker .blm-icon-circle {
	flex: 0 0 auto;
}
.blm-timeline-line {
	width: 2px;
	flex: 1 1 auto;
	min-height: 24px;
	margin: 8px 0;
	background: var(--wp--preset--color--accent-3);
}
.blm-timeline-content {
	padding-bottom: 32px;
}
.blm-timeline-note {
	color: var(--wp--preset--color--accent-6);
	font-style: italic;
	font-size: 14px;
	margin-top: 8px;
}

/* ===== Titre flanqué de deux traits, centré verticalement (réutilisable partout) ===== */
.blm-heading-flanked {
	display: flex;
	align-items: center;
	gap: 24px;
	justify-content: center;
}
.blm-heading-flanked .blm-flank-line {
	flex: 1 1 60px;
	max-width: 90px;
	height: 1px;
	background: var(--wp--preset--color--accent-1);
}
.blm-heading-flanked :is(h1, h2, h3, h4) {
	margin: 0;
	white-space: nowrap;
}
@media (max-width: 640px) {
	.blm-heading-flanked .blm-flank-line {
		display: none;
	}
}

/* ===== Badges circulaires "contour pâle" (liste parcours) — icônes SVG en trait ===== */
.blm-icon-circle-outline {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-5);
	border: 1px solid var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--accent-2);
}
.blm-icon-circle-outline svg {
	display: block;
	width: 22px;
	height: 22px;
}

/* ===== Pastilles de spécialisation (icône SVG + texte, casse normale) ===== */
.blm-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--contrast);
	border-radius: 24px;
	padding: 10px 18px;
	font-size: 14.5px;
	font-weight: 600;
}
.blm-pill svg {
	display: block;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	color: var(--wp--preset--color--accent-2);
}

/* ===== Footer : menu Navigation sans puces, couleur texte normal, soulignement au survol seulement ===== */
.blm-footer-nav {
	list-style: none;
	padding-left: 0;
}
.blm-footer-nav a {
	color: #C7BDA8;
	text-decoration: none;
}
.blm-footer-nav a:hover {
	color: #C7BDA8;
	text-decoration: underline;
}

/* ===== Footer : bordures verticales de la colonne du milieu ===== */
/* Couleur forcée par classe plutôt que par l'inline style de l'éditeur,
   qui n'applique pas toujours la couleur choisie pour les bordures par côté. */
.blm-footer-divider {
	border-left-color: #4A4130 !important;
	border-right-color: #4A4130 !important;
}

/* ===== Footer : logo assombri sur fond clair, éclairci sur le nouveau fond sombre du footer ===== */
.blm-footer-logo-light img {
	filter: brightness(0) invert(1);
}

/* ===== Footer et bande CTA : supprime la marge globale (0.8rem) que WP ajoute
   entre chaque bloc racine (header/contenu/CTA/footer) ===== */
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > div.wp-block-template-part {
	margin-block-start: 0;
}

/* ===== Largeur fixe (pas de mise à l'échelle fluide) ===== */
h1, h2, h3 {
	max-width: none;
}

@media (max-width: 960px) {
	h1 {
		font-size: 44px !important;
	}
}

/* ===== Trait d'accent sous les H1 (barre courte, pas un séparateur pleine largeur) ===== */
.blm-underline {
	width: 88px;
	height: 2px;
	background: var(--wp--preset--color--accent-1);
	margin: 26px 0;
}

/* ===== Trait d'accent sous le H1 de titre de page (généré en ::after sur le titre, pas de div vide dans le contenu) ===== */
.blm-title-underline::after {
	content: "";
	display: block;
	width: 88px;
	height: 2px;
	background: var(--wp--preset--color--accent-1);
	margin: 26px 0;
}

/* ===== Header : fond translucide + flou (sticky) ===== */
.blm-site-header {
	background: rgba(253, 251, 247, 0.92) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* ===== Sections en dégradé (alternance avec les sections unies) ===== */
.blm-section-gradient {
	background: linear-gradient(180deg, #F4EDDF 0%, #F0E7D6 100%) !important;
}

/* ===== Cartes (fiches blanches bordées) ===== */
.blm-card {
	box-shadow: 0 10px 30px rgba(120, 100, 60, .06);
}

/* ===== Badges circulaires (chiffres d'étapes, icônes) ===== */
.blm-icon-circle,
.blm-icon-square {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 60px;
	height: 60px;
	background: linear-gradient(160deg, #C9A253, #B0842F);
	box-shadow: 0 6px 16px rgba(176, 132, 47, .3);
	color: #fff;
	font-family: "Cormorant Garamond", serif;
	font-size: 26px;
	font-weight: 600;
}
.blm-icon-circle {
	border-radius: 50%;
}
.blm-icon-square {
	border-radius: 12px;
}

/* ===== Étiquettes de catégorie (pastilles) ===== */
.blm-tag {
	display: inline-block;
	background: #F6EFE0;
	color: var(--wp--preset--color--accent-2);
	border-radius: 20px;
	padding: 6px 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* ===== Formulaire de contact (Contact Form 7) ===== */
.blm-form-label {
	display: inline-block;
	margin-left: 2px;
	margin-bottom: 4px;
}
.wpcf7-form-control-wrap .wpcf7-form-control,
.wpcf7 select.wpcf7-form-control {
	box-sizing: border-box;
	width: 100%;
	font-size: 15px;
	padding: 12px 14px;
	border: 1px solid #E1D6C2;
	border-radius: 8px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
.wpcf7-form-control:focus {
	border-color: var(--wp--preset--color--accent-1);
	outline: none;
}
.wpcf7-form input[type="submit"].wpcf7-submit {
	width: 100%;
	font-family: "Mulish", sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #fff;
	background: var(--wp--preset--color--accent-1);
	border: none;
	border-radius: 8px;
	padding: 15px;
	cursor: pointer;
	transition: background .2s;
	box-shadow: 0 4px 14px rgba(192, 152, 63, .3);
}
.wpcf7-form input[type="submit"].wpcf7-submit:hover {
	background: var(--wp--preset--color--accent-2);
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--wp--preset--color--accent-3);
	border-radius: 8px;
}
