/*
Theme Name:   Annuaire GTE Connect
Description:  Thème enfant de Twenty Twenty-Five pour l'annuaire des gestionnaires de transport (premier essai, apparence à valider).
Template:     twentytwentyfive
Version:      0.4.115
Requires at least: 6.5
Requires PHP: 8.1
Text Domain:  annuaire-gte
*/

/* ---- En-tête ---- */
.agte-entete {
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--bordure);
}
.agte-entete .wp-block-site-title a {
	color: var(--wp--preset--color--marine);
	font-weight: 800;
	letter-spacing: -0.01em;
	text-decoration: none;
}
.agte-entete .wp-block-navigation {
	font-size: 0.95rem;
	font-weight: 600;
}
.agte-entete .wp-block-navigation a:hover,
.agte-entete .wp-block-navigation a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 8px;
	padding: 0.35rem 0;
}
.agte-nav-contact > a {
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 6px;
	padding: 0.35rem 0.7rem !important;
}
:where(.agte-entete) :focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }

/* ---- Sections de l'accueil ---- */
.agte-hero {
	background: linear-gradient(160deg, var(--wp--preset--color--marine) 0%, var(--wp--preset--color--bleu) 100%);
	color: #fff;
}
.agte-hero h1 { color: #fff; max-width: 22ch; }
.agte-hero__chapo { font-size: 1.15rem; max-width: 62ch; opacity: 0.95; }
.agte-hero .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: #fff;
	color: #fff;
}
.agte-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.12); }
.agte-section--fond { background: var(--wp--preset--color--fond); }
.agte-section__intro { color: var(--wp--preset--color--texte-doux); max-width: 62ch; }

/* Étapes de l'accompagnement */
.agte-etapes {
	counter-reset: etape;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
}
.agte-etapes li {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 10px;
	counter-increment: etape;
	padding: 1.25rem;
}
.agte-etapes strong { display: block; margin-bottom: 0.25rem; }
.agte-rassurant {
	box-sizing: border-box;
	background: var(--wp--preset--color--surface);
	border-left: 4px solid var(--wp--preset--color--bleu);
	border-radius: 4px;
	padding: 0.75rem 1rem;
}
.agte-carte-rubrique {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 10px;
	padding: 1.25rem 1.5rem;
}
.agte-bande-inscription {
	background: var(--wp--preset--color--bleu-clair);
	border-radius: 14px;
}

/* ---- Pied de page ---- */
.agte-pied {
	background: var(--wp--preset--color--marine);
	color: #e8eef6;
	font-size: 0.925rem;
}
.agte-pied h2 { color: #fff; font-size: 1rem; margin-bottom: 0.75rem; }
.agte-pied a { color: #e8eef6; }
.agte-pied a:hover, .agte-pied a:focus-visible { color: #fff; }
.agte-pied ul { list-style: none; margin: 0; padding: 0; }
.agte-pied li { margin-bottom: 0.35rem; }
.agte-pied__bas { border-top: 1px solid rgba(255, 255, 255, 0.2); color: #c3cfde; font-size: 0.85rem; }

/* Lien d'évitement visible au focus */
.skip-link.screen-reader-text:focus {
	background: #fff;
	clip: auto !important;
	clip-path: none;
	color: var(--wp--preset--color--marine);
	display: block;
	height: auto;
	left: 6px;
	padding: 0.75rem 1rem;
	top: 6px;
	width: auto;
	z-index: 100000;
}

/* Textes à largeur de lecture limitée dans les sections en disposition contrainte :
   alignés à gauche de la colonne de 1200 px au lieu d'être centrés. */
.agte-hero > h1,
.agte-hero > .agte-hero__chapo,
.is-layout-constrained > .agte-section__intro {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1200px)) / 2)) !important;
}

