/* ==========================================================================
   L'Estrade — habillage EventON (agenda de programmation)
   Liste éditoriale : filets fins, grosses dates Outfit, boutons couleur d'accent.
   Les !important sont nécessaires car EventON injecte ses couleurs en inline.
   ========================================================================== */

.ajde_evcal_calendar,
.ajde_evcal_calendar * {
	font-family: var(--le-font-body) !important;
}
.ajde_evcal_calendar {
	color: var(--le-fg);
	background: transparent !important;
}

/* ---------- En-tête du calendrier (mois + flèches) ---------- */

.ajde_evcal_calendar .calendar_header,
.ajde_evcal_calendar #evcal_head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px !important;
	padding: 0 !important;
	background: transparent !important;
}
.ajde_evcal_calendar .calendar_header p,
.ajde_evcal_calendar .evo_month_title,
.ajde_evcal_calendar #evcal_cur,
.ajde_evcal_calendar .evcal_month_line p {
	font-family: var(--le-font-display) !important;
	font-size: clamp(28px, 3.5vw, 46px) !important;
	font-weight: 750 !important;
	letter-spacing: -1.5px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	color: var(--le-fg) !important;
	background: transparent !important;
}
.ajde_evcal_calendar .evcal_month_line {
	margin: 45px 0 0 !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--le-fg) !important;
	background: transparent !important;
}
.ajde_evcal_calendar .evcal_month_line:first-child { margin-top: 0 !important; }

.ajde_evcal_calendar .evcal_arrows,
.ajde_evcal_calendar .evo-gototoday-btn,
.ajde_evcal_calendar .evo_cal_above span {
	width: 44px !important;
	height: 44px !important;
	border: 1px solid var(--le-fg) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--le-fg) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	transition: background-color .2s;
}
.ajde_evcal_calendar .evo_cal_above span { width: auto !important; padding: 0 16px !important; font-size: 12px !important; font-weight: 700 !important; }
.ajde_evcal_calendar .evcal_arrows:hover,
.ajde_evcal_calendar .evo-gototoday-btn:hover,
.ajde_evcal_calendar .evo_cal_above span:hover { background: var(--le-accent) !important; color: var(--le-accent-fg) !important; }
.ajde_evcal_calendar .evcal_arrows:hover i,
.ajde_evcal_calendar .evcal_arrows:hover::before { color: var(--le-accent-fg) !important; border-color: var(--le-accent-fg) !important; }
.ajde_evcal_calendar .evcal_arrows i,
.ajde_evcal_calendar .evcal_arrows::before { color: var(--le-fg) !important; border-color: var(--le-fg) !important; }

/* ---------- Liste des événements ---------- */

.ajde_evcal_calendar .eventon_events_list,
.ajde_evcal_calendar #evcal_list {
	border-top: 0 !important;
	border-bottom: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.ajde_evcal_calendar .evcal_month_line + .eventon_list_event,
.ajde_evcal_calendar .eventon_list_event { border-top: 0 !important; }

