/* ============================================================
   AFMA — Programme Semaine FINAL
   The Events Calendar Pro — habillage complet
   Testé et validé sur https://arcs.harvest.agency/events/semaine/

   Architecture DOM vérifiée :
   ├── header.tribe-events-header
   │   ├── .tribe-events-c-events-bar        (recherche)
   │   └── .tribe-events-c-top-bar           (sélecteur vues)
   │       ├── .__nav / .__today-button       → display:none (remplacés)
   │       └── .tribe-events-c-view-selector → gardé
   └── div.tribe-events-pro-week-grid
       ├── .__header  (display forcé par JS)
       │   ├── [.afma-programme-bar]   injecté JS
       │   ├── [.afma-nav-bar]         injecté JS
       │   ├── [.afma-filters]         injecté JS
       │   └── .__header-row           LUN 20 … DIM 26
       └── .__body
           ├── .__multiday-events-*
           └── .__events-scroll-wrapper → .__events-row
               ├── .__events-row-header  masqué
               └── .__events-day (×7) → article.__event
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@400;500;600&display=swap');

:root {
  --afma-red:       #E3001B;
  --afma-navy:      #0D1B2A;
  --afma-white:     #FFFFFF;
  --afma-grey-bg:   #F5F5F5;
  --afma-grey-line: #E0E0E0;
  --afma-grey-txt:  #6B7280;
  --f-cond:         'Barlow Condensed', 'Oswald', sans-serif;
  --f-body:         'Barlow', 'Open Sans', sans-serif;
}

/* ──────────────────────────────────────────────────────────────
   1. HEADER — BARRE RECHERCHE + SÉLECTEUR DE VUES
   ────────────────────────────────────────────────────────────── */
.tribe-events-header {
  background: var(--afma-red) !important;
  padding: 0 !important;
  border-bottom: none !important;
}
.tribe-events-header__events-bar {
  background: transparent !important;
  border: none !important;
  padding: 18px 32px 14px !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.tribe-events-c-events-bar__search-container { flex: 1 1 220px !important; }
.tribe-events-c-events-bar__search {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 4px !important;
}
.tribe-events-c-search__input-group { background: transparent !important; border: none !important; }
.tribe-events-c-search__keyword-input,
.tribe-events-c-search__input-group input[type="text"] {
  background: transparent !important;
  color: var(--afma-white) !important;
  font-family: var(--f-body) !important;
  border: none !important;
  outline: none !important;
  padding: 10px 14px !important;
}
.tribe-events-c-search__keyword-input::placeholder,
.tribe-events-c-search__location-input::placeholder { color: rgba(255,255,255,0.55) !important; }
.tribe-events-c-search__button, .tribe-common-c-btn {
  background: var(--afma-white) !important;
  color: var(--afma-red) !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: var(--f-cond) !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  transition: background .2s, color .2s !important;
}
.tribe-events-c-search__button:hover, .tribe-common-c-btn:hover {
  background: var(--afma-navy) !important;
  color: var(--afma-white) !important;
}

/* Top-bar : masquer nav native (remplacée par afma-nav-bar) */
.tribe-events-c-top-bar__nav,
.tribe-events-c-top-bar__today-button,
.tribe-events-c-top-bar__datepicker { display: none !important; }

.tribe-events-c-top-bar.tribe-events-header__top-bar {
  background: rgba(0,0,0,0.18) !important;
  padding: 6px 32px !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  justify-content: flex-end !important;
  align-items: center !important;
  min-height: 0 !important;
}

/* Sélecteur de vues (dropdown) */
.tribe-events-c-view-selector__button {
  background: rgba(255,255,255,0.15) !important;
  color: var(--afma-white) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 4px !important;
  font-family: var(--f-body) !important;
  font-size: .82rem !important;
  padding: 6px 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background .2s !important;
}
.tribe-events-c-view-selector__button:hover { background: rgba(255,255,255,0.28) !important; }
.tribe-events-c-view-selector__button .tribe-common-c-svgicon__svg-fill { fill: white !important; }
.tribe-events-c-view-selector__content {
  background: var(--afma-white) !important;
  border: 1px solid var(--afma-grey-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.13) !important;
  padding: 4px 0 !important;
  min-width: 170px !important;
  z-index: 200 !important;
}
.tribe-events-c-view-selector__list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.tribe-events-c-view-selector__list-item-link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
  color: var(--afma-navy) !important;
  font-family: var(--f-body) !important;
  font-size: .875rem !important;
  transition: background .15s !important;
}
.tribe-events-c-view-selector__list-item-link:hover { background: var(--afma-grey-bg) !important; }
.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
  color: var(--afma-red) !important;
  font-weight: 700 !important;
}
.tribe-events-c-view-selector__list-item-icon { width: 18px; height: 18px; flex-shrink: 0; }
.tribe-events-c-view-selector__list-item-icon svg { width: 100%; height: 100%; }
.tribe-common-c-svgicon__svg-fill { fill: currentColor !important; }

