/* WP AUDIO PUBLISHERz - Phase 12B */
.wapz-player-wrap {
    --wapz-accent: #6b5cff;
    margin: 24px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #151515;
}
.wapz-player-wrap *{box-sizing:border-box}
.wapz-align-center { margin-left: auto; margin-right: auto; }
.wapz-align-right { margin-left: auto; }
.wapz-player-card {
    display: flex;
    gap: 20px;
    padding: 22px;
    border: 1px solid rgba(0,0,0,0.08);
    background: linear-gradient(180deg,#fff 0%,#fafaff 100%);
    border-radius: 22px;
    box-shadow: 0 12px 32px rgba(16,24,40,0.08);
}
.wapz-player-main { flex: 1; min-width: 0; }
.wapz-player-headline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.wapz-badge,.wapz-duration-pill,.wapz-track-count{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600}
.wapz-badge{background:rgba(107,92,255,.1);color:var(--wapz-accent)}
.wapz-duration-pill,.wapz-track-count{background:rgba(17,24,39,.06);color:#334155}
.wapz-artwork { width: 148px; flex: 0 0 148px; }
.wapz-artwork img,
.wapz-artwork-placeholder {
    width: 148px; height: 148px; object-fit: cover;
    display: block; border-radius: 18px;
}
.wapz-artwork-placeholder {
    background: rgba(107,92,255,0.1);
    color: var(--wapz-accent);
    display: flex; align-items: center; justify-content: center;
    font-size: 42px;
}
.wapz-artwork-circle img, .wapz-artwork-circle .wapz-artwork-placeholder { border-radius: 999px; }
.wapz-artwork-square img, .wapz-artwork-square .wapz-artwork-placeholder { border-radius: 0; }
.wapz-title { margin: 0 0 6px; font-size: 26px; line-height: 1.2; }
.wapz-subtitle { color: #555; margin-bottom: 6px; }
.wapz-meta-line { display: flex; gap: 14px; flex-wrap: wrap; color: #666; font-size: 14px; margin-bottom: 14px; }
.wapz-controls-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.wapz-btn,.wapz-download-btn {
    border: 0; background: var(--wapz-accent); color: #fff; border-radius: 12px; padding: 10px 14px;
    cursor: pointer; text-decoration: none; font-weight: 600; box-shadow: 0 8px 16px rgba(107,92,255,.22);
}
.wapz-btn:hover,.wapz-download-btn:hover{opacity:.95}
.wapz-progress-group{display:flex;align-items:center;gap:8px;flex:1;min-width:240px}
.wapz-progress{flex:1}
.wapz-current-time,.wapz-total-time{font-size:13px;color:#64748b;min-width:38px}
.wapz-speed{border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:9px 10px;background:#fff;max-width:100%}
.wapz-description { color: #475569; line-height: 1.6; }
.wapz-playlist-panel{margin-top:14px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;overflow:hidden}
.wapz-playlist-header{display:flex;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06);font-size:14px;color:#64748b}
.wapz-playlist{display:grid}
.wapz-playlist-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:0;border-top:1px solid rgba(15,23,42,.05);background:#fff;cursor:pointer;text-align:left;width:100%}
.wapz-playlist-item:first-child{border-top:none}
.wapz-playlist-item-main{display:grid;gap:3px;min-width:0}
.wapz-playlist-item-title{font-weight:600}
.wapz-playlist-item small{color:#64748b}
.wapz-playlist-item.is-active{background:rgba(107,92,255,.08)}
.wapz-playlist-item-duration{white-space:nowrap;color:#64748b}
.wapz-sticky-shell{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999}
.wapz-sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:860px;margin:0 auto;background:#121826;color:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.wapz-sticky-meta{display:grid;gap:2px;min-width:0;flex:1}
.wapz-sticky-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1}
.wapz-sticky-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wapz-sticky-play,.wapz-sticky-close{border:0;background:rgba(255,255,255,.12);color:#fff;width:42px;height:42px;border-radius:999px;cursor:pointer}
.wapz-sticky-hide-mobile{display:block}
.wapz-sticky-desktop-only{display:block}
.wapz-player-wrap audio{width:100%;display:none}
.wapz-player-wrap.is-playing .wapz-play-toggle,
.wapz-player-wrap.is-playing .wapz-sticky-play{transform:translateY(-1px)}
@media (max-width: 782px){
  .wapz-player-card{flex-direction:column;padding:18px}
  .wapz-artwork,.wapz-artwork img,.wapz-artwork-placeholder{width:100%;height:auto;aspect-ratio:1/1}
  .wapz-progress-group{min-width:100%}
  .wapz-controls-row{align-items:stretch}
  .wapz-btn,.wapz-download-btn,.wapz-speed{width:100%;justify-content:center}
  .wapz-playlist-item{align-items:flex-start;flex-direction:column}
  .wapz-playlist-item-duration{font-size:12px}
  .wapz-sticky-hide-mobile,.wapz-sticky-desktop-only{display:none!important}
  .wapz-sticky-shell{left:10px;right:10px;bottom:10px}
  .wapz-sticky-inner{padding:12px}
}

.wapz-player-card:focus-within{box-shadow:0 14px 36px rgba(16,24,40,0.12)}
.wapz-btn:focus,.wapz-download-btn:focus,.wapz-speed:focus,.wapz-progress:focus{outline:2px solid rgba(107,92,255,.28);outline-offset:2px}
.wapz-playlist button{width:100%;text-align:left;border:0;background:transparent;padding:12px 14px;border-radius:14px;cursor:pointer}
.wapz-playlist button:hover,.wapz-playlist button:focus{background:rgba(107,92,255,.08);outline:none}
.wapz-playlist li.is-active button{background:rgba(107,92,255,.12)}
.wapz-player-wrap[data-layout="compact"] .wapz-player-card{padding:16px;gap:16px}
.wapz-player-wrap[data-typography="sm"] .wapz-title{font-size:22px}
.wapz-player-wrap[data-typography="lg"] .wapz-title{font-size:30px}
@media (max-width: 782px){
  .wapz-player-card{padding:18px;border-radius:18px}
  .wapz-controls-row{gap:8px}
  .wapz-progress-group{min-width:0;width:100%}
  .wapz-progress{width:100%}
  .wapz-playlist{margin-top:16px}
  .wapz-sticky-shell{left:10px;right:10px;bottom:10px}
}

.wapz-btn:focus-visible,.wapz-playlist-item:focus-visible,.wapz-speed:focus-visible,.wapz-progress:focus-visible,.wapz-sticky-play:focus-visible,.wapz-sticky-close:focus-visible{
    outline:3px solid rgba(107,92,255,.35);
    outline-offset:2px;
}
.wapz-player-wrap.is-playing .wapz-player-card{box-shadow:0 16px 40px rgba(16,24,40,0.12)}
.wapz-live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion: reduce){
    .wapz-player-card,.wapz-btn,.wapz-playlist-item,.wapz-sticky-shell{transition:none!important}
}
@media (max-width: 640px){
    .wapz-progress-group{min-width:0;width:100%}
    .wapz-controls-row{align-items:stretch}
    .wapz-btn,.wapz-download-btn,.wapz-speed{width:100%;justify-content:center;text-align:center}
    .wapz-sticky-inner{padding:12px 14px}
}

.wapz-player-wrap.has-error .wapz-player-card{border-color:#dc2626;box-shadow:0 12px 30px rgba(220,38,38,.12)}
.wapz-player-wrap.has-error .wapz-badge{background:rgba(220,38,38,.08);color:#b91c1c}
.wapz-player-wrap .wapz-btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
@media (forced-colors: active){
  .wapz-btn,.wapz-download-btn,.wapz-sticky-play,.wapz-sticky-close{forced-color-adjust:auto;border:1px solid ButtonText}
  .wapz-player-card,.wapz-playlist-panel,.wapz-sticky-inner{border:1px solid CanvasText}
}