.ajde_evcal_calendar .eventon_list_event {
	background: transparent !important;
	border-bottom: 1px solid var(--le-border) !important;
	margin: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.ajde_evcal_calendar .eventon_list_event:last-child { border-bottom: 1px solid var(--le-fg) !important; }

/* La ligne cliquable */
.ajde_evcal_calendar .eventon_list_event .desc_trig,
.ajde_evcal_calendar .eventon_list_event .evcal_list_a {
	display: flex !important;
	align-items: center;
	gap: 28px;
	padding: 26px 0 !important;
	background: transparent !important;
	border-left: 0 !important;          /* retire la barre de couleur EventON */
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: background-color .25s, padding .25s;
	min-height: 0 !important;
}
.ajde_evcal_calendar .eventon_list_event .desc_trig:hover,
.ajde_evcal_calendar .eventon_list_event .evcal_list_a:hover {
	background: var(--le-card) !important;
	padding-left: 18px !important;
	padding-right: 18px !important;
	text-decoration: none !important;
}

/* Image miniature éventuelle */
.ajde_evcal_calendar .eventon_list_event .ev_ftImg {
	width: 120px !important;
	height: 120px !important;
	min-width: 120px;
	border-radius: 0 !important;
	background-size: cover !important;
	filter: grayscale(.25) contrast(1.05);
	margin: 0 !important;
	position: static !important;
}

/* Bloc date */
.ajde_evcal_calendar .evcal_cblock {
	position: static !important;
	flex: 0 0 110px;
	width: 110px !important;
	min-width: 110px;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	color: var(--le-fg) !important;
	background: transparent !important;
	line-height: 1 !important;
}
.ajde_evcal_calendar .evcal_cblock em.date,
.ajde_evcal_calendar .evcal_cblock .evo_start em.date,
.ajde_evcal_calendar .evcal_cblock .start {
	display: block;
	font-family: var(--le-font-display) !important;
	font-size: 64px !important;
	font-weight: 900 !important;
	letter-spacing: -4px !important;
	line-height: .9 !important;
	color: var(--le-fg) !important;
	font-style: normal !important;
}
.ajde_evcal_calendar .evcal_cblock em.month,
.ajde_evcal_calendar .evcal_cblock em.day,
.ajde_evcal_calendar .evcal_cblock em.time,
.ajde_evcal_calendar .evcal_cblock .year {
	display: block;
	margin-top: 6px;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	font-style: normal !important;
	color: var(--le-fg) !important;
	opacity: 1 !important;
}
.ajde_evcal_calendar .evcal_cblock .evo_end { margin-top: 8px; opacity: .55; }
.ajde_evcal_calendar .evcal_cblock .evo_end em.date { font-size: 32px !important; letter-spacing: -2px !important; }

/* Infos (titre, sous-titre, lieu, heure) */
.ajde_evcal_calendar .evcal_desc {
	position: static !important;
	padding: 0 !important;
	margin: 0 !important;
	flex: 1;
	min-width: 0;
}
.ajde_evcal_calendar .evo_above_title { display: block; margin-bottom: 8px; background: none !important; border: 0 !important; padding: 0 !important; }
.ajde_evcal_calendar .evo_above_title span {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: var(--le-accent-fg) !important;
	background: var(--le-accent) !important;
	border: 1px solid var(--le-fg) !important;
	border-radius: 0 !important;
	padding: 3px 8px !important;
}
.ajde_evcal_calendar .evcal_event_title,
.ajde_evcal_calendar .evcal_desc2 {
	display: block;
	font-family: var(--le-font-display) !important;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	font-weight: 750 !important;
	letter-spacing: -1px !important;
	line-height: 1.05 !important;
	text-transform: none !important;
	color: var(--le-fg) !important;
}
.ajde_evcal_calendar .evcal_event_subtitle {
	display: block;
	margin-top: 6px;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	color: var(--le-muted-fg) !important;
	font-style: normal !important;
}
.ajde_evcal_calendar .evcal_desc_info,
.ajde_evcal_calendar .evcal_desc .evo_info {
	margin-top: 10px !important;
	font-size: 12px !important;
	color: var(--le-fg) !important;
}
.ajde_evcal_calendar .evcal_desc_info em,
.ajde_evcal_calendar .evcal_time,
.ajde_evcal_calendar .evcal_location {
	font-style: normal !important;
	font-size: 12px !important;
	letter-spacing: .5px;
	color: var(--le-fg) !important;
	margin-right: 14px !important;
}
.ajde_evcal_calendar .evcal_desc_info i,
.ajde_evcal_calendar .evcal_desc i { color: var(--le-fg) !important; }

/* Tags / statut (complet, annulé…) */
.ajde_evcal_calendar .evo_event_status,
.ajde_evcal_calendar .eventover,
.ajde_evcal_calendar .evo_eventtags span,
.ajde_evcal_calendar .evcal_desc .evo_etag {
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	background: var(--le-fg) !important;
	color: var(--le-light) !important;
	padding: 3px 8px !important;
}

/* Flèche à droite de chaque ligne */
.ajde_evcal_calendar .eventon_list_event .desc_trig::after {
	content: "↗";
	display: block !important;
	flex: none;
	font-size: 22px;
	font-weight: 700;
	color: var(--le-fg);
	margin-left: auto;
	transition: transform .25s;
}
.ajde_evcal_calendar .eventon_list_event .desc_trig:hover::after { transform: translate(3px, -3px); }

/* ---------- Fiche événement dépliée (eventCard) ---------- */

.ajde_evcal_calendar .event_description,
.ajde_evcal_calendar .evcal_eventcard,
.evo_lightbox .evcal_eventcard {
	background: var(--le-card) !important;
	border: 0 !important;
	border-top: 1px solid var(--le-fg) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--le-fg) !important;
}
.ajde_evcal_calendar .evcal_evdata_row,
.evo_lightbox .evcal_evdata_row {
	background: transparent !important;
	border-bottom: 1px solid var(--le-border) !important;
	padding: 22px 24px !important;
}
.ajde_evcal_calendar .evcal_evdata_icons,
.evo_lightbox .evcal_evdata_icons { color: var(--le-fg) !important; }
.ajde_evcal_calendar .evo_h3,
.evo_lightbox .evo_h3 {
	font-family: var(--le-font-body) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: var(--le-fg) !important;
	margin-bottom: 10px !important;
}
.ajde_evcal_calendar .evcal_evdata_cell p,
.evo_lightbox .evcal_evdata_cell p { font-size: 15px !important; line-height: 1.7 !important; color: var(--le-fg) !important; }

