/* ===========================================================
   Home UECT 2026 v12a — hero + sections
   =========================================================== */

/* --- Common section wrapper --- */
.uect-section {
	padding: 80px 0;
}
.uect-section__inner {
	max-width: var(--uect-container);
	margin: 0 auto;
	padding: 0 var(--uect-gutter-x);
}
.uect-section--gray  { background: var(--uect-light-1); }
.uect-section--blue  { background: var(--uect-blue); color: var(--uect-white); }

/* ==================================================
   HERO — Semaine Européenne (mod_uect_hero)
   Le hero est full-bleed (100vw) ; le contenu (texte + boutons) reste dans
   un inner cappé à 1280px centré.
   ================================================== */
.uect-hero {
	position: relative;
	width: 100%;
	aspect-ratio: 1920 / 765;
	min-height: 600px;
	max-height: 765px;
	overflow: hidden;
	background: var(--uect-blue-navy);
}
.uect-hero__inner {
	position: relative;
	width: 100%;
	max-width: var(--uect-container);
	height: 100%;
	margin: 0 auto;
}
.uect-hero__bg {
	position: absolute; inset: 0;
	background-position: 45% bottom;
	background-size: cover;
	background-repeat: no-repeat;
	will-change: transform;
}

/* Forme bleue déformée à gauche (clip-path polygone). La hauteur s'adapte
   selon la présence ou non des champs optionnels stats / next_edition. */
.uect-hero__shape {
	position: absolute;
	left: -60px; top: 92px;
	width: 806px;
	height: 400px; /* état par défaut : titre + dates + boutons uniquement */
	background: rgba(41, 88, 166, .72);
	transform: rotate(-1.2deg);
	clip-path: polygon(0% 6%, 17% 1%, 35% 7%, 53% 0%, 72% 6%, 89% 1%, 100% 9%, 98% 40%, 100% 70%, 91% 95%, 73% 88%, 56% 98%, 37% 90%, 20% 97%, 7% 88%, 0% 52%);
	pointer-events: none;
}
/* Si l'un des 2 blocs optionnels (stats ou next_edition) est rempli */
.uect-hero:has(.uect-hero__stats, .uect-hero__next) .uect-hero__shape {
	height: 475px;
}
/* Si les 2 blocs optionnels sont remplis — maquette v12b complète */
.uect-hero:has(.uect-hero__stats):has(.uect-hero__next) .uect-hero__shape {
	height: 544px;
}

.uect-hero__text {
	position: absolute;
	/* 30px (était 56) pour que les langues à longs mots (ukrainien, polonais…)
	   restent dans la forme bleue sur la ligne dates + pays. */
	left: 30px; top: 147px;
	width: 700px;
	display: flex; flex-direction: column;
	align-items: flex-start;
	z-index: 2;
}
/* Ligne entête : badge « Inscriptions closes » + sous-titre édition */
.uect-hero__header-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}
.uect-hero__badge {
	display: inline-block;
	background: var(--uect-yellow);
	color: var(--uect-ink);
	font-family: var(--uect-font-sans);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .16em;
	text-transform: uppercase;
	padding: 7px 13px;
}
.uect-hero__edition {
	font-family: var(--uect-font-sans);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--uect-white);
	white-space: nowrap;
}
.uect-hero__place {
	font-family: var(--uect-font-cond);
	font-weight: 700;
	font-size: 112px;
	line-height: .9;
	letter-spacing: -.005em;
	color: var(--uect-white);
	margin-top: 12px;
	white-space: nowrap;
}

/* Dates + Pays sur UNE SEULE LIGNE séparés par un « · » (maquette v12b-bis) */
.uect-hero__dateloc {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 10px;
	margin-top: 6px;
	font-family: var(--uect-font-sans);
	font-weight: 700;
	line-height: 1.1;
}
/* Tailles légèrement réduites par rapport à la maquette v12b (35/29)
   pour que les langues à longs mots (es « del 10 al 17 de julio de 2027 »,
   pt « de 10 a 17 de julho de 2027 ») tiennent sur une seule ligne. */
.uect-hero__dates {
	font-size: 32px;
	color: var(--uect-yellow);
}
.uect-hero__country {
	font-size: 27px;
	color: var(--uect-white);
}
.uect-hero__sep {
	font-size: 27px;
	color: var(--uect-white);
}

