.eap-player {
  --eap-accent:#000; --eap-button-bg:#000; --eap-bg:#fff; --eap-text:#202124; --eap-muted:#777b84;
  --eap-track:#e8e8ee; --eap-border:#e5e5eb; --eap-radius:14px; --eap-button-size:48px; --eap-track-height:6px;
  box-sizing:border-box; width:100%; padding:16px 18px; background:var(--eap-bg); color:var(--eap-text);
  border:1px solid var(--eap-border); border-radius:var(--eap-radius); font-family:inherit;
  box-shadow:0 3px 14px rgba(20,20,40,.045);
}
.eap-player *, .eap-player *::before, .eap-player *::after { box-sizing:border-box; }
.eap-player .eap-heading { margin:0 0 12px; color:var(--eap-text); font-size:16px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.eap-player .eap-main { display:flex; align-items:center; gap:10px; }

/* Bouton lecture / pause : reste noir dans TOUS les états (survol, clic, focus, tactile),
   même si le thème (ex. Hello Elementor) colore les <button> au survol / focus. */
.eap-player .eap-play,
.eap-player .eap-play:hover,
.eap-player .eap-play:focus,
.eap-player .eap-play:active,
.eap-player .eap-play:focus-visible {
  background:var(--eap-button-bg) !important; background-image:none !important;
  color:#fff !important; border:0 !important; opacity:1 !important; box-shadow:none !important; text-decoration:none;
}
.eap-player .eap-play { width:var(--eap-button-size); height:var(--eap-button-size); flex:0 0 var(--eap-button-size); display:grid; place-items:center; border-radius:50% !important; padding:0 !important; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.eap-player .eap-play:focus-visible { outline:2px solid var(--eap-button-bg); outline-offset:3px; }
.eap-player .eap-play svg { width:42%; height:42%; fill:#fff !important; }
.eap-player .eap-pause-icon, .eap-player.is-playing .eap-play-icon { display:none; }
.eap-player.is-playing .eap-pause-icon { display:block; }

/* Précédent / suivant : discrets, sans changement de couleur parasite. */
.eap-player .eap-nav,
.eap-player .eap-nav:hover,
.eap-player .eap-nav:focus,
.eap-player .eap-nav:active { background:transparent !important; border:0 !important; box-shadow:none !important; color:var(--eap-text) !important; }
.eap-player .eap-nav { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; padding:0 !important; border-radius:50%; cursor:pointer; opacity:.75; }
.eap-player .eap-nav:hover { opacity:1; }
.eap-player .eap-nav svg { width:20px; height:20px; fill:currentColor; }
.eap-player .eap-nav:focus-visible { outline:2px solid var(--eap-accent); outline-offset:2px; }

.eap-player .eap-details { min-width:0; flex:1; margin-left:4px; }
.eap-player .eap-current-title { margin:0 0 8px; color:var(--eap-text); font-size:14px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.eap-player .eap-progress-row { display:flex; align-items:center; gap:9px; width:100%; }
.eap-player .eap-time { min-width:34px; color:var(--eap-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.eap-player .eap-time:last-child { text-align:right; }
.eap-player .eap-progress { position:relative; flex:1; height:var(--eap-track-height); min-width:0; overflow:hidden; border-radius:99px; background:var(--eap-track); cursor:default; pointer-events:none; }
.eap-player .eap-progress-fill { display:block; width:var(--eap-progress,0%); height:100%; border-radius:inherit; background:var(--eap-accent); }
.eap-player .eap-volume-row { display:flex; align-items:center; gap:12px; margin:13px 0 0; }
.eap-player .eap-volume-label { font-size:11px; color:var(--eap-muted); }
.eap-player .eap-volume { width:100px; max-width:100%; accent-color:var(--eap-accent); }

/* Playlist */
.eap-player .eap-playlist { list-style:none; margin:14px 0 0; padding:12px 0 0; border-top:1px solid var(--eap-border); display:grid; gap:2px; }
.eap-player .eap-film { margin:10px 0 4px; padding:0 10px; color:var(--eap-muted); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.eap-player .eap-film:first-child { margin-top:0; }
.eap-player .eap-item { margin:0; padding:0; }
.eap-player .eap-track-option,
.eap-player .eap-track-option:hover,
.eap-player .eap-track-option:focus,
.eap-player .eap-track-option:active { box-shadow:none !important; color:var(--eap-text) !important; text-decoration:none; }
.eap-player .eap-track-option { display:flex; align-items:center; gap:12px; width:100%; margin:0; padding:9px 10px; border:1px solid transparent !important; border-radius:8px; background:transparent !important; font:inherit; font-size:13px; line-height:1.35; text-align:left; cursor:pointer; }
.eap-player .eap-track-option:hover { background:var(--eap-track) !important; }
.eap-player .eap-track-option.is-active { background:var(--eap-track) !important; border-color:var(--eap-border) !important; font-weight:600; }
.eap-player .eap-track-option:focus-visible { outline:2px solid var(--eap-accent); outline-offset:2px; }
.eap-player .eap-track-num { flex:0 0 22px; color:var(--eap-muted); font-size:12px; font-variant-numeric:tabular-nums; text-align:center; }
.eap-player .eap-track-option-title { flex:1; min-width:0; overflow-wrap:anywhere; }
.eap-player .eap-track-state { flex:0 0 14px; width:14px; height:14px; }
.eap-player .eap-track-option.is-active .eap-track-state { background:var(--eap-accent); clip-path:polygon(20% 8%, 20% 92%, 92% 50%); }
.eap-player.is-playing .eap-track-option.is-active .eap-track-state { clip-path:none; background:linear-gradient(90deg, var(--eap-accent) 0 35%, transparent 35% 65%, var(--eap-accent) 65% 100%); }
.eap-player .eap-empty { color:var(--eap-muted); font-size:13px; }
.eap-player [hidden] { display:none !important; }
@media(max-width:480px) {
  .eap-player { padding:13px; }
  .eap-player .eap-main { gap:6px; flex-wrap:wrap; }
  .eap-player .eap-details { flex-basis:100%; margin-left:0; margin-top:6px; }
  .eap-player .eap-time { min-width:30px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .eap-player * { transition:none !important; scroll-behavior:auto !important; }
}