/* Image de l'événement dans la fiche */
.ajde_evcal_calendar .evo_metarow_fimg,
.evo_lightbox .evo_metarow_fimg { border-radius: 0 !important; }

/* Boutons EventON (billetterie, « en savoir plus », ajouter au calendrier…) */
.ajde_evcal_calendar .evcal_btn,
.ajde_evcal_calendar .evo_btn,
.ajde_evcal_calendar a.evcal_evdata_row .evcal_btn,
.evo_lightbox .evcal_btn,
.evo_lightbox .evo_btn,
.evo_sin_page .evcal_btn,
.evo_sin_page .evo_btn {
	display: inline-flex !important;
	align-items: center;
	gap: 30px;
	padding: 14px 22px !important;
	background: var(--le-accent) !important;
	color: var(--le-accent-fg) !important;
	border: 1px solid var(--le-fg) !important;
	border-radius: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	box-shadow: none !important;
	transition: background-color .2s;
}
.ajde_evcal_calendar .evcal_btn:hover,
.ajde_evcal_calendar .evo_btn:hover,
.evo_lightbox .evcal_btn:hover,
.evo_lightbox .evo_btn:hover,
.evo_sin_page .evcal_btn:hover { background: var(--le-bg) !important; color: var(--le-fg) !important; text-decoration: none !important; }

/* Fermeture de la fiche */
.ajde_evcal_calendar .evcal_close,
.evo_lightbox .evolbclose {
	background: var(--le-fg) !important;
	color: var(--le-light) !important;
	border-radius: 0 !important;
}

/* ---------- Filtres / tri ---------- */

.ajde_evcal_calendar .eventon_sorting_section,
.ajde_evcal_calendar .evo_filter_bar {
	background: transparent !important;
	border: 1px solid var(--le-border) !important;
	border-radius: 0 !important;
}
.ajde_evcal_calendar .eventon_filter_dropdown { background: var(--le-card) !important; border: 1px solid var(--le-fg) !important; border-radius: 0 !important; }
.ajde_evcal_calendar .eventon_filter_dropdown p:hover,
.ajde_evcal_calendar .eventon_filter_dropdown p.select { background: var(--le-accent) !important; color: var(--le-accent-fg) !important; }

/* « Charger plus » / aucun événement */
.ajde_evcal_calendar .evoShow_more_events,
.ajde_evcal_calendar .evo_load_more_events {
	display: inline-flex !important;
	margin-top: 30px !important;
	padding: 18px 25px !important;
	background: var(--le-accent) !important;
	color: var(--le-accent-fg) !important;
	border: 1px solid var(--le-fg) !important;
	border-radius: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}
.ajde_evcal_calendar .eventon_list_event.no_events .no_events,
.ajde_evcal_calendar .no_events {
	padding: 30px 0 !important;
	font-size: 15px !important;
	color: var(--le-muted-fg) !important;
	background: transparent !important;
}

/* ---------- Vue « tuiles » (tiles="yes") ---------- */

.ajde_evcal_calendar.boxy .eventon_list_event,
.ajde_evcal_calendar .evo_tiles .eventon_list_event {
	border: 1px solid var(--le-fg) !important;
	margin: -1px 0 0 -1px !important;
}
.ajde_evcal_calendar.boxy .eventon_list_event .desc_trig,
.ajde_evcal_calendar .evo_tiles .eventon_list_event .desc_trig {
	flex-direction: column;
	align-items: flex-start;
	padding: 24px !important;
	background-color: var(--le-card) !important;
}
.ajde_evcal_calendar.boxy .eventon_list_event .desc_trig::after,
.ajde_evcal_calendar .evo_tiles .eventon_list_event .desc_trig::after { position: absolute; top: 20px; right: 20px; }