/* Bloc stats : grand nombre jaune + phrase blanche à côté (maquette v12b) */
.uect-hero__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	margin-top: 10px;
	font-family: var(--uect-font-sans);
	font-weight: 700;
	line-height: 1;
}
.uect-hero__stats-number {
	font-size: 58px;
	color: var(--uect-yellow);
	line-height: 1;
}
.uect-hero__stats-text {
	font-size: 23px;
	color: var(--uect-white);
	line-height: 1.2;
}

/* Annonce de la prochaine édition (champ next_edition du module hero) —
   insérée dans .uect-hero__text (flex column), s'empile donc sous les stats.
   Style conforme à la maquette v12b : 19 px, 600, blanc. */
.uect-hero__next {
	max-width: 620px;
	margin: 14px 0 0;
	font-family: var(--uect-font-sans);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--uect-white);
}

/* Position des boutons = suivie dynamiquement par la hauteur de la forme.
   Default : état compact (shape 400). */
.uect-hero__buttons {
	position: absolute;
	left: 30px; top: 370px;
	z-index: 3;
	display: flex; align-items: center;
	gap: 16px;
}
/* Si l'un des 2 blocs optionnels est rempli : boutons décalés en bas */
.uect-hero:has(.uect-hero__stats, .uect-hero__next) .uect-hero__buttons { top: 440px; }
/* Si les 2 sont remplis : boutons encore plus bas */
.uect-hero:has(.uect-hero__stats):has(.uect-hero__next) .uect-hero__buttons { top: 500px; }
.uect-hero__btn {
	font-size: 16px;
	font-weight: 700;
	padding: 16px 12px;
	min-width: 172px;
	text-align: center;
	box-sizing: border-box;
	color: var(--uect-ink);
	transition: transform .15s ease;
}
.uect-hero__btn:hover { transform: translateY(-1px); }
.uect-hero__btn--primary { background: rgba(255,255,255,.94); color: var(--uect-ink); }
.uect-hero__btn--dark    { background: #1C3557; color: var(--uect-white); }
.uect-hero__btn--accent  { background: var(--uect-yellow);   color: var(--uect-ink); }
/* État inscription fermée : même rendu visuel que le bouton Formulaire
   d'inscription actif (fond jaune, texte bleu encre) mais non cliquable. */
.uect-hero__btn--closed {
	background: var(--uect-yellow);
	color: var(--uect-ink);
	cursor: not-allowed;
}
.uect-hero__btn--closed:hover { transform: none; }

/* Bandeau sous le hero (tagline + Toutes les éditions) */
.uect-hero-below {
	background: var(--uect-light-1);
}
.uect-hero-below__inner {
	max-width: var(--uect-container);
	margin: 0 auto;
	padding: 22px var(--uect-gutter-x);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-size: 16px;
	color: var(--uect-ink-2);
}
.uect-hero-below__btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: var(--uect-blue);
	color: var(--uect-white);
	font-size: 15px;
	font-weight: 700;
	padding: 10px 18px;
	white-space: nowrap;
	align-self: flex-start;
}
.uect-hero-below__btn:hover { background: var(--uect-blue-dark); color: var(--uect-white); }

/* ==================================================
   Article "Qui sommes-nous" + module Organisation
   Rendu par override com_content/article/default.php.
   ================================================== */
.uect-qui-sommes-nous {
	max-width: var(--uect-container);
	margin: 0 auto;
	padding: 80px var(--uect-gutter-x);
	display: grid;
	grid-template-columns: 1.45fr .8fr;
	gap: 64px;
	align-items: start;
}
.uect-qui-sommes-nous__col-main { display: flex; flex-direction: column; gap: 18px; }
.uect-qui-sommes-nous .page-header { margin: 0; }
.uect-qui-sommes-nous h1 {
	font-size: 38px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--uect-ink);
	margin: 0;
}
.uect-qui-sommes-nous .com-content-article__body {
	display: flex; flex-direction: column; gap: 18px;
}
.uect-qui-sommes-nous .com-content-article__body p {
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
	color: var(--uect-ink-2);
}
.uect-qui-sommes-nous .com-content-article__body p:last-child {
	font-weight: 600;
	color: var(--uect-ink);
}
.uect-qui-kicker {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--uect-blue);
	margin-bottom: 4px;
}

