/* Calendrier (The Events Calendar) — alignement sur l'identité visuelle du site */

.tribe-common {
  --tec-font-family-sans-serif: var(--font-corps);
  --tec-font-family-base: var(--font-corps);
  --tec-border-radius-default: var(--radius);
}

.tribe-events-c-view-selector,
.tribe-events-c-subscribe-dropdown {
  font-family: var(--font-ui);
}

/* ── Entête (.page-entete--calendrier) : titre + fil d'Ariane seulement ──
   Recherche/toggle/nav de dates restent le rendu natif de TEC juste en
   dessous (components/header.php non modifié).
   Depuis tribe/events/v2/default-template.php (override du wrapper Kadence),
   ce bandeau n'est plus imbriqué dans .content-container.site-container —
   il est pleine largeur nativement, comme .page-entete sur page.php. Reste
   seulement à re-battre le reset générique de TEC (.tribe-common
   a,div,section,…{margin:0;padding:0;border:0}, sélecteur classe+type,
   spécificité 0,1,1) sur les quelques propriétés qu'il touche encore, avec
   des sélecteurs à 2 classes (0,2,0) — pas besoin de !important. */

.page-entete--calendrier.page-entete {
  padding: 3.5rem 0 2.5rem;
}
@media (max-width: 980px) {
  .page-entete--calendrier.page-entete {
    padding: 2.5rem 1.25rem 2rem;
  }
}
/* Cellulaire : même compensation que .page-entete dans main.css (fil d'Ariane masqué). */
@media (max-width: 640px) {
  .page-entete--calendrier.page-entete {
    padding-top: 4.5rem;
  }
}

.page-entete--calendrier .page-entete-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Fil d'Ariane identique à page.php — display:flex explicite requis : le
   reset générique de TEC force .tribe-common nav (classe+type, 0,1,1) en
   display:block, ce qui neutralise silencieusement justify-content ET
   fait retomber la couleur des liens sur le gris foncé par défaut. */
.page-entete--calendrier .fil-ariane {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}
/* `:visited` explicite : ce fil d'Ariane est imbriqué dans `.tribe-common`, et
   TEC a `.tribe-common a:visited { color: var(--tec-color-text-primary) }` (foncé,
   spécificité 0,2,1 = égale à `.page-entete--calendrier .fil-ariane a`). « Accueil »
   étant un lien visité, il retombait au gris foncé de TEC. Le sélecteur avec
   `:visited` (0,3,1) reprend la main. */
.page-entete--calendrier .fil-ariane a,
.page-entete--calendrier .fil-ariane a:visited {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
.page-entete--calendrier .fil-ariane a:hover,
.page-entete--calendrier .fil-ariane a:focus {
  color: #fff;
  text-decoration: underline;
}
.page-entete--calendrier .fil-ariane span.sep {
  opacity: 0.5;
}
.page-entete--calendrier .fil-ariane span.courant {
  color: #fff;
  font-weight: 600;
}

/* ── Entête de la fiche événement (tribe-events/single-event.php) ──
   .page-entete/.page-entete-inner/.fil-ariane/h1 réutilisent tel quel le CSS
   de base de page.php (main.css) : contrairement à l'archive du calendrier,
   cette section n'est jamais imbriquée sous .tribe-common (le seul wrapper
   .tribe-common de la page single entoure juste le widget "Ajouter au
   calendrier", plus bas dans le contenu) — pas de reset générique TEC à
   rebattre ici, aucun sélecteur à 2 classes requis. */
.page-entete--evenement .page-resume--lien {
  display: inline-block;
  text-decoration: none;
}
.page-entete--evenement .page-resume--lien:hover {
  text-decoration: underline;
}

/* Espace au-dessus de la barre de recherche/nav de dates réduit de moitié
   (96px natif TEC → 48px, demande Jocelyn). Règle TEC source :
   .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container
   (2 classes, 0,2,0) — même spécificité battue ici en ajoutant le scope
   body.tribe-events-page-template (déjà présent sur toutes les vues TEC),
   sans !important. */
body.tribe-events-page-template .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
  padding-top: 48px;
}

/* Le reset .tribe-common span{padding:0;...} de TEC écrase .evenement-categorie — priorité forcée ici. */
.tec-events-calendar-list__event-categories .evenement-categorie {
  padding: 3px 10px;
}

