/* El panel lateral solo aparece cuando hay ancho real para conservar el mapa. */
@media (min-width: 1024px) {
  .stage { background: #dfe8e7; }
  .stage #map { right: min(36vw, 560px); }
  #list-panel.drawer {
    display: flex;
    flex-direction: column;
    top: 78px; right: 20px; bottom: 94px; left: auto;
    width: calc(min(36vw, 560px) - 40px);
    max-height: none;
    background: rgba(249, 251, 251, .94);
    border: 1px solid var(--edge);
    border-radius: 16px;
    box-shadow: var(--shadow-panel);
    animation: none;
  }
  #list-panel .drawer-body {
    flex: 1 1 auto;
    overflow-y: auto;
    box-sizing: border-box;
  }
  #list-panel .lp-legal {
    margin: 0;
    padding: 11px 17px;
    background: rgba(238, 243, 242, .86);
    border-top: 1px solid var(--line-soft);
    border-radius: 0 0 16px 16px;
  }
  .rail {
    right: 20px;
    left: auto;
    width: calc(min(36vw, 560px) - 40px);
    justify-content: space-around;
  }
}

/* PC con ventana angosta: barra completa, mapa sin recortar. */
@media (min-width: 721px) and (max-width: 1023px) {
  .rail {
    left: 24px;
    right: auto;
    width: min(400px, calc(100vw - 48px));
    justify-content: space-around;
  }
}