/* ---------- Mini calendrier (fullCal / widget) ---------- */

.ajde_evcal_calendar .evofc_months_strip,
.ajde_evcal_calendar .eventon_fullcal { background: transparent !important; }
.ajde_evcal_calendar .eventon_fc_days .evo_fc_day,
.ajde_evcal_calendar .eventon_fullcal .evo_fc_day { border-radius: 0 !important; color: var(--le-fg) !important; }
.ajde_evcal_calendar .eventon_fullcal .evo_fc_day.has_events { background: var(--le-accent) !important; color: var(--le-accent-fg) !important; font-weight: 700 !important; }
.ajde_evcal_calendar .eventon_fullcal .evo_fc_day.on_focus { background: var(--le-fg) !important; color: var(--le-light) !important; }

/* ---------- Page événement unique (single event) ---------- */

.evo_sin_page,
.eventon_single_event,
#evcal_single_event { color: var(--le-fg); }
.evo_sin_page .evo_event_title,
.eventon_single_event .evcal_event_title {
	font-family: var(--le-font-display) !important;
	font-weight: 900 !important;
	letter-spacing: -.05em !important;
	text-transform: uppercase !important;
}
body.single-ajde_events .le-main > *:not(.le-ticker),
body.single-ajde_events #main,
body.single-ajde_events .evo_page_body {
	padding-left: var(--le-gutter);
	padding-right: var(--le-gutter);
}

/* ---------- Section sombre ---------- */

.le-dark .ajde_evcal_calendar,
.le-dark .ajde_evcal_calendar .evcal_event_title,
.le-dark .ajde_evcal_calendar .evcal_cblock em,
.le-dark .ajde_evcal_calendar .evcal_desc_info em,
.le-dark .ajde_evcal_calendar .evcal_month_line p { color: var(--le-light) !important; }
.le-dark .ajde_evcal_calendar .eventon_list_event .desc_trig:hover { background: rgba(255, 255, 255, .05) !important; }
.le-dark .ajde_evcal_calendar .eventon_list_event .desc_trig::after { color: var(--le-light); }

/* ---------- Mobile ---------- */

@media (max-width: 700px) {
	.ajde_evcal_calendar .eventon_list_event .desc_trig,
	.ajde_evcal_calendar .eventon_list_event .evcal_list_a {
		gap: 16px;
		padding: 20px 0 !important;
		align-items: flex-start;
	}
	.ajde_evcal_calendar .eventon_list_event .desc_trig:hover { padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; }
	.ajde_evcal_calendar .evcal_cblock { flex: 0 0 64px; width: 64px !important; min-width: 64px; }
	.ajde_evcal_calendar .evcal_cblock em.date,
	.ajde_evcal_calendar .evcal_cblock .evo_start em.date { font-size: 40px !important; letter-spacing: -2px !important; }
	.ajde_evcal_calendar .eventon_list_event .desc_trig::after { font-size: 18px; }
	.ajde_evcal_calendar .evcal_evdata_row { padding: 18px 0 !important; }
}

/* ==========================================================================
   EventON 5.x — ligne d'événement (span.evoet_in > evoet_c1 affiche / c2 date / c3 infos)
   ========================================================================== */

/* Bouton « Current Month » : masqué */
.ajde_evcal_calendar .evo-gototoday-btn { display: none !important; }
.ajde_evcal_calendar .evo_cal_above:not(:has(> :not(.evo-gototoday-btn))) { display: none !important; }
.ajde_evcal_calendar .evo_header_title:empty,
.ajde_evcal_calendar .evo_cal_above_content:empty { display: none !important; }
.ajde_evcal_calendar #evcal_head:not(:has(.evo_month_title, #evcal_cur, .evcal_arrows, .evo_filter_bar, .eventon_sorting_section)) { margin: 0 !important; }

/* Mois sans événement : masqués */
.ajde_evcal_calendar .evcal_month_line:has(+ .sep_month_events:empty),
.ajde_evcal_calendar .sep_month_events:empty { display: none !important; }