/* Masquer navs natives remplacées */
.tribe-events-pro-week-day-selector,
.tribe-events-c-nav { display: none !important; }

/* ──────────────────────────────────────────────────────────────
   2. BARRE PROGRAMME (injectée JS dans .__header)
   ────────────────────────────────────────────────────────────── */
.afma-programme-bar { background: var(--afma-red); padding: 0 32px; margin: 0; }
.afma-programme-bar__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 22px 0 18px;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.afma-programme-bar__title {
  font-family: var(--f-cond);
  font-size: 2.4rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--afma-white);
  margin: 0;
  line-height: 1;
}
.afma-programme-bar__period {
  font-family: var(--f-cond);
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
}

/* ──────────────────────────────────────────────────────────────
   3. BARRE NAV prev/next/today (injectée JS dans .__header)
   ────────────────────────────────────────────────────────────── */
.afma-nav-bar {
  background: var(--afma-white);
  padding: 12px 32px;
  border-bottom: 1px solid var(--afma-grey-line);
  display: flex;
  align-items: center;
  gap: 10px;
}
.afma-nav-btn {
  width: 32px; height: 32px;
  background: var(--afma-white);
  border: 1px solid var(--afma-grey-line);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: var(--afma-navy);
  font-size: 1.1rem;
  text-decoration: none;
  flex-shrink: 0;
  line-height: 1;
  transition: all .2s;
}
.afma-nav-btn:hover { background: var(--afma-red); border-color: var(--afma-red); color: var(--afma-white); }
.afma-nav-today {
  background: var(--afma-white);
  border: 1px solid var(--afma-grey-line);
  border-radius: 4px;
  color: var(--afma-navy);
  font-family: var(--f-body);
  font-size: .8rem;
  font-weight: 500;
  padding: 6px 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: all .2s;
}
.afma-nav-today:hover { background: var(--afma-navy); color: var(--afma-white); }
.afma-nav-week-label {
  font-family: var(--f-cond);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--afma-navy);
  margin-left: 4px;
  letter-spacing: .02em;
}

/* ──────────────────────────────────────────────────────────────
   4. FILTRES par catégorie (injectés JS dans .__header)
      Classe "afma-filters" intentionnelle (pas "afma-tabs")
   ────────────────────────────────────────────────────────────── */
.afma-filters {
  display: flex !important;
  border-bottom: 2px solid var(--afma-grey-line) !important;
  padding: 0 32px !important;
  background: var(--afma-white) !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  margin: 0 !important;
}
.afma-filters::-webkit-scrollbar { display: none !important; }
.afma-filter-btn {
  font-family: var(--f-cond) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--afma-grey-txt) !important;
  padding: 14px 20px !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: color .2s, border-color .2s !important;
}
.afma-filter-btn:hover { color: var(--afma-navy) !important; }
.afma-filter-btn.active { color: var(--afma-navy) !important; border-bottom-color: var(--afma-navy) !important; }

/* ──────────────────────────────────────────────────────────────
   5. EN-TÊTES JOURS .__header-row
      display forcé par JS (TEC met display:none par défaut)
   ────────────────────────────────────────────────────────────── */
.tribe-events-pro-week-grid__header { background: var(--afma-white) !important; }
.tribe-events-pro-week-grid__header-row {
  display: flex !important;
  background: var(--afma-white) !important;
  border-bottom: 2px solid var(--afma-grey-line) !important;
}
.tribe-events-pro-week-grid__header-column--empty { display: none !important; }
.tribe-events-pro-week-grid__header-column {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  text-align: center !important;
  padding: 14px 6px 12px !important;
  border-right: 1px solid var(--afma-grey-line) !important;
}
.tribe-events-pro-week-grid__header-column:last-child { border-right: none !important; }
.tribe-events-pro-week-grid__header-column-weekday {
  font-family: var(--f-cond) !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--afma-grey-txt) !important;
  display: block !important;
  margin-bottom: 2px !important;
}
.tribe-events-pro-week-grid__header-column-daynum {
  font-family: var(--f-cond) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: var(--afma-red) !important;
  line-height: 1 !important;
  display: block !important;
}
.tribe-events-pro-week-grid__header-column-daynum-link { color: var(--afma-red) !important; text-decoration: none !important; }
.tribe-events-pro-week-grid__header-column-daynum-link:hover { opacity: .7 !important; }

