/* Music consent follows the municipal site's palette and typography. */
.music-dialog { width:620px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; padding:0; border:0; background:white; color:#250e62; font:18px/1.6 Corbel,Arial,sans-serif; box-shadow:0 16px 48px #0003; }
.music-dialog::backdrop { background:#160a37a6; }
.music-titlebar { display:flex; justify-content:flex-end; padding:12px 16px 0; background:#f6eb61; }
.music-dialog .music-titlebar button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:#250e62; font-size:30px; }
.music-dialog-body { padding:0 40px 40px; }
.music-dialog h2 { margin:0 -40px 28px; padding:0 40px 32px; background:#f6eb61; color:#250e62; font:700 36px/1.15 Corbel,Arial,sans-serif; letter-spacing:-.025em; }
.music-dialog-body p { margin:0 0 20px; color:#25232b; }
.music-dialog-body p + p { font-size:16px; }
.music-dialog-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.music-dialog button { min-height:48px; padding:12px 18px; border:1px solid #250e62; border-radius:0; background:white; color:#250e62; font:700 16px/1.4 Corbel,Arial,sans-serif; cursor:pointer; }
.music-dialog-buttons button { flex:1; }
.music-dialog #musicStart { background:#250e62; color:white; }
.music-dialog button:hover { background:#f2eef9; }
.music-dialog #musicStart:hover { background:#402479; }
.music-dialog button:focus-visible, .music-toggle:focus-visible { outline:3px solid #8031a7; outline-offset:3px; }
.music-dialog button:disabled { opacity:.6; cursor:wait; }
.music-dialog #musicStatus { margin-top:20px; margin-bottom:0; }
#musicStatus:empty { display:none; }
.music-toggle { position:fixed; bottom:16px; right:16px; z-index:10; padding:12px 18px; background:#250e62; color:white; border:1px solid white; font:700 14px Corbel,Arial,sans-serif; cursor:pointer; }
.music-toggle:hover { background:#402479; }
@media (max-width:480px) {
  .music-dialog-body { padding:0 24px 24px; }
  .music-dialog h2 { margin:0 -24px 24px; padding:0 24px 28px; font-size:30px; }
  .music-dialog-buttons { flex-direction:column; }
}