/* ── Filtre par catégorie (components/filter-bar.php) ──
   Reprend .bottin-filtres/.bottin-filtre (archive-law_equipe.php) tel quel
   pour le layout — la 2e classe .calendrier-filtre(s) sert aussi à battre le
   reset générique de TEC (.tribe-common a,div,…{margin:0;padding:0;border:0},
   0,1,1) sans !important : nos sélecteurs à 2 classes (0,2,0) suffisent. */
.bottin-filtres.calendrier-filtres {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 1200px;
  margin: 1.5rem auto 2rem;
  padding: 0 1.5rem;
}
.bottin-filtre.calendrier-filtre {
  --cat-bg: var(--bleu);
  --cat-fg: #fff;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--blanc);
  color: var(--gris-moyen);
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.bottin-filtre.calendrier-filtre:hover {
  border-color: var(--cat-bg);
  color: var(--cat-bg);
}
.bottin-filtre.calendrier-filtre.is-active {
  background: var(--cat-bg);
  color: var(--cat-fg);
  border-color: var(--cat-bg);
}
.calendrier-filtre-puce {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cat-bg);
  flex-shrink: 0;
}
.bottin-filtre.calendrier-filtre.is-active .calendrier-filtre-puce {
  background: var(--cat-fg);
}

/* ── Fiche événement : mise en page 2/3-1/3 (tribe-events/single-event.php) ──
   Inspirée de entre-val.com/evenement/... — DÉTAILS (modules/meta) et
   "Ajouter au calendrier" dans une colonne latérale alignée avec le haut du
   contenu, plutôt que repoussés tout en bas de la page. */
.evenement-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (max-width: 980px) {
  .evenement-layout {
    grid-template-columns: 1fr;
  }
}

/* #tribe-events-footer (nav prev/next) enfant direct de .evenement-layout,
   pas de .evenement-corps — occupe les 2 colonnes du grid (100% de la
   largeur) plutôt que les 2/3. */
.evenement-layout > #tribe-events-footer {
  grid-column: 1 / -1;
}

/* Liens PDF dans la description d'un événement : même icône « document »
   que les listes .liste-documents (ordres du jour, procès-verbaux) — voir
   assets/css/main.css .liste-documents li a::before. Cible tout lien dont
   l'URL se termine par .pdf (drapeau « i » = insensible à la casse), qu'il
   soit isolé dans un paragraphe ou dans une <ul>. */
/* TEC (tribe-events-single-full.css) met un border-bottom:1px sur
   .tribe-events-content a au repos ET au hover — on le retire pour les
   liens PDF, et on garde seulement un souligné (text-decoration) au hover. */
