/* ══ MDLM EVENTS — PAGE ÉVÉNEMENTS, STYLES COMMUNS À TOUTES LES VUES ══════
 *
 * Habillage du widget Elementor « Event View » de The Events Calendar : ce qui
 * est PARTAGÉ par toutes les vues (Liste, Mois, Jour, Photo, Semaine, Plan,
 * Résumé). Visuel UNIQUEMENT : aucun gabarit TEC surchargé, aucun script
 * ajouté, aucune URL ni aucun comportement modifié.
 *
 * Styles propres à une vue : mdlm-events-list.css (.tribe-events-view--list),
 * mdlm-events-month.css (.tribe-events-view--month). Aucune règle de ces
 * feuilles ne mentionne .mdlm-event-main ni .mdlm-event-sidebar (fiche).
 *
 * ── SCOPE — UNE SEULE CLASSE ELEMENTOR, TOUTES LES VUES ───────────────────
 * La classe .mdlm-events-view est posée À LA MAIN dans Elementor, UNE FOIS,
 * sur le widget Event View (Avancé → Classes CSS). Le widget reste le même
 * quand le visiteur change de vue : TEC ne remplace que son contenu. La vue
 * affichée est reconnue par la classe native de la racine TEC
 * (.tribe-events-view--list, --month, --day, --photo, --week, --map,
 * --summary). Toute règle commence par :
 *
 *     :is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view
 *
 * .mdlm-events-category (0.1.27) est la classe de CORPS posée par le plugin sur
 * les archives de catégorie TEC (/events/categorie/<slug>/, toutes vues). Elle
 * donne à ces archives exactement l'habillage de la page Événements, sans
 * aucune règle recopiée. Les règles propres à ces archives (décalage sous
 * l'en-tête, largeur, titre, fil d'Ariane) sont au § 13.
 *
 * .mdlm-events-tag-view (0.1.30) est son pendant pour les vues étiquette TEC
 * (/evenements/etiquette/<slug>/, toutes vues) : ajoutée à côté d'elle dans
 * chaque :is(), à poids égal. Jamais posée sur l'archive WordPress /tag/<slug>/.
 *
 * .mdlm-events-list est l'ANCIEN contrat (0.1.14 → 0.1.18), conservé en
 * compatibilité pour que la page ne perde pas son habillage avant que la
 * classe du widget soit remplacée. Référence : .mdlm-events-view.
 * :is() a le poids de son argument le plus lourd — une classe — : les poids
 * sont exactement ceux de l'ancien scope.
 *
 * Jamais la classe de hachage du shortcode (.tribe-events-view--shortcode-xxxx) :
 * elle change d'une page et d'un réglage à l'autre, ce n'est pas un contrat.
 *
 * POIDS — relevé sur la page réelle, pas supposé : TEC imprime ses feuilles
 * de vue (common-full, views-full, bootstrap-datepicker) DANS LE CORPS, juste
 * avant la vue, donc APRÈS celle-ci. À poids égal, TEC gagnerait. Les trois
 * classes de la racine (.tribe-common.tribe-events.tribe-events-view) portent
 * le scope à 0,4,0 : chaque composant dépasse les sélecteurs TEC les plus
 * lourds qu'il remplace (0,4,0 à 0,5,1), sans aucun !important. Les rares
 * déclarations TEC en !important (masquages par point de rupture) ne sont
 * jamais combattues : elles sont respectées.
 *
 * ── LARGEUR : ELEMENTOR EST SEUL MAÎTRE ───────────────────────────────────
 * Aucune largeur ni largeur maximale fixe n'est posée sur le widget ou sur
 * la vue. Les contraintes INTERNES de TEC sont levées, et elles seules :
 * - .tribe-common-l-container : max-width var(--tec-grid-width) = 1176 px +
 *   deux gouttières de 42 px, marges automatiques ;
 * - .tribe-events-l-container : min-height 600 / 700 px, rembourrages
 *   verticaux de 64 à 160 px ;
 * - .tribe-events-view.alignwide : marges automatiques (TEC) ou -80 px (thème
 *   Hello, « .alignwide { margin-inline: -80px } »).
 * La vue prend donc 100 % de la largeur que lui donne Elementor ; si le widget
 * passe de 1440 px à 1200 px ou à 100 %, elle suit. Valable pour toutes les
 * vues : ces conteneurs sont communs.
 *
 * ── POINTS DE RUPTURE : CEUX DE TEC, MESURÉS SUR LE CONTENEUR ─────────────
 * TEC ajoute par script tribe-common--breakpoint-medium (≥ 768 px) et
 * --breakpoint-full (≥ 960 px) selon la largeur DE LA VUE, pas de la fenêtre.
 * Sans ces classes, la vue est dans sa mise en page « mobile ». La mise en
 * page suit ces classes — elles suivent la largeur Elementor — ; seules les
 * gouttières suivent la fenêtre (desktop / tablette / téléphone).
 *
 * ── MARQUAGE ET COMPORTEMENT TEC — relevés sur la page, pas supposés ──────
 * - Menus : vues (view-selector) et recherche mobile s'ouvrent par jQuery
 *   show() / hide() / css("display") ; abonnement par toggle(). Le datepicker
 *   (bootstrap-datepicker 1.10, variante accessible) reçoit top / left /
 *   z-index EN LIGNE, calculés en coordonnées de document par place().
 *   Cette feuille ne pose JAMAIS display sur un panneau, ni position, top,
 *   left ou z-index sur .datepicker.
 * - Datepicker : flèches, mois et jours sont de vrais <button> (th > button,
 *   td > button.day, .datepicker-grid > button.month). Le thème Hello donne à
 *   tout <button> une bordure et un survol #c36, et un anneau de focus noir
 *   (outline 2px #000 + ombre blanche) : neutralisés ici.
 * - Sélecteur de vues, mode « labels » : TEC MASQUE la vue active du menu
 *   (display: none). Elle y est rendue visible, marquée comme active.
 * - En « medium », TEC masque les pictogrammes du menu des vues en
 *   !important : ils ne sont pas forcés, le menu y est textuel.
 * - Changement de vue : TEC remplace le contenu du widget par AJAX. Toutes les
 *   feuilles de vue sont chargées dès l'ouverture de la page (voir
 *   MDLM_Events_Assets) : une vue atteinte par AJAX est déjà habillée.
 *
 * ── SOMMAIRE ──────────────────────────────────────────────────────────────
 *  1. Racine, jetons, largeur
 *  2. En-tête
 *  3. Barre d'outils : recherche
 *  4. Sélecteur de vues et son menu
 *  5. Navigation de date (« À venir », « Ce mois-ci »…)
 *  6. Calendrier (datepicker)
 *  7. Messages
 *  8. Prix
 *  9. Navigation bas de vue
 * 10. S'abonner au calendrier
 * 11. Mouvement réduit
 * 12. Gouttières par appareil
 * 13. Archives de catégorie et vues étiquette : en-tête du site, largeur, titre, fil d'Ariane
 * 14. Nombre d'événements affichés (0.1.37) : « Afficher : 12 | 24 | Tous »
 */


