/*
Theme Name: Intercom
Theme URI: https://inter-com.ch
Author: Intercom Formation & Communication SA
Description: Thème sur mesure, direction éditoriale : couleurs et logo Intercom, grandes titrailles, mise en avant des images, compositions prêtes pour chaque page, formulaire de contact intégré.
Version: 2.5.4
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: intercom
*/

:root {
	--ic-nuit: var(--wp--preset--color--nuit);
	--ic-bleu: var(--wp--preset--color--bleu);
	--ic-trait: var(--wp--preset--color--trait);
	--ic-trait-nuit: var(--wp--preset--color--trait-nuit);
}

/* ---------- Bases ---------- */
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--ic-bleu); outline-offset: 3px; }
:where(.wp-site-blocks) a:where(:not(.wp-element-button)) { text-decoration: none; }
:where(.wp-site-blocks) p a:where(:not(.wp-element-button)) { text-decoration: underline; text-underline-offset: 0.2em; }

/* Mots en italique dans les grands titres : minuscules, bleu */
:where(h1, h2) em { text-transform: none; font-style: italic; color: var(--ic-bleu); }
.has-nuit-background-color :where(h1, h2, h3) em { color: var(--wp--preset--color--bleu-clair); }
mark.has-inline-color { background-color: transparent; }
p.has-cormorant-font-family { line-height: 1.15; }

/* ---------- Styles de paragraphe ---------- */
.is-style-surtitre {
	font-size: var(--wp--preset--font-size--tiny) !important;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--ic-bleu);
	line-height: 1.5;
}
.has-nuit-background-color .is-style-surtitre { color: var(--wp--preset--color--bleu-pale); }
.is-style-lien-fleche a,
a.ic-lien-fleche {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-bottom: 1px solid currentColor;
	padding-bottom: 4px;
}
.is-style-citation {
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.3;
	border-left: 2px solid var(--ic-bleu);
	padding-left: 1.4rem;
}
.ic-chiffre {
	font-family: var(--wp--preset--font-family--cormorant);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--chiffre);
	line-height: 0.9;
	margin: 0;
}
.ic-legende {
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--texte-doux);
	margin: 0;
}
.has-nuit-background-color .ic-legende { color: var(--wp--preset--color--bleu-pale); }
.ic-chiffre-bloc { border-top: 2px solid currentColor; padding-top: 1.25rem; }

/* ---------- Images ---------- */
.wp-block-image img { display: block; }
.wp-block-image.is-style-arche img { border-radius: 300px 300px 4px 4px; }
.wp-block-image.is-style-arche-inverse img { border-radius: 4px 4px 300px 300px; }
.wp-block-image.is-style-rond img { border-radius: 50%; }
.wp-block-image.is-style-anneau { position: relative; }
.wp-block-image.is-style-anneau::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: translate(26px, -22px);
	border: 2px solid var(--ic-bleu);
	border-radius: 50%;
	pointer-events: none;
}
.wp-block-image.is-style-anneau img { position: relative; border-radius: 50%; }
.ic-logo-anneaux img { width: 110px; height: auto; margin: 0 auto; }