/* Module Organisation à droite (rendu dans une position dédiée par le layout) */
.uect-orga {
	background: var(--uect-blue);
	color: var(--uect-white);
	padding: 30px 32px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.uect-orga h2 {
	font-family: var(--uect-font-sans);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--uect-white);
	margin: 0;
}
.uect-orga__list {
	display: flex; flex-direction: column;
	border-top: 1px solid rgba(255,255,255,.28);
}
.uect-orga__list .mod-menu__item,
.uect-orga__list li,
.uect-orga__row {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	padding: 17px 0;
	border-bottom: 1px solid rgba(255,255,255,.28);
}
.uect-orga__list li:last-child { border-bottom: 0; }
.uect-orga__list a {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	width: 100%;
	font-size: 17px; font-weight: 600;
	color: var(--uect-white);
}
.uect-orga__cta {
	font-size: 15px; font-weight: 700;
	color: var(--uect-yellow-2);
	white-space: nowrap;
}
.uect-orga__contact {
	background: rgba(255,255,255,.12);
	padding: 20px 22px;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255,255,255,.85);
}
.uect-orga__contact strong,
.uect-orga__contact b {
	color: var(--uect-white); font-weight: 700;
}

/* ==================================================
   Nos activités (4 cards)
   ================================================== */
.uect-activites {
	background: var(--uect-light-1);
	padding: 88px 0;
}
.uect-activites__inner {
	max-width: var(--uect-container); margin: 0 auto;
	padding: 0 var(--uect-gutter-x);
	display: flex; flex-direction: column; gap: 40px;
}
.uect-activites__head {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 40px;
}
.uect-activites__head h2 {
	font-size: 36px; font-weight: 700; letter-spacing: -.02em; color: var(--uect-ink);
	margin: 0;
}
.uect-activites__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px;
}
.uect-activite-card {
	background: var(--uect-white);
	display: flex; flex-direction: column;
	color: var(--uect-ink);
}
.uect-activite-card__image {
	height: 200px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.uect-activite-card__body {
	padding: 24px;
	display: flex; flex-direction: column; gap: 10px;
	flex: 1;
}
.uect-activite-card h3 {
	margin: 0; font-size: 21px; font-weight: 700; color: var(--uect-ink);
}
.uect-activite-card p {
	margin: 0; font-size: 16px; line-height: 1.55; color: var(--uect-ink-2); flex: 1;
}
.uect-activite-card__cta {
	display: inline-flex; align-items: center; gap: 8px;
	align-self: flex-start;
	color: var(--uect-blue);
	font-size: 15px; font-weight: 700;
}
.uect-activite-card__cta::after {
	content: '➔'; font-size: 19px; font-weight: 700; line-height: 1;
}

/* ==================================================
   Semaine Européenne 2026 + La SE c'est quoi (2 colonnes)
   ================================================== */
.uect-se {
	padding: 76px 0 52px;
}
.uect-se__inner {
	max-width: var(--uect-container); margin: 0 auto;
	padding: 0 var(--uect-gutter-x);
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: 56px;
	align-items: stretch;
}
.uect-se__col { display: flex; flex-direction: column; gap: 18px; }
.uect-se__head { display: flex; flex-direction: column; gap: 6px; min-height: 138px; }
.uect-se__head h2 {
	font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--uect-ink);
	margin: 0;
}
.uect-se__head--big h2 { font-size: 30px; }
.uect-se__head p, .uect-se__head div {
	font-size: 15px; line-height: 1.55; color: var(--uect-ink-2);
}

.uect-se__stats {
	background: var(--uect-white);
	border: 1px solid var(--uect-light-2);
	padding: 20px 22px;
	display: flex; flex-direction: column;
	gap: 7px;
	flex: 1; justify-content: center;
}
.uect-se__stat {
	display: grid; grid-template-columns: 86px 1fr 46px;
	align-items: center; gap: 12px;
}
.uect-se__stat-label { font-size: 14px; color: var(--uect-ink-2); }
.uect-se__stat-bar {
	height: 10px; background: var(--uect-light-1); display: block;
}
.uect-se__stat-bar-fill {
	display: block; height: 10px; background: var(--uect-blue);
}
.uect-se__stat-value {
	font-family: var(--uect-font-cond);
	font-size: 17px; font-weight: 600;
	color: var(--uect-ink); text-align: right;
}
.uect-se__cta, .uect-se__link {
	display: inline-flex; align-items: center; gap: 8px;
	align-self: flex-start;
	color: var(--uect-blue);
	font-size: 15px; font-weight: 700;
}
.uect-se__cta::after, .uect-se__link::after {
	content: '➔'; font-size: 19px; font-weight: 700; line-height: 1;
}
/* Container de l'image (block, min-height) : garde le même rendu visuel que
   l'ancien background-image, mais contient une balise <img> éditable par TinyMCE. */