/* ===== V0.2 ===== */
/* Titre principal : expression clé en couleur d'accent claire (contraste suffisant sur le bleu). */
.agte-accent-texte { color: var(--wp--preset--color--accent-clair); }
.agte-hero .wp-block-columns { align-items: center; }
.agte-hero h1 { margin-top: 0.25rem; }
.agte-hero__chapo { max-width: 60ch; }
.agte-bouton-petit > .wp-block-button__link { font-size: 0.9rem !important; padding: 0.6rem 1rem !important; }

/* « Nous contacter » avec pictogramme téléphone (aucun numéro affiché) */
.agte-nav-contact > a { align-items: center; display: inline-flex !important; gap: 0.4rem; }
.agte-nav-contact > a::before {
	background: currentColor;
	content: "";
	height: 1.05em;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1.05em;
}

/* Étapes : pictogrammes, numérotation et flèches (verticales sur mobile, horizontales sur grand écran) */
.agte-etapes { gap: 2.5rem; grid-template-columns: 1fr; }
.agte-etapes li { position: relative; }
.agte-etapes li::before {
	background: var(--wp--preset--color--bleu-clair) var(--agte-picto) center / 1.6rem no-repeat;
	border-radius: 12px;
	content: "";
	display: block;
	height: 2.75rem;
	margin-bottom: 0.75rem;
	width: 2.75rem;
}
.agte-etapes li > strong::before { color: var(--wp--preset--color--bleu); content: counter(etape) ". "; }
.agte-etapes li::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	content: "";
	height: 1.6rem;
	left: 50%;
	position: absolute;
	top: calc(100% + 0.45rem);
	transform: translateX(-50%) rotate(90deg);
	width: 1.6rem;
}
.agte-etapes li:last-child::after { display: none; }
@media (min-width: 1000px) {
	.agte-etapes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.agte-etapes li::after { left: calc(100% + 0.45rem); top: 50%; transform: translateY(-50%); }
}

/* ===== V0.3 ===== */
.agte-hero h1 { margin-top: 0; }
.agte-hero .wp-block-columns { align-items: flex-start; }
.agte-hero .wp-block-column.is-vertically-aligned-center { align-self: center; }

