/* Shared footer widget, including non-public fallback pages. */
.listen-dock { position: fixed; z-index: 100; bottom: max(14px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: min(760px, calc(100% - 24px)); color: #f3ecdc; font-family: 'Inter', sans-serif; }
.listen-dock__panel { position: relative; background: #29251f; border: 1px solid #86775f; border-radius: 12px; box-shadow: 0 6px 25px #0006; }
.listen-dock summary { cursor: pointer; list-style: none; }
.listen-dock summary::-webkit-details-marker { display: none; }
.listen-dock summary:focus-visible, .listen-dock a:focus-visible { outline: 3px solid #e9b64f; outline-offset: 3px; }
.listen-dock__toggle { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 0 16px; font-weight: 700; font-size: .8rem; }
.listen-dock__panel[open] > .listen-dock__toggle { position: absolute; top: 0; right: 4px; font-size: .72rem; color: #d0c5b1; }
.listen-dock__panel[open] .listen-dock__show, .listen-dock__panel:not([open]) .listen-dock__hide { display: none; }
.listen-dock__panel:not([open]) { width: max-content; margin-left: auto; background: #eee5d2; color: #29251f; }
.listen-dock__body { display: flex; align-items: center; gap: 18px; min-height: 92px; padding: 28px 20px 12px; }
.listen-dock__identity { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.listen-dock__identity img { object-fit: contain; flex: 0 0 56px; }
.listen-dock__identity strong { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; font-weight: 400; }
.listen-dock__identity span { display: block; color: #c8bca7; font-size: .72rem; }
.listen-dock__picker { position: relative; flex-shrink: 0; }
.listen-dock__picker > summary { padding: 13px 16px; border-radius: 6px; background: #bb493b; color: #fff5e4; font-weight: 700; font-size: .85rem; min-height: 44px; }
.listen-dock__platforms { position: absolute; right: 0; bottom: calc(100% + 12px); width: 245px; max-width: calc(100vw - 40px); max-height: min(440px, 65vh); overflow-y: auto; background: #eee5d2; color: #29251f; border: 1px solid #9e8e74; border-radius: 10px; padding: 8px; box-shadow: 0 6px 25px #0006; }
.listen-dock__platforms a { display: flex; align-items: center; gap: 12px; padding: 9px; min-height: 44px; color: #29251f; text-decoration: none; border-radius: 5px; font-size: .85rem; }
.listen-dock__platforms a:hover { background: #daceb7; }
.listen-dock__platforms a span:last-child { margin-left: auto; }
.listen-dock__platforms img { object-fit: contain; }
.listen-dock__contact { color: #efbc57; font-size: .8rem; white-space: nowrap; text-decoration: none; }
body:has(.listen-dock__panel[open]) { padding-bottom: 130px; }
body:has(.listen-dock__panel:not([open])) { padding-bottom: 70px; }
@media(max-width:560px) {
 .listen-dock__body { flex-wrap: wrap; gap: 10px; padding: 30px 14px 12px; }
 .listen-dock__identity { flex-basis: 100%; }
 .listen-dock__identity img { width: 44px; height: 44px; flex-basis: 44px; }
 .listen-dock__picker { margin-left: 54px; }
 .listen-dock__platforms { left: -54px; right: auto; }
 .listen-dock__contact { margin-left: auto; }
 body:has(.listen-dock__panel[open]) { padding-bottom: 180px; }
}
