/* Le Rameau - Événements : styles frontend
   Ces classes sont préfixées "rameau-evenement" pour ne pas entrer
   en conflit avec le thème Astra / Elementor. Modifiable librement.
   Couleur d'accent : #5E7260.

   Mise en page : grille à 3 colonnes sur ordinateur, 2 sur tablette,
   1 colonne (empilée) sur mobile. */

.rameau-evenements-wrapper {
	--rameau-accent: #5E7260;
	--rameau-accent-fonce: #4a5c4d;
	--rameau-accent-clair: #eef1ed;
	--rameau-texte: #262c27;
	--rameau-texte-att: #656f68;
	--rameau-fond-carte: #ffffff;
	--rameau-bordure: #e6e4de;
}

.rameau-evenements-liste {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin: 32px 0;
	align-items: stretch;
}

@media (max-width: 900px) {
	.rameau-evenements-liste {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.rameau-evenements-liste {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

/* Carte */
.rameau-evenement {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--rameau-fond-carte);
	border: 1px solid var(--rameau-bordure);
	border-radius: 14px;
	padding: 28px;
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.03);
	transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.rameau-evenement:hover {
	border-color: var(--rameau-accent);
	box-shadow: 0 10px 24px rgba(20, 30, 24, 0.08);
	transform: translateY(-3px);
}

/* En-tête : bloc date + titre côte à côte */
.rameau-evenement-entete {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 20px;
}

.rameau-evenement-date {
	flex: 0 0 auto;
	width: 54px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--rameau-bordure);
	text-align: center;
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.04);
}

.rameau-evenement-date-mois {
	display: block;
	background: var(--rameau-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	padding: 5px 0;
}

.rameau-evenement-date-jour {
	display: block;
	background: #fff;
	color: var(--rameau-texte);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	padding: 9px 0 8px;
}

.rameau-evenement-entete-texte {
	min-width: 0;
	padding-top: 2px;
}

.rameau-evenement-categorie {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 3px 10px;
	border-radius: 999px;
	margin-bottom: 8px;
}

.rameau-evenement-categorie-seminaire {
	color: var(--rameau-accent-fonce);
	background: var(--rameau-accent-clair);
}

.rameau-evenement-categorie-autre {
	color: #6b6459;
	background: #f2efe9;
}

.rameau-evenement-titre {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--rameau-texte);
	letter-spacing: -0.01em;
}

/* Séparateur discret entre l'en-tête et les informations pratiques */
.rameau-evenement-separateur {
	height: 1px;
	background: var(--rameau-bordure);
	margin: 0 0 18px;
}

/* Infos pratiques : date complète / heure / lieu, avec icônes fines */
.rameau-evenement-meta {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
	margin: 0 0 18px;
}

.rameau-evenement-meta-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: var(--rameau-texte-att);
	line-height: 1.5;
}

.rameau-evenement-icone {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	color: var(--rameau-accent);
}

/* Description */
.rameau-evenement-description {
	margin: 0 0 20px;
	color: var(--rameau-texte-att);
	font-size: 14.5px;
	line-height: 1.65;
}

.rameau-evenement-description p {
	margin: 0 0 10px;
}

.rameau-evenement-description p:last-child {
	margin-bottom: 0;
}

/* Bouton principal */
.rameau-evenement-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--rameau-accent);
	color: #fff !important;
	text-decoration: none;
	padding: 11px 22px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
	transition: background 0.2s ease, box-shadow 0.2s ease;
	margin-top: auto;
	align-self: flex-start;
}

.rameau-evenement-bouton:hover,
.rameau-evenement-bouton:focus-visible {
	background: var(--rameau-accent-fonce);
	color: #fff !important;
	box-shadow: 0 6px 14px rgba(74, 92, 77, 0.28);
}

.rameau-evenement-icone-fleche {
	width: 15px;
	height: 15px;
	transition: transform 0.2s ease;
}

.rameau-evenement-bouton:hover .rameau-evenement-icone-fleche {
	transform: translateX(3px);
}

.rameau-evenements-vide {
	color: var(--rameau-texte-att, #777);
	font-style: italic;
	font-size: 15.5px;
	padding: 12px 0;
}

.rameau-evenements-voir-tout {
	margin: 30px 0 0;
	text-align: center;
}

.rameau-evenement-bouton-secondaire {
	background: transparent;
	color: var(--rameau-accent) !important;
	border: 1.5px solid var(--rameau-accent);
	padding: 10px 24px;
}

.rameau-evenement-bouton-secondaire:hover,
.rameau-evenement-bouton-secondaire:focus-visible {
	background: var(--rameau-accent);
	color: #fff !important;
	box-shadow: 0 6px 14px rgba(74, 92, 77, 0.22);
}

/* Regroupe "S'inscrire" et "Voir le flyer" en bas de carte */
.rameau-evenement-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-top: auto;
}

.rameau-evenement-actions .rameau-evenement-bouton {
	margin-top: 0;
}