/* ══ 1. RACINE, JETONS, LARGEUR ════════════════════════════════════════════ */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view {
	/* Jetons TEC redéfinis à l'échelle de la vue : ce que cette feuille ne
	   stylise pas explicitement (éléments ajoutés par une future version)
	   reprend quand même la charte. */
	--tec-font-family-sans-serif: var(--mdlm-ev-font-text);
	--tec-font-family-base: var(--mdlm-ev-font-text);
	--tec-color-text-primary: var(--mdlm-ev-ink);
	--tec-color-text-secondary: var(--mdlm-ev-muted);
	--tec-color-text-event-title: var(--mdlm-ev-navy);
	--tec-color-text-events-title: var(--mdlm-ev-navy);
	--tec-color-text-event-date: var(--mdlm-ev-muted);
	--tec-color-accent-primary: var(--mdlm-ev-blue-strong);
	--tec-color-accent-secondary: var(--mdlm-ev-blue);
	--tec-color-accent-secondary-hover: var(--mdlm-ev-blue-ink);
	--tec-color-button-primary: var(--mdlm-ev-blue-strong);
	--tec-color-border-default: var(--mdlm-ev-line);
	--tec-color-border-secondary: var(--mdlm-ev-line);
	--tec-color-border-active: var(--mdlm-ev-blue);
	--tec-color-icon-primary: var(--mdlm-ev-navy);
	--tec-color-icon-active: var(--mdlm-ev-blue-ink);
	--tec-color-icon-secondary: var(--mdlm-ev-muted);
	--tec-color-link-accent: var(--mdlm-ev-blue-ink);

	/* Jetons propres à la page Événements, toutes vues. Les couleurs de marque
	   viennent de mdlm-events-base.css ; ne sont écrites ici que les nuances
	   propres au widget Event View. Préfixe --mdlm-el- historique (0.1.14),
	   conservé : le renommer ne changerait rien au rendu. */
	--mdlm-el-gutter: 8px;
	--mdlm-el-line: var(--mdlm-ev-panel-line);
	--mdlm-el-line-soft: #E6F0F9;
	--mdlm-el-placeholder: #7F92AA;
	--mdlm-el-disabled: #A5B4C4;
	--mdlm-el-shadow-bar: 0 6px 22px rgba(11, 61, 130, .06);
	--mdlm-el-shadow-card: 0 4px 16px rgba(11, 61, 130, .07);
	/* Niveau d'empilement de l'en-tête : au-dessus du contenu des vues TEC
	   (≤ 7), sous le voile de chargement (100). Voir § 2. */
	--mdlm-el-z-header: 20;

	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin-inline: 0;
	color: var(--mdlm-ev-ink);
	font-family: var(--mdlm-ev-font-text);
}

/* Police du texte sur toute la vue : tribe-common, le kit Elementor et le thème
   imposent les leurs. Poids faible (:where) : chaque composant peut encore
   choisir Nunito. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :where(div, p, span, a, button, input, time, em, address, h1, h2, h3, h4, h5, h6, ul, li, th, td, label) {
	font-family: var(--mdlm-ev-font-text);
}

/* Contraintes internes de TEC levées : plafond de 1176 px + gouttières,
   marges automatiques, hauteur minimale, grands rembourrages verticaux. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(.tribe-common-l-container, .tribe-events-l-container) {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 0;
	margin-inline: 0;
	padding: .5rem var(--mdlm-el-gutter) 1.5rem;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-view-loader {
	border-radius: var(--mdlm-ev-radius-lg);
}


/* ══ 2. EN-TÊTE ════════════════════════════════════════════════════════════
 * TEC : en « mobile », l'en-tête déborde de la gouttière de page par des
 * marges négatives calées sur SES gouttières (19,5 px). Ces gouttières sont
 * remplacées, les marges négatives le sont donc aussi.
 *
 * Pas de row-gap : le premier enfant est le titre de la vue, masqué pour
 * les yeux mais présent (h1 lecteur d'écran), sur sa propre ligne de 0 px ;
 * une gouttière verticale y créerait un vide. Les écarts sont des marges.
 *
 * ── EMPILEMENT (0.1.24) ───────────────────────────────────────────────────
 * L'en-tête est un contexte d'empilement : le menu des vues (60), le panneau
 * de recherche mobile (60) et le datepicker y sont ENFERMÉS, et ne passent
 * au-dessus du contenu de la vue que si l'en-tête lui-même le dépasse.
 *
 * CAUSE DU MENU RECOUVERT EN VUE PLAN : l'en-tête était à 5. Or TEC Pro
 * donne au contenu, dans le même contexte parent, des z-index de 5 à 7 —
 * carte d'événement survolée ou active (--tec-z-index-map-event-hover, 5),
 * actions de la carte active (6), barre de défilement de la liste (7). À 5
 * contre 5, le contenu, plus loin dans le DOM, passait devant ; à 6 et 7, il
 * gagnait toujours. Les multi-jours du mois et de la semaine sont eux aussi
 * à 5 : le risque était commun à toutes les vues.
 *
 * Hiérarchie, du plus haut au plus bas — jeton --mdlm-el-z-header :
 *   100   voile de chargement TEC (--tec-z-index-spinner-container) : doit
 *         couvrir la vue entière pendant une requête AJAX, en-tête compris
 *    20   EN-TÊTE — menu des vues, recherche, datepicker (place() calcule
 *         20 + 10 = 30 pour ce dernier)
 *   ≤ 7   contenu des vues TEC (cartes, multi-jours, défilement)
 * Aucune valeur « énorme » : 20 dépasse le plus haut niveau TEC du contenu.
 * La feuille Plan isole en plus la carte et la liste (isolation: isolate),
 * pour qu'aucun z-index interne ne se mesure jamais à l'en-tête. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-header {
	position: relative;
	z-index: var(--mdlm-el-z-header);
	column-gap: .75rem;
	margin: 0 0 .75rem;
	padding: 0;
	border: 0;
	background: transparent;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-header {
	margin-bottom: 1rem;
}


/* ══ 3. BARRE D'OUTILS : RECHERCHE ═════════════════════════════════════════
 *
 *   ┌──────────────────────────────────────────────────────────────────────┐
 *   │ 🔍  Rechercher évènements                    [ Chercher ] │ Liste ▾ │
 *   └──────────────────────────────────────────────────────────────────────┘
 *
 * « medium » : la barre TEC devient la barre d'outils — fond blanc, bordure
 * bleu pâle, rayon 16, 58 px de haut (6 + 44 + 6 + bordures).
 * « mobile » : TEC range la recherche derrière un bouton loupe et l'ouvre en
 * panneau sous l'en-tête. Ce fonctionnement est conservé ; bouton et panneau
 * sont habillés. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-events-bar {
	align-items: center;
	gap: .5rem;
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	border: 0;
	background: transparent;
}

/* margin-bottom : SEULE source de l'écart entre la barre d'outils et la ligne
   de navigation de date (30 px depuis 0.1.16). La ligne de navigation n'a
   aucune marge haute. En « mobile », les deux partagent une même ligne : pas
   d'écart. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-events-bar {
	margin: 0 0 1.875rem;
	padding: .375rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 16px;
	background: var(--mdlm-ev-white);
	box-shadow: var(--mdlm-el-shadow-bar);
}

/* ── Bouton loupe (mobile uniquement : TEC le masque en « medium ») ────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-events-bar__search-button {
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 10px;
	background: var(--mdlm-ev-white);
	box-shadow: none;
	color: var(--mdlm-ev-blue-ink);
	opacity: 1;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), border-color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-events-bar__search-button::before {
	content: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-events-bar__search-button:is(:hover, :focus, .tribe-events-c-events-bar__search-button--active) {
	border-color: var(--mdlm-ev-line-strong);
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-blue-ink);
	opacity: 1;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-events-bar__search-button:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-events-bar__search-button-icon-svg {
	display: block;
	width: 18px;
	height: 18px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-events-bar__search-button-icon-svg path {
	fill: currentColor;
}

/* ── Panneau de recherche mobile ───────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__search-container {
	top: calc(100% + .5rem);
	right: 0;
	left: 0;
	z-index: 60;
	box-sizing: border-box;
	padding: .75rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 14px;
	background: var(--mdlm-ev-white);
	box-shadow: var(--mdlm-ev-shadow-raised);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-common--breakpoint-medium) .tribe-events-c-search {
	display: flex;
	flex-direction: column;
	gap: .625rem;
}

/* ── Recherche : champ et bouton ───────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-events-bar__search-container {
	min-width: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-events-bar__search,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-search {
	min-width: 0;
	margin: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-search {
	gap: .5rem;
	width: 100%;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-search__input-group {
	min-width: 0;
	margin: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-search__input-control {
	position: relative;
	min-width: 0;
	margin: 0;
	border: 0;
	border-radius: 11px;
	transition: background-color var(--mdlm-ev-transition), box-shadow var(--mdlm-ev-transition);
}

/* Loupe décorative dans le champ, bleu MDLM. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-search__input-control-icon-svg {
	position: absolute;
	display: block;
	top: 50%;
	right: auto;
	left: .875rem;
	width: 17px;
	height: 17px;
	color: var(--mdlm-ev-blue);
	transform: translateY(-50%);
	pointer-events: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-search__input-control-icon-svg path {
	fill: currentColor;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view input.tribe-events-c-search__input {
	box-sizing: border-box;
	width: 100%;
	height: 2.75rem;
	margin: 0;
	padding: 0 .875rem 0 2.625rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 11px;
	background: var(--mdlm-ev-white);
	box-shadow: none;
	color: var(--mdlm-ev-ink);
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.2;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view input.tribe-events-c-search__input::placeholder {
	color: var(--mdlm-el-placeholder);
	font-weight: 400;
	opacity: 1;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view input.tribe-events-c-search__input:focus {
	border-color: var(--mdlm-ev-blue);
	box-shadow: 0 0 0 3px rgba(23, 143, 230, .18);
	outline: none;
}

/* « medium » : le champ se fond dans la barre ; le focus éclaire la zone de
   saisie entière, anneau bleu intérieur. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium input.tribe-events-c-search__input {
	border-color: transparent;
	background: transparent;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium input.tribe-events-c-search__input:focus {
	border-color: transparent;
	box-shadow: none;
}

/* Survol : aucun fond. Un fond sur la zone de saisie dessinait un rectangle
   bleu à l'intérieur de la barre blanche (retiré en 0.1.15). Le focus, lui,
   reste signalé. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-search__input-control:focus-within {
	background: var(--mdlm-ev-hover);
	box-shadow: inset 0 0 0 2px var(--mdlm-ev-blue);
}

/* Bouton « Chercher » : bleu MDLM plein. --mdlm-ev-blue-strong et non #178FE6,
   sous lequel un texte blanc n'atteint pas le contraste AA. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-common-c-btn.tribe-events-c-search__button {
	flex: none;
	box-sizing: border-box;
	width: auto;
	height: 2.75rem;
	margin: 0;
	padding: 0 1.375rem;
	border: 0;
	border-radius: 11px;
	background: var(--mdlm-ev-blue-strong);
	box-shadow: none;
	color: var(--mdlm-ev-white);
	font-family: var(--mdlm-ev-font-text);
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .005em;
	text-shadow: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), box-shadow var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-common-c-btn.tribe-events-c-search__button:is(:hover, :focus, :active) {
	border: 0;
	border-radius: 11px;
	background: var(--mdlm-ev-navy);
	color: var(--mdlm-ev-white);
	font-size: .9375rem;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-common-c-btn.tribe-events-c-search__button:focus-visible {
	box-shadow: 0 0 0 2px var(--mdlm-ev-white), 0 0 0 4px var(--mdlm-ev-blue);
}

/* Téléphone : bouton pleine largeur sous le champ. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-common--breakpoint-medium) button.tribe-common-c-btn.tribe-events-c-search__button {
	width: 100%;
}


/* ══ 4. SÉLECTEUR DE VUES ET SON MENU ══════════════════════════════════════ */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-events-bar__views {
	align-items: center;
	margin: 0;
	padding: 0;
}

