/* ============================================================
   SEDY Manager - Page ecole (habillage specifique uniquement)
   Le chrome (topbar/header/nav/sidebar/footer/hero/vitrine/tags/
   boutons/etc.) est deja fourni par sedy-landing.css, chargee en
   dependance de ce fichier - la page ecole reutilise la classe
   .sedy-landing sur son conteneur racine pour en heriter integralement,
   conformement a la demande d'un habillage strictement identique a
   celui de la landing page. Ce fichier ne contient donc QUE les
   elements propres a la page ecole, introuvables sur la landing :
   fil d'Ariane, onglet d'en-tete de section, boutons pilule de
   navigation rapide, et grille de l'equipe/administration en tuiles
   colorees.
   ============================================================ */

/* ---------- Fil d'Ariane ---------- */

.sedy-fil-ariane {
	background: var(--sedy-fond-teinte, #f5f5f5);
	border-bottom: 1px solid var(--sedy-bordure, #e3e5ea);
	padding: 14px 0;
}

.sedy-fil-ariane .sedy-section-inner {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: var(--sedy-texte-doux, #666);
}

.sedy-fil-ariane a {
	color: var(--sedy-texte-doux, #666);
}

.sedy-fil-ariane a:hover {
	color: var(--sedy-rouge, #be2722);
}

.sedy-fil-ariane-actif {
	color: var(--sedy-texte, #20242c);
	font-weight: 700;
}

/* ---------- Onglet d'en-tete de section (facon UCAC) ---------- */

.sedy-onglet-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--sedy-fond-teinte, #f5f5f5);
	border: 1px solid var(--sedy-bordure, #e3e5ea);
	border-radius: 6px;
	padding: 10px 18px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--sedy-texte, #20242c);
	margin-bottom: 20px;
}

.sedy-onglet-tab .sedy-icone-inline {
	color: var(--sedy-rouge, #be2722);
	width: 18px;
	height: 18px;
}

/* ---------- Boutons pilule de navigation rapide ---------- */

.sedy-boutons-rapides-wrap {
	padding-top: 0;
	padding-bottom: 0;
}

.sedy-boutons-rapides {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 640px;
	margin: 0 auto;
	padding: 40px 0;
}

.sedy-bouton-pilule {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--sedy-vert-vif, #17c787);
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 16px 26px;
	border-radius: 999px;
	transition: filter 0.2s ease;
}

.sedy-bouton-pilule:hover {
	filter: brightness(0.94);
}

.sedy-bouton-pilule .sedy-icone-inline {
	color: #fff;
	width: 18px;
	height: 18px;
}

/* ---------- Grille equipe / administration (tuiles colorees) ---------- */

.sedy-grille-equipe {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.sedy-membre-tuile {
	background: var(--sedy-couleur-ecole, #be2722);
	border-radius: 4px;
	padding: 22px 16px 26px;
	text-align: center;
}

.sedy-membre-tuile img,
.sedy-membre-tuile-vide {
	width: 100%;
	height: 160px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
	margin-bottom: 16px;
}

.sedy-membre-tuile-vide {
	background: rgba(255, 255, 255, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
}

.sedy-membre-tuile-vide span {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 2.4rem;
	color: rgba(255, 255, 255, 0.85);
}

.sedy-membre-tuile-nom {
	color: #fff;
	font-weight: 700;
	font-size: 0.92rem;
	margin: 0 0 4px;
	line-height: 1.35;
}

.sedy-membre-tuile-poste {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.82rem;
	margin: 0;
}

.sedy-equipe-reste {
	max-height: 0;
	overflow: hidden;
	margin-top: 0;
	opacity: 0;
	transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
}

.sedy-equipe-reste.sedy-ecole-administration-reste-ouvert {
	max-height: 3000px;
	opacity: 1;
	margin-top: 22px;
}

.sedy-ecole-btn-voir-plus {
	display: block;
	margin: 28px auto 0;
	background: #fff;
	border: 1.5px solid var(--sedy-bordure-forte, #cfd3da);
	border-radius: 999px;
	padding: 12px 26px;
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--sedy-rouge, #be2722);
	cursor: pointer;
	font-family: inherit;
}

.sedy-ecole-btn-voir-plus:hover {
	border-color: var(--sedy-rouge, #be2722);
	background: var(--sedy-fond-teinte, #f5f5f5);
}

.sedy-ecole-btn-voir-plus-actif {
	background: var(--sedy-fond-teinte, #f5f5f5);
}

.sedy-ecole-vide {
	color: var(--sedy-texte-doux, #666);
	font-size: 0.92rem;
}

/* ===================================================
   RESPONSIVE
   =================================================== */

@media (max-width: 1024px) {
	.sedy-grille-equipe {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 720px) {
	.sedy-grille-equipe {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
	.sedy-membre-tuile img,
	.sedy-membre-tuile-vide {
		height: 130px;
	}
	.sedy-boutons-rapides {
		padding: 30px 0;
	}
	.sedy-onglet-tab {
		font-size: 0.75rem;
		padding: 9px 14px;
	}
}

@media (max-width: 380px) {
	.sedy-grille-equipe {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
}

/* ============================================================
   v0.35 - Page école pilotée par le builder (Sedy_Page_Ecole)
   Classes de réglage posées par Sedy_Builder::decorer() :
   sedy-b-forme-*, sedy-b-titre-*, sedy-b-fond-*, sedy-b-espace-*.
   ============================================================ */

/* ---------- Bandeau de l'école ---------- */

.sedy-ecole-hero-photo { min-height: 420px; }
.sedy-ecole-hero-photo.sedy-hero--hauteur-compacte { min-height: 300px; }
.sedy-ecole-hero-photo.sedy-hero--hauteur-grande { min-height: calc(100vh - 150px); min-height: calc(100svh - 150px); }

.sedy-ecole-hero-degrade {
	background: linear-gradient(135deg, var(--sedy-couleur-ecole, #be2722), #20242c);
}

.sedy-hero--boite-ecole .sedy-hero-boite-titre { background: var(--sedy-couleur-ecole, #be2722); }
.sedy-hero--boite-ecole .sedy-hero-boite-sous { background: rgba(15, 5, 2, 0.6); }

/* ---------- Rubriques texte (présentation, historique, calendrier, discipline) ---------- */

.sedy-ecole-rubrique-tete h2 { margin: 0 0 18px; }
.sedy-ecole-rubrique-corps { max-width: 780px; }
.sedy-ecole-rubrique-corps p:last-child { margin-bottom: 0; }
.sedy-ecole-lien-pdf { font-weight: 700; }
.sedy-ecole-apercu-vide { margin: 8px 0 0; max-width: 620px; text-align: left; }

.sedy-b-forme-simple .sedy-onglet-tab { display: none; }

.sedy-b-forme-encadre .sedy-ecole-rubrique-corps {
	background: #fff;
	border-left: 4px solid var(--sedy-couleur-ecole, #be2722);
	border-radius: 0 6px 6px 0;
	padding: 26px 30px;
	box-shadow: var(--sedy-ombre, 0 1px 3px rgba(0, 0, 0, 0.08));
}
.sedy-b-forme-encadre:not(.sedy-section-alt):not([class*="sedy-b-fond-"]) .sedy-ecole-rubrique-corps {
	background: var(--sedy-fond-teinte, #f5f5f5);
	box-shadow: none;
}

.sedy-b-forme-colonnes .sedy-ecole-rubrique-inner {
	display: grid;
	grid-template-columns: minmax(200px, 300px) 1fr;
	gap: 48px;
	align-items: start;
}
.sedy-b-forme-colonnes .sedy-ecole-rubrique-tete h2 { margin-bottom: 0; }

/* Titre centré (alignement non standard pour ces rubriques). */
.sedy-b-titre-centre .sedy-ecole-rubrique-tete { text-align: center; }
.sedy-b-titre-centre .sedy-ecole-rubrique-corps,
.sedy-b-titre-centre .sedy-ecole-contacts-intro,
.sedy-b-titre-centre .sedy-ecole-apercu-vide { margin-left: auto; margin-right: auto; }
.sedy-b-titre-centre.sedy-b-forme-colonnes .sedy-ecole-rubrique-tete { text-align: left; }
.sedy-ecole-administration.sedy-b-titre-centre .sedy-ecole-rubrique-tete { text-align: center; }

/* ---------- Administration : trois formes ---------- */

.sedy-membre-tuile-textes { min-width: 0; }

.sedy-b-forme-ronds .sedy-membre-tuile {
	background: transparent;
	padding: 0 8px;
}
.sedy-b-forme-ronds .sedy-membre-tuile img,
.sedy-b-forme-ronds .sedy-membre-tuile-vide {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	margin: 0 auto 16px;
	border: 4px solid var(--sedy-couleur-ecole, #be2722);
}
.sedy-b-forme-ronds .sedy-membre-tuile-vide { background: var(--sedy-couleur-ecole, #be2722); }
.sedy-b-forme-ronds .sedy-membre-tuile-nom { color: var(--sedy-texte, #20242c); }
.sedy-b-forme-ronds .sedy-membre-tuile-poste { color: var(--sedy-texte-doux, #666); }

.sedy-b-forme-liste .sedy-grille-equipe {
	grid-template-columns: repeat(2, 1fr);
	gap: 0 40px;
}
.sedy-b-forme-liste .sedy-membre-tuile {
	display: flex;
	align-items: center;
	gap: 16px;
	background: transparent;
	border-radius: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--sedy-bordure, #e3e5ea);
	text-align: left;
}
.sedy-b-forme-liste .sedy-membre-tuile img,
.sedy-b-forme-liste .sedy-membre-tuile-vide {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	margin: 0;
}
.sedy-b-forme-liste .sedy-membre-tuile-vide { background: var(--sedy-couleur-ecole, #be2722); }
.sedy-b-forme-liste .sedy-membre-tuile-vide span { font-size: 1.1rem; color: #fff; }
.sedy-b-forme-liste .sedy-membre-tuile-nom { color: var(--sedy-texte, #20242c); }
.sedy-b-forme-liste .sedy-membre-tuile-poste { color: var(--sedy-texte-doux, #666); }
.sedy-b-forme-liste .sedy-equipe-reste.sedy-ecole-administration-reste-ouvert { margin-top: 0; }

/* ---------- Agenda / Actualités ---------- */

.sedy-vitrine-icone--ecole { background: var(--sedy-couleur-ecole, #be2722); }
.sedy-ecole-vide--centre { text-align: center; }

/* ---------- Contacts ---------- */

.sedy-ecole-contacts-intro { max-width: 680px; margin: -4px 0 26px; color: var(--sedy-texte-doux, #666); }

.sedy-ecole-contacts-grille { display: grid; gap: 36px; }
.sedy-ecole-contacts-grille--plan { grid-template-columns: minmax(260px, 1fr) 1.3fr; align-items: stretch; }

.sedy-ecole-contacts-liste {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.sedy-ecole-contacts-liste li { display: flex; gap: 16px; align-items: flex-start; }
.sedy-ecole-contacts-icone {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sedy-couleur-ecole, #be2722);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sedy-ecole-contacts-icone svg { width: 20px; height: 20px; }
.sedy-ecole-contacts-libelle {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--sedy-texte-doux, #666);
	margin: 2px 0 3px;
}
.sedy-ecole-contacts-valeur { display: block; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.sedy-ecole-contacts-valeur a { color: var(--sedy-couleur-ecole, #be2722); font-weight: 700; }
.sedy-ecole-contacts-valeur a:hover { text-decoration: underline; }

.sedy-ecole-plan {
	min-height: 320px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid var(--sedy-bordure, #e3e5ea);
	background: var(--sedy-fond-teinte, #f5f5f5);
}
.sedy-ecole-plan iframe { display: block; width: 100%; height: 100%; min-height: 320px; border: 0; }

.sedy-b-forme-cartes .sedy-ecole-contacts-grille--plan { grid-template-columns: 1fr; }
.sedy-b-forme-cartes .sedy-ecole-contacts-liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}
.sedy-b-forme-cartes .sedy-ecole-contacts-liste li {
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sedy-bordure, #e3e5ea);
	border-top: 4px solid var(--sedy-couleur-ecole, #be2722);
	border-radius: 6px;
	padding: 22px;
}
.sedy-b-forme-cartes .sedy-ecole-plan iframe { min-height: 360px; }

/* ---------- Accès rapide aux rubriques ---------- */

.sedy-ecole-raccourcis-titre { text-align: center; font-size: 1.2rem; margin: 30px 0 0; }
.sedy-ecole-raccourcis .sedy-boutons-rapides {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1040px;
	gap: 12px;
	padding: 32px 0;
}
.sedy-ecole-raccourcis .sedy-bouton-pilule { padding: 12px 22px; font-size: 0.9rem; }

.sedy-b-forme-colonne .sedy-boutons-rapides {
	flex-direction: column;
	flex-wrap: nowrap;
	max-width: 640px;
	gap: 14px;
	padding: 40px 0;
}
.sedy-b-forme-colonne .sedy-bouton-pilule { padding: 16px 26px; font-size: 0.95rem; }

/* Barre de menu collante : reste sous le haut de l'écran pendant le défilement. */
.sedy-ecole-raccourcis.sedy-b-forme-barre {
	position: sticky;
	top: 0;
	z-index: 40;
	background: #fff;
	border-bottom: 1px solid var(--sedy-bordure, #e3e5ea);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	padding: 0 !important;
}
.admin-bar .sedy-ecole-raccourcis.sedy-b-forme-barre { top: 32px; }
.sedy-b-forme-barre .sedy-ecole-raccourcis-titre { display: none; }
.sedy-b-forme-barre .sedy-boutons-rapides {
	flex-wrap: nowrap;
	justify-content: flex-start;
	max-width: none;
	gap: 4px;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.sedy-b-forme-barre .sedy-boutons-rapides::-webkit-scrollbar { display: none; }
.sedy-b-forme-barre .sedy-bouton-pilule {
	flex: 0 0 auto;
	background: transparent;
	color: var(--sedy-texte, #20242c);
	border-radius: 0;
	padding: 17px 14px 14px;
	border-bottom: 3px solid transparent;
	white-space: nowrap;
}
.sedy-b-forme-barre .sedy-bouton-pilule .sedy-icone-inline { color: var(--sedy-couleur-ecole, #be2722); }
.sedy-b-forme-barre .sedy-bouton-pilule:hover,
.sedy-b-forme-barre .sedy-bouton-pilule.is-actif {
	filter: none;
	border-bottom-color: var(--sedy-couleur-ecole, #be2722);
}
.sedy-b-forme-barre .sedy-bouton-pilule.is-actif { font-weight: 800; }
.sedy-ecole-page-corps .sedy-ecole-rubrique { scroll-margin-top: 64px; }

/* ---------- Fonds colorés ---------- */

.sedy-b-fond-ecole { background: var(--sedy-couleur-ecole, #be2722) !important; }

:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole) :is(.sedy-ecole-rubrique-tete h2, .sedy-ecole-raccourcis-titre, .sedy-ecole-contacts-intro, .sedy-ecole-contacts-libelle, .sedy-ecole-contacts-valeur, .sedy-ecole-vide, .sedy-vitrine-entete h2, .sedy-vitrine-sous-titre, .sedy-membre-tuile-nom, .sedy-membre-tuile-poste, .sedy-aide-vide),
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole):not(.sedy-b-forme-encadre) :is(.sedy-ecole-rubrique-corps, .sedy-ecole-rubrique-corps p, .sedy-ecole-rubrique-corps a) {
	color: #fff;
}
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole) .sedy-ecole-contacts-valeur a { color: #fff; text-decoration: underline; }
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole) .sedy-ecole-contacts-icone { background: rgba(255, 255, 255, 0.18); }
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole) .sedy-membre-tuile { background: rgba(255, 255, 255, 0.12); }
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole) :is(.sedy-b-forme-ronds, .sedy-b-forme-liste) .sedy-membre-tuile,
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole):is(.sedy-b-forme-ronds, .sedy-b-forme-liste) .sedy-membre-tuile { background: transparent; }
:is(.sedy-b-fond-rouge, .sedy-b-fond-vert, .sedy-b-fond-sombre, .sedy-b-fond-ecole) .sedy-vitrine-ligne { background: rgba(255, 255, 255, 0.35); }
.sedy-b-fond-ecole .sedy-vitrine-icone--ecole,
.sedy-b-fond-ecole.sedy-b-forme-ronds .sedy-membre-tuile-vide,
.sedy-b-fond-ecole .sedy-ecole-contacts-icone { background: rgba(255, 255, 255, 0.2); }
.sedy-b-fond-ecole.sedy-b-forme-ronds .sedy-membre-tuile img { border-color: #fff; }
.sedy-b-fond-ecole .sedy-bouton-pilule { background: #fff; color: var(--sedy-couleur-ecole, #be2722); }
.sedy-b-fond-ecole .sedy-bouton-pilule .sedy-icone-inline { color: var(--sedy-couleur-ecole, #be2722); }

/* ---------- Responsive ---------- */

@media (max-width: 860px) {
	.sedy-b-forme-colonnes .sedy-ecole-rubrique-inner,
	.sedy-ecole-contacts-grille--plan { grid-template-columns: 1fr; gap: 24px; }
	.sedy-b-forme-liste .sedy-grille-equipe { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.sedy-ecole-hero-photo,
	.sedy-ecole-hero-photo.sedy-hero--hauteur-compacte { min-height: auto; }
	.sedy-ecole-hero-photo.sedy-hero--hauteur-grande { min-height: 70vh; min-height: 70svh; }
	.sedy-b-forme-encadre .sedy-ecole-rubrique-corps { padding: 20px 18px; }
	.sedy-b-forme-ronds .sedy-membre-tuile img,
	.sedy-b-forme-ronds .sedy-membre-tuile-vide { width: 120px; height: 120px; }
	.sedy-ecole-plan,
	.sedy-ecole-plan iframe { min-height: 260px; }
	.sedy-ecole-raccourcis .sedy-boutons-rapides { padding: 24px 0; gap: 10px; }
	.sedy-ecole-raccourcis .sedy-bouton-pilule { padding: 10px 16px; font-size: 0.85rem; }
	.sedy-b-forme-barre .sedy-boutons-rapides { padding: 0; }
	.sedy-b-forme-barre .sedy-bouton-pilule { padding: 15px 10px 12px; }
}

@media (max-width: 782px) {
	.admin-bar .sedy-ecole-raccourcis.sedy-b-forme-barre { top: 46px; }
}