/* Deux boutons du bandeau : dimensions identiques */
.agte-hero__boutons { gap: 0.75rem; }
.agte-hero__boutons .wp-block-button__link {
	align-items: center;
	border: 2px solid transparent !important;
	box-sizing: border-box;
	display: inline-flex;
	font-size: 1rem !important;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.7rem 1.25rem !important;
	text-align: center;
	width: 100% !important;
}
.agte-hero__boutons .wp-block-button:not(.is-style-outline) .wp-block-button__link { border-color: var(--wp--preset--color--accent) !important; }
.agte-hero__boutons .is-style-outline .wp-block-button__link { border-color: #ffffff !important; }
@media (max-width: 600px) { .agte-hero__boutons .wp-block-button { width: 100%; } .agte-hero__boutons .wp-block-button__link { width: 100%; } }

/* Étapes : icônes homogènes (trait fin, pastille blanche), flèches conservées */
.agte-etape--telephone { --agte-picto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.6 3.5H5.5A1.5 1.5 0 0 0 4 5c0 8.3 6.7 15 15 15a1.5 1.5 0 0 0 1.5-1.5v-2.1a1 1 0 0 0-.7-.95l-3-1a1 1 0 0 0-1 .25l-1.4 1.4a12.2 12.2 0 0 1-5.5-5.5l1.4-1.4a1 1 0 0 0 .25-1l-1-3a1 1 0 0 0-.95-.7z'/%3E%3Cpath d='M14.5 4.2a5.5 5.5 0 0 1 5.3 5.3M14.5 7.4a2.4 2.4 0 0 1 2.1 2.1'/%3E%3C/svg%3E"); }
.agte-etape--verification { --agte-picto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2l7 2.7v5.3c0 4.4-2.9 8-7 9.6-4.1-1.6-7-5.2-7-9.6V5.9z'/%3E%3Cpath d='M9 12.1l2.1 2.1L15.2 10'/%3E%3C/svg%3E"); }
.agte-etape--contrat { --agte-picto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3.5H7.5A1.5 1.5 0 0 0 6 5v14a1.5 1.5 0 0 0 1.5 1.5h9A1.5 1.5 0 0 0 18 19V7.5z'/%3E%3Cpath d='M14 3.5v4h4M9 11.5h6M9 14.5h3.5'/%3E%3Cpath d='M13 18c.7-.9 1.3-.9 1.6 0s.9.9 1.5 0'/%3E%3C/svg%3E"); }
.agte-etape--dossier { --agte-picto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7A1.5 1.5 0 0 1 5 5.5h4l2 2h8a1.5 1.5 0 0 1 1.5 1.5v8.5A1.5 1.5 0 0 1 19 19H5a1.5 1.5 0 0 1-1.5-1.5z'/%3E%3Cpath d='M9.5 13.4l1.8 1.8 3.4-3.4'/%3E%3C/svg%3E"); }
.agte-etapes li::before {
	background: #ffffff var(--agte-picto) center / 1.75rem no-repeat;
	border: 1px solid var(--wp--preset--color--bleu-clair);
	border-radius: 50%;
	box-shadow: 0 0 0 4px var(--wp--preset--color--fond);
	height: 3.25rem;
	width: 3.25rem;
}

/* Liste des zones : titre remonté, plus d'espace autour */
.agte-titre-zones { padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--bordure); }

/* Pas d'espace blanc entre l'en-tête, le contenu et le pied de page */
.wp-site-blocks > * + * { margin-block-start: 0; }
.agte-hero__boutons .wp-block-button { flex: 0 1 18.5rem; width: 18.5rem; max-width: 100%; }
@media (max-width: 600px) { .agte-hero__boutons .wp-block-button { flex-basis: 100%; width: 100%; } }

/* ===== V0.3.4 ===== */
/* Titre de la liste des zones légèrement agrandi */
.agte-titre-zones { font-size: clamp(1.45rem, 1.2rem + 0.8vw, 1.7rem) !important; }

/* Avis : très léger décalage vers la droite sur ordinateur */
@media (min-width: 782px) {
	.agte-hero .agte-avis { margin-left: 1.75rem; }
}

/* ===== V0.3.5 ===== */
/* Encadré « consultation gratuite » : deux variantes à choisir (prévisualisation).
   Variante A (par défaut) : bleu très clair. Variante B (gris) abandonnée et retirée le 2026-10-15. */
.agte-rassurant {
	background: #eaf1fa;
	border-left: 6px solid var(--wp--preset--color--marine);
	color: var(--wp--preset--color--texte);
}

/* ===== V0.3.11 ===== */
/* Orange doux de « Profil fictif » (#fff4e5, liseré #f0c48a) : pastilles des étapes et des flèches. Pictogrammes en bleu. */
.agte-etapes li::before { background-color: #fff4e5; border-color: #f0c48a; }
.agte-etapes li::after {
	background: #fff4e5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12h10M13 8l4 4-4 4'/%3E%3C/svg%3E") center / 1.1rem no-repeat;
	border: 1px solid #f0c48a;
	border-radius: 50%;
	box-sizing: border-box;
	height: 1.75rem;
	width: 1.75rem;
}
@media (min-width: 1000px) { .agte-etapes li::after { left: calc(100% + 0.375rem); } }

/* Bloc d'inscription : fond bleu éclairci */
.agte-bande-inscription { background: #e9f0f8; }

/* Encadré « consultation gratuite » : pictogramme d'information */
.agte-rassurant { padding-left: 3.1rem !important; position: relative; }
.agte-rassurant::before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.6v.1'/%3E%3C/svg%3E") center / contain no-repeat;
	content: "";
	height: 1.35rem;
	left: 1.1rem;
	position: absolute;
	top: 0.9rem;
	width: 1.35rem;
}

/* Étapes : légère remontée et ombre renforcée au survol, sur appareils à souris uniquement (V0.4.1).
   Les étapes restent informatives (non cliquables) ; la flèche est compensée pour rester immobile. */
.agte-etapes li { transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
@media (hover: hover) and (pointer: fine) {
	.agte-etapes li:hover {
		border-color: #bfd0e4;
		box-shadow: 0 10px 24px rgba(15, 44, 76, 0.1);
		transform: translateY(-3px);
	}
	.agte-etapes li:hover::after { transform: translateX(-50%) translateY(3px) rotate(90deg); }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1000px) {
	.agte-etapes li:hover::after { transform: translateY(calc(-50% + 3px)); }
}
@media (prefers-reduced-motion: reduce) {
	.agte-etapes li { transition: none; }
	.agte-etapes li:hover { transform: none; }
	.agte-etapes li:hover::after { transform: translateX(-50%) rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1000px) {
	.agte-etapes li:hover::after { transform: translateY(-50%); }
}

/* ===== V0.4.5 — étapes : grand chiffre bleu au-dessus du titre, sans rond, pastille ni encadré =====
   Remplace le badge à pictogramme et le « 1. » du titre. Flèches orange doux et survol inchangés. */
.agte-etapes li::before {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--wp--preset--color--bleu);
	content: counter(etape);
	font-size: 2.5rem;
	font-variant-numeric: lining-nums tabular-nums;
	font-weight: 800;
	height: auto;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 0.6rem;
	width: auto;
}
.agte-etapes li > strong::before { content: none; }

/* ===== V0.4.6 — menu : sous-menus ouverts au survol sur ordinateur =====
   Le menu reste en mode « ouverture au clic » (toucher sur mobile, clavier : Entrée/Espace, Échap pour fermer).
   Sur les appareils à souris uniquement, le survol (et le focus clavier) ouvre aussi le sous-menu. */
.agte-entete .wp-block-navigation .wp-block-navigation-submenu__toggle {
	border-radius: 6px;
	padding: 0.3rem 0.55rem !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-icon svg { transition: transform 0.2s ease; }
/* Titre actif : bleu du thème sur fond bleu très clair ; flèche retournée (sous-menu ouvert) */
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] { background: #eaf1fa; color: var(--wp--preset--color--bleu); }
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) {
	/* Zone de survol prolongée sous le titre : le sous-menu ne se referme pas quand la souris descend vers ses liens */
	.agte-entete .wp-block-navigation .has-child { padding-bottom: 0.6rem; margin-bottom: -0.6rem; }
	.agte-entete .wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
		opacity: 0;
		transform: translateY(-4px);
		transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
	}
	.agte-entete .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
	.agte-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
	.agte-entete .wp-block-navigation .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		height: auto;
		min-width: 13rem;
		opacity: 1;
		overflow: visible;
		transform: none;
		transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
		visibility: visible;
		width: auto;
	}
	.agte-entete .wp-block-navigation .has-child:hover > .wp-block-navigation-submenu__toggle,
	.agte-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation-submenu__toggle { background: #eaf1fa; color: var(--wp--preset--color--bleu); }
	.agte-entete .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-icon svg,
	.agte-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
	/* Liens du sous-menu : même repère au survol */
	.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a:hover { background: #f3f7fc; color: var(--wp--preset--color--bleu); }
}
@media (prefers-reduced-motion: reduce) {
	.agte-entete .wp-block-navigation .wp-block-navigation-submenu__toggle,
	.agte-entete .wp-block-navigation .wp-block-navigation__submenu-icon svg,
	.agte-entete .wp-block-navigation .has-child > .wp-block-navigation__submenu-container { transition: none !important; transform: none !important; }
}
/* Flèche du sous-menu au premier plan, dans la pastille du titre ; le titre garde la zone cliquable */
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle { padding-right: 1.35rem !important; }
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation__submenu-icon { margin-left: -1.05rem; pointer-events: none; position: relative; z-index: 1; }
.agte-entete .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-icon,
.agte-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-icon,
.agte-entete .wp-block-navigation .has-child > [aria-expanded="true"] + .wp-block-navigation__submenu-icon { color: var(--wp--preset--color--bleu); }
/* Menu mobile (fenêtre plein écran, sous 600 px) : sous-menus toujours dépliés, sans pastille ni décalage */
@media (max-width: 599px) {
	.agte-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { background: none !important; color: inherit !important; padding: 0 !important; }
	.agte-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { margin-left: 0; }
}

/* ===== V0.4.9 — titres du menu : au survol, seule la couleur change (bleu du thème), sans fond ni soulignement =====
   « Nous contacter » garde son encadré actuel. Ouverture des sous-menus (survol, toucher, clavier) inchangée. */
.agte-entete .wp-block-navigation .wp-block-navigation-item:not(.agte-nav-contact) > a.wp-block-navigation-item__content { transition: color 0.2s ease; }
.agte-entete .wp-block-navigation .wp-block-navigation-item:not(.agte-nav-contact) > a.wp-block-navigation-item__content:hover,
.agte-entete .wp-block-navigation .wp-block-navigation-item:not(.agte-nav-contact) > a.wp-block-navigation-item__content:focus-visible { color: var(--wp--preset--color--bleu); text-decoration: none; }
/* Titre à sous-menu : plus de pastille ; texte et flèche en bleu quand le sous-menu est ouvert */
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle { background: none !important; padding: 0 !important; transition: color 0.2s ease; }
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation__submenu-icon { margin-left: 0.25em; }
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"],
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle:hover { color: var(--wp--preset--color--bleu); }
@media (hover: hover) and (pointer: fine) {
	.agte-entete .wp-block-navigation .has-child:hover > .wp-block-navigation-submenu__toggle,
	.agte-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation-submenu__toggle { background: none !important; color: var(--wp--preset--color--bleu); }
}
@media (prefers-reduced-motion: reduce) { .agte-entete .wp-block-navigation .wp-block-navigation-item > a.wp-block-navigation-item__content { transition: none; } }

/* ===== V0.4.10 — titres du menu : cadre bleu fin aux coins arrondis + texte bleu au survol, fond transparent =====
   Le cadre est dessiné par un pseudo-élément superposé : il n'occupe aucune place, les titres ne bougent pas.
   « Nous contacter » garde sa présentation ; sous-menus, toucher et clavier inchangés. */
.agte-entete .wp-block-navigation .wp-block-navigation-item:not(.agte-nav-contact) > .wp-block-navigation-item__content { position: relative; }
.agte-entete .wp-block-navigation .wp-block-navigation-item:not(.agte-nav-contact) > .wp-block-navigation-item__content::before {
	border: 1px solid transparent;
	border-radius: 6px;
	content: "";
	inset: -0.35rem -0.6rem;
	pointer-events: none;
	position: absolute;
	transition: border-color 0.2s ease;
}
/* « Guides » : le cadre englobe aussi la flèche */
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle::before { right: -1.55rem !important; }
.agte-entete .wp-block-navigation .wp-block-navigation-item:not(.agte-nav-contact) > .wp-block-navigation-item__content:hover::before,
.agte-entete .wp-block-navigation .has-child:not(.agte-nav-contact):hover > .wp-block-navigation-submenu__toggle::before,
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"]::before { border-color: var(--wp--preset--color--bleu); }
/* Le sous-menu reste lisible sous le cadre */
.agte-entete .wp-block-navigation .has-child > .wp-block-navigation__submenu-container { margin-top: 0.15rem; }
@media (max-width: 599px) {
	.agte-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.agte-nav-contact) > .wp-block-navigation-item__content::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.agte-entete .wp-block-navigation .wp-block-navigation-item__content::before { transition: none; }
}

/* ===== V0.4.11 — sous-menu « Guides » : icônes en couleur devant les entrées (camion, toque de diplômé) ===== */
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/entreprises/"],
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/gestionnaires/"] { align-items: center; display: flex; gap: 0.55rem; }
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/entreprises/"]::after,
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/gestionnaires/"]::after {
	background: center / contain no-repeat;
	content: "";
	flex: none;
	height: 1.2rem;
	order: -1; /* icône devant le texte */
	width: 1.2rem;
}
/* Camion : caisse bleue avec bande orange doux, cabine bleu foncé, roues marine */
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/entreprises/"]::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='1' y='6' width='13' height='10' rx='1.5' fill='%232c64a6'/%3E%3Crect x='1' y='11' width='13' height='1.6' fill='%23fdba74'/%3E%3Cpath d='M14 9h4.2l2.8 3.4V16H14z' fill='%231d4f8a'/%3E%3Cpath d='M15.4 10.3h2.3l1.7 2.1h-4z' fill='%23dbe6f3'/%3E%3Ccircle cx='6' cy='17' r='2.1' fill='%230f2c4c' stroke='%23fff' stroke-width='1'/%3E%3Ccircle cx='17.5' cy='17' r='2.1' fill='%230f2c4c' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E");
}
/* Toque de diplômé : plateau bleu foncé, calotte bleue, gland doré */
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/gestionnaires/"]::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 11.4v4.1c0 1.6 2.7 2.9 6 2.9s6-1.3 6-2.9v-4.1l-6 2.8z' fill='%232c64a6'/%3E%3Cpath d='M12 4l11 5-11 5L1 9z' fill='%231d4f8a'/%3E%3Cpath d='M12 9l8 1.6V15' fill='none' stroke='%23d9a520' stroke-width='1.2' stroke-linecap='round'/%3E%3Ccircle cx='20' cy='16' r='1.2' fill='%23d9a520'/%3E%3C/svg%3E");
}
/* Entrées du sous-menu sur une seule ligne (l'icône ne fait pas passer le texte à la ligne) */
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content { white-space: nowrap; }