.uect-se__image {
	flex: 1;
	min-height: 320px;
	overflow: hidden;
}
.uect-se__image img {
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
	display: block;
}
/* Rétrocompatibilité : si l'ancien background-image est encore présent, on l'affiche. */
.uect-se__image[style*="background-image"] {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* ==================================================
   Actualités (3 cards, module articles_category)
   ================================================== */
.uect-actus {
	background: var(--uect-light-1);
	padding: 64px 0 58px;
}
.uect-actus__inner {
	max-width: var(--uect-container); margin: 0 auto;
	padding: 0 var(--uect-gutter-x);
	display: flex; flex-direction: column; gap: 26px;
}
.uect-actus__head {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 40px;
}
.uect-actus__head h2 {
	font-size: 36px; font-weight: 700; letter-spacing: -.02em;
	color: var(--uect-ink);
	margin: 0;
}
.uect-actus__more, .uect-actus__more:link {
	display: inline-flex; align-items: center; gap: 9px;
	background: var(--uect-blue); color: var(--uect-white);
	font-size: 15px; font-weight: 700; padding: 10px 18px;
	white-space: nowrap;
}
.uect-actus__more::after { content: '➔'; font-size: 17px; font-weight: 700; line-height: 1; }
.uect-actus__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
}
.uect-actu-card {
	display: flex; flex-direction: column;
}
.uect-actu-card__image {
	height: 168px;
	background-position: center; background-size: cover; background-repeat: no-repeat;
}
.uect-actu-card__body {
	background: var(--uect-white);
	border: 1px solid var(--uect-light-3);
	border-top: none;
	padding: 20px 22px 22px;
	display: flex; flex-direction: column; gap: 8px;
	flex: 1;
}
.uect-actu-card__date { font-size: 14px; color: var(--uect-ink-3); }
.uect-actu-card h3 {
	margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--uect-ink);
}
.uect-actu-card p {
	margin: 0; font-size: 16px; line-height: 1.5; color: var(--uect-ink-2); flex: 1;
}
.uect-actu-card__cta {
	display: inline-flex; align-items: center; gap: 8px;
	align-self: flex-start; color: var(--uect-blue);
	font-size: 15px; font-weight: 700;
}
.uect-actu-card__cta::after { content: '➔'; font-size: 19px; font-weight: 700; line-height: 1; }

/* ==================================================
   Rejoignez-nous (à onglets, mod_uect_rejoignez)
   ================================================== */
.uect-rejoignez {
	background: var(--uect-blue);
	color: var(--uect-white);
	padding: 64px 0;
}
.uect-rejoignez__inner {
	max-width: var(--uect-container); margin: 0 auto;
	padding: 0 var(--uect-gutter-x);
	display: flex; flex-direction: column; gap: 32px;
}
.uect-rejoignez__head {
	display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
.uect-rejoignez__heading {
	font-size: 34px; font-weight: 700; letter-spacing: -.02em;
	color: var(--uect-white);
	margin: 0;
}

/* Accordéon interleavé : tabs sur colonne gauche, panels colonne droite (desktop)
   Les panels occupent toute la hauteur des tabs via grid-template-rows implicit. */
.uect-rejoignez__accordion {
	display: grid;
	grid-template-columns: 284px 1fr;
	gap: 0;
	align-items: stretch;
	position: relative;
}
.uect-rejoignez__tab {
	position: relative;
	grid-column: 1;
	display: flex; align-items: center; justify-content: space-between;
	padding: 18px 22px;
	font-size: 18px; font-weight: 700; line-height: 1.3;
	background: rgba(255,255,255,.16);
	color: var(--uect-white);
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.3);
	box-shadow: inset 0 3px 7px rgba(14,30,51,.3);
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	z-index: 2;
}
.uect-rejoignez__tab:hover {
	background: rgba(255,255,255,.44);
	box-shadow: inset 4px 0 0 var(--uect-yellow);
}
.uect-rejoignez__tab.is-active {
	background: var(--uect-white);
	color: var(--uect-blue);
	margin-right: -2px;
	z-index: 3;
	box-shadow: none;
}
.uect-rejoignez__tab-sign {
	font-size: 22px; font-weight: 700; line-height: .6;
	color: var(--uect-white);
	transition: color .15s ease;
}
.uect-rejoignez__tab.is-active .uect-rejoignez__tab-sign { color: var(--uect-blue); }

/* Sur desktop tous les panels sont dans la colonne droite, empilés au même endroit ;
   seul l'actif est visible. */