/* ---------- Listes ---------- */
.is-style-pastilles { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.is-style-pastilles li {
	background: var(--wp--preset--color--ciel);
	color: var(--wp--preset--color--bleu-fonce);
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	font-size: 0.875rem;
	margin: 0;
}
.has-ciel-background-color .is-style-pastilles li { background: #fff; }
.is-style-lignes { list-style: none; padding: 0; border-top: 1px solid var(--ic-trait); }
.is-style-lignes li { padding: 1rem 0; border-bottom: 1px solid var(--ic-trait); margin: 0; }

/* ---------- Grille de cartes 3 colonnes ---------- */
.ic-grille-3 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4rem 2.5rem; }
.ic-grille-3 > * { margin: 0 !important; }
@media (max-width: 900px) { .ic-grille-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ic-grille-3 { grid-template-columns: 1fr; } }

/* ---------- Grilles à cellules bordées ---------- */
.ic-cellules.ic-cellules { gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important; align-items: stretch !important; border-top: 1px solid var(--ic-trait); border-left: 1px solid var(--ic-trait); }
.ic-cellules > * {
	flex: 1 1 260px;
	margin: 0 !important;
	border-right: 1px solid var(--ic-trait);
	border-bottom: 1px solid var(--ic-trait);
	padding: 2rem;
	box-sizing: border-box;
}
.has-nuit-background-color .ic-cellules,
.has-nuit-background-color .ic-cellules > * { border-color: var(--ic-trait-nuit); }

/* ---------- Tapisserie de logos clients ---------- */
.ic-tapisserie {
	display: grid !important;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 0 !important;
	border-top: 1px solid #EEE9F4;
	border-left: 1px solid #EEE9F4;
}
.ic-tapisserie > * {
	margin: 0 !important;
	height: 112px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	box-sizing: border-box;
	border-right: 1px solid #EEE9F4;
	border-bottom: 1px solid #EEE9F4;
}
.ic-tapisserie .wp-block-image { width: 100%; margin: 0; }
.ic-tapisserie .wp-block-image img { height: 52px; width: 100%; object-fit: contain; filter: grayscale(1); opacity: 0.78; }
.ic-tapisserie .wp-block-image.ic-pale img { filter: grayscale(1) brightness(0.45); }
.ic-tapisserie .ic-plus { background: var(--ic-nuit); color: var(--wp--preset--color--ivoire); flex-direction: column; text-align: center; }
.ic-tapisserie .ic-plus { padding: 10px; }
.ic-plus .ic-chiffre { font-size: 2rem; }
.ic-plus .ic-legende { font-size: 0.625rem; letter-spacing: 0.12em; }

/* ---------- Mur des partenaires ---------- */
.ic-partenaires { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; border-top: 1px solid var(--ic-trait); border-left: 1px solid var(--ic-trait); }
.ic-partenaires > * { margin: 0 !important; height: 140px; display: flex; align-items: center; justify-content: center; padding: 28px; box-sizing: border-box; border-right: 1px solid var(--ic-trait); border-bottom: 1px solid var(--ic-trait); background: #fff; }
.ic-partenaires .wp-block-image { width: 100%; margin: 0; }
.ic-partenaires .wp-block-image img { height: 64px; width: 100%; object-fit: contain; }
.ic-partenaires .ic-fond-nuit { background: var(--ic-nuit); }

/* ---------- Cartes photo avec texte qui chevauche ---------- */
.ic-carte-photo > .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.ic-carte-photo > .wp-block-group {
	background: #fff;
	margin: -64px 1.5rem 0 !important;
	position: relative;
	padding: 1.75rem;
	box-shadow: 0 1px 0 var(--ic-trait);
}
@media (min-width: 900px) {
	.ic-decale-1 { margin-top: 64px !important; }
	.ic-decale-2 { margin-top: 128px !important; }
}

/* ---------- Badge tournant ---------- */
.ic-badge { position: relative; width: 148px; height: 148px; border-radius: 50%; background: var(--wp--preset--color--ivoire); display: flex; align-items: center; justify-content: center; margin: 0 auto -74px !important; z-index: 2; }
.ic-badge > .wp-block-image { margin: 0; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.ic-badge .ic-badge-texte img { width: 100%; height: 100%; animation: ic-tourne 22s linear infinite; }
.ic-badge .ic-badge-centre img { width: 58px; height: auto; }
@keyframes ic-tourne { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ic-badge .ic-badge-texte img { animation: none; } }

/* ---------- En-tête ---------- */
.ic-bandeau { font-size: 0.8125rem; letter-spacing: 0.14em; text-transform: uppercase; }
.ic-bandeau a { color: #fff !important; }
.ic-entete { border-bottom: 1px solid var(--ic-trait); }
.ic-entete .wp-block-navigation a { padding: 0.25rem 0; }
.ic-entete .wp-block-navigation .current-menu-item > a,
.ic-entete .wp-block-navigation a[aria-current="page"] { color: var(--ic-bleu); border-bottom: 1px solid var(--ic-bleu); }
.ic-entete .ic-logo img { height: 78px; width: auto; }
.ic-entete .wp-block-button__link { padding: 0.8rem 1.4rem; }
@media (max-width: 781px) {
	.ic-entete .ic-logo img { height: 56px; }
	.ic-entete .wp-block-button__link { padding: 0.6rem 1rem; font-size: 0.75rem; }
}

/* ---------- Formations (boucle d'articles) ---------- */
.ic-formations .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 4px; }
.ic-formations .wp-block-post:nth-child(4n+1) .wp-block-post-featured-image img { border-radius: 300px 300px 4px 4px; }
.ic-formations .wp-block-post:nth-child(4n+4) .wp-block-post-featured-image img { border-radius: 4px 4px 300px 300px; }
.ic-formations .wp-block-post-title { font-family: var(--wp--preset--font-family--cormorant); font-weight: 400; text-transform: none; }
.ic-formations .wp-block-post-title a { text-decoration: none; }
.ic-formations .wp-block-post-excerpt { color: var(--wp--preset--color--texte-doux); }
.ic-formations .wp-block-post-excerpt__more-link { font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }
.ic-formations .taxonomy-post_tag a,
.ic-badge-nouveau a { display: inline-block; background: var(--ic-bleu); color: #fff !important; padding: 0.2rem 0.75rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
@media (min-width: 900px) {
	.ic-formations .wp-block-post-template > .wp-block-post:nth-child(even) { margin-top: 96px; }
}
.ic-liste-formations .wp-block-post { border-top: 1px solid var(--ic-trait); padding: 1.25rem 0; margin: 0; }
.ic-liste-formations .wp-block-post-title { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.75rem; font-weight: 400; text-transform: none; line-height: 1.15; margin: 0; }
.ic-liste-formations .wp-block-post-title a { text-decoration: none; }
.ic-liste-formations .ic-legende { white-space: nowrap; }
.ic-date { font-family: var(--wp--preset--font-family--cormorant); font-size: clamp(2.5rem, 4vw, 3.25rem); line-height: 1; color: var(--ic-bleu); margin: 0; }

/* ---------- Formulaire de contact ---------- */
.intercom-formulaire { display: grid; gap: 1.4rem; }
.intercom-formulaire .ligne { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.intercom-formulaire label { display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }
.intercom-formulaire input,
.intercom-formulaire select,
.intercom-formulaire textarea {
	font: inherit; font-size: 1.0625rem; letter-spacing: 0; text-transform: none;
	color: var(--ic-nuit);
	padding: 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--ic-nuit);
	background: transparent;
	width: 100%; box-sizing: border-box;
	border-radius: 0;
}
.intercom-formulaire textarea { resize: vertical; min-height: 8rem; }
.intercom-formulaire input:focus,
.intercom-formulaire select:focus,
.intercom-formulaire textarea:focus { outline: 2px solid var(--ic-bleu); outline-offset: 2px; }
.intercom-formulaire .bas { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin-top: 0.5rem; }
.intercom-formulaire .note { font-size: 0.875rem; color: var(--wp--preset--color--texte-doux); max-width: 360px; }
.intercom-formulaire button {
	font: inherit; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
	cursor: pointer; border: 0;
	background: var(--ic-nuit); color: var(--wp--preset--color--ivoire);
	padding: 1.05rem 2.25rem; border-radius: 999px;
}
.intercom-formulaire button:hover { background: var(--ic-bleu); }
.intercom-formulaire .piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.intercom-message { padding: 1rem 1.25rem; font-weight: 500; margin-bottom: 0.5rem; }
.intercom-message.ok { background: var(--wp--preset--color--ciel); color: var(--wp--preset--color--bleu-fonce); }
.intercom-message.erreur { background: #F6DCD3; color: #7A2E17; }

/* ---------- Pied de page ---------- */
.ic-pied a { color: inherit; text-decoration: none; }
.ic-pied a:hover { color: var(--wp--preset--color--bleu-clair); }
.ic-pilule img { border-radius: 999px; object-fit: cover; }
.ic-sommaire-formations .wp-block-post-title { font-family: var(--wp--preset--font-family--cormorant); font-weight: 400; text-transform: none; margin: 0; }
.ic-sommaire-formations .wp-block-post-title a { text-decoration: none; }
.ic-sommaire-formations .wp-block-post { margin: 0; }

/* ---------- Sections collées ---------- */
.intercom-page { margin-top: 0; }
.intercom-page > * { margin-block-start: 0; }

/* ---------- Petits écrans ---------- */
@media (max-width: 1100px) {
	.ic-tapisserie { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ic-partenaires { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.ic-tapisserie { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ic-tapisserie > * { height: 84px; padding: 14px; }
	.ic-partenaires { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wp-block-image.is-style-anneau::before { transform: translate(12px, -10px); }
	.ic-badge { width: 120px; height: 120px; margin-bottom: -60px !important; }
}

/* Liens en grand caractère sur fond nuit (ex. « Réserver un créneau ») */
.has-nuit-background-color p.has-cormorant-font-family a:not(.wp-element-button) { color: var(--wp--preset--color--ivoire); }
.has-nuit-background-color p.has-cormorant-font-family a:not(.wp-element-button):hover { color: var(--wp--preset--color--bleu-clair); }

/* Témoignages (page Leonardo3.4.5) */
.ic-temoignage .ic-legende { margin-top: 1.6rem !important; }
.ic-temoignage .is-style-surtitre { margin-bottom: 0.4rem; }

/* Formulaire HubSpot (page Prestations) */
.ic-hubspot { min-height: 420px; background: var(--wp--preset--color--blanc); padding: var(--wp--preset--spacing--30); }

/* ---------- Landing page ---------- */
.ic-entete-landing { border-bottom: 1px solid var(--ic-trait); }
.ic-entete-landing .ic-bandeau a { color: var(--wp--preset--color--nuit) !important; text-decoration: none; font-weight: 600; letter-spacing: 0.08em; }
.ic-carte-formulaire { box-shadow: 0 24px 60px -30px rgba(20, 11, 58, 0.35); }
.ic-carte-formulaire .ic-hubspot { padding: 0; min-height: 560px; }
.ic-mobile-seul { display: none !important; }
@media (max-width: 781px) {
	.ic-mobile-seul { display: flex !important; }
	.ic-entete-landing .ic-bandeau { display: none; }
}
.is-style-citation + .ic-legende { margin-top: 1.4rem !important; }

/* ---------- En-tête collant : grand logo en haut de page, petit pendant le défilement ---------- */
header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
header.wp-block-template-part .ic-entete { background: var(--wp--preset--color--ivoire); transition: padding 0.25s ease, box-shadow 0.25s ease; }
header.wp-block-template-part > .has-nuit-background-color { overflow: hidden; max-height: 4rem; transition: max-height 0.25s ease, padding 0.25s ease; }
body.ic-defile header.wp-block-template-part > .has-nuit-background-color { max-height: 0; padding-top: 0 !important; padding-bottom: 0 !important; }
body.ic-defile header.wp-block-template-part .ic-entete { padding-top: 0.45rem !important; padding-bottom: 0.45rem !important; box-shadow: 0 10px 30px -18px rgba(20, 11, 58, 0.35); }
:where(.intercom-page [id]) { scroll-margin-top: 110px; }
@media (max-width: 781px) {
	:where(.intercom-page [id]) { scroll-margin-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
	header.wp-block-template-part *, header.wp-block-template-part > * { transition: none !important; }
}

/* ---------- Logos de l'en-tête : horizontal en haut de page, logo actuel en petit au défilement ---------- */
.ic-logos { gap: 0 !important; }
.ic-logos .ic-logo { margin: 0; }
header.wp-block-template-part .ic-logo-grand img { height: 76px; width: auto; }
header.wp-block-template-part .ic-logo-petit { display: none; }
header.wp-block-template-part .ic-logo-petit img { height: 54px; width: auto; }
body.ic-defile header.wp-block-template-part .ic-logo-grand { display: none; }
body.ic-defile header.wp-block-template-part .ic-logo-petit { display: block; animation: ic-apparait 0.3s ease; }
@keyframes ic-apparait { from { opacity: 0; transform: scale(0.92); } to { opacity: 1; transform: none; } }

/* Logo réellement centré : trois colonnes de même largeur de part et d'autre */
.ic-entete:not(.ic-entete-landing) > .is-layout-flex { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
.ic-entete:not(.ic-entete-landing) > .is-layout-flex > :first-child { justify-self: start; }
.ic-entete:not(.ic-entete-landing) > .is-layout-flex > :last-child { justify-self: end; }
.ic-entete:not(.ic-entete-landing) > .is-layout-flex > :nth-child(2) { justify-self: center; }

@media (max-width: 1380px) {
	header.wp-block-template-part .ic-logo-grand img { height: 66px; }
	.ic-entete .wp-block-navigation__container { gap: 1rem !important; }
}
@media (max-width: 1180px) {
	header.wp-block-template-part .ic-logo-grand img { height: 52px; }
	.ic-entete .wp-block-navigation { font-size: 0.75rem; letter-spacing: 0.08em; }
	.ic-entete .wp-block-navigation__container { gap: 0.8rem !important; }
	.ic-entete .wp-block-button__link { padding: 0.65rem 1rem; font-size: 0.75rem; }
}
/* Tablette : menu replié (bouton) pour garder le logo centré sans retour à la ligne */
@media (min-width: 600px) and (max-width: 1080px) {
	.ic-entete .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.ic-entete .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	header.wp-block-template-part .ic-logo-grand img { height: 48px; }
}
/* Téléphone : le logo actuel (anneaux au-dessus du texte) est plus lisible en petit */
@media (max-width: 599px) {
	header.wp-block-template-part .ic-logo-grand { display: none !important; }
	header.wp-block-template-part .ic-logo-petit { display: block; }
	header.wp-block-template-part .ic-logo-petit img { height: 58px; transition: height 0.25s ease; }
	body.ic-defile header.wp-block-template-part .ic-logo-petit { animation: none; }
	body.ic-defile header.wp-block-template-part .ic-logo-petit img { height: 44px; }
	.ic-entete:not(.ic-entete-landing) > .is-layout-flex { column-gap: 0.5rem !important; }
	.ic-entete .wp-block-button__link { padding: 0.55rem 0.8rem; font-size: 0.6875rem; letter-spacing: 0.08em; }
}
@media (prefers-reduced-motion: reduce) { body.ic-defile header.wp-block-template-part .ic-logo-petit { animation: none; } }

/* ---------- Boutons de partage (intégrés, sans service externe) ---------- */
.ic-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ic-partage { position: fixed; z-index: 40; right: 0; top: 50%; transform: translateY(-50%); font-family: var(--wp--preset--font-family--jost); }
.ic-partage-liste { display: flex; flex-direction: column; align-items: center; gap: 0.15rem; padding: 0.6rem 0.4rem; background: var(--wp--preset--color--blanc); border: 1px solid var(--ic-trait); border-right: 0; border-radius: 14px 0 0 14px; box-shadow: 0 12px 30px -20px rgba(20, 11, 58, 0.45); }
.ic-partage-titre { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 0.625rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--texte-doux); margin-bottom: 0.35rem; }
.ic-partage-btn { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 0; background: transparent; color: var(--wp--preset--color--nuit); cursor: pointer; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.ic-partage-btn svg { fill: currentColor; }
.ic-partage-btn:hover, .ic-partage-btn:focus-visible { background: var(--wp--preset--color--ciel); color: var(--wp--preset--color--bleu-fonce); outline: none; }
.ic-partage-btn:focus-visible { box-shadow: 0 0 0 2px var(--wp--preset--color--bleu); }
.ic-partage-info { position: absolute; right: calc(100% + 0.5rem); bottom: 0.6rem; white-space: nowrap; background: var(--wp--preset--color--nuit); color: var(--wp--preset--color--ivoire); font-size: 0.75rem; padding: 0.35rem 0.7rem; border-radius: 999px; opacity: 0; pointer-events: none; transition: opacity 0.2s ease; }
.ic-partage.ic-info .ic-partage-info { opacity: 1; }
.ic-partage-ouvrir { display: none; }
@media (max-width: 781px) {
	.ic-partage { top: auto; bottom: 1rem; left: 1rem; right: auto; transform: none; }
	.ic-partage-liste { display: none; position: absolute; bottom: calc(100% + 0.5rem); left: 0; border: 1px solid var(--ic-trait); border-radius: 14px; }
	.ic-partage.ic-ouvert .ic-partage-liste { display: flex; }
	.ic-partage-titre { display: none; }
	.ic-partage-info { right: auto; left: calc(100% + 0.5rem); bottom: auto; top: 50%; transform: translateY(-50%); }
	.ic-partage-ouvrir { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--wp--preset--color--nuit); color: var(--wp--preset--color--ivoire); box-shadow: 0 10px 24px -12px rgba(20, 11, 58, 0.6); cursor: pointer; }
	.ic-partage-ouvrir svg { fill: currentColor; }
}
@media print { .ic-partage { display: none; } }

/* ---------- Langues (FR · EN) ---------- */
.ic-langues { display: inline-flex; align-items: center; gap: 0.45em; margin-left: 1.6em; letter-spacing: 0.14em; }
.ic-langues > span[aria-hidden] { opacity: 0.45; }
.ic-langues a { color: inherit !important; opacity: 0.7; text-decoration: none; }
.ic-langues a:hover, .ic-langues a:focus-visible { opacity: 1; text-decoration: underline; text-underline-offset: 0.25em; }
.ic-langues [aria-current] { color: #fff; font-weight: 600; }
.ic-pied .ic-langues { margin-left: 0; margin-top: 0.6rem; }
@media (max-width: 599px) {
	.ic-bandeau .ic-langues { margin-left: 0.9em; }
}
/* Formations (versions traduites : liste fixe) */
.ic-formations-fixes .wp-block-image img { width: 100%; }
.ic-badge-nouveau-txt { align-self: flex-start; width: fit-content; }
/* Mots longs (allemand) : césure automatique dans les titres, jamais de débordement */
:lang(de) :is(h1, h2, h3, .ic-chiffre-bloc, .ic-legende) { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 14 6 6; -webkit-hyphenate-limit-before: 6; -webkit-hyphenate-limit-after: 6; }
@media (max-width: 599px) {
	:lang(de) h1 { font-size: clamp(2rem, 9.4vw, 2.6rem) !important; }
}
h1, h2, h3 { overflow-wrap: break-word; }
.ic-plus .ic-legende { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; -webkit-hyphens: auto; line-height: 1.35; }
@media (max-width: 599px) {
	.ic-plus .ic-legende { letter-spacing: 0.06em; font-size: 0.5625rem; }
}