/* ──────────────────────────────────────────────────────────────
   6. GRILLE — reset positionnement timeline → cartes empilées
   ────────────────────────────────────────────────────────────── */
.tribe-events-pro-week-grid__events-row-header { display: none !important; }
.tribe-events-pro-week-grid__events-scroll-wrapper { overflow: visible !important; height: auto !important; max-height: none !important; }
.tribe-events-pro-week-grid__events-row-outer-wrapper,
.tribe-events-pro-week-grid__events-row-wrapper { height: auto !important; overflow: visible !important; }
.tribe-events-pro-week-grid__events-row {
  display: flex !important;
  align-items: stretch !important;
  height: auto !important;
  min-height: 280px !important;
  overflow: visible !important;
}
.tribe-events-pro-week-grid__events-day {
  position: static !important;
  display: block !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 10px 6px !important;
  border-right: 1px solid var(--afma-grey-line) !important;
  overflow: visible !important;
}
.tribe-events-pro-week-grid__events-day:last-child { border-right: none !important; }
.tribe-events-pro-week-grid__events-day.afma-col-empty { opacity: .35 !important; }
.tribe-events-pro-week-grid__events-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
}
.tribe-events-pro-week-grid__events-list > li { position: static !important; display: block !important; width: 100% !important; height: auto !important; padding: 0 !important; margin: 0 !important; }

/* ──────────────────────────────────────────────────────────────
   7. CARTE ÉVÉNEMENT
   ────────────────────────────────────────────────────────────── */
.tribe-events-pro-week-grid__event {
  position: static !important; top: auto !important; left: auto !important;
  width: 100% !important; height: auto !important; min-height: unset !important;
  display: block !important; background: transparent !important;
  border: none !important; border-bottom: 1px solid var(--afma-grey-line) !important;
  border-radius: 0 !important; padding: 8px 4px !important; margin: 0 !important;
  box-shadow: none !important; cursor: pointer !important; overflow: visible !important;
  transition: background .15s !important;
}
.tribe-events-pro-week-grid__event:last-child { border-bottom: none !important; }
.tribe-events-pro-week-grid__event:hover { background: var(--afma-grey-bg) !important; border-radius: 4px !important; border-bottom-color: transparent !important; }
.tribe-events-pro-week-grid__event-link { display: block !important; text-decoration: none !important; color: inherit !important; }
.tribe-events-pro-week-grid__event-link-inner { display: flex !important; flex-direction: column !important; gap: 3px !important; }
.tribe-events-pro-week-grid__event-datetime { display: flex !important; align-items: center !important; gap: 4px !important; }
.tribe-events-pro-week-grid__event-datetime time { font-family: var(--f-cond) !important; font-size: .92rem !important; font-weight: 700 !important; color: var(--afma-red) !important; line-height: 1 !important; }
.tribe-events-pro-week-grid__event-datetime::after { content: '›' !important; color: var(--afma-grey-txt) !important; font-size: 1rem !important; font-family: var(--f-cond) !important; }
.tribe-events-pro-week-grid__event-title { font-family: var(--f-cond) !important; font-size: .85rem !important; font-weight: 700 !important; color: var(--afma-navy) !important; line-height: 1.25 !important; margin: 0 !important; letter-spacing: .01em !important; }
.tribe-events-pro-week-grid__event-tooltip-template { display: none !important; }

