/* Socle IAplomb : retouches de charte hors theme.json. Couleurs, polices et tailles viennent de theme.json.
   Marque du titre du site, version texte du logo en attendant le dessin : un petit fil à plomb après « IAplomb ». */
.wp-block-site-title a { display: inline-flex; align-items: flex-start; gap: 0.35rem; }
.wp-block-site-title a::after {
	content: "";
	width: var(--wp--custom--fil--plomb-largeur);
	height: 1.65rem;
	margin-top: 0.15rem;
	background:
		linear-gradient(currentColor, currentColor) center top / var(--wp--custom--fil--epaisseur) calc(100% - var(--wp--custom--fil--plomb-hauteur)) no-repeat,
		radial-gradient(ellipse at center, var(--socle-plomb) 65%, transparent 70%) center bottom / var(--wp--custom--fil--plomb-largeur) var(--wp--custom--fil--plomb-hauteur) no-repeat;
}

/* ---- Version 1.1.0 : en-tête, pied de page et pages V3 ---- */

/* En-tête : sous-menu Formations */
.socle-menu .wp-block-navigation__submenu-container {
	border: 1px solid var(--socle-filet);
	border-radius: var(--wp--custom--rayon);
	padding: 0.375rem 0;
	min-width: 13rem;
}
.socle-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 1rem; }
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0; padding: 0 0 0 1rem; }
/* Petits écrans : le titre, le menu et le bouton tiennent sur une ligne sans masquer le contenu. */
@media (max-width: 420px) {
	.socle-entete-barre .wp-block-site-title { font-size: 1.15rem; }
	.socle-entete .wp-block-buttons .wp-block-button__link { max-width: 8.25rem; padding: 0.4rem 0.5rem; }
	.socle-entete .wp-block-group { gap: 0.5rem !important; }
}

/* Pied de page */
.socle-pied-presentation { max-width: 38rem; }
.socle-pied-presentation > * { margin-block: 0; }
.socle-pied-presentation > * + * { margin-block-start: 0.75rem; }
.socle-pied-presentation p { color: var(--socle-texte-2); font-size: var(--wp--custom--taille--note); }
.socle-pied-presentation p.socle-pied-accroche { color: inherit; font-size: inherit; font-weight: 500; }
.socle-pied-presentation a, .socle-pied-bas a { text-decoration: underline; text-decoration-color: var(--socle-filet); text-underline-offset: 0.2em; }
.socle-pied-liens { list-style: none; padding: 0; margin: 0; }
.socle-pied-liens li + li { margin-top: 0.5rem; }

/* Fil d'Ariane */
.socle-fil-ariane { font-size: var(--wp--custom--taille--note); color: var(--socle-texte-2); }
.socle-fil-ariane a { color: inherit; text-decoration: underline; text-decoration-color: var(--socle-filet); text-underline-offset: 0.2em; }
.socle-fil-ariane a:hover { color: var(--socle-accent-texte); }
.socle-section > .socle-fil-ariane + * { margin-block-start: var(--wp--preset--spacing--30); }

/* Mention en tête de page (statut d'une formation, démonstration sur données fictives) */
.socle-mention {
	border-left: 2px solid var(--socle-accent-texte);
	padding-left: 1rem;
	max-width: var(--wp--custom--mesure);
	font-size: var(--wp--custom--taille--note);
}
.socle-mention strong { font-weight: 500; }

/* Photos d'ouverture : la figure garde la colonne du texte (mise en page contrainte), l'image est limitée à la largeur de
   lecture et alignée sur le bord gauche du texte ; espace réservé au ratio 3:2 avant chargement, coins des cartes. */
.wp-block-image.iaplomb-photo img {
	display: block;
	width: 100%;
	max-width: 46rem;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--wp--custom--rayon);
	background: var(--socle-filet);
}

/* Cartes des sections à intertitres */
.socle-cartes { gap: 1.25rem; }
.socle-cartes > .wp-block-group.is-style-carte h3 { font-size: var(--wp--custom--taille--question); }
.socle-filets > .wp-block-group > h3 { font-size: var(--wp--custom--taille--question); }

/* Tableaux : en-têtes toujours visibles ; à partir de 3 colonnes, défilement horizontal du tableau seul sur petit écran. */
.wp-block-table table { font-size: var(--wp--custom--taille--note); }
.wp-block-table th { text-align: left; vertical-align: bottom; }
.wp-block-table td { vertical-align: top; }
.wp-block-table[tabindex]:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
@media (max-width: 600px) {
	.wp-block-table { overflow-x: auto; }
	.wp-block-table:has(th:nth-child(3)) table { min-width: 36rem; }
}

/* Brouillons seulement (absents de la version publiable) */
.socle-a-fournir-bloc { font-size: var(--wp--custom--taille--note); }
.socle-conditionnel {
	border: 1px dashed var(--socle-accent-texte);
	border-radius: var(--wp--custom--rayon);
	padding: 1.25rem 1.5rem;
}
.socle-conditionnel > * { margin-block: 0; }
.socle-conditionnel > * + * { margin-block-start: 0.75rem; }

/* Chapô et mention : largeur de lecture limitée, alignés à gauche de la colonne de contenu (et non centrés). */
.is-layout-constrained > :is(.socle-chapo, .socle-mention) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}

/* Menu mobile ouvert : liens alignés à gauche, sous-menu en retrait. */
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start;
	text-align: left;
}
/* Bouton permanent repris dans le panneau ouvert (dialogue modal) : visible et atteignable au clavier. */
.socle-menu .socle-menu-contact { display: none; }
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .socle-menu-contact { display: block; margin: 2rem 0 1rem; }
/* Un élément qui reçoit le focus dans le panneau défilant ne reste jamais collé au bord. */
.socle-menu .wp-block-navigation__responsive-container.is-menu-open { scroll-padding-block: 1.5rem; }
.socle-menu .socle-menu-contact .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--texte-sur-accent);
	padding: 0.75rem 1.25rem;
}
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-size: var(--wp--custom--taille--question); gap: 1rem; }
.socle-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { font-size: var(--wp--custom--taille--carte); gap: 0.75rem; padding-top: 0.75rem; }
