.muscom-location-control { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0; }
.muscom-location-control.is-compact { display: contents; }
.muscom-ui .muscom-action.muscom-location-button { gap: 7px; min-height: 40px; padding: 8px 12px; font-size: 13px; white-space: nowrap; }
.muscom-location-button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.muscom-ui .is-compact .muscom-location-button { width: 42px; padding: 10px; color: #946000; }
.muscom-location-button:disabled { opacity: .6; cursor: wait; }
.muscom-ui .muscom-location-button[aria-pressed="true"] { background: #fff7e9; border-color: #e5ac4d; }
.muscom-ui .muscom-action.muscom-location-pause { min-height: 40px; padding: 8px 10px; font-size: 13px; }
.muscom-ui .muscom-location-pause[hidden] { display: none; }
.muscom-location-status { color: var(--muscom-muted, #526174); font-size: 14px; line-height: 1.5; }
.muscom-location-status:empty { display: none; }
.muscom-location-status.is-error { color: #a62d21; }
.is-compact .muscom-location-status { flex-basis: 100%; }

/* Keep map actions together instead of auto-placing location beside a filter
   whose minimum content width can overflow the catalogue's narrow grid cell. */
.muscom-ui .muscom-catalog > .muscom-venue-actions {
    grid-column: 2; grid-row: 1; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px;
    min-width: 0; max-width: 300px; margin: 0;
}
.muscom-ui .muscom-catalog > .muscom-venue-actions .map-button { min-height: 40px; }
.muscom-ui .muscom-catalog > .muscom-venue-actions > .muscom-location-control { display: contents; }
.muscom-ui .muscom-catalog > .muscom-venue-actions .muscom-location-status { flex-basis: 100%; min-width: 0; overflow-wrap: anywhere; }
.muscom-ui .muscom-catalog > .muscom-advanced-filters { grid-column: 1 / -1; min-width: 0; margin: 0; }
@media (max-width: 600px) {
    .muscom-ui .muscom-catalog > .muscom-venue-actions { grid-column: 1 / -1; grid-row: 2; max-width: none; }
}