.uect-rejoignez__panel {
	grid-column: 2;
	grid-row: 1 / span 99;
	background: var(--uect-white);
	color: var(--uect-ink-2);
	padding: 30px 32px;
	min-height: 321px;
	box-sizing: border-box;
	font-size: 17px;
	line-height: 1.6;
	animation: uectTabIn .22s ease-out both;
}
.uect-rejoignez__panel[hidden] { display: none; }
@keyframes uectTabIn {
	from { opacity: 0; transform: translateX(-12px); }
	to   { opacity: 1; transform: none; }
}
.uect-rejoignez__panel p { margin: 0 0 12px; }
.uect-rejoignez__panel p:last-child { margin-bottom: 0; }

/* Boutons Devenir membre : version desktop dans le head, version mobile en bas */
.uect-rejoignez__cta-mobile { display: none; }
@media (max-width: 640px) {
	.uect-rejoignez__cta-desktop { display: none; }
	.uect-rejoignez__cta-mobile {
		display: flex;
		justify-content: center;
		width: 100%;
		padding: 15px 20px;
		font-size: 16px;
	}
}

/* ==================================================
   Boutique
   ================================================== */
.uect-boutique {
	background: var(--uect-light-1);
	color: var(--uect-ink);
	padding: 44px 0;
}
.uect-boutique__inner {
	max-width: var(--uect-container); margin: 0 auto;
	padding: 0 var(--uect-gutter-x);
	display: flex; align-items: center; justify-content: space-between;
	gap: 40px;
}
.uect-boutique__title {
	font-size: 26px; font-weight: 700; color: var(--uect-ink); margin: 0;
}
.uect-boutique__text { font-size: 17px; color: var(--uect-ink-2); margin: 4px 0 0; }
.uect-boutique__btn {
	background: var(--uect-yellow); color: var(--uect-ink);
	font-weight: 700; font-size: 16px;
	padding: 16px 28px;
	white-space: nowrap;
	display: inline-flex; align-items: center; gap: 10px;
}
.uect-boutique__btn:hover { background: var(--uect-yellow-2); color: var(--uect-ink); }

/* ==================================================
   Responsive
   ================================================== */
