/* Native WordPress adaptation. The original jukebox presentation is retained. */
.resume-playback {
  position: fixed;
  z-index: 250;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #d8ab58;
  background: #94182f;
  color: #fff;
  padding: 18px 25px;
  border-radius: 12px;
  font-weight: 900;
  box-shadow: 0 0 30px #000;
}
.resume-playback[hidden],
[hidden] {
  display: none !important;
}
.cjk-consent {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  background: #090507df;
  padding: 24px;
}
.cjk-consent > div {
  width: min(580px, 100%);
  padding: 28px;
  border: 1px solid #d8ab58;
  border-radius: 14px;
  background: #211215;
  line-height: 1.6;
}
.cjk-consent h2 {
  font:
    700 23px/1.2 Georgia,
    serif;
}
.cjk-consent p {
  font-size: 15px;
}
.cjk-consent a,
footer a {
  color: #d8ab58;
}
.cjk-consent .btn {
  margin: 5px 0;
}
.external-settings {
  border: 0;
  background: none;
  color: #d8ab58;
  text-decoration: underline;
  padding: 0;
  font: inherit;
}
.pubcasts-disabled .catalog-trigger {
  left: calc(50% - 140px) !important;
}
.pubcasts-disabled .queue-tab {
  left: 50% !important;
}
@media (max-width: 720px) {
  .pubcasts-disabled .catalog-trigger {
    left: calc(50% - 120px) !important;
  }
  .pubcasts-disabled .queue-tab {
    left: 50% !important;
  }
  .selector-heading {
    gap: 6px;
  }
  .selector-tail .small {
    display: none;
  }
  .selector-heading .view-switch {
    flex-wrap: wrap;
  }
  .selector-panel .box-title {
    padding: 10px;
    gap: 5px;
  }
  .selection-track strong,
  .selection-track small {
    white-space: normal;
  }
  .selector-panel .controls {
    max-height: calc(80dvh - 75px);
    overflow-y: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* 1.0.1 — Bacs de disques et commande d’écran dans l’en-tête. */
.collections h2 { display:flex; align-items:center; gap:8px; }
.record-bin-icon { width:28px; height:28px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; }
.record-bin-icon path { fill:#201417; }
.collection-browser { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; gap:8px; align-items:center; }
.collection-browser .collection-tabs { min-width:0; max-width:100%; scroll-snap-type:x proximity; overscroll-behavior-x:contain; }
.collection-browser .collection-tab { max-width:min(380px,85vw); white-space:normal; overflow-wrap:anywhere; scroll-snap-align:start; }
.collection-scroll { width:40px; height:48px; border:1px solid var(--gold); border-radius:9px; background:#180d0fcc; color:var(--gold); font:36px/1 Georgia,serif; cursor:pointer; box-shadow:0 0 12px #d8ab5833; }
.collection-scroll:disabled { opacity:.24; cursor:default; box-shadow:none; }
.collection-scroll:focus-visible, .collection-tabs:focus-visible, .header-video-toggle:focus-visible { outline:2px solid white; outline-offset:3px; }
.collection-scroll:hover:not(:disabled) { background:#643028; }
.header-video-toggle { display:none; }
body.catalog-mode .header-video-toggle { display:flex; flex:none; align-items:center; justify-content:center; gap:7px; min-width:44px; min-height:44px; border:1px solid var(--gold); border-radius:9px; padding:8px 12px; color:var(--cream); background:#21131699; cursor:pointer; font:700 12px/1.2 Arial,sans-serif; }
.header-video-toggle > [aria-hidden] { font-size:26px; }
.header-video-toggle.active { border-color:white; box-shadow:0 0 12px #fff5; }
body.catalog-mode .topbar .brand { min-width:0; }
@media(max-width:720px) {
  body.catalog-mode .topbar { gap:8px; padding:10px; }
  body.catalog-mode .header-video-toggle { padding:5px; }
  .header-video-label { display:none; }
  .collection-browser { grid-template-columns:34px minmax(0,1fr) 34px; gap:5px; }
  .collection-scroll { width:34px; }
  .collection-browser .collection-tab { max-width:100%; }
}

/* 1.0.2 — Illustrations locales dans les espaces libres du lecteur vertical. */
.music-artwork { display:none; }
@media (max-aspect-ratio:1/1) {
  body:not(.catalog-mode).pubcast-off .music-artwork,
  body:not(.catalog-mode).pubcasts-disabled .music-artwork {
    display:block; position:absolute; z-index:6; left:0; right:0;
    overflow:hidden; background:radial-gradient(ellipse at 20% 40%,#7b2834aa,transparent 60%),linear-gradient(140deg,#211821,#090709);
  }
  .music-artwork--bac { top:76px; height:max(0px,calc(50dvh - 28.125vw - 76px)); }
  .music-artwork--track { top:calc(50% + 28.125vw); bottom:56px; }
  .music-artwork > img { width:100%; height:100%; object-fit:cover; display:block; }
  .music-artwork-caption { position:absolute; left:0; right:0; bottom:0; padding:38px 20px 18px; background:linear-gradient(transparent,#090709e8); color:white; pointer-events:none; }
  .music-artwork-caption small { display:block; font:800 10px/1.4 Arial,sans-serif; letter-spacing:.18em; margin-bottom:6px; }
  .music-artwork-caption strong { display:block; font:800 clamp(18px,4.3vw,34px)/1.12 Georgia,serif; overflow-wrap:anywhere; text-shadow:0 2px 10px #000; }
  .artwork-credit { display:block; font:10px/1.4 Arial,sans-serif; opacity:.7; margin-top:7px; }
  .artwork-generate { position:absolute; top:12px; right:12px; max-width:calc(100% - 24px); padding:9px 12px; border:1px solid #d8ab58; border-radius:8px; background:#191013dc; color:#fff; cursor:pointer; }
  .artwork-generate:disabled { opacity:.55; cursor:wait; }
  .artwork-generate:focus-visible { outline:2px solid white; outline-offset:2px; }
  .artwork-status { position:absolute; top:48px; right:12px; left:12px; color:#fff; font:12px/1.4 Arial,sans-serif; text-align:right; }
}

/* 1.0.3 — reset local et rechargement. Pulsation lente, sans flash brutal. */
.jukebox-update { position:fixed; top:12px; right:12px; z-index:9900; min-height:40px; padding:8px 12px; border:1px solid #ffacb7; border-radius:8px; background:#831d2f; color:white; font:800 12px/1.2 Arial,sans-serif; letter-spacing:.05em; cursor:pointer; animation:jukeboxUpdatePulse 2.4s ease-in-out infinite; }
body.catalog-mode .jukebox-update { top:82px; }
.jukebox-update:hover, .jukebox-update:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.jukebox-update:disabled { animation:none; cursor:wait; }
@keyframes jukeboxUpdatePulse { 0%,100% { box-shadow:0 0 4px #ff294633; border-color:#b95767; } 50% { box-shadow:0 0 18px #ff2946bb; border-color:#ffe4e9; } }
@media(prefers-reduced-motion:reduce) { .jukebox-update { animation:none; } }

/* Keep administrative controls in the layout, never over one another. */
.topbar { flex-wrap:wrap; }
.topbar .brand { min-width:0; }
.topbar > button { flex-shrink:0; pointer-events:auto; }
.topbar .jukebox-update,body.catalog-mode .topbar .jukebox-update { position:static; margin:0; animation:none; z-index:auto; }
.playback-actions { display:flex; gap:10px; align-items:center; justify-content:flex-end; min-width:0; }
.playback-actions .video-fullscreen { position:static; flex:0 0 44px; width:44px; height:44px; box-shadow:none; }
.playback-actions .next,body:not(.catalog-mode) .now .playback-actions .next { min-height:44px; margin:0; max-width:none; }
@media(max-width:720px) {
 .topbar { gap:8px!important; }
 .topbar .brand { flex:1 1 100%; }
 .playback-actions { grid-column:1/-1; justify-self:end; }
}

/* The video view is already open: its return-to-video control is redundant. */
body:not(.catalog-mode) #videoFullscreen { display:none; }