/* Fond coloré EventON (style « esty_2 ») neutralisé */
.ajde_evcal_calendar .eventon_list_event a.desc_trig { background-color: transparent !important; color: var(--le-fg) !important; }

/* La ligne : affiche | date | infos | flèche */
.ajde_evcal_calendar .eventon_list_event .evoet_in {
	display: flex !important;
	align-items: center;
	gap: 28px;
	flex: 1;
	min-width: 0;
	padding: 0 !important;
	background: none !important;
}
.ajde_evcal_calendar .eventon_list_event .evoet_cx {
	display: block !important;
	position: static !important;
	float: none !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
}
.ajde_evcal_calendar .eventon_list_event .evoet_c2 { flex: 0 0 110px; }
.ajde_evcal_calendar .eventon_list_event .evoet_c3 { flex: 1; min-width: 0; }

/* Affiche (format portrait 3:4) */
.ajde_evcal_calendar .eventon_list_event .evoet_c1 { flex: 0 0 auto; }
.ajde_evcal_calendar .eventon_list_event .evoet_c1 .ev_ftImg {
	display: block !important;
	width: 120px !important;
	height: 160px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	border: 1px solid var(--le-fg) !important;
	border-radius: 0 !important;
	background-size: cover !important;
	background-position: center top !important;
	background-repeat: no-repeat !important;
	background-color: var(--le-card) !important;
	filter: none;
	transition: transform .3s;
	position: static !important;
}
.ajde_evcal_calendar .eventon_list_event a.desc_trig:hover .ev_ftImg { transform: rotate(-2deg) scale(1.03); }

/* Événement sans affiche : emplacement neutre avec le « a » de L'Estrade */
.ajde_evcal_calendar .eventon_list_event .ev_ftImg.le-noposter {
	background-image: url("../img/logo-mark.svg") !important;
	background-size: 45% auto !important;
	background-position: center !important;
	opacity: .35;
}

/* Position de l'affiche : réglée dans Personnaliser (classe sur <body>) */
body.le-poster-right .ajde_evcal_calendar .eventon_list_event .evoet_c1 { order: 3; }
body.le-poster-right .ajde_evcal_calendar .eventon_list_event .evoet_c2 { order: 1; }
body.le-poster-right .ajde_evcal_calendar .eventon_list_event .evoet_c3 { order: 2; }
body.le-poster-none .ajde_evcal_calendar .eventon_list_event .evoet_c1 { display: none !important; }
body.le-poster-right .ajde_evcal_calendar .eventon_list_event .desc_trig::after { display: none !important; }

/* Bloc date EventON 5 : on masque l'année et le rappel « (Oct 9) » */
.ajde_evcal_calendar .evcal_cblock em.year,
.ajde_evcal_calendar .evcal_cblock em.time i { display: none !important; }
.ajde_evcal_calendar .evcal_cblock .evo_start { display: flex !important; flex-direction: column; align-items: flex-start; }
.ajde_evcal_calendar .evcal_cblock em.date { order: 1; }
.ajde_evcal_calendar .evcal_cblock em.month { order: 2; }
.ajde_evcal_calendar .evcal_cblock em.day { order: 3; margin-top: 2px !important; }
.ajde_evcal_calendar .evcal_cblock em.time { order: 4; margin-top: 10px !important; letter-spacing: 1px !important; }

/* Titre & lieu EventON 5 */
.ajde_evcal_calendar .evoet_title { display: block; }
.ajde_evcal_calendar .evoet_location { display: block; margin-top: 10px; font-size: 12px !important; }
.ajde_evcal_calendar .evoet_location i { margin-right: 6px; }
.ajde_evcal_calendar .evoet_location em,
.ajde_evcal_calendar .event_location_name { font-style: normal !important; color: var(--le-fg) !important; }

@media (max-width: 700px) {
	.ajde_evcal_calendar .eventon_list_event .evoet_in { gap: 14px; align-items: flex-start; }
	.ajde_evcal_calendar .eventon_list_event .evoet_c1 .ev_ftImg { width: 72px !important; height: 96px !important; }
	.ajde_evcal_calendar .eventon_list_event .evoet_c2 { flex: 0 0 56px; }
	.ajde_evcal_calendar .evcal_cblock em.time { display: none !important; }
}
