/**
 * Vue Liste des événements — ALGM Basket.
 *
 * Surcharge visuelle de la vue Liste de The Events Calendar (overrides dans
 * tribe/events/v2/list/event.php et components/filter-bar.php).
 *
 * IMPORTANT : tous les sélecteurs sont préfixés par
 * :is(.tribe-events-view--list, .tribe-events-view--day) — la vue Jour
 * réutilise les mêmes cartes (override tribe/events/v2/day/event.php) —
 * pour passer devant les resets de TEC (.tribe-common a / p / button / img,
 * spécificité 0,1,1) qui sinon écrasent fond, bordure et graisse de nos cartes.
 *
 * Réutilise les variables de marque de style.css (:root --algm-*).
 * Préfixe : .algm-evl* (events list).
 */

.tribe-events-view { --evl-muted:#6B7280; }

/* Décalage sous l'en-tête fixe : sur l'archive, #content n'a pas le margin-top
   des pages normales (.content-area: 250px), le haut passe sinon sous le header. */
.post-type-archive-tribe_events .tribe-events-view,
.tax-tribe_events_cat .tribe-events-view { margin-top: 250px; }
/* TEC ajoute un padding-top (~96px) au conteneur interne : on l'annule pour que
   le contenu démarre pile à 250px du haut, comme .content-area des autres pages. */
.post-type-archive-tribe_events .tribe-events-view .tribe-common-l-container,
.tax-tribe_events_cat .tribe-events-view .tribe-common-l-container { padding-top: 0; }
@media (max-width: 480px) {
	.post-type-archive-tribe_events .tribe-events-view,
	.tax-tribe_events_cat .tribe-events-view { margin-top: 200px; }
}

/* ---- Barre de recherche / vues TEC aux couleurs du club ----
   On remappe les variables d'accent de The Events Calendar (bleu vif par
   défaut) sur le bleu marine, + ciblage direct des éléments clés en renfort. */
.tribe-events,
.tribe-events-view {
	/* Le bleu vif de TEC vient de --tec-color-button-primary (pas l'accent). */
	--tec-color-button-primary: #202346;
	--tec-color-button-primary-hover: #2c3160;
	--tec-color-button-primary-active: #2c3160;
	--tec-color-accent-primary: #202346;
	--tec-color-accent-primary-hover: #2c3160;
	--tec-color-accent-primary-active: #2c3160;
	--tec-color-background-secondary: #F5F5F5;
}
/* Bouton « Chercher » — sélecteur renforcé (.tribe-events-view.tribe-common,
   même élément) pour passer devant .tribe-events …__button (spécificité égale). */
.tribe-events-view.tribe-common .tribe-events-c-search__button,
.tribe-events-view .tribe-events-c-search__button {
	background-color: var(--algm-bleu); color: #fff; border-radius: 8px; border: 0;
}
.tribe-events-view.tribe-common .tribe-events-c-search__button:hover { background-color: #2c3160; }
/* Champ de recherche */
.tribe-events-view .tribe-events-c-search__input-control-wrapper,
.tribe-events-view .tribe-events-c-search__input { border-radius: 8px; }
.tribe-events-view .tribe-events-c-search__input-control-wrapper { border: 1px solid var(--algm-gris-bord); background: #fff; }
/* Vue active (Liste/Mois/Jour) + boutons top-bar */
.tribe-events-view .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events-view .tribe-events-c-top-bar__today-button { color: var(--algm-bleu); }
.tribe-events-view .tribe-events-c-top-bar__today-button { border-radius: 8px; }

/* Titre de page « Événements » + intro (component before.php) */
.tribe-events-view .algm-evl__pagehead { margin: 0 0 22px; }
.tribe-events-view .algm-evl__pagetitle { font-size: 1.9rem; font-weight: 700; color: var(--algm-bleu); margin: 0 0 .35em; position: relative; padding-bottom: .35em; }
.tribe-events-view .algm-evl__pagetitle::after { content: ""; position: absolute; left: 0; bottom: 0; width: 60px; height: 4px; background: var(--algm-or); border-radius: 2px; }
.tribe-events-view .algm-evl__pageintro { color: var(--evl-muted); margin: 0; }

/* Réinitialisation de la grille TEC sur nos lignes + liste */
:is(.tribe-events-view--list, .tribe-events-view--day) .tribe-events-calendar-list { margin: 0; padding: 0; list-style: none; }
:is(.tribe-events-view--list, .tribe-events-view--day) .tribe-events-calendar-list__event-row.algm-evl__item { display: block; margin: 0 0 16px; padding: 0; border: 0; max-width: none; background: none; }

/* ---- Carte ---- */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card {
	display: flex; background: #fff; border: 1px solid var(--algm-gris-bord);
	border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--algm-bleu);
	box-shadow: none; transition: box-shadow .15s, transform .08s, border-color .15s;
}
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card:hover { box-shadow: 0 10px 26px rgba(32,35,70,.12); transform: translateY(-2px); border-color: #d3d4dd; background: #fff; }

/* Média (grande image) — hauteur fixe pour éviter que les affiches portrait
   n'étirent la carte ; image en position absolue pour remplir le cadre. */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__media { flex: none; width: 280px; align-self: stretch; min-height: 200px; position: relative; background: var(--algm-bleu); overflow: hidden; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__media img,
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__media.is-affiche img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; padding: 0; display: block; max-width: none; margin: 0; border-radius: 0; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(32,35,70,.22), rgba(32,35,70,0) 45%); pointer-events: none; }

/* Pastille de date (haut gauche) */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__date { position: absolute; top: 12px; left: 12px; z-index: 2; background: #fff; color: var(--algm-bleu); border-radius: 10px; text-align: center; padding: 6px 10px; box-shadow: 0 3px 10px rgba(0,0,0,.18); line-height: 1; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__date .d { display: block; font-size: 1.4rem; font-weight: 700; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__date .m { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: 1px; margin-top: 3px; color: var(--evl-muted); }

/* Badge catégorie (sur image pour cartes standard ; en corps pour vedette) */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__cat { display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; padding: 4px 10px; border-radius: 999px; color: #fff; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__media .algm-evl__cat { position: absolute; bottom: 12px; left: 12px; z-index: 2; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__cat--dom { background: #2e9e5b; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__cat--ext { background: #3a6ea5; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__cat--evt { background: var(--algm-or); color: var(--algm-bleu); }

/* Corps */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__body { flex: 1; min-width: 0; padding: 18px 20px; display: flex; flex-direction: column; justify-content: center; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__title { font-size: 1.18rem; font-weight: 700; line-height: 1.25; margin: 0 0 8px; color: var(--algm-bleu); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__title--lg { font-size: 1.6rem; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__catline { margin: 0 0 9px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__excerpt { color: var(--evl-muted); font-size: .96rem; margin: 0 0 12px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__meta { color: var(--evl-muted); font-size: .92rem; display: flex; flex-direction: column; gap: 6px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__meta .mi { display: flex; align-items: center; gap: 8px; color: var(--evl-muted); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__meta .mi svg { flex: none; color: var(--evl-muted); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__foot { margin-top: 14px; display: flex; align-items: center; gap: 12px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__insc { font-size: .72rem; font-weight: 700; color: #1d7a43; border: 1px solid #9fd6b4; padding: 3px 10px; border-radius: 999px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__more { margin-left: auto; font-weight: 700; font-size: .9rem; color: var(--algm-bleu); white-space: nowrap; }

/* Hors vue Liste (ex. bascule AJAX vers Mois/Jour), TEC peut laisser le markup
   de la vedette/pastilles/état-vide dans le DOM : on le masque tant que le
   conteneur n'a pas la classe --list (fiable, mis à jour dès le 1er clic). */
.tribe-events-view:not(.tribe-events-view--list) .algm-evl__featured-head,
.tribe-events-view:not(.tribe-events-view--list) .algm-evl__item--featured,
.tribe-events-view:not(.tribe-events-view--list) .algm-evl__filters,
.tribe-events-view:not(.tribe-events-view--list) .algm-evl__empty { display: none; }

/* ---- Vedette « À la une » ---- */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__featured-head { display: flex; align-items: center; gap: 9px; margin: 6px 0 14px; font-weight: 700; font-size: 1.05rem; color: var(--algm-bleu); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__featured-head svg { color: var(--algm-or); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card--featured { border: 2px solid var(--algm-or); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card--featured .algm-evl__media { width: 340px; min-height: 280px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card--featured .algm-evl__body { padding: 24px 26px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__ribbon { position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; background: var(--algm-or); color: var(--algm-bleu); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; padding: 5px 11px; border-radius: 999px; box-shadow: 0 3px 10px rgba(0,0,0,.2); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__cta { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__btn { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .9rem; padding: 11px 18px; border-radius: 8px; text-decoration: none; border: none; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__btn--primary { background: var(--algm-or); color: var(--algm-bleu); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__btn--ghost { background: var(--algm-gris); color: var(--algm-bleu); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__btn--ghost:hover { background: #ececf2; color: var(--algm-bleu); }
:is(.tribe-events-view--list, .tribe-events-view--day)a.algm-evl__title { text-decoration: none; display: block; }
:is(.tribe-events-view--list, .tribe-events-view--day)a.algm-evl__title:hover { color: var(--algm-bleu); }

/* ---- Pastilles de filtre ---- */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 22px; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__pill { display: inline-flex; align-items: center; border: 1px solid var(--algm-gris-bord); background: #fff; color: var(--algm-bleu); font-family: inherit; font-weight: 600; font-size: .85rem; line-height: 1.2; padding: 8px 15px; border-radius: 999px; cursor: pointer; transition: .15s; min-height: 0; text-transform: none; letter-spacing: 0; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__pill:hover { border-color: var(--algm-bleu); background: #fff; }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__pill.is-active { background: var(--algm-bleu); color: #fff; border-color: var(--algm-bleu); }
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__pill .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 7px; vertical-align: middle; }
:is(.tribe-events-view--list, .tribe-events-view--day) .dot--dom { background: #2e9e5b; }
:is(.tribe-events-view--list, .tribe-events-view--day) .dot--ext { background: #3a6ea5; }
:is(.tribe-events-view--list, .tribe-events-view--day) .dot--evt { background: var(--algm-or); }

/* ---- Séparateur de mois ---- */
:is(.tribe-events-view--list, .tribe-events-view--day) .tribe-events-calendar-list__month-separator { display: flex; align-items: center; gap: 14px; margin: 26px 0 14px; border: 0; }
:is(.tribe-events-view--list, .tribe-events-view--day) .tribe-events-calendar-list__month-separator-text { font-weight: 700; font-size: 1.05rem; text-transform: capitalize; white-space: nowrap; color: var(--algm-bleu); margin: 0; }
:is(.tribe-events-view--list, .tribe-events-view--day) .tribe-events-calendar-list__month-separator::after { content: ""; flex: 1; height: 2px; background: var(--algm-gris-bord); }

/* État vide (filtre) */
:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__empty { display: none; text-align: center; color: var(--evl-muted); padding: 40px; background: #fff; border: 1px dashed var(--algm-gris-bord); border-radius: 12px; }

/* ---- Vue mois : lien « X autres événements » (jours chargés) ----
   Fonctionne avec le réglage TEC « Nombre d'événements par jour dans la
   vue mois » + l'override tribe/events/v2/month/calendar-body/day/
   more-events.php (libellé explicite). Pilule OR calée sur les boutons
   du site (.wp-block-button__link) : fond or / texte bleu, hover inversé
   bleu / blanc avec soulèvement. !important : les styles TEC (presets
   tribe-common) écrasent sinon le fond et la couleur. */
.tribe-events .tribe-events-calendar-month__more-events { margin-top: 6px; }
.tribe-events .tribe-events-calendar-month__more-events-link {
	display: block;
	box-sizing: border-box;
	max-width: 100%;
	opacity: 1 !important; /* TEC applique opacity: .5 sur ce lien. */
	background-color: var(--algm-or, #EAB93A) !important;
	color: var(--algm-bleu, #202346) !important;
	font-weight: 600;
	font-size: 0.75rem;
	line-height: 1.2;
	text-align: center;
	padding: 6px 10px;
	border-radius: 999px;
	border: 0;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.tribe-events .tribe-events-calendar-month__more-events-link:hover,
.tribe-events .tribe-events-calendar-month__more-events-link:focus {
	background-color: var(--algm-bleu, #202346) !important;
	color: var(--algm-blanc, #FFFFFF) !important;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(32, 35, 70, 0.20);
}

/* ---- Vue jour : structure des cartes + séparateurs d'heure ---- */
.tribe-events-view--day .tribe-events-calendar-day__event.algm-evl__item { display: block; margin: 0 0 16px; padding: 0; border: 0; max-width: none; background: none; }
.tribe-events-view--day .tribe-events-calendar-day__time-separator { display: flex; align-items: center; gap: 14px; margin: 26px 0 14px; border: 0; }
.tribe-events-view--day .tribe-events-calendar-day__time-separator-text { font-weight: 700; font-size: 1.05rem; text-transform: capitalize; white-space: nowrap; color: var(--algm-bleu); margin: 0; }
.tribe-events-view--day .tribe-events-calendar-day__time-separator::after { content: ""; flex: 1; height: 2px; background: var(--algm-gris-bord); }
.tribe-events-view--day .tribe-events-calendar-day__type-separator { display: none; }

/* ---- Responsive ---- */
@media (max-width: 680px) {
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card { flex-direction: column; }
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__media,
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__card--featured .algm-evl__media { width: 100%; height: 190px; }
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__body { padding: 16px 18px; }
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__title { font-size: 1.05rem; }
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__title--lg { font-size: 1.3rem; }
	:is(.tribe-events-view--list, .tribe-events-view--day) .algm-evl__arrow { display: none; }
}