.tribe-events-single-event-description a[href$=".pdf" i] {
  text-decoration: none;
  border-bottom: 0;
}
.tribe-events-single-event-description a[href$=".pdf" i]:hover {
  text-decoration: underline;
  border-bottom: 0;
  color: var(--bleu-clair);
}
.tribe-events-single-event-description a[href$=".pdf" i]::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  vertical-align: -3px;
  background: var(--bleu-clair);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.evenement-aside {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
/* Kadence force order:2 sur .tribe-events-single-section (pensé pour un
   autre contexte flex) — neutralisé ici, sinon ce flex column réordonne
   DÉTAILS après le bouton "Ajouter au calendrier". */
.evenement-aside .tribe-events-single-section {
  order: 0;
}

/* Carte DÉTAILS : reprend le bloc natif TEC (modules/meta/details.php) —
   habillage carte + titre sur bandeau bleu, même esprit que .carte-bottin.
   Pas de bordure (demande de Jocelyn : plus aucune bordure grise dans le
   single) — le fond gris-pale suffit à distinguer la carte du fond blanc. */
.evenement-aside .tribe-events-single-section {
  margin: 0;
  padding: 0;
  background: var(--gris-pale);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.evenement-aside .tribe-events-meta-group {
  padding: 0;
}
.evenement-aside .tribe-events-meta-group-details {
  border: 1px solid var(--bleu);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.evenement-aside .tribe-events-single-section-title {
  margin: 0;
  padding: 12px 20px;
  background: var(--bleu);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.evenement-aside .tribe-events-meta-list {
  padding: 18px 20px;
}
.evenement-aside .tribe-events-meta-item {
  padding: 0 0 12px;
}
.evenement-aside .tribe-events-meta-item:last-child {
  padding-bottom: 0;
}
.evenement-aside .tribe-events-meta-label {
  display: block;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  color: var(--gris-moyen);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 2px;
}
.evenement-aside .tribe-events-meta-value {
  font-size: 15px;
  color: var(--gris-fonce);
}

.evenement-aside-calendrier .tribe-events-c-subscribe-dropdown__container {
  width: 100%;
}
.evenement-aside-calendrier .tribe-common-c-btn-border {
  width: 100%;
  text-align: center;
}

/* ── Container large 1200px, pas "boxed" (demande Jocelyn) ──
   #tribe-events-pg-template porte le CSS natif TEC en sélecteur ID
   (tribe-events-single-skeleton.css : max-width 1048px, spécificité 1,0,0,
   imbattable en classes) — !important nécessaire, même logique que le fix
   d'origine de l'entête (voir tribe/events/v2/default-template.php). Aligné
   sur .page-entete-inner : max-width 1200px, padding 0 1.5rem. */
#tribe-events-pg-template {
  max-width: 1200px !important;
  padding-top: 0 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* "Boxed" (fond blanc + ombre + radius sur #tribe-events-content, généré par
   le réglage Kadence Content Style) retiré — le contenu repose directement
   sur le fond de page. */
#tribe-events-content {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Bordures grises restantes retirées partout dans le single (demande
   Jocelyn) — les deux sélecteurs viennent de tribe-events-single-full.css
   (#tribe-events-footer en ID, et le séparateur générique entre
   .tribe-events-event-meta et la section suivante) : !important nécessaire,
   spécificité ID ou combinaison classe+:not() difficile à battre proprement. */
#tribe-events-footer {
  border-top: none !important;
}
.tribe-events-event-meta::before,
.tribe-events-event-meta ~ div:not(.tribe-events-event-meta, .event-tickets) {
  border-top: none !important;
}

/* Nav prev/next 100% de la largeur, précédent à gauche / suivant à droite —
   TEC met déjà .tribe-events-sub-nav en justify-content:space-between,
   mais sans largeur explicite l'UL ne prend que la largeur de son contenu
   (et le sélecteur générique nav{justify-content:flex-end} du site le
   pousse tout à droite) : width:100% suffit, pas besoin de toucher au reste. */
.tribe-events-single .tribe-events-sub-nav {
  width: 100%;
}

/* Prev/next en 14px (au lieu de 16px) — les flèches «/» sont de simples
   caractères dans un <span>, pas des icônes séparées : la font-size du
   parent suffit à les réduire en même temps que le texte. */
.tribe-events-nav-previous,
.tribe-events-nav-next {
  font-size: 14px;
}

/* Bord supérieur de la grille du mois. TEC dessine le bord gauche
   (.tribe-events-calendar-month__week, border-left), les bords droit et bas
   (.tribe-events-calendar-month__day, border-right/-bottom) en #e4e4e4 1px,
   mais laisse le haut de la grille ouvert — on ferme la boîte sur la 1re
   rangée de semaine. */
.tribe-events-calendar-month__body > .tribe-events-calendar-month__week:first-child {
  border-top: 1px solid #e4e4e4;
}

/* Datepicker (vue Mois) : TEC colore le jour/mois/année courant avec
   --tec-color-accent-primary sur --tec-color-accent-primary-background-datepicker,
   qui se confondent avec notre accent — texte forcé en #333. Sélecteur
   .tribe-common.tribe-events (0,5,0) pour battre .tribe-events .datepicker
   .{day,month,year}.current (0,4,0) peu importe l'ordre de chargement. */
.tribe-common.tribe-events .datepicker .day.current,
.tribe-common.tribe-events .datepicker .month.current,
.tribe-common.tribe-events .datepicker .year.current {
  color: #333;
}

/* Menu déroulant du sélecteur de vue (mobile seulement — en desktop c'est
   la barre d'onglets, transparente, cf. main.css) : fond blanc explicite. */
.tribe-common.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-view-selector .tribe-events-c-view-selector__content {
  background-color: #fff;
}
