/* Festival Builder Pro 6.8.2 — premium compact audio player */
.fbp-sticky-player{
  --fbp-player-lift:0px;
  position:fixed;
  z-index:110;
  left:50%;
  bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--fbp-player-lift));
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 24px;
  align-items:center;
  gap:10px;
  width:min(398px,calc(100vw - 24px));
  min-height:60px;
  padding:7px 8px 7px 7px;
  border:1px solid rgba(22,32,43,.09);
  border-radius:15px;
  background:rgba(255,255,255,.97);
  background:color-mix(in srgb,var(--fbp-sticky-player-bg,#fff) 18%,rgba(255,255,255,.97) 82%);
  color:var(--fbp-sticky-player-text,#17212c);
  box-shadow:0 13px 36px rgba(18,28,38,.12),0 2px 8px rgba(18,28,38,.035);
  backdrop-filter:blur(18px) saturate(1.06);
  -webkit-backdrop-filter:blur(18px) saturate(1.06);
  transform:translateX(-50%);
  transition:width .2s ease,bottom .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease;
}
.fbp-sticky-player:hover{box-shadow:0 16px 42px rgba(18,28,38,.14),0 2px 8px rgba(18,28,38,.04)}
.fbp-sticky-player:focus-within{box-shadow:0 0 0 3px rgba(230,134,39,.11),0 16px 42px rgba(18,28,38,.13)}
.fbp-sticky-play{position:relative;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:linear-gradient(145deg,#ffc879 0%,var(--fbp-sticky-player-accent,#e68627) 70%,#d97819 100%);color:#17202b;cursor:pointer;box-shadow:0 6px 16px rgba(221,124,28,.20);transition:transform .16s ease,box-shadow .16s ease}
.fbp-sticky-play:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(221,124,28,.25)}
.fbp-sticky-play:active{transform:scale(.98)}
.fbp-sticky-play:focus-visible,.fbp-sticky-minimize:focus-visible,.fbp-sticky-progress:focus-visible{outline:2px solid #d97718;outline-offset:3px}
.fbp-sticky-play-icon{width:0;height:0;margin-left:3px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #fff}
.fbp-sticky-player.is-playing .fbp-sticky-play-icon{width:12px;height:14px;margin:0;border:0;background:linear-gradient(90deg,#fff 0 4px,transparent 4px 8px,#fff 8px 12px)}
.fbp-sticky-copy{display:grid;gap:6px;min-width:0}
.fbp-sticky-copy-head{display:grid;min-width:0}
.fbp-sticky-copy-head>span{display:none}
.fbp-sticky-copy strong{overflow:hidden;color:#1c2732;font-size:.78rem;font-weight:690;letter-spacing:-.012em;line-height:1.22;white-space:nowrap;text-overflow:ellipsis}
.fbp-sticky-copy small{overflow:hidden;margin-top:2px;color:#737c86;font-size:.60rem;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.fbp-sticky-progress-row{display:grid;grid-template-columns:minmax(70px,1fr) auto;align-items:center;gap:8px;min-width:0}
.fbp-sticky-progress{width:100%;height:12px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}
.fbp-sticky-progress::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:linear-gradient(90deg,#de7d21 0 var(--fbp-player-progress,0%),#ddd8d0 var(--fbp-player-progress,0%) 100%)}
.fbp-sticky-progress::-webkit-slider-thumb{width:9px;height:9px;margin-top:-3px;border:0;border-radius:50%;background:#d97718;box-shadow:0 0 0 3px rgba(217,119,24,.08);appearance:none;-webkit-appearance:none}
.fbp-sticky-progress::-moz-range-track{height:3px;border:0;border-radius:999px;background:#ddd8d0}.fbp-sticky-progress::-moz-range-progress{height:3px;border-radius:999px;background:#de7d21}.fbp-sticky-progress::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:#d97718}
.fbp-sticky-time{color:#68717c;font-size:.59rem;font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap}
.fbp-sticky-minimize{display:grid;place-items:center;width:24px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#5d6874;cursor:pointer;transition:color .16s ease,background-color .16s ease}
.fbp-sticky-minimize:hover{background:#f4f0ea;color:#17212c}
.fbp-sticky-minimize span{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .18s ease}
.fbp-sticky-player.is-collapsed{grid-template-columns:46px;gap:0;width:56px;min-height:56px;padding:5px;border-radius:999px}
.fbp-sticky-player.is-collapsed .fbp-sticky-copy{display:none}
.fbp-sticky-player.is-collapsed .fbp-sticky-play{width:46px;height:46px}
.fbp-sticky-player.is-collapsed .fbp-sticky-minimize{position:absolute;right:-12px;top:50%;width:18px;height:30px;border-radius:0;background:transparent;transform:translateY(-50%);color:#6a7480}
.fbp-sticky-player.is-collapsed .fbp-sticky-minimize:hover{background:transparent;color:#17212c}
.fbp-sticky-player.is-collapsed .fbp-sticky-minimize span{width:7px;height:7px;border-width:1.3px;transform:rotate(225deg) translate(-1px,-1px)}
.fbp-sticky-player.is-footer-zone{box-shadow:0 10px 30px rgba(18,28,38,.10)}
.fbp-sticky-player.is-loading .fbp-sticky-play::after{content:"";position:absolute;inset:6px;border:1.5px solid rgba(23,32,43,.24);border-top-color:#17202b;border-radius:50%;animation:fbpPlayerSpin .75s linear infinite}
@keyframes fbpPlayerSpin{to{transform:rotate(360deg)}}
@media(max-width:820px){.fbp-sticky-player{bottom:calc(9px + env(safe-area-inset-bottom,0px) + var(--fbp-player-lift));width:min(365px,calc(100vw - 18px));grid-template-columns:44px minmax(0,1fr) 22px;min-height:58px;padding:7px}.fbp-sticky-play{width:44px;height:44px}.fbp-sticky-copy strong{font-size:.73rem}.fbp-sticky-copy small{font-size:.58rem}.fbp-sticky-time{font-size:.57rem}.fbp-sticky-player.is-collapsed{grid-template-columns:44px;width:54px;min-height:54px;padding:5px}.fbp-sticky-player.is-collapsed .fbp-sticky-play{width:44px;height:44px}}
@media(max-width:480px){.fbp-sticky-player{width:calc(100vw - 14px)}.fbp-sticky-copy small{display:none}.fbp-sticky-progress-row{grid-template-columns:minmax(64px,1fr) auto}}
@media(prefers-reduced-motion:reduce){.fbp-sticky-player,.fbp-sticky-play,.fbp-sticky-minimize span{transition:none}.fbp-sticky-player.is-loading .fbp-sticky-play::after{animation:none}}
@media print{.fbp-sticky-player{display:none}}