/* V0.4.13 — « Pour les gestionnaires » : carnet de notes à spirale et stylo (remplace la toque), même style que le camion */
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/gestionnaires/"]::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='2.5' width='12.5' height='19' rx='1.6' fill='%232c64a6'/%3E%3Crect x='5.5' y='4.5' width='8' height='15' rx='0.6' fill='%23fff'/%3E%3Cpath d='M7 8.5h5M7 11.5h5M7 14.5h3.5' stroke='%23b9cfe9' stroke-width='1.1' stroke-linecap='round'/%3E%3Crect x='1.8' y='5.5' width='2.6' height='1.5' rx='0.75' fill='%23fdba74'/%3E%3Crect x='1.8' y='10.5' width='2.6' height='1.5' rx='0.75' fill='%23fdba74'/%3E%3Crect x='1.8' y='15.5' width='2.6' height='1.5' rx='0.75' fill='%23fdba74'/%3E%3Cpath d='M21.6 5.2l-7.2 10.4' stroke='%231d4f8a' stroke-width='2.6' stroke-linecap='round'/%3E%3Cpath d='M13.7 14.6l-0.9 3.3 2.7-2z' fill='%23fdba74'/%3E%3C/svg%3E");
}
/* V0.4.14 — stylo plus reconnaissable (corps détouré de blanc, bague claire, pointe orange doux) */
.agte-entete .wp-block-navigation a.wp-block-navigation-item__content[href$="/guides/gestionnaires/"]::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='2.5' width='12.5' height='19' rx='1.6' fill='%232c64a6'/%3E%3Crect x='5' y='4.5' width='8' height='15' rx='0.6' fill='%23fff'/%3E%3Cpath d='M6.5 8.5h5M6.5 11.5h5M6.5 14.5h3' stroke='%23b9cfe9' stroke-width='1.1' stroke-linecap='round'/%3E%3Crect x='1.3' y='5.5' width='2.6' height='1.5' rx='0.75' fill='%23fdba74'/%3E%3Crect x='1.3' y='10.5' width='2.6' height='1.5' rx='0.75' fill='%23fdba74'/%3E%3Crect x='1.3' y='15.5' width='2.6' height='1.5' rx='0.75' fill='%23fdba74'/%3E%3Cpath d='M21.4 3.6l-7.6 11' stroke='%23fff' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M21.4 3.6l-7.6 11' stroke='%231d4f8a' stroke-width='3.2' stroke-linecap='round'/%3E%3Cpath d='M16.4 10.9l-1.6 2.3' stroke='%23dbe6f3' stroke-width='3.2'/%3E%3Cpath d='M12.6 14.2l-1.1 4.4 3.6-2.7z' fill='%23fdba74' stroke='%23fff' stroke-width='0.6' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* V0.4.15 — sous-menus : pas de cadre autour des entrées (réservé aux titres du menu) ;
   fond bleu clair sur l'entrée survolée, sélectionnée au clavier ou correspondant à la page en cours ; repère clavier bleu */
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { content: none; }
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content { border-radius: 6px; text-decoration: none; }
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover,
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus-visible,
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content[aria-current="page"] { background: #eaf1fa; color: var(--wp--preset--color--bleu); }
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus-visible { outline: 2px solid #2c64a6; outline-offset: -2px; }
.agte-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.agte-nav-contact) > .wp-block-navigation-item__content::before { content: none; display: none; }

/* ===== 2026-10-10 (0.4.19) — accueil : liaison entre les quatre étapes de mise en relation =====
   Traits pleins, fins (2 px) et bleu doux (#c5d6ea), au niveau des chiffres : horizontaux sur ordinateur, dans l'espace entre deux cartes ;
   verticaux sur mobile, alignés sous le chiffre, dans l'espace entre deux cartes. Ni pointillés ni points ; aucune animation permanente.
   Cercle bleu permanent autour du chiffre 1 uniquement (0.4.20) ; l’effet au survol et à l’appui des versions 0.4.19 est retiré.
   Le chiffre garde exactement sa place : boîte de 52 px centrée sur lui, compensée par des marges négatives.
   Textes, remontée des cartes au survol et ombre inchangés ; le trait reste immobile pendant la remontée. Remplace la ligne ponctuée. */
.agte-etapes li::before {
	align-items: center;
	border: 2px solid transparent;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	height: 3.25rem;
	justify-content: center;
	margin: -0.375rem 0 calc(0.6rem - 0.375rem) -0.875rem;
	width: 3.25rem;
}
.agte-etapes li::after {
	background: #c5d6ea;
	border: 0;
	border-radius: 1px;
	height: calc(2.5rem - 14px);
	left: calc(1.25rem + 0.75rem - 1px);
	top: calc(100% + 1px + 6px);
	transform: none;
	width: 2px;
}
@media (min-width: 1000px) {
	.agte-etapes li::after {
		height: 2px;
		left: calc(100% + 1px + 6px);
		top: calc(1.25rem + 1.25rem - 1px);
		transform: none;
		width: calc(2.5rem - 14px);
	}
}
@media (hover: hover) and (pointer: fine) { .agte-etapes li:hover::after { transform: translateY(3px); } }
@media (prefers-reduced-motion: reduce) {
	.agte-etapes li:hover::after { transform: none; }
}

/* 2026-10-11 (0.4.22) — étapes de l'accueil : chiffres très légèrement réduits (2,5 → 2,25 rem), même style pour les quatre,
   sans cercle (le cercle permanent du chiffre 1 est retiré). Le chiffre reste centré dans sa boîte : traits de liaison inchangés. */
.agte-etapes li::before { font-size: 2.25rem; }

/* 2026-10-11 (0.4.23) — étapes de l'accueil : au survol, le contour passe progressivement au même bleu que l'encadré
   « Vous ne trouvez pas de GTE dans votre région ? » (#9fb8d6, transition de 0,25 s, même courbe) ; au toucher, même retour
   pendant l'appui (classe is-appui, carte.js). Remontée et ombre existantes conservées ; aucune animation permanente ;
   sans transition si l'appareil demande moins d'animations. */
@media (hover: hover) and (pointer: fine) { .agte-etapes li:hover { border-color: #9fb8d6; } }
.agte-etapes li.is-appui { border-color: #9fb8d6; }

/* 2026-10-11 (0.4.24) — étapes de l'accueil : même effet que l'encadré « Vous ne trouvez pas de GTE dans votre région ? » :
   trait bleu de 3 px qui se dessine en haut du cadre, de gauche à droite (0,35 s ease), contour #9fb8d6 (0,25 s), remontée
   et ombre existantes. Transition dans les deux sens (entrée et sortie du curseur) ; même retour pendant l'appui au toucher.
   Le trait est un fond (les pseudo-éléments servent déjà au chiffre et aux traits de liaison). */
.agte-etapes li {
	background-image: linear-gradient(var(--wp--preset--color--bleu), var(--wp--preset--color--bleu));
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 0% 3px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background-size 0.35s ease;
}
@media (hover: hover) and (pointer: fine) { .agte-etapes li:hover { background-size: 100% 3px; } }
.agte-etapes li.is-appui { background-size: 100% 3px; }
@media (prefers-reduced-motion: reduce) { .agte-etapes li { transition: none; } }

/* 2026-10-11 (0.4.25) — étapes : contour repris de l'encadré « Vous ne trouvez pas de GTE dans votre région ? ».
   Au repos, trait bleu de 4 px sur le côté gauche (même bleu) ; au survol, le trait de 3 px se prolonge progressivement
   sur le bord supérieur (0,35 s ease) et le reste du contour passe à #9fb8d6 (0,25 s) — le côté gauche reste bleu.
   Retour fluide à la sortie du curseur. Marge intérieure gauche réduite de 3 px : textes, chiffres et traits de liaison
   restent à la même place. */
.agte-etapes li { border-left: 4px solid var(--wp--preset--color--bleu); padding-left: calc(1.25rem - 3px); }
@media (hover: hover) and (pointer: fine) { .agte-etapes li:hover { border-left-color: var(--wp--preset--color--bleu); } }
.agte-etapes li.is-appui { border-color: #9fb8d6; border-left-color: var(--wp--preset--color--bleu); }
@media (max-width: 999px) { .agte-etapes li::after { left: calc(1.25rem - 3px + 0.75rem - 1px); } }

/* ===== 2026-10-12 — Menu fixe en haut de l'écran pendant le défilement, sur toutes les pages (ordinateur et mobile) =====
   Apparence et menus déroulants inchangés. Les liens vers une section s'arrêtent sous le menu (scroll-padding-top). */
.wp-site-blocks > .wp-block-template-part:first-child, .wp-site-blocks > header.agte-entete { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 1000; }
@media (max-width: 600px) { .wp-site-blocks > .wp-block-template-part:first-child, .wp-site-blocks > header.agte-entete { top: 0; } }
/* 2026-10-12 : décalage = barre d'administration WordPress (personne connectée, ordinateur) + hauteur réelle du menu + marge ; sur mobile (≤ 600 px), la barre défile avec la page : menu seul. */
html { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--agte-entete-h, 72px) + 1.25rem); }
@media (max-width: 600px) { html { scroll-padding-top: calc(var(--agte-entete-h, 72px) + 1.25rem); } }

/* 2026-10-14 — Menu : aucun cadre après un clic à la souris (survol et page active inchangés) ; repère de focus visible au clavier uniquement */
.agte-entete .wp-block-navigation :is(a, button):focus:not(:focus-visible),
.agte-entete .wp-block-navigation .wp-block-navigation-item:focus-within:not(:has(:focus-visible)) { box-shadow: none !important; outline: none !important; }
.agte-entete .wp-block-navigation :is(a, button):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; border-radius: 4px; }
