/* Rubrique « Lycée » : pages de présentation rafraîchies (voir lycee.php). Couleur d'accent : --ebtp-page-c. */

/* ---------- Titre de page : à gauche, avec un filet de la couleur de la page ---------- */
.ebtp-rubrique-lycee .page-wrapper h1 { text-align: left !important; color: var(--ebtp-encre); }
.ebtp-rubrique-lycee .page-wrapper h1::after {
	content: "";
	display: block;
	width: 64px;
	height: 5px;
	margin-top: 14px;
	border-radius: 3px;
	background: var(--ebtp-page-c, var(--ebtp-orange));
}
.ebtp-rubrique-lycee .page-wrapper .text-right:has(> h1) { text-align: left; }

/* Texte courant : marqueurs ■ de couleur gardés, paragraphes plus aérés. */
.ebtp-rubrique-lycee .page-wrapper .col-inner > p,
.ebtp-rubrique-lycee .page-wrapper .entry-content > p { font-size: 16.5px; line-height: 1.7; }

/* ---------- Présentation : frise des dates ---------- */
.ebtp-frise { position: relative; margin: 0 0 22px; padding-left: 92px; }
.ebtp-frise::before {
	content: "";
	position: absolute;
	left: 70px;
	top: 8px;
	bottom: 8px;
	width: 2px;
	background: linear-gradient(var(--ebtp-page-c), rgba(253, 184, 19, .15));
}
.ebtp-frise .ebtp-jalon { position: relative; margin: 0 0 22px !important; }
.ebtp-frise .ebtp-jalon::before {
	content: attr(data-annee);
	position: absolute;
	left: -92px;
	top: 1px;
	width: 58px;
	padding: 3px 0;
	border-radius: 6px;
	background: var(--ebtp-page-c);
	color: var(--ebtp-encre);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}
.ebtp-frise .ebtp-jalon::after {
	content: "";
	position: absolute;
	left: -26px;
	top: 9px;
	width: 10px;
	height: 10px;
	border: 2px solid var(--ebtp-page-c);
	border-radius: 50%;
	background: #fff;
}
/* La photo du bâtiment reste visible pendant la lecture de la frise. */
.page-id-7 .page-wrapper .row:has(.ebtp-frise) > .col:first-child > .col-inner { position: sticky; top: 120px; }
/* Vidéo et visite virtuelle : pleine largeur, au format 16/9, coins arrondis. */
.page-id-7 .page-wrapper iframe[src*="tas-3d"] { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; }
.page-id-7 .page-wrapper :is(.kgvid_wrapper, .video-js, video) { max-width: 100%; border-radius: 12px; overflow: hidden; }

/* ---------- Claude-Nicolas Ledoux / CDI : galeries en mosaïque égale ---------- */
.ebtp-rubrique-lycee .gallery { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 24px 0 28px !important; }
.ebtp-rubrique-lycee .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.ebtp-rubrique-lycee .gallery-columns-1 { grid-template-columns: 1fr; }
.ebtp-rubrique-lycee .gallery .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.ebtp-rubrique-lycee .gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 0 !important;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(29, 39, 51, .12);
}
.ebtp-rubrique-lycee .gallery br { display: none; }
/* CDI : la grande photo et les deux petites forment une seule mosaïque de trois. */
.page-id-2697 .gallery-columns-1 { grid-template-columns: 1fr; max-width: calc((100% - 32px) / 3); float: left; margin-right: 16px !important; }
.page-id-2697 .gallery-columns-1 img { aspect-ratio: 3 / 4; }
.page-id-2697 .gallery-columns-2 { grid-template-columns: 1fr; }
.page-id-2697 .gallery-columns-2 img { aspect-ratio: 16 / 10; }
.page-id-2697 .gallery-columns-1 + .gallery-columns-2,
.page-id-2697 :is(p, br) + .gallery-columns-2 { overflow: hidden; }

