/* CSS EAC (galeries, player, audio) — rapatrié de la v1, filtré */
/* Variables EAC (rapatriées du :root v1, perdues au filtrage) */
:root {
  --gap: 16px;
  --ratio: 56.25%;
  --radius: 14px;
  --line-soft: rgba(255,255,255,.12);
  --panel-border: rgba(255,255,255,.14);
  --panel-soft: rgba(255,255,255,.05);
  --text-soft: #b9b3a9;
}
/* Reset listes des galeries (puces) */
.gallery, .audio-playlist { list-style: none !important; padding: 0 !important; }

.bar-title {
      margin: 40px 0 14px;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--line-soft);
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      font-size: .95rem;
      letter-spacing: .08em;
      line-height: 1.3;
    }
.player-wrap {
      position: relative;
      width: 100%;
      height: 0;
      padding-bottom: var(--ratio);
      margin: 0 0 12px;
      border-radius: 16px;
      overflow: hidden;
      background: #000;
      border: 1px solid var(--panel-border);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
    }
.player-wrap iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }
.player-empty {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 20px;
      color: #d0d0d0;
      font-weight: 600;
      letter-spacing: .02em;
      text-align: center;
      user-select: none;
    }
.is-hidden {
      display: none !important;
    }
.player-meta {
      width: 100%;
      margin: 0 0 28px;
      padding-top: 8px;
      color: #fff;
    }
.player-meta h3, .audio-current h3 {
      margin: 0 0 6px;
      font-size: clamp(1.05rem, 2.2vw, 1.25rem);
      color: #fff;
      font-weight: 600;
      overflow-wrap: anywhere;
    }
.video-desc {
      color: var(--text-soft);
      line-height: 1.6;
      font-size: .95rem;
      overflow-wrap: anywhere;
    }
.video-desc p {
      margin: .35rem 0;
      padding: 4px 0;
    }
.timecode {
      display: inline-block;
      padding: 2px 6px;
      margin: 0 2px;
      border-radius: 8px;
      background: rgba(255,255,255,.12);
      color: #fff;
      text-decoration: none;
      cursor: pointer;
      font-variant-numeric: tabular-nums;
      font-weight: 600;
    }
.timecode:hover {
      background: rgba(255,255,255,.2);
    }
.timecode.is-disabled {
      opacity: .85;
      pointer-events: none;
      cursor: default;
      background: rgba(255,255,255,.10);
      color: #fff;
    }
.video-block, .audio-block {
      width: 100%;
      margin: 0 0 40px;
    }
.gallery, .audio-playlist {
      width: 100%;
    }
.gallery {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--gap);
      margin: 8px 0 24px;
    }
.gallery > li, .audio-playlist > li {
      min-width: 0;
    }
.thumb {
      position: relative;
      width: 100%;
      min-width: 0;
      padding-bottom: var(--ratio);
      border: 1px solid var(--panel-border);
      border-radius: var(--radius);
      overflow: hidden;
      background: radial-gradient(120% 90% at 10% 10%, #f8f8f8 0, #e9ecef 60%, #dee2e6 100%);
      box-shadow: 0 1px 2px rgba(0,0,0,.06);
      cursor: pointer;
      text-align: left;
      transition: transform .15s ease, box-shadow .15s ease;
    }
.thumb:hover, .thumb:focus-visible {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0,0,0,.15);
      outline: none;
    }
.thumb img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 1;
    }
.thumb .label {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      padding: 9px 11px;
      border-radius: 0 0 10px 10px;
      background: rgba(0,0,0,.82);
      color: #fff;
      font-weight: 600;
      font-size: .9rem;
      line-height: 1.35;
      text-shadow: 0 1px 1px rgba(0,0,0,.45);
      overflow-wrap: anywhere;
    }
.thumb .play {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: grid;
      place-items: center;
      pointer-events: none;
    }
.thumb .play::before {
      content: "";
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: rgba(0,0,0,.35);
      box-shadow: 0 2px 8px rgba(0,0,0,.25);
    }
.thumb .play::after {
      content: "";
      position: absolute;
      margin-left: 4px;
      border-style: solid;
      border-width: 12px 0 12px 18px;
      border-color: transparent transparent transparent #fff;
    }
.thumb:focus-visible .label {
      outline: 2px solid #fff;
      outline-offset: -2px;
    }
.audio-player-box {
      background: var(--panel-soft);
      border: 1px solid var(--panel-border);
      border-radius: 14px;
      padding: 20px;
      backdrop-filter: blur(4px);
    }
.audio-current h3 {
      margin-bottom: 14px;
    }
.audio-playlist {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
.audio-track-btn {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      width: 100%;
      min-width: 0;
      min-height: 48px;
      padding: 12px 14px;
      border: 0;
      border-radius: 10px;
      background: rgba(255,255,255,.10);
      color: #fff;
      text-align: left;
      cursor: pointer;
      font: inherit;
      font-weight: 600;
      overflow-wrap: anywhere;
      transition: background .15s ease, transform .15s ease;
    }
.audio-track-btn:hover, .audio-track-btn:focus-visible {
      background: rgba(255,255,255,.18);
      transform: translateY(-1px);
      outline: none;
    }
.audio-track-btn.is-active {
      background: rgba(255,255,255,.28);
    }
@media (max-width: 900px) {
.gallery, .audio-playlist {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
}
@media (max-width: 640px) {
.bar-title {
        margin-top: 32px;
        font-size: .9rem;
      }
.thumb .label {
        padding: 9px 10px;
        font-size: .88rem;
      }
.video-desc {
        font-size: .92rem;
      }
}
@media (max-width: 560px) {
.gallery, .audio-playlist {
        grid-template-columns: 1fr;
      }
.audio-player-box {
        padding: 16px;
      }
}

/* Slideshow générique (carrousel EAC, jamlist…) */
[data-slideshow] .slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.1s ease; }
[data-slideshow] .slide.is-active { opacity: 1; }
.eac-slideshow { position: relative; width: 100%; max-width: 820px; aspect-ratio: 16/10; overflow: hidden; border-radius: 6px; margin: 1.5rem auto; }
/* Titres de projets EAC plus gros */
.bar-title { font-family: var(--f-titre); font-size: clamp(1.7rem, 3.5vw, 2.6rem) !important; letter-spacing: .02em; color: var(--blanc); }