/* « medium » : un filet vertical le détache de la recherche. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-events-bar__views {
	padding-left: .5rem;
	border-left: 1px solid var(--mdlm-el-line-soft);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector {
	position: relative;
	width: auto;
}

/* ── Bouton ────────────────────────────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-view-selector__button {
	align-items: center;
	justify-content: center;
	gap: .5rem;
	box-sizing: border-box;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 10px;
	background: var(--mdlm-ev-white);
	box-shadow: none;
	color: var(--mdlm-ev-blue-ink);
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1;
	text-shadow: none;
	opacity: 1;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), border-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium button.tribe-events-c-view-selector__button {
	width: auto;
	height: 2.75rem;
	padding: 0 .875rem 0 1rem;
	border-color: transparent;
	border-radius: 11px;
	background: var(--mdlm-ev-hover);
}

/* Trait souligné de TEC sous le bouton ouvert : remplacé par le fond. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-view-selector__button::before {
	content: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-view-selector__button:is(:hover, :focus, .tribe-events-c-view-selector__button--active) {
	border-color: var(--mdlm-ev-line-strong);
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-navy);
	opacity: 1;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium button.tribe-events-c-view-selector__button:is(:hover, :focus, .tribe-events-c-view-selector__button--active) {
	border-color: transparent;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-view-selector__button:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__button-icon {
	width: 20px;
	height: 20px;
	color: currentColor;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__button-icon-svg {
	display: block;
	width: 100%;
	height: 100%;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(.tribe-events-c-view-selector__button-icon-svg, .tribe-events-c-view-selector__list-item-icon-svg) .tribe-common-c-svgicon__svg-fill {
	fill: currentColor;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(.tribe-events-c-view-selector__button-icon-svg, .tribe-events-c-view-selector__list-item-icon-svg).tribe-common-c-svgicon__svg-stroke path {
	stroke: currentColor;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-view-selector__button-text {
	color: inherit;
	font-family: var(--mdlm-ev-font-text);
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-view-selector__button-icon-caret-svg {
	width: 10px;
	height: 6px;
	margin: .0625rem 0 0;
	color: var(--mdlm-ev-muted);
	transition: transform var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-view-selector__button-icon-caret-svg path {
	fill: currentColor;
}

/* ── Menu ──────────────────────────────────────────────────────────────────
 * Ancré à DROITE du bouton, dans les deux mises en page : le sélecteur est au
 * bout de la barre, un menu ancré à gauche (réglage TEC « medium ») sortirait
 * de la vue. Aucune déclaration « display » : TEC l'ouvre et le ferme. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__content {
	top: calc(100% + .5rem);
	right: 0;
	left: auto;
	z-index: 60;
	box-sizing: border-box;
	width: max-content;
	min-width: 13.5rem;
	max-width: min(18rem, calc(100vw - 2rem));
	margin: 0;
	padding: .5rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 14px;
	background: var(--mdlm-ev-white);
	box-shadow: var(--mdlm-ev-shadow-raised);
	transform: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list {
	display: flex;
	flex-direction: column;
	gap: .125rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item:is(:hover, :focus, :focus-within) {
	margin: 0;
	padding: 0;
	border-radius: 9px;
	background: transparent;
	list-style: none;
}

/* Vue active : rendue visible (TEC la masque en mode « labels »). */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item--active {
	display: block;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-view-selector__list-item-link {
	display: flex;
	align-items: center;
	gap: .625rem;
	box-sizing: border-box;
	min-height: 2.5rem;
	padding: .5625rem .75rem;
	border: 0;
	border-radius: 9px;
	background: transparent;
	box-shadow: none;
	color: var(--mdlm-ev-navy);
	text-decoration: none;
	transition: background-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item-icon {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	color: var(--mdlm-ev-blue);
	opacity: 1;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item-icon-svg {
	display: block;
	width: 100%;
	height: 100%;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item-text {
	flex: auto;
	color: inherit;
	font-family: var(--mdlm-ev-font-text);
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-view-selector__list-item-link:is(:hover, :focus) {
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-blue-ink);
	text-decoration: none;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-view-selector__list-item-link:is(:hover, :focus) .tribe-events-c-view-selector__list-item-icon {
	opacity: 1;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-view-selector__list-item-link:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: -2px;
}

/* Active : fond très léger, texte gras, coche bleue décorative à droite. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item--active a.tribe-events-c-view-selector__list-item-link {
	background: var(--mdlm-ev-hover);
	color: var(--mdlm-ev-navy);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text {
	font-weight: 800;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-view-selector__list-item--active a.tribe-events-c-view-selector__list-item-link::after {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	margin-left: .5rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A63B0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* ══ 5. NAVIGATION DE DATE ET « À VENIR » ══════════════════════════════════
 *
 *   ( ‹ ) ( › )  ( Aujourd'hui )   📅 À venir ▾
 *
 * Flèches et « Aujourd'hui » n'existent qu'en « medium » : TEC les masque en
 * « mobile » par !important, et ce masquage est respecté. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar {
	gap: .5rem;
	min-width: 0;
	margin: 0;
	padding: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-header__top-bar {
	margin: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__nav-list {
	gap: .25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__nav-list-item {
	margin: 0;
	padding: 0;
}

/* Flèches : petits boutons ronds, sans cadre, fond très léger. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button).tribe-events-c-top-bar__nav-link {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 2.125rem;
	height: 2.125rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mdlm-ev-hover);
	box-shadow: none;
	color: var(--mdlm-ev-navy);
	line-height: 0;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button).tribe-events-c-top-bar__nav-link:is(:hover, :focus) {
	border: 0;
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-blue-ink);
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button).tribe-events-c-top-bar__nav-link:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-top-bar__nav-link:disabled {
	background: transparent;
	color: var(--mdlm-el-disabled);
	font-size: inherit;
	cursor: default;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__nav-link-icon-svg {
	display: block;
	width: 8px;
	height: 13px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__nav-link-icon-svg path {
	fill: currentColor;
}

/* « Aujourd'hui » : pastille secondaire. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button {
	box-sizing: border-box;
	width: auto;
	height: 2.125rem;
	margin: 0 .375rem 0 .125rem;
	padding: 0 .875rem;
	border: 1px solid var(--mdlm-ev-line-strong);
	border-radius: var(--mdlm-ev-radius-pill);
	background: var(--mdlm-ev-white);
	color: var(--mdlm-ev-blue-ink);
	font-family: var(--mdlm-ev-font-text);
	font-size: .8125rem;
	font-weight: 700;
	line-height: calc(2.125rem - 2px);
	text-decoration: none;
	transition: background-color var(--mdlm-ev-transition), border-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button:is(:hover, :focus) {
	border-color: var(--mdlm-ev-blue);
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-navy);
	text-decoration: none;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

/* « À venir » : titre de navigation. Reste un <button> — clavier, focus et
   ouverture du calendrier inchangés. TEC le rend en flex (bloc) : l'input de
   référence du datepicker reste sous lui, aligné à gauche. Ne jamais le
   repasser en inline-flex (voir la sidebar, 0.1.6). */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__datepicker {
	min-width: 0;
	margin: 0;
	padding: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-top-bar__datepicker-button {
	gap: .5rem;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: .25rem .375rem .25rem 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	box-shadow: none;
	color: var(--mdlm-ev-navy);
	font-family: var(--mdlm-ev-font-title);
	font-size: 1.3125rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.005em;
	text-align: left;
	text-shadow: none;
	text-transform: none;
	opacity: 1;
	cursor: pointer;
	transition: color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium button.tribe-events-c-top-bar__datepicker-button {
	font-size: 1.5rem;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-top-bar__datepicker-button :is(time, span) {
	color: inherit;
	font: inherit;
}

/* Pictogramme calendrier décoratif : content vide, jamais annoncé. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-top-bar__datepicker-button::before {
	content: "";
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B3D82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='3'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-top-bar__datepicker-button:is(:hover, :focus, :active) {
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--mdlm-ev-blue-ink);
	opacity: 1;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-top-bar__datepicker-button:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__datepicker-button-icon-svg {
	display: block;
	flex: 0 0 auto;
	width: 11px;
	height: 7px;
	margin: .125rem 0 0;
	color: var(--mdlm-ev-muted);
	transition: transform var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-top-bar__datepicker-button-icon-svg path {
	fill: currentColor;
}


/* ══ 6. CALENDRIER (DATEPICKER) ════════════════════════════════════════════
 *
 * ── POSITION ──────────────────────────────────────────────────────────────
 * Aucune déclaration position / top / left / display / z-index sur
 * .datepicker : place() les écrit en ligne, en coordonnées de document
 * (left = offset(input) − offset(conteneur)).
 *
 * « medium » : le conteneur TEC reste ancré sous « À venir », à 20,5 rem.
 * « mobile » : le bloc datepicker de TEC est étroit (l'en-tête y partage la
 * ligne avec les boutons de la barre) et son conteneur de 363 px sortait de
 * l'écran. Le bloc passe en position statique : le conteneur se cale sur
 * l'EN-TÊTE, pleine largeur, et place() recalcule depuis ses coordonnées —
 * le panneau s'ouvre sous le titre, sans jamais sortir de la vue.
 *
 * ── GRILLE ────────────────────────────────────────────────────────────────
 * Aucune cellule ne porte de largeur (table-layout: fixed) : sept colonnes
 * égales. Enseignement de la sidebar (0.1.6), sans dépendance envers elle. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-top-bar__datepicker-container {
	width: 20.5rem;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-common--breakpoint-medium) .tribe-events-c-top-bar__datepicker {
	position: static;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-common--breakpoint-medium) .tribe-events-c-top-bar__datepicker-container {
	right: 0;
	left: 0;
	width: auto;
	min-width: 0;
	max-width: none;
}

/* ── Panneau ───────────────────────────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker {
	box-sizing: border-box;
	width: 100%;
	max-width: 22rem;
	min-width: 0;
	margin-top: .5rem;
	padding: .5rem .625rem .625rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 14px;
	background: var(--mdlm-ev-white);
	box-shadow: 0 12px 32px rgba(11, 61, 130, .12), 0 2px 6px rgba(11, 61, 130, .05);
	color: var(--mdlm-ev-ink);
	font-family: var(--mdlm-ev-font-text);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker::before,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker::after {
	content: none;
}

/* Région d'annonce de bootstrap-datepicker : classe « sr-only » qu'aucune
   feuille du site ne définit. Masquée pour les yeux, toujours lue. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker .datepicker-live-region {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
	white-space: nowrap;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 2px;
	table-layout: fixed;
	background: transparent;
	font-size: inherit;
}

/* Cellules : ni bordure, ni rembourrage, ni zébrure (thème Hello). */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker :is(tr, th, td) {
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
}

/* Tous les boutons du calendrier : remise à zéro du thème et de bootstrap.
 *
 * CAUSE DU CONTOUR NOIR (0.1.15) — relevée dans views-full.css de TEC :
 * « .tribe-events .datepicker .day:hover / :focus / .focused » (et mois,
 * années, .current.focused, .active.focused) posent
 * outline: var(--tec-outline-active-default), soit 2px solid
 * var(--tec-color-border-active, #1a202c). Cette variable est calculée sur
 * :root : la redéfinir sur la vue ne la change pas. outline est donc remis à
 * zéro ici — poids 0,5,1, au-dessus des 0,5,0 de TEC — et le focus clavier
 * reçoit plus bas son anneau bleu MDLM. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button {
	outline: 0;
	outline-offset: 0;
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	height: 2.125rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	box-shadow: none;
	color: var(--mdlm-ev-ink);
	font-family: var(--mdlm-ev-font-text);
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1;
	text-shadow: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition), box-shadow var(--mdlm-ev-transition);
	-webkit-tap-highlight-color: transparent;
}

/* ── En-tête : ‹ septembre 2026 › ──────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.datepicker-switch, .prev, .next) {
	height: 2.25rem;
	border-radius: 9px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button.datepicker-switch {
	color: var(--mdlm-ev-navy);
	font-family: var(--mdlm-ev-font-title);
	font-size: .9375rem;
	font-weight: 700;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.prev, .next) {
	color: var(--mdlm-ev-muted);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker .tribe-events-c-top-bar__datepicker-nav-icon-svg {
	display: block;
	width: 7px;
	height: 12px;
	margin: 0 auto;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker .tribe-events-c-top-bar__datepicker-nav-icon-svg path {
	fill: currentColor;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.datepicker-switch, .prev, .next):hover {
	background: var(--mdlm-ev-hover);
	color: var(--mdlm-ev-blue-ink);
}

/* ── Jours de la semaine ───────────────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker th.dow {
	height: 1.75rem;
	color: #7C8FA4;
	font-family: var(--mdlm-ev-font-text);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	cursor: default;
}

/* ── Mois, années, décennies : grille de 4 ─────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker .datepicker-grid {
	gap: 4px;
	padding: .25rem 0 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.month, .year, .decade, .century) {
	height: 2.75rem;
	min-height: 0;
}

/* ── États, du plus faible au plus fort (écrits dans cet ordre) ─────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button.past {
	color: #8A9BAE;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.old, .new) {
	color: #B7C3D0;
	font-weight: 500;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century):is(:hover, .focused) {
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-navy);
}

/* Aujourd'hui (TEC .current, bootstrap .today) : fond très pâle et anneau
   bleu adouci de 1 px. Le cadre en ::before de TEC est retiré. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century):is(.current, .today) {
	background: var(--mdlm-ev-hover);
	box-shadow: inset 0 0 0 1px rgba(23, 143, 230, .45);
	color: var(--mdlm-ev-navy);
	font-weight: 700;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century):is(.current, .today)::before {
	content: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century):is(.current, .today):hover {
	background: var(--mdlm-ev-tint);
}

/* Sélectionné : bleu plein, texte blanc, ombre teintée — aucune bordure
   noire, aucun contour. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century).active,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century).active:is(:hover, .focused, .current, .today) {
	background: var(--mdlm-ev-blue-strong);
	box-shadow: 0 3px 8px rgba(11, 116, 194, .28);
	color: var(--mdlm-ev-white);
	font-weight: 700;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century, .prev, .next).disabled,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century, .prev, .next).disabled:hover {
	background: transparent;
	box-shadow: none;
	color: #C9D3DD;
	cursor: default;
}

/* Focus : jamais le contour noir du thème ; anneau bleu intérieur au clavier. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:focus {
	outline: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: -2px;
	box-shadow: none;
}

/* Jour sélectionné au clavier : un anneau bleu se perdrait sur le fond bleu —
   anneau blanc intérieur, fond et texte inchangés. Poids 0,8,1, écrit après la
   règle « sélectionné » de même poids : bootstrap pose .focused pendant la
   navigation au clavier, et cette règle ne doit pas effacer l'anneau. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .datepicker button:is(.day, .month, .year, .decade, .century).active:focus-visible {
	outline: 0;
	box-shadow: inset 0 0 0 2px var(--mdlm-ev-white), 0 3px 8px rgba(11, 116, 194, .28);
}


/* ══ 7. MESSAGES ═══════════════════════════════════════════════════════════
 * « Aucun évènement à venir », « Il n'y a pas d'évènements ce jour là »… :
 * information discrète, jamais une alerte — fond bleu très pâle, bordure
 * légère, pictogramme TEC en bleu (il suit currentColor). */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-messages__message {
	display: flex;
	align-items: center;
	gap: .625rem;
	box-sizing: border-box;
	margin: 0 0 1rem;
	padding: .875rem 1rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 14px;
	background: var(--mdlm-ev-hover);
	color: var(--mdlm-ev-muted);
	font-size: .9375rem;
	line-height: 1.5;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-messages__message-icon-svg {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--mdlm-ev-blue);
}


/* ══ 8. PRIX ═══════════════════════════════════════════════════════════════
 * Petit badge vert, texte TEC inchangé. Même rendu dans la liste, dans les
 * cases et le rendu mobile du mois, et dans l'infobulle du mois.
 *
 * DOUBLE CONTEXTE : l'infobulle est déplacée par Tooltipster dans <body>, hors
 * du widget ; elle est donc atteinte par body:has(...). Le :is() englobant est
 * une liste TOLÉRANTE : un navigateur sans :has() ignore ce seul contexte, et
 * la règle reste valable pour la vue. Jetons --mdlm-ev-green-* posés dans
 * mdlm-events-base.css, aussi sur l'infobulle. */

:is(:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view, body:is(.mdlm-events-category, .mdlm-events-tag-view, :has(:is(.mdlm-events-view, .mdlm-events-list))) .tooltipster-base.tribe-events-tooltip-theme) .tribe-events-c-small-cta__price {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 1.625rem;
	padding: .1875rem .6875rem;
	border: 1px solid var(--mdlm-ev-green-line);
	border-radius: var(--mdlm-ev-radius-pill);
	background: var(--mdlm-ev-green-tint);
	color: var(--mdlm-ev-green-ink);
	font-family: var(--mdlm-ev-font-text);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.2;
}

:is(:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view, body:is(.mdlm-events-category, .mdlm-events-tag-view, :has(:is(.mdlm-events-view, .mdlm-events-list))) .tooltipster-base.tribe-events-tooltip-theme) .tribe-events-c-small-cta__stock {
	color: var(--mdlm-ev-muted);
	font-size: .75rem;
	font-weight: 600;
}

:is(:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view, body:is(.mdlm-events-category, .mdlm-events-tag-view, :has(:is(.mdlm-events-view, .mdlm-events-list))) .tooltipster-base.tribe-events-tooltip-theme) a.tribe-events-c-small-cta__link {
	color: var(--mdlm-ev-blue-ink);
	font-size: .8125rem;
	font-weight: 700;
	text-decoration: none;
}

:is(:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view, body:is(.mdlm-events-category, .mdlm-events-tag-view, :has(:is(.mdlm-events-view, .mdlm-events-list))) .tooltipster-base.tribe-events-tooltip-theme) a.tribe-events-c-small-cta__link:is(:hover, :focus) {
	color: var(--mdlm-ev-navy);
	text-decoration: underline;
	text-underline-offset: .18em;
}


/* ══ 9. NAVIGATION BAS DE VUE ═══════════════════════════════════════════
 *   ─────────────────────────────────────────────────────────────────────
 *   ( ‹ Évènements précédents )                ( Évènements suivants › )
 *
 * « Aujourd'hui » n'existe qu'en « mobile » : TEC le masque en « medium » par
 * !important, et ce masquage est respecté. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-nav {
	margin: 1.5rem 0 0;
	padding: 1.125rem 0 0;
	border: 0;
	border-top: 1px solid var(--mdlm-el-line);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-nav__list {
	align-items: center;
	gap: .5rem 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-nav__list-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button):is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next) {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: .5rem;
	box-sizing: border-box;
	min-height: 2.5rem;
	margin: 0;
	padding: 0 1rem;
	border: 1px solid var(--mdlm-ev-line-strong);
	border-radius: var(--mdlm-ev-radius-pill);
	background: var(--mdlm-ev-white);
	box-shadow: none;
	color: var(--mdlm-ev-blue-ink);
	font-family: var(--mdlm-ev-font-text);
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-shadow: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), border-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button):is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next):is(:hover, :focus) {
	border-color: var(--mdlm-ev-blue);
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-navy);
	text-decoration: none;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button):is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next):focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

/* Désactivé : visible, mais en retrait. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, button):is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next):disabled {
	padding: 0 1rem;
	border: 1px solid var(--mdlm-el-line-soft);
	border-radius: var(--mdlm-ev-radius-pill);
	background: transparent;
	color: var(--mdlm-el-disabled);
	font-size: .875rem;
	cursor: default;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(.tribe-events-c-nav__prev-icon-svg, .tribe-events-c-nav__next-icon-svg) {
	display: block;
	flex: none;
	width: 7px;
	height: 12px;
	margin: 0;
	opacity: 1;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(.tribe-events-c-nav__prev-icon-svg, .tribe-events-c-nav__next-icon-svg) path {
	fill: currentColor;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-nav__today {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0 .875rem;
	border-radius: var(--mdlm-ev-radius-pill);
	background: var(--mdlm-ev-hover);
	color: var(--mdlm-ev-navy);
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-nav__today:is(:hover, :focus) {
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-blue-ink);
	text-decoration: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-nav__today:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

/* « mobile » : trois emplacements de 33 % ; les libellés longs se replient
   plutôt que de déborder. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-common--breakpoint-medium) :is(a, button):is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next) {
	padding: 0 .75rem;
	white-space: normal;
}


/* ══ 10. S'ABONNER AU CALENDRIER ═══════════════════════════════════════════
 * Bouton secondaire MDLM, aligné à droite en « medium », pleine largeur en
 * « mobile ». Le menu n'est jamais ouvert ni fermé ici : ical-links.js pose
 * un display en ligne sur __content. URLs intactes. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__container {
	display: flex;
	flex-flow: column;
	align-items: stretch;
	margin: 1.25rem 0 0;
	padding: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-subscribe-dropdown__container {
	align-items: flex-end;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown {
	position: relative;
	float: none;
	margin: 0;
	font-size: .875rem;
}

/* ── Bouton ────────────────────────────────────────────────────────────────
 * TEC : un DIV .__button enveloppe le vrai <button> et le chevron. Le DIV porte
 * le visuel ; le <button> reste nu et hérite. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	box-sizing: border-box;
	width: 100%;
	min-height: 2.625rem;
	margin: 0;
	padding: .375rem 1.125rem;
	border: 1px solid var(--mdlm-ev-blue);
	border-radius: 11px;
	background: var(--mdlm-ev-white);
	box-shadow: none;
	color: var(--mdlm-ev-blue-ink);
	font-family: var(--mdlm-ev-font-text);
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color var(--mdlm-ev-transition), border-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
	width: auto;
}

/* Pictogramme calendrier « + » décoratif. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button::before {
	content: "";
	flex: none;
	width: 1rem;
	height: 1rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A63B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='3'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4M12 13v5M9.5 15.5h5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Survol, focus, menu ouvert : bleu très pâle. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:is(:hover, :focus, :focus-within, .tribe-events-c-subscribe-dropdown__button--active) {
	border-color: var(--mdlm-ev-blue-strong);
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-navy);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:has(button:focus-visible) {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-subscribe-dropdown__button-text,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view button.tribe-events-c-subscribe-dropdown__button-text:is(:hover, :focus, :active) {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font-family: var(--mdlm-ev-font-text);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-shadow: none;
	white-space: nowrap;
	outline: none;
	cursor: pointer;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__button-icon {
	display: block;
	flex: none;
	width: 10px;
	height: 6px;
	margin: 0;
	color: currentColor;
	transition: transform var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__button-icon path {
	fill: currentColor;
}

/* ── Menu ──────────────────────────────────────────────────────────────── */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__content {
	position: absolute;
	top: calc(100% + .5rem);
	right: 0;
	left: 0;
	z-index: 60;
	box-sizing: border-box;
	width: auto;
	margin: 0;
	padding: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view.tribe-common--breakpoint-medium .tribe-events-c-subscribe-dropdown__content {
	left: auto;
	width: max-content;
	min-width: 100%;
	max-width: min(19rem, calc(100vw - 2rem));
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__list {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: .5rem;
	border: 1px solid var(--mdlm-el-line);
	border-radius: 14px;
	background: var(--mdlm-ev-white);
	box-shadow: var(--mdlm-ev-shadow-raised);
	list-style: none;
	transform: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__list-item,
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__list-item:is(:hover, :focus, :focus-within, :active) {
	margin: 0;
	padding: 0;
	border-radius: 9px;
	background: transparent;
	list-style: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-subscribe-dropdown__list-item + .tribe-events-c-subscribe-dropdown__list-item {
	margin-top: .125rem;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-subscribe-dropdown__list-item-link {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: .5625rem .75rem;
	border: 0;
	border-radius: 9px;
	background: transparent;
	box-shadow: none;
	color: var(--mdlm-ev-navy);
	font-family: var(--mdlm-ev-font-text);
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	text-decoration: none;
	transition: background-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-subscribe-dropdown__list-item-link:is(:hover, :focus, :active) {
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-blue-ink);
	font-family: var(--mdlm-ev-font-text);
	text-decoration: none;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-subscribe-dropdown__list-item-link:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: -2px;
}


/* ══ 11. MOUVEMENT RÉDUIT ══════════════════════════════════════════════════
 * Plus de transition. Les rotations de chevrons sont des états, elles restent. */

@media (prefers-reduced-motion: reduce) {
	:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(button, a, .tribe-events-c-search__input-control, .tribe-events-calendar-list__event-row, .tribe-events-c-subscribe-dropdown__button, svg) {
		transition: none;
	}
}


/* ══ 12. GOUTTIÈRES PAR APPAREIL ═══════════════════════════════════════════
 * Seule la respiration intérieure dépend de la fenêtre. Elle ne réduit
 * jamais fortement la largeur : le bloc exploite celle d'Elementor.
 *   desktop  (> 1024 px)   8 px
 *   tablette (≤ 1024 px)  18 px
 *   téléphone (≤ 767 px)  16 px */

@media (max-width: 1024px) {
	:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view {
		--mdlm-el-gutter: 18px;
	}
}

@media (max-width: 767px) {
	:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view {
		--mdlm-el-gutter: 16px;
	}
}


/* ══ 13. ARCHIVES DE CATÉGORIE (0.1.27) ET VUES ÉTIQUETTE (0.1.30) ═════════
 * /evenements/categorie/<slug>/ et /evenements/etiquette/<slug>/ — mêmes règles,
 * body:is(.mdlm-events-category, .mdlm-events-tag-view), poids de body.classe. Gabarit « Default Events Template » de TEC, sans
 * Elementor au milieu : la vue est posée directement dans <body>, sous
 * l'en-tête du site. Tout le reste de l'habillage vient des §§ 1 à 12 et des
 * feuilles de vue, par le même :is(). Ne sont écrits ici que les trois
 * besoins propres à ces archives, tous scopés par la classe de corps :
 *
 * ── EN-TÊTE DU SITE FIXE ──────────────────────────────────────────────────
 * Relevé sur la page : l'en-tête Elementor est en position FIXED (126 px de
 * haut en desktop, 112 px en tablette, 77 px sur téléphone) ; la vue
 * commençait à 0 et le titre passait dessous. Le rembourrage haut reprend le
 * SEUL jeton de décalage du plugin, --mdlm-ev-page-offset (164 / 140 / 112 px),
 * déjà consommé par la fiche événement : ~30 à 38 px d'air sous l'en-tête.
 * Barre d'administration : WordPress décale le document (html margin-top) ;
 * l'espace reste suffisant sans règle de plus.
 *
 * ── LARGEUR ───────────────────────────────────────────────────────────────
 * Pas de conteneur Elementor pour borner la vue : plafond de 1300 px (0.1.28 ;
 * 1440 px en 0.1.27), centré, et fond de page de la page Événements (#FAFCFF).
 * La vue est en border-box : 1300 px est la largeur réelle, gouttières
 * internes (--mdlm-el-gutter) comprises. En dessous, 100 % de la fenêtre.
 *
 * ── TITRE ET FIL D'ARIANE ─────────────────────────────────────────────────
 * Rendus par TEC, dynamiques (nom de la catégorie), jamais écrits ici. Le
 * titre reprend la hiérarchie de la fiche (Nunito 800, bleu marine) ; le fil
 * d'Ariane reste discret. Destination du lien « Évènements » : /evenements/,
 * posée en PHP par MDLM_Events_Archive_Breadcrumb (0.1.28, étiquettes 0.1.30).
 *
 * Survol — cause du double soulignement de 0.1.27 : TEC rend le lien avec la
 * classe tribe-common-anchor, qui porte une bordure basse de 2 px transparente,
 * pleine (currentColor) au survol, au focus et à l'appui
 * (.tribe-common .tribe-common-anchor:hover, common-full.css) ; la 0.1.27
 * ajoutait par-dessus un text-decoration: underline. Deux traits. La bordure
 * est désormais retirée dans tous les états ; le soulignement fin est le seul
 * effet de survol, avec le passage au bleu marine.
 */

body:is(.mdlm-events-category, .mdlm-events-tag-view) {
	background-color: #FAFCFF;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view {
	max-width: 1300px;
	margin-inline: auto;
	padding-top: var(--mdlm-ev-page-offset);
	padding-bottom: var(--mdlm-ev-space-zone);
}

/* Titre et fil d'Ariane occupent chacun toute la ligne, au-dessus de la barre. */
body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-header__title {
	flex: 0 0 100%;
	order: 0;
	margin: 0 0 .5rem;
	padding: 0;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-header__title-text {
	margin: 0;
	padding: 0;
	font-family: var(--mdlm-ev-font-title);
	font-size: clamp(1.75rem, 1.15rem + 1.9vw, 2.625rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--mdlm-ev-navy);
	overflow-wrap: break-word;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-header__breadcrumbs {
	flex: 0 0 100%;
	order: 0;
	margin: 0 0 1.25rem;
	padding: 0;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-breadcrumbs__list-item {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 0;
	font-size: .875rem;
	line-height: 1.4;
	color: var(--mdlm-ev-muted);
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-breadcrumbs__list-item-link {
	display: inline-flex;
	align-items: center;
	min-height: 1.75rem;
	border-radius: 6px;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--mdlm-ev-blue-ink);
	/* Bordure de .tribe-common-anchor retirée dans TOUS les états (0,5,2 contre
	   0,3,0 pour :hover / :focus / :active chez TEC) : seul trait possible, le
	   soulignement du survol. */
	border-bottom: 0;
	text-decoration: none;
	transition: color var(--mdlm-ev-transition);
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-breadcrumbs__list-item-link:hover {
	color: var(--mdlm-ev-navy);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: currentColor;
	text-underline-offset: 3px;
}

/* Focus : l'anneau seul, sans soulignement ni ombre du thème. */
body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-breadcrumbs__list-item-link:focus {
	outline: none;
	box-shadow: none;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-breadcrumbs__list-item-link:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
	color: var(--mdlm-ev-navy);
	text-decoration: none;
}

/* Chevron du fil d'Ariane : le <svg> DANS la liste, et lui seul (0.1.31). La
   classe seule ne suffit pas — voir « État vide » juste après. */
body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-breadcrumbs__list svg.tribe-events-c-breadcrumbs__list-item-icon-svg {
	flex: 0 0 auto;
	width: 6px;
	height: 10px;
	margin: 0 .5rem;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-breadcrumbs__list svg.tribe-events-c-breadcrumbs__list-item-icon-svg path {
	fill: #9AADC2;
}

/* ── ÉTAT VIDE : MESSAGE « AUCUN RÉSULTAT TROUVÉ. » (0.1.31) ───────────────
 *
 * CAUSE, relevée dans TEC 6.17.4.1 et mesurée sur /evenements/categorie/association/ :
 * breadcrumbs/linked-breadcrumb.php rend l'icône caret-right avec
 * [ 'classes' => [ 'tribe-events-c-breadcrumbs__list-item-icon-svg' ] ]. Le
 * contexte de Tribe__Template FUSIONNE les variables d'un gabarit à l'autre
 * sans les réinitialiser : components/messages.php, rendu ensuite sans
 * « classes » propres, reçoit cette classe d'icône sur son conteneur desktop
 * (.tribe-events-header__messages sans --mobile ; la variante --mobile passe
 * ses propres classes et n'est pas touchée). Seules les vues AVEC fil
 * d'Ariane — catégorie, étiquette — sont concernées.
 * Le conteneur recevait alors :
 *   - TEC views-skeleton  .tribe-events .tribe-events-c-breadcrumbs__list-item-icon-svg
 *     (0,2,0) : display inline-block (sans effet : les règles d'affichage de
 *     TEC sont plus lourdes), 8 × 8 px, marges latérales ;
 *   - ce plugin, ancienne règle du chevron (0,5,1) : 6 × 10 px, flex 0 0 auto,
 *     marges 0 8 px, qui écrasait le width: 100 % de TEC.
 * Boîte de 6 × 10 px, message rendu en colonne de 34 px de large et ~100 px
 * de haut, qui débordait sur la navigation basse, la grille du mois,
 * l'abonnement et le pied de page (vue Jour : 38 × 1057 px).
 *
 * CORRECTIF : la règle du chevron vise désormais le <svg> dans la liste ; ici,
 * la géométrie TEC d'origine du conteneur est rétablie (pleine largeur, hauteur
 * du contenu, aucune marge latérale). Les marges verticales, l'ordre et les
 * affichages par point de rupture restent ceux de TEC et des feuilles de vue
 * (vue Jour : marge haute de mdlm-events-day.css) : un seul message visible,
 * dans le flux, sans hauteur fixe ni positionnement. Aucun message masqué,
 * aucun bloc retiré du DOM.
 *
 * Classe parasite également constatée en vue Semaine (tribe-common-c-loader__dot,
 * tribe-events-pro-week-day-selector__next-icon-svg, …) : sans effet visible —
 * le width: 100 % de TEC l'emporte dans l'en-tête, et les messages des
 * panneaux de jour mobiles restent masqués par TEC. Non traitée. */
body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-header__messages.tribe-events-c-breadcrumbs__list-item-icon-svg {
	width: 100%;
	height: auto;
	margin-right: 0;
	margin-left: 0;
}

/* Même fuite, second effet : TEC remplit « .…-icon-svg path » (views-skeleton :
   currentcolor ; views-full : --tec-color-icon-primary, chargée APRÈS le
   fill: none natif de common-skeleton, à poids égal). Le pictogramme « aucun
   résultat » devenait un carré plein. Son tracé d'origine est rétabli. */
body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-header__messages.tribe-events-c-breadcrumbs__list-item-icon-svg .tribe-common-c-svgicon--messages-not-found path {
	fill: none;
}

/* Encart « Aucun résultat trouvé. » : largeur naturelle, aligné à gauche sous la
   navigation de date, dans les deux variantes (desktop / --mobile). TEC le
   centrait sur toute la largeur en « medium ». Habillage (fond, bordure, rayon,
   pictogramme) : celui du § 7. Vues Jour et Semaine exclues : leur message
   d'en-tête a son propre encart pleine largeur (mdlm-events-day.css,
   mdlm-events-week.css). Messages de l'EN-TÊTE seulement (enfant direct de
   .tribe-events-header) : TEC réutilise .tribe-events-header__messages pour
   « Il n'y a pas d'évènements ce jour là » dans les jours du mois « mobile »,
   hors en-tête — ceux-là gardent leur rendu. */
body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view:not(.tribe-events-view--day):not(.tribe-events-view--week) .tribe-events-header > .tribe-events-header__messages .tribe-events-c-messages__message--notice {
	width: fit-content;
	max-width: 100%;
	justify-content: flex-start;
}

body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .tribe-events-c-breadcrumbs__list-item-text {
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--mdlm-ev-ink);
	overflow-wrap: break-word;
}

@media (prefers-reduced-motion: reduce) {
	body:is(.mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.tribe-events-c-breadcrumbs__list-item-link {
		transition: none;
	}
}


/* ══ 14. NOMBRE D'ÉVÉNEMENTS AFFICHÉS (0.1.37) ═════════════════════════════
 *
 *   ( ‹ ) ( › )  ( Aujourd'hui )   📅 À venir ▾
 *                                      Afficher :  ( 12 ) ( 24 ) ( Tous )
 *
 * Composant du PLUGIN, rendu par le serveur dans l'en-tête de la vue, juste
 * après la ligne de navigation de date. Depuis 0.1.38, il n'existe QUE dans la
 * vue de la page Événements (/evenements/), et seulement en Liste, Photo et
 * Plan : ni en Mois, ni en Jour, ni en Semaine, et sur AUCUNE autre instance de
 * vue TEC du site — accueil, sidebar d'une fiche, archives, /events/. Ces
 * règles sont donc inertes partout ailleurs, faute de balisage à atteindre.
 *
 * L'en-tête de TEC est une grille flexible dont chaque enfant occupe toute la
 * largeur : le sélecteur prend donc sa propre ligne, sans rien déplacer. Il
 * est aligné à droite en desktop — sous « À venir », qui y est déjà — et
 * passe à gauche sur téléphone, où toute la barre est alignée à gauche.
 *
 * Aucune couleur, aucun rayon, aucune ombre nouvelle : les pastilles au repos
 * reprennent celles d'« Aujourd'hui » (§ 5) et de la navigation bas (§ 9), et
 * le choix actif celles du JOUR SÉLECTIONNÉ du calendrier (§ 6) — bleu plein,
 * texte blanc. C'est le même motif : un seul élu parmi plusieurs pastilles.
 * Une teinte claire avait d'abord été essayée ; à l'écran, elle se confondait
 * avec le survol d'une pastille voisine, et le choix actif doit rester lisible
 * en toute circonstance.
 *
 * Le choix actif n'est pas un lien : c'est un <span aria-current="true">, comme
 * la page courante de la pagination de [mdlm_past_events]. Il ne se survole pas
 * et ne prend pas le focus — il n'y a rien à y activer. */

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .mdlm-events-perpage {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	gap: .375rem .625rem;
	margin: .625rem 0 0;
	padding: 0;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .mdlm-events-perpage__label {
	color: var(--mdlm-ev-muted);
	font-family: var(--mdlm-ev-font-text);
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.2;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .mdlm-events-perpage__choices {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem;
	min-width: 0;
}

/* Pastille : le gabarit d'« Aujourd'hui » (§ 5), en un peu plus compact.
   Qualifiée par la balise : le thème et le kit Elementor donnent aux liens
   leur propre couleur et un soulignement. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, span).mdlm-events-perpage__choice {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 2.5rem;
	height: 2rem;
	margin: 0;
	padding: 0 .75rem;
	border: 1px solid var(--mdlm-ev-line-strong);
	border-radius: var(--mdlm-ev-radius-pill);
	background: var(--mdlm-ev-white);
	box-shadow: none;
	color: var(--mdlm-ev-blue-ink);
	font-family: var(--mdlm-ev-font-text);
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	white-space: nowrap;
	transition: background-color var(--mdlm-ev-transition), border-color var(--mdlm-ev-transition), color var(--mdlm-ev-transition);
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.mdlm-events-perpage__choice:is(:hover, :focus) {
	border-color: var(--mdlm-ev-blue);
	background: var(--mdlm-ev-tint);
	color: var(--mdlm-ev-navy);
	text-decoration: none;
	outline: none;
}

:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view a.mdlm-events-perpage__choice:focus-visible {
	outline: 2px solid var(--mdlm-ev-blue);
	outline-offset: 2px;
}

/* Actif : bleu plein et texte blanc (≈ 4,9:1), comme le jour sélectionné du
   calendrier. Aucun survol ne peut lui ressembler. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view span.mdlm-events-perpage__choice--current {
	border-color: var(--mdlm-ev-blue-strong);
	background: var(--mdlm-ev-blue-strong);
	color: var(--mdlm-ev-white);
	font-weight: 800;
	cursor: default;
}

/* Complément lu par les lecteurs d'écran (« 24 événements (sélection
   actuelle) ») : jamais visible, jamais dans le flux. */
:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .mdlm-events-perpage__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

@media (max-width: 767px) {
	:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view .mdlm-events-perpage {
		justify-content: flex-start;
		gap: .375rem .5rem;
		margin-top: .5rem;
	}

	:is(.mdlm-events-view, .mdlm-events-list, .mdlm-events-category, .mdlm-events-tag-view) .tribe-common.tribe-events.tribe-events-view :is(a, span).mdlm-events-perpage__choice {
		min-width: 2.25rem;
		padding: 0 .625rem;
	}
}