/* ---------- Symbolique du logo : le logo à côté du texte ---------- */
.ebtp-totem { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.ebtp-totem__texte p { font-size: 16.5px; line-height: 1.7; }
.ebtp-totem__texte h3:first-child { margin-top: 0; }
.ebtp-totem__logo { position: sticky; top: 120px; margin: 0; }
.ebtp-totem__logo img { display: block; width: 100%; height: auto; margin: 0; }
/* Même marge gauche que le titre ; la rangée restée vide (anciennes barres de couleur) ne laisse pas de trou. */
.page-wrapper .col:has(> .col-inner > .ebtp-totem) { padding-left: 0; padding-right: 0; }
.page-id-1705 .page-wrapper .col-inner > .row:not(:has(p, h2, h3, img, table, a)) { display: none; }

/* ---------- Résultats en cartes ---------- */
.ebtp-resultats__intro { color: #4a5663; font-size: 16px; }
.ebtp-resultats__intro strong { color: var(--ebtp-encre); }
.ebtp-resultats { margin: 28px 0 10px; }
.ebtp-resultats__tableau {
	width: 100%;
	margin: 0;
	border: 1px solid #e3e8ee;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	font-size: 15px;
}
.ebtp-resultats__tableau td { padding: 11px 18px; border: 0; border-top: 1px solid #edf1f5; color: var(--ebtp-encre); vertical-align: middle; }
.ebtp-resultats__tableau tr:nth-child(even) td { background: #f6f8fa; }
/* Première ligne : le bandeau jaune « Résultats 2026 » d'origine. */
.ebtp-resultats__tableau tr:first-child td {
	padding: 14px 18px;
	border-top: 0;
	background: var(--ebtp-page-c) !important;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}
/* Diplôme : petite pastille de la couleur de la filière, comme dans le menu. */
.ebtp-resultats__tableau td:first-child:not([colspan]) { width: 130px; font-weight: 700; white-space: nowrap; }
.ebtp-resultats__tableau td:first-child:not([colspan])::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 10px 1px 0;
	border-radius: 50%;
	background: var(--ebtp-p, var(--ebtp-btp));
}
.ebtp-resultats__tableau td.ebtp-valeur { width: 110px; font-weight: 700; text-align: right; white-space: nowrap; }
.ebtp-resultats__mentions { margin: 26px 0 0; }
.ebtp-resultats__chiffres { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; padding: 0; list-style: none; }
.ebtp-resultats__chiffres li {
	flex: 1 1 240px;
	margin: 0 !important;
	padding: 14px 18px;
	border-radius: 12px;
	background: #fff8e6;
	color: var(--ebtp-encre);
	font-weight: 700;
	line-height: 1.4;
}
.ebtp-resultats__suite { margin: 26px 0 0; }

/* ---------- Organigramme : parcours de la seconde aux études supérieures ---------- */
.ebtp-parcours__intro { margin: -4px 0 26px; color: #66737f; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ebtp-parcours { display: grid; gap: 0; }
.ebtp-parcours__etape {
	position: relative;
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 0 28px;
	padding: 0 0 34px;
}
.ebtp-parcours__etape:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 19px;
	top: 44px;
	bottom: 4px;
	width: 2px;
	background: #dfe5eb;
}
.ebtp-parcours__repere { display: flex; align-items: center; gap: 12px; align-self: start; color: var(--ebtp-encre); font-size: 18px; font-weight: 700; }
.ebtp-parcours__repere span {
	display: grid;
	place-items: center;
	flex: 0 0 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ebtp-encre);
	color: #fff;
	font-size: 16px;
}
.ebtp-parcours__voies { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; grid-column: 2; }
.ebtp-parcours__voies--sup { grid-template-columns: repeat(4, 1fr); }
.ebtp-parcours__voie {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border-radius: 14px;
	background: #f4f6f9;
}
.ebtp-parcours__voie > div:not(.ebtp-parcours__formation) { display: contents; }
.ebtp-parcours__nom { margin: 0 0 4px !important; color: var(--ebtp-encre); font-size: 15px !important; font-weight: 700; line-height: 1.3; }
.ebtp-parcours__nom small { display: block; color: #66737f; font-size: 13px; font-weight: 400; }
.ebtp-parcours__acces { margin: 0 0 4px !important; color: #66737f; font-size: 13px !important; font-weight: 700; letter-spacing: .04em; }
.ebtp-parcours__acces--large { grid-column: 2; margin-bottom: 12px !important; }
.ebtp-parcours__formation {
	display: block;
	padding: 12px 14px 12px 16px;
	border-left: 4px solid var(--ebtp-p, var(--ebtp-btp));
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(29, 39, 51, .06);
	color: var(--ebtp-encre);
	text-decoration: none;
	transition: transform .15s, box-shadow .15s;
}
a.ebtp-parcours__formation:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(29, 39, 51, .12); color: var(--ebtp-encre); }
.ebtp-parcours__formation strong { display: block; font-size: 15px; line-height: 1.3; }
.ebtp-parcours__formation span { display: block; margin-top: 4px; color: #5b6774; font-size: 13px; line-height: 1.45; }
.ebtp-parcours__note { margin: 4px 0 0 !important; color: #66737f; font-size: 13px !important; line-height: 1.4; }
.ebtp-parcours__apprentissage { grid-column: 2; margin-top: 16px; }
.ebtp-parcours__apprentissage a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	border-radius: 12px;
	background: #fff4e5;
	color: var(--ebtp-encre);
	text-decoration: none;
}
.ebtp-parcours__apprentissage strong { color: var(--ebtp-orange); }
.ebtp-parcours__apprentissage span { margin-left: auto; transition: transform .2s; }
.ebtp-parcours__apprentissage a:hover span { transform: translateX(4px); }
.ebtp-parcours__pdf { margin: 6px 0 0; }

/* ---------- Navigation de la rubrique, en bas des pages ---------- */
.ebtp-rubrique { clear: both; margin: 56px 0 10px; padding-top: 28px; border-top: 1px solid #e3e8ee; }
.ebtp-rubrique__titre { margin: 0 0 14px !important; color: #66737f; font-size: 13px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ebtp-rubrique ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ebtp-rubrique li { margin: 0 !important; }
.ebtp-rubrique a {
	display: block;
	height: 100%;
	padding: 14px 16px;
	border: 1px solid #e3e8ee;
	border-radius: 12px;
	color: var(--ebtp-encre);
	text-decoration: none;
	transition: border-color .15s, transform .15s, box-shadow .15s;
}
.ebtp-rubrique a:hover { border-color: var(--ebtp-page-c); transform: translateY(-2px); box-shadow: 0 8px 18px rgba(29, 39, 51, .08); color: var(--ebtp-encre); }
.ebtp-rubrique strong { display: block; font-size: 15px; }
.ebtp-rubrique span { display: block; margin-top: 3px; color: #66737f; font-size: 13px; line-height: 1.4; }
.ebtp-rubrique .is-actif a { border-color: var(--ebtp-page-c); background: #fafbfc; box-shadow: inset 4px 0 0 var(--ebtp-page-c); }

/* ---------- Tablettes et téléphones ---------- */
@media (max-width: 1100px) {
	.ebtp-parcours__voies--sup { grid-template-columns: repeat(2, 1fr); }
	.ebtp-rubrique ul { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 849px) {
	.ebtp-parcours__etape { grid-template-columns: 1fr; gap: 14px; }
	.ebtp-parcours__etape::before { display: none; }
	.ebtp-parcours__voies, .ebtp-parcours__acces--large, .ebtp-parcours__apprentissage { grid-column: 1; }
	.page-id-7 .page-wrapper .row:has(.ebtp-frise) > .col:first-child > .col-inner { position: static; }
	.ebtp-totem { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.ebtp-totem__logo { position: static; order: -1; width: 240px; }
}
@media (max-width: 600px) {
	.ebtp-parcours__voies, .ebtp-parcours__voies--sup { grid-template-columns: 1fr; }
	.ebtp-frise { padding-left: 0; }
	.ebtp-frise::before, .ebtp-frise .ebtp-jalon::after { display: none; }
	.ebtp-frise .ebtp-jalon { padding-top: 34px; }
	.ebtp-frise .ebtp-jalon::before { left: 0; top: 0; }
	.ebtp-rubrique-lycee .gallery { grid-template-columns: 1fr; }
	.page-id-2697 .gallery-columns-1 { float: none; max-width: none; margin-right: 0 !important; }
	.ebtp-rubrique ul { grid-template-columns: 1fr; }
}

/* Présentation : la vidéo et la visite sont dans des rangées imbriquées (marges négatives) : même marge gauche que le reste. */
.page-id-7 .page-wrapper .col-inner > .row { margin-left: 0 !important; margin-right: 0 !important; }
/* Paragraphes vides ajoutés par WordPress entre les cartes du parcours. */
.ebtp-parcours p:empty, .ebtp-parcours br { display: none; }

/* ---------- Présentation : vidéo et visite virtuelle en deux cartes ---------- */
.ebtp-medias { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 44px 0 10px; }
.ebtp-media { margin: 0; }
.ebtp-media__cadre {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 16px;
	background: var(--ebtp-encre);
	box-shadow: 0 14px 34px rgba(29, 39, 51, .16);
}
.ebtp-media__video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000; }
.ebtp-media__lecture {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: linear-gradient(180deg, rgba(29, 39, 51, 0) 40%, rgba(29, 39, 51, .45));
	cursor: pointer;
}
.ebtp-media__lecture[hidden] { display: none; }
.ebtp-media__rond, .ebtp-media__visite .ebtp-media__bouton { transition: transform .2s, background-color .2s; }
.ebtp-media__rond {
	position: relative;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .95);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
}
.ebtp-media__rond::after {
	content: "";
	position: absolute;
	left: 31px;
	top: 24px;
	border-style: solid;
	border-width: 15px 0 15px 24px;
	border-color: transparent transparent transparent var(--ebtp-page-c, #fdb813);
}
.ebtp-media__lecture:hover .ebtp-media__rond { transform: scale(1.08); }
.ebtp-media__visite img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.ebtp-media__visite::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(29, 39, 51, .05) 35%, rgba(29, 39, 51, .6)); }
.ebtp-media__visite:hover img { transform: scale(1.04); }
.ebtp-media__badge {
	position: absolute;
	z-index: 1;
	top: 16px;
	left: 16px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: var(--ebtp-encre);
	font-size: 13px;
	font-weight: 700;
}
.ebtp-media__bouton {
	position: absolute;
	z-index: 1;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	padding: 13px 24px;
	border-radius: 999px;
	background: var(--ebtp-page-c, #fdb813);
	color: var(--ebtp-encre);
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
}
.ebtp-media__visite:hover .ebtp-media__bouton { transform: translateX(-50%) translateY(-2px); }
.ebtp-media figcaption { padding: 16px 4px 0; }
.ebtp-media figcaption strong { display: block; color: var(--ebtp-encre); font-size: 18px; line-height: 1.35; }
.ebtp-media figcaption span { display: block; margin-top: 4px; color: #66737f; font-size: 14px; }
.ebtp-visite-fenetre { width: min(1400px, 94vw); height: min(860px, 88vh); max-width: none; max-height: none; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: #000; }
.ebtp-visite-fenetre::backdrop { background: rgba(15, 22, 30, .78); }
.ebtp-visite-fenetre iframe { display: block; width: 100%; height: 100%; border: 0; }
.ebtp-visite-fenetre__fermer {
	position: absolute;
	z-index: 2;
	top: 12px;
	right: 12px;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ebtp-encre);
	font-size: 26px;
	line-height: 42px;
	cursor: pointer;
}
@media (max-width: 849px) {
	.ebtp-medias { grid-template-columns: 1fr; }
}

/* ---------- Organigramme façon PDF : se lit de bas en haut, avec les flèches de progression ----------
   Une seule échelle de texte : titres de bloc 20 px, cartes 14 px, détails 12 px, repères (flèches, palier) 16-20 px. */
.ebtp-parcours__apprentissage { grid-column: auto; }
.ebtp-orga {
	--gris: #e9edf1;
	--gris-fonce: #cfd6de;
	--bleu-duree: #1e5aa8;
	display: grid;
	gap: 16px;
	margin: 6px 0 4px;
	text-align: center;
}
.ebtp-orga p { margin: 0 !important; }

/* Blocs (DN MADe, BTS, lycées) : titre centré, cartes en bas du bloc. */
.ebtp-orga__bloc {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 22px;
	border-radius: 16px;
	background: var(--gris);
}
.ebtp-orga__titre {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 48px;
	padding: 0 64px;
	color: var(--ebtp-encre);
	font-size: 20px !important;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .01em;
	text-align: center;
	text-transform: uppercase;
}
.ebtp-orga__titre small { display: block; margin-top: 4px; color: #4a5663; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.ebtp-orga__mentions { margin: -8px 0 -6px !important; color: var(--ebtp-design); font-size: 12px !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Durées : même étiquette partout. */
.ebtp-orga__duree {
	position: absolute;
	top: 22px;
	right: 22px;
	padding: 4px 10px;
	border: 2px solid var(--bleu-duree);
	border-radius: 6px;
	background: #fff;
	color: var(--bleu-duree);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.ebtp-orga__duree--ligne { position: static; display: block; width: fit-content; margin: 10px auto 0; }

/* Cartes : même hauteur sur une rangée, texte centré, même taille partout. */
.ebtp-orga__cartes { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 10px; margin-top: auto; }
.ebtp-orga__carte {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6px;
	min-height: 104px;
	padding: 16px 14px;
	border-radius: 12px;
	background: var(--ebtp-p, var(--ebtp-btp));
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .01em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform .15s, box-shadow .15s, filter .15s;
}
.ebtp-orga__carte > span { display: block; }
.ebtp-orga__carte small { display: block; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; opacity: .95; }
a.ebtp-orga__carte:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(29, 39, 51, .18); filter: brightness(1.06); color: #fff; }
/* DN MADe « Évènement & Numérique » : deux liens dans la même carte. */
.ebtp-orga__carte--double { gap: 2px; }
.ebtp-orga__carte--double a { padding: 2px 8px; border-radius: 6px; color: #fff; text-decoration: none; transition: background-color .15s; }
.ebtp-orga__carte--double a:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.ebtp-orga__carte--double i { font-style: normal; font-weight: 600; opacity: .85; }
/* Secondes : la couleur de la filière en clair, texte foncé. */
.ebtp-orga__carte--seconde { min-height: 96px; color: var(--ebtp-encre) !important; background: color-mix(in srgb, var(--ebtp-p) 26%, #fff); }
.ebtp-orga__carte--seconde small { color: #33404d; }
a.ebtp-orga__carte--seconde:hover, a.ebtp-orga__carte--clair:hover { color: var(--ebtp-encre) !important; }
.ebtp-orga__carte--clair { min-height: 64px; background: #bfe6f7; color: var(--ebtp-encre) !important; }

/* Niveau du haut : DN MADe | BTS, même hauteur. */
.ebtp-orga__sup { display: grid; grid-template-columns: 1fr 2fr; gap: 16px; align-items: stretch; }

/* Passerelle : flèches « Accès direct », « Ou » vers la P.E.S. */
.ebtp-orga__passerelle { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1fr; align-items: center; }
.ebtp-orga__fleche {
	display: grid;
	place-items: center;
	height: 150px;
	background: var(--gris-fonce);
	clip-path: polygon(50% 0, 100% 34px, 70% 34px, 70% 100%, 30% 100%, 30% 34px, 0 34px);
}
.ebtp-orga__fleche span { width: 40%; padding-top: 34px; color: var(--ebtp-encre); font-size: 16px; font-weight: 800; line-height: 1.25; }
.ebtp-orga__ou { display: grid; place-items: center; width: 80px; height: 60px; background: var(--gris); color: var(--ebtp-encre); font-size: 16px; font-weight: 800; }
.ebtp-orga__ou--droite { clip-path: polygon(0 20%, 62% 20%, 62% 0, 100% 50%, 62% 100%, 62% 80%, 0 80%); padding-right: 16px; }
.ebtp-orga__ou--gauche { clip-path: polygon(100% 20%, 38% 20%, 38% 0, 0 50%, 38% 100%, 38% 80%, 100% 80%); padding-left: 16px; }
.ebtp-orga__pes p { margin-bottom: 10px !important; color: var(--ebtp-encre); font-size: 13px !important; font-weight: 700; }
.ebtp-orga__pes .ebtp-orga__carte { max-width: 260px; margin: 0 auto; font-size: 15px; }

/* Palier du bac. */
.ebtp-orga__palier { padding: 16px; border-radius: 12px; background: var(--gris); color: var(--ebtp-encre); font-size: 20px; font-weight: 800; }

/* Les deux lycées : titres, bacs et secondes alignés d'un bloc à l'autre (sous-grille), flèche « 3 ans » au milieu. */
.ebtp-orga__lycees { display: grid; grid-template-columns: 1fr 48px 1fr; grid-template-rows: auto 1fr auto; column-gap: 12px; }
.ebtp-orga__bloc--lycee { display: grid; grid-row: span 3; grid-template-rows: subgrid; gap: 12px; }
.ebtp-orga__bloc--lycee .ebtp-orga__titre { padding: 0; }
.ebtp-orga__bloc--lycee .ebtp-orga__cartes--bacs { margin-top: 0; }
.ebtp-orga__cartes--bacs { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); }
.ebtp-orga__secondes { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; }
.ebtp-orga__trait { position: relative; display: grid; place-items: center; grid-row: span 3; margin-top: -16px; }
.ebtp-orga__trait::before {
	content: "";
	position: absolute;
	inset: 0 6px;
	background: var(--bleu-duree);
	opacity: .14;
	clip-path: polygon(50% 0, 100% 22px, 72% 22px, 72% 100%, 28% 100%, 28% 22px, 0 22px);
}
.ebtp-orga__trait span { position: relative; writing-mode: vertical-rl; transform: rotate(180deg); color: var(--bleu-duree); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* Entrées : admission en seconde, sous une flèche, alignées sur les deux lycées. */
.ebtp-orga__entrees { display: grid; grid-template-columns: 1fr 48px 1fr; column-gap: 12px; }
.ebtp-orga__entree:last-child { grid-column: 3; }
.ebtp-orga__entree {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 16px;
	border-radius: 12px;
	background: linear-gradient(transparent 46px, var(--gris) 46px);
	color: var(--ebtp-encre);
	font-size: 20px;
	font-weight: 800;
}
.ebtp-orga__chevron { order: -1; width: 220px; height: 34px; margin-bottom: 26px; background: var(--gris-fonce); clip-path: polygon(50% 0, 100% 100%, 0 100%); }

@media (max-width: 1000px) {
	.ebtp-orga__sup, .ebtp-orga__lycees, .ebtp-orga__entrees { grid-template-columns: 1fr; }
	.ebtp-orga__lycees { row-gap: 16px; }
	.ebtp-orga__bloc--lycee { display: flex; grid-row: auto; }
	.ebtp-orga__trait { display: none; }
	.ebtp-orga__entree:last-child { grid-column: auto; }
	.ebtp-orga__entrees { row-gap: 12px; }
	.ebtp-orga__cartes { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); }
	.ebtp-orga__passerelle { grid-template-columns: 1fr; gap: 12px; }
	.ebtp-orga__fleche, .ebtp-orga__ou { display: none; }
}
@media (max-width: 600px) {
	.ebtp-orga__cartes, .ebtp-orga__cartes--bacs, .ebtp-orga__secondes { grid-template-columns: 1fr; }
	.ebtp-orga__carte { min-height: 0; }
	.ebtp-orga__titre { padding: 0; }
	.ebtp-orga__duree { position: static; align-self: center; }
}
/* La règle générale « paragraphes à gauche » (alignements.css) ne s'applique pas au schéma : tout y est centré. */
.page-wrapper .ebtp-orga :is(p, div, a, span) { text-align: center !important; }
.ebtp-orga__titre { align-items: center; }
/* DN MADe et BTS : titres sur la même ligne (le sous-titre du DN MADe ne décale pas celui du BTS). */
.ebtp-orga__sup .ebtp-orga__titre { justify-content: flex-start; padding-top: 4px; }

/* Carte « Évènement & Numérique » (deux liens dans une carte) : même survol que les autres cartes,
   et le lien survolé est souligné pour montrer lequel s'ouvre. */
.ebtp-orga__carte--double { transition: transform .15s, box-shadow .15s, filter .15s; }
.ebtp-orga__carte--double:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(29, 39, 51, .18); filter: brightness(1.06); }
.ebtp-orga__carte--double a:hover,
.ebtp-orga__carte--double a:focus-visible { background: none; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }

/* Comme sur l'organigramme PDF : le bloc BTS (2 ans) est moins haut que le DN MADe (3 ans), posé sur la même ligne du bas. */
.ebtp-orga__sup { align-items: end; }
.ebtp-orga__sup > .ebtp-pastille--btp .ebtp-orga__cartes { margin-top: 0; }
.ebtp-orga__sup > .ebtp-pastille--btp .ebtp-orga__titre { min-height: 0; }

/* Bas des pages d'un onglet du menu (rubrique-menu.php) : autant de colonnes que de liens, jusqu'à 4. */
.ebtp-rubrique-rangee .ebtp-rubrique { margin: 10px 0 30px; }
.ebtp-rubrique--menu ul { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.ebtp-rubrique--menu a { display: flex; align-items: center; }