@media (max-width: 640px) {
	/* Hero mobile — hauteur fixe, textes réduits, boutons empilés */
	.uect-hero {
		height: auto;
		min-height: 640px;
		aspect-ratio: auto;
	}
	/* Image de fond mieux cadrée sur mobile : centre-droit décalé (64% comme la maquette) */
	.uect-hero__bg { background-position: 64% bottom; }
	.uect-hero__shape {
		left: -16px; top: 34px;
		width: calc(100% + 32px); height: 408px;
		clip-path: polygon(0% 4.4%, 21% 0.8%, 43% 5.6%, 69% 1.2%, 100% 6.2%, 96.5% 33%, 100% 61%, 92% 97%, 65% 92.5%, 40% 98%, 15% 93%, 0% 96.5%, 0% 52%);
	}
	/* Mobile : .uect-hero__inner devient flex column pour que text + boutons
	   s'enchaînent naturellement (sans positions absolues qui se chevauchent
	   quand le contenu grandit à cause des traductions longues ES/PT). */
	.uect-hero__inner {
		display: flex;
		flex-direction: column;
		padding: 68px 22px 32px;
		box-sizing: border-box;
	}
	.uect-hero__text {
		position: static;
		left: auto; top: auto;
		width: 100%;
	}
	.uect-hero__edition { font-size: 15px; }
	.uect-hero__place { font-size: 54px; margin-top: 8px; }
	/* Dateloc mobile : disposition en colonne, séparateur « · » masqué
	   (sinon il wrap tout seul sur une ligne). */
	.uect-hero__dateloc {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px 0;
		margin-top: 10px;
	}
	.uect-hero__sep { display: none; }
	.uect-hero__dates { font-size: 30px; letter-spacing: .04em; line-height: 1.1; margin-top: 0; }
	.uect-hero__country { font-size: 16px; line-height: 1.3; margin-top: 4px; }
	.uect-hero__buttons {
		position: static;
		left: auto; top: auto;
		width: 100%;
		margin-top: 24px;
		flex-direction: column;
		gap: 10px;
	}
	.uect-hero__btn {
		width: 100%;
		min-width: 0;
		padding: 15px 12px;
	}

	.uect-hero-below__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 20px;
	}
	.uect-hero-below__btn {
		justify-content: center;
		padding: 13px 18px;
	}

	/* Qui sommes-nous : 1 colonne, article puis Organisation en dessous */
	.uect-qui-sommes-nous {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 40px 20px;
	}
	.uect-qui-sommes-nous h1 { font-size: 33px; letter-spacing: -.025em; }

	.uect-orga { padding: 24px 20px; }
	.uect-orga h2 { font-size: 33px; letter-spacing: -.025em; }

	/* Nos activités : 1 colonne pleine largeur — cards image 170px + titre 20px
	   (conforme maquette UECT-v12b-mobile-finale.html) */
	.uect-activites { padding: 40px 0; }
	.uect-activites__inner { padding: 0 20px; gap: 22px; }
	.uect-activites__head h2 { font-size: 33px; letter-spacing: -.025em; }
	.uect-activites__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.uect-activite-card__image { height: 170px; }
	.uect-activite-card__body { padding: 18px 20px 20px; gap: 9px; }
	.uect-activite-card h3 { font-size: 20px; }
	.uect-activite-card p { font-size: 16px; line-height: 1.5; }

	/* SE 2col → empilées */
	.uect-se { padding: 40px 0 30px; }
	.uect-se__inner {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 0 20px;
	}
	.uect-se__head { min-height: 0; }
	.uect-se__head h2 { font-size: 25px; }
	.uect-se__head--big h2 { font-size: 28px; }
	.uect-se__image { min-height: 220px; }

	/* Actualités : 1 colonne (le rail scrollable H sera itération 2) */
	.uect-actus { padding: 40px 0; }
	.uect-actus__inner { padding: 0 20px; }
	.uect-actus__head { flex-direction: column; align-items: flex-start; gap: 16px; }
	.uect-actus__head h2 { font-size: 33px; letter-spacing: -.025em; }
	.uect-actus__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.uect-actu-card__image { height: 170px; }

	/* Rejoignez : accordéon interleavé vertical
	   Chaque panel apparaît DIRECTEMENT sous son tab.
	   Comme le DOM est déjà interleavé tab/panel/tab/panel, on repasse
	   le grid en 1 col : les items suivent l'ordre naturel. */
	.uect-rejoignez { padding: 32px 0; }
	.uect-rejoignez__inner { padding: 0 20px; gap: 20px; }
	.uect-rejoignez__head { justify-content: flex-start; }
	.uect-rejoignez__heading { font-size: 33px; }
	.uect-rejoignez__accordion {
		display: block; /* on abandonne le grid : ordre naturel du DOM */
	}
	.uect-rejoignez__tab {
		width: 100%;
		font-size: 16px;
		padding: 15px 18px;
		background: rgba(255,255,255,.14);
		color: var(--uect-white);
		box-shadow: none;
		border-bottom: 0;
		margin: 0;
	}
	.uect-rejoignez__tab.is-active {
		background: var(--uect-white);
		color: var(--uect-blue);
		margin-right: 0;
	}
	.uect-rejoignez__tab .uect-rejoignez__tab-sign { color: inherit; }
	.uect-rejoignez__panel {
		background: var(--uect-white);
		padding: 18px 18px 20px;
		min-height: 0;
		margin: 0;
		font-size: 16px;
		line-height: 1.55;
	}
	.uect-rejoignez__panel[hidden] { display: none; }
	/* Aplatit toute grille 2-col inline dans un panel (contenu HTML du module) */
	.uect-rejoignez__panel > div[style*="grid"] {
		display: block !important;
		gap: 12px !important;
	}
	.uect-rejoignez__panel > div[style*="grid"] > * + * { margin-top: 12px; }

	/* Boutique */
	.uect-boutique { padding: 30px 0; }
	.uect-boutique__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		padding: 0 20px;
	}
	.uect-boutique__title { font-size: 26px; }
	.uect-boutique__btn { width: 100%; justify-content: center; padding: 15px 20px; }
}

@media (min-width: 641px) and (max-width: 1024px) {
	/* Tablette uniquement : Nos activités 2 cols, Actus 2 cols, SE 1 col */
	.uect-body.is-home .com-content-article { grid-template-columns: 1fr; gap: 32px; padding: 48px var(--uect-gutter-x); }
	.uect-activites__grid { grid-template-columns: repeat(2, 1fr); }
	.uect-se__inner { grid-template-columns: 1fr; gap: 40px; }
	.uect-actus__grid { grid-template-columns: repeat(2, 1fr); }
	.uect-rejoignez__tabs { grid-template-columns: 1fr; }
	.uect-rejoignez__nav { flex-direction: row; overflow-x: auto; }
	.uect-rejoignez__tab { flex: 1; }
}
