/* Commun */
.upg-publication-date{display:flex;align-items:center;gap:6px;margin:0;font-size:.75rem;color:#888}.upg-icon-pen{width:14px;height:14px;fill:currentColor;flex:0 0 14px}.upg-img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e4e7ef,#c8cdd8)}

/* Agenda */
.upg-agenda{display:flex;flex-direction:column;gap:16px;width:100%}.upg-agenda-item{display:grid;grid-template-columns:72px 180px 1fr;background:var(--wp--preset--color--base);border:1px solid #e4e7ef;border-radius:4px;overflow:hidden;text-decoration:none!important;max-height:180px;box-shadow:0 2px 8px rgba(26,39,68,.06);transition:background .2s,box-shadow .2s}.upg-agenda-item:hover{box-shadow:0 4px 16px rgba(26,39,68,.12);background:#fff!important}.upg-agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--wp--preset--color--primary);color:#fff;padding:12px 8px}.upg-agenda-date-day{font-size:2rem;font-weight:700;line-height:1}.upg-agenda-date-month{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.upg-agenda-img{width:180px;height:180px;overflow:hidden}.upg-agenda-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.upg-agenda-body{padding:16px 20px;display:flex;flex-direction:column;justify-content:center;gap:6px}.upg-agenda-title{font-size:1rem;font-weight:600;color:var(--wp--preset--color--contrast);line-height:1.3;margin:0}.upg-agenda-excerpt{font-size:.82rem;color:#555;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.upg-agenda-meta{font-size:.8rem;color:#888;margin:0}.upg-agenda-btn{font-size:.8rem;font-weight:500;color:var(--wp--preset--color--contrast)}.upg-agenda-btn::after{content:' →'}

/* Cartes accueil */
.upg-cards-wrap{overflow-x:auto;overflow-y:visible;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:8px}.upg-cards-wrap::-webkit-scrollbar{display:none}.upg-cards{display:flex;flex-wrap:nowrap;gap:20px;width:max-content;min-width:100%;padding:8px 4px 16px}.upg-cards-card{flex:0 0 220px;background:var(--wp--preset--color--base);border-radius:6px;overflow:hidden;box-shadow:0 2px 12px rgba(26,39,68,.12);display:flex;flex-direction:column;text-decoration:none!important;transition:box-shadow .25s,transform .25s}.upg-cards-card:hover{box-shadow:0 10px 32px rgba(26,39,68,.22);transform:translateY(-5px)}.upg-cards-photo{position:relative;width:100%;padding-top:66%;overflow:hidden}.upg-cards-photo>img,.upg-cards-photo>.upg-img-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.upg-cards-event-date,.upg-actu-event-date{position:absolute;bottom:0;right:0;background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:6px 0 0 0;white-space:nowrap}.upg-cards-ribbon,.upg-actu-ribbon{position:absolute;top:0;left:0;width:90px;height:90px;overflow:hidden;pointer-events:none;z-index:2}.upg-cards-ribbon span,.upg-actu-ribbon span{position:absolute;display:block;width:120px;padding:3px 0;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--base);font-size:.6rem;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.08em;top:18px;left:-30px;transform:rotate(-45deg)}.upg-cards-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.upg-cards-title{font-size:.95rem;font-weight:600;color:var(--wp--preset--color--contrast);line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.upg-cards-link{color:var(--wp--preset--color--primary);font-size:.8rem;font-weight:600;margin-top:auto}.upg-cards-link::after{content:' →'}

/* Liste actualités */

.upg-actu-filters{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
	margin-bottom:24px
}

.upg-actu-filter{
	appearance:none;
	border:1px solid var(--wp--preset--color--primary);
	background:transparent;
	color:var(--wp--preset--color--primary);
	padding:7px 15px;
	border-radius:100px;
	font:inherit;
	font-size:.82rem;
	font-weight:600;
	cursor:pointer
}

.upg-actu-filter:hover,
.upg-actu-filter.is-active{
	background:var(--wp--preset--color--primary);
	color:var(--wp--preset--color--base)
}


/* Liste */

.upg-actu{
	display:flex;
	flex-direction:column;
	gap:16px;
	width:100%;
	transition:opacity .2s
}

.upg-actu.is-loading{
	opacity:.35;
	pointer-events:none
}


/* Carte */

.upg-actu-item{
	display:grid;
	grid-template-columns:270px 1fr;
	background:var(--wp--preset--color--base);
	border:1px solid #e4e7ef;
	border-radius:4px;
	overflow:hidden;
	text-decoration:none!important;
	position:relative;
	transition:box-shadow .2s,transform .2s
}

.upg-actu-item:hover{
	box-shadow:0 8px 32px rgba(26,39,68,.18);
	transform:translateY(-2px)
}


/* Image : même proportion que les cartes de l'accueil */

.upg-actu-img{
	position:relative;
	width:270px;
	aspect-ratio:3 / 2;
	overflow:hidden
}

.upg-actu-img img,
.upg-actu-img .upg-img-placeholder{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center top;
	display:block
}


/* Contenu */

.upg-actu-body{
	padding:16px 20px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	gap:6px;
	overflow:hidden
}


/* Catégorie */

.upg-actu-type{
	display:inline-block;
	width:auto;
	margin:0 0 2px;
	padding:4px 8px;

	background:var(--wp--preset--color--primary);
	color:var(--wp--preset--color--base);

	font-size:.65rem;
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	letter-spacing:.08em;

	border-radius:2px
}


/* Titre */

.upg-actu-title{
	font-size:1rem;
	font-weight:600;
	color:var(--wp--preset--color--contrast);
	line-height:1.3;
	margin:0
}


/* Extrait */

.upg-actu-excerpt{
	font-size:.82rem;
	color:#555;
	line-height:1.5;
	margin:0;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden
}


/* Lire la suite */

.upg-actu-link{
	color:var(--wp--preset--color--contrast);
	font-size:.8rem;
	font-weight:500
}

.upg-actu-link::after{
	content:' →'
}


/* Mobile */

@media(max-width:640px){

	.upg-actu-item{
		grid-template-columns:1fr
	}

	.upg-actu-img{
		width:100%;
		aspect-ratio:3 / 2
	}

	.upg-actu-body{
		padding:16px 18px
	}

}

/* Chargement progressif des actualités */
.upg-actu-more-wrap{display:flex;justify-content:center;margin-top:28px}.upg-actu-more-wrap[hidden]{display:none}.upg-actu-more{appearance:none;border:1px solid var(--wp--preset--color--primary);background:var(--wp--preset--color--primary);color:var(--wp--preset--color--base);padding:10px 20px;border-radius:100px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.upg-actu-more:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,39,68,.14)}.upg-actu-more:disabled{opacity:.5;cursor:wait;transform:none;box-shadow:none}

/* =====================================================
   ARTICLES SIMILAIRES
   ===================================================== */

.wp-block-group:has(> .upg-related){
	padding-top:var(--wp--preset--spacing--50);
	padding-bottom:var(--wp--preset--spacing--50);
}

.upg-related{
	width:100%;
}

.upg-related-header{
	margin-bottom:24px;
}

.upg-related-description{
	max-width:750px;
	font-size:.95rem;
	color:#555;
}

.upg-related-description p{
	margin:0;
}


/* Liste */

.upg-related-list{
	border-top:1px solid #dfe2e8;
}

.upg-related-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;

	padding:14px 0;

	border-bottom:1px solid #dfe2e8;

	color:var(--wp--preset--color--contrast);
	text-decoration:none!important;

	transition:color .2s;
}

.upg-related-item:hover{
	color:var(--wp--preset--color--primary);
}


/* Titre */

.upg-related-item-title{
	font-weight:600;
	line-height:1.35;
}


/* Date */

.upg-related-item-date{
	flex:0 0 auto;

	font-size:.78rem;
	color:#777;
	white-space:nowrap;
}


/* Petite flèche au survol */

.upg-related-item-title::after{
	content:' →';
	color:var(--wp--preset--color--primary);
}


/* Mobile */

@media(max-width:640px){

	.upg-related-item{
		align-items:flex-start;
		flex-direction:column;
		gap:5px;
	}

	.upg-related-item-date{
		font-size:.72rem;
	}

}