.kevm--live {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kevm--live .kevm-map {
  height: var(--kevm-h, 620px);
  min-height: 240px;
}
.kevm--live .kevm-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  flex-wrap: nowrap;
  padding-bottom: 4px;
}
.kevm--live .kevm-filters__btn,
.kevm-filters--remote .kevm-filters__btn,
.kevm--live .kevm-sheet button,
.kevm--live .kevm-livepin {
  min-height: 44px;
  min-width: 44px;
  border: 0;
  border-radius: 999px;
  padding: 0 14px;
  background: #14161c;
  color: #fff;
  font: inherit;
}
.kevm--live .kevm-livepin--event { background: var(--kevm-pin-event, #e37b2d); }
.kevm--live .kevm-livepin--place { background: var(--kevm-pin-place, #2f6fed); }
.kevm--live .kevm-livepin--cancelled { text-decoration: line-through; }
.kevm--live .kevm-livepin--cluster { background: #14161c; }
.kevm--live .kevm-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.kevm--list-above .kevm-list { order: -1; }
.kevm--live .kevm-sheet[hidden] { display: none; }
.kevm--live .kevm-sheet.is-open { display: block; }
@media (max-width: 860px) {
  .kevm--live .kevm-map { height: var(--kevm-mh, 72vh); }
  .kevm--list-above .kevm-stage,
  .kevm--list-below .kevm-stage { display: flex; flex-direction: column; }
  .kevm--list-above .kevm-list { order: -1; }
  .kevm--live .kevm-sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    background: #fff;
    color: #14161c;
    padding: 16px;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.16);
  }
  .kevm--live .kevm-sheet__panel { display: flex; flex-direction: column; gap: 8px; }
}
@media (min-width: 861px) {
  .kevm--live .kevm-sheet { position: static; background: transparent; }
  .kevm--live .kevm-sheet__panel { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
}

/* La mappa nuova non usa il carosello della 1.5.2: elenco sopra o sotto, mai sopra i pin. */
.kevm.kevm--live .kevm-list,
.kevm.kevm--live.is-narrow .kevm-list {
  align-self: stretch;
  flex-direction: column;
  max-height: 420px;
  overflow: auto;
  pointer-events: auto;
  touch-action: auto;
  padding: 0;
}
.kevm.kevm--live button.kevm-livepin,
.kevm.kevm--live button.kevm-livepin:hover,
.kevm.kevm--live button.kevm-livepin:focus,
.kevm.kevm--live button.kevm-livepin:focus-visible,
.kevm.kevm--live button.kevm-livepin:active {
  position: relative;
  border: 0;
  border-radius: 999px;
  min-height: 44px;
  min-width: 44px;
  padding: 0 10px;
  margin: 0;
  color: #fff !important;
  background: var(--kevm-pin-event, #e37b2d) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  appearance: none;
  cursor: pointer;
}
.kevm.kevm--live button.kevm-livepin--place,
.kevm.kevm--live button.kevm-livepin--place:hover,
.kevm.kevm--live button.kevm-livepin--place:focus { background: var(--kevm-pin-place, #2f6fed) !important; }
.kevm.kevm--live button.kevm-livepin--cluster,
.kevm.kevm--live button.kevm-livepin--cluster:hover { background: #14161c !important; }
.kevm.kevm--live button.kevm-livepin--cancelled { text-decoration: line-through; }
@media (max-width: 860px) {
  .kevm.kevm--live .kevm-stage,
  .kevm.kevm--live.is-narrow .kevm-stage {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .kevm.kevm--live .kevm-map,
  .kevm.kevm--live .kevm-list,
  .kevm.kevm--live.is-narrow .kevm-map,
  .kevm.kevm--live.is-narrow .kevm-list {
    grid-area: auto !important;
    position: static;
    width: 100%;
  }
  .kevm.kevm--live .kevm-list,
  .kevm.kevm--live.is-narrow .kevm-list {
    align-self: stretch !important;
    z-index: 1;
    flex-direction: column !important;
    max-height: 46vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
    touch-action: auto !important;
  }
  .kevm.kevm--live .kevm-map .maplibregl-ctrl-bottom-right,
  .kevm.kevm--live .kevm-map .maplibregl-ctrl-bottom-left,
  .kevm.kevm--live.is-narrow .kevm-map .maplibregl-ctrl-bottom-right,
  .kevm.kevm--live.is-narrow .kevm-map .maplibregl-ctrl-bottom-left { bottom: 0 !important; }
}
.kevm.kevm--live.kevm--list-above .kevm-stage,
.kevm.kevm--live.kevm--list-below .kevm-stage {
  display: flex !important;
  flex-direction: column !important;
}
.kevm.kevm--live.kevm--list-above .kevm-list { order: -1; }
.kevm.kevm--live .kevm-sheet__free:not([hidden]) {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}
.kevm.kevm--live .kevm-sheet__free input {
  width: 20px;
  height: 20px;
}