/* Badges catégorie (injectés JS) */
.afma-cat { font-family: var(--f-body); font-size: .58rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; padding: 1px 6px; border-radius: 2px; display: inline-block; margin-bottom: 1px; line-height: 1.5; background: var(--afma-grey-bg); color: var(--afma-grey-txt); }
.tribe_events_cat-temps-forts .afma-cat               { background: #fff0f0; color: var(--afma-red); }
.tribe_events_cat-conferences-masterclasses .afma-cat { background: #eef2ff; color: #3730A3; }
.tribe_events_cat-concerts-en-villages .afma-cat      { background: #eff6ff; color: #1D4ED8; }
.tribe_events_cat-jeune-public .afma-cat              { background: #f0fdf4; color: #166534; }

/* Lieu (injecté JS) */
.afma-venue { font-family: var(--f-body); font-size: .67rem; color: var(--afma-grey-txt); display: flex; align-items: flex-start; gap: 3px; line-height: 1.3; margin-top: 1px; }
.afma-venue-pin { flex-shrink: 0; font-size: .6rem; margin-top: 1px; }

/* ──────────────────────────────────────────────────────────────
   8. MULTI-DAY EVENTS
   ────────────────────────────────────────────────────────────── */
.tribe-events-pro-week-grid__multiday-events-row-outer-wrapper,
.tribe-events-pro-week-grid__multiday-events-row-wrapper { overflow: visible !important; height: auto !important; }
.tribe-events-pro-week-grid__multiday-events-row-header { display: none !important; }
.tribe-events-pro-week-grid__multiday-events-row { display: flex !important; padding: 4px 0 !important; border-bottom: 1px solid var(--afma-grey-line) !important; }
.tribe-events-pro-week-grid__multiday-events-day { flex: 1 1 0 !important; min-width: 0 !important; padding: 2px 4px !important; border-right: 1px solid var(--afma-grey-line) !important; min-height: 24px !important; }
.tribe-events-pro-week-grid__multiday-events-day:last-child { border-right: none !important; }
.tribe-events-pro-week-grid__multiday-event { background: var(--afma-red) !important; border: none !important; border-radius: 3px !important; padding: 3px 8px !important; margin-bottom: 2px !important; overflow: hidden !important; }
.tribe-events-pro-week-grid__multiday-event-bar { background: transparent !important; }
.tribe-events-pro-week-grid__multiday-event-bar-title,
.tribe-events-pro-week-grid__multiday-event-hidden-title { font-family: var(--f-cond) !important; font-size: .75rem !important; font-weight: 600 !important; color: var(--afma-white) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.tribe-events-pro-week-grid__multiday-event a { color: var(--afma-white) !important; text-decoration: none !important; }
.tribe-events-pro-week-grid__multiday-event-hidden { display: none !important; }

/* ──────────────────────────────────────────────────────────────
   9. VUE MOBILE TEC (.tribe-events-pro-week-mobile-events)
   ────────────────────────────────────────────────────────────── */
.tribe-events-pro-week-mobile-events__event-time-separator { background: var(--afma-grey-bg) !important; padding: 6px 16px !important; border-top: 1px solid var(--afma-grey-line) !important; }
.tribe-events-pro-week-mobile-events__event-time-separator-text { font-family: var(--f-cond) !important; font-size: .8rem !important; font-weight: 700 !important; color: var(--afma-red) !important; }
.tribe-events-pro-week-mobile-events__event { padding: 12px 16px !important; border-bottom: 1px solid var(--afma-grey-line) !important; }
.tribe-events-pro-week-mobile-events__event-title a { font-family: var(--f-cond) !important; font-size: 1rem !important; font-weight: 700 !important; color: var(--afma-navy) !important; text-decoration: none !important; }
.tribe-events-pro-week-mobile-events__event-datetime { font-family: var(--f-cond) !important; font-size: .88rem !important; color: var(--afma-red) !important; font-weight: 600 !important; }
address.tribe-events-pro-week-mobile-events__event-venue { font-family: var(--f-body) !important; font-size: .75rem !important; color: var(--afma-grey-txt) !important; font-style: normal !important; margin-top: 3px !important; }

/* ──────────────────────────────────────────────────────────────
   10. AUTRES VUES (liste, mois, jour, carte)
   ────────────────────────────────────────────────────────────── */
.tribe-events-view .tribe-events-header { background: var(--afma-red) !important; }

/* ──────────────────────────────────────────────────────────────
   11. A11Y
   ────────────────────────────────────────────────────────────── */
.tribe-common-a11y-visual-hide { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* ──────────────────────────────────────────────────────────────
   12. RESPONSIVE
   ────────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .tribe-events-header__events-bar { padding: 14px 20px 12px !important; }
  .afma-programme-bar { padding: 0 20px; }
  .afma-nav-bar, .afma-filters { padding-left: 20px !important; padding-right: 20px !important; }
  .tribe-events-pro-week-grid__header-column-daynum { font-size: 1.6rem !important; }
}
@media (max-width: 640px) {
  .tribe-events-header__events-bar { padding: 12px 14px !important; flex-wrap: wrap !important; }
  .tribe-events-c-events-bar__search-container { flex: 1 1 100% !important; }
  .tribe-events-c-top-bar { padding: 4px 14px !important; }
  .afma-programme-bar { padding: 0 14px; }
  .afma-programme-bar__title { font-size: 1.6rem; }
  .afma-programme-bar__period { display: none; }
  .afma-nav-bar { padding: 8px 14px !important; gap: 8px; }
  .afma-nav-week-label { font-size: 1rem; }
  .afma-filters { padding: 0 10px !important; }
  .afma-filter-btn { padding: 12px 14px !important; font-size: .75rem !important; }
  .tribe-events-pro-week-grid__header-column-daynum { font-size: 1.5rem !important; }
}
@media (max-width: 380px) {
  .afma-programme-bar__title { font-size: 1.4rem; }
  .tribe-events-pro-week-grid__header-column-daynum { font-size: 1.3rem !important; }
}
