/* Slide panel base */
.leaflet-menu {
  position: absolute;
  z-index: 1000;
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15);
  overflow: auto;
  will-change: transform;
  transition: transform 220ms ease;
  /* Add a subtle NHS-blue border accent */
  /*border-top: 4px solid #005eb8; /* NHS Blue */
}

/* Horizontal */
.leaflet-menu[data-orientation="horizontal"][data-side="left"] {
  top: 0; bottom: 0; left: 0;
  transform: translateX(-100%);
}
.leaflet-menu[data-orientation="horizontal"][data-side="left"].is-open {
  transform: translateX(0);
}
.leaflet-menu[data-orientation="horizontal"][data-side="right"] {
  top: 0; bottom: 0; right: 0;
  transform: translateX(100%);
}
.leaflet-menu[data-orientation="horizontal"][data-side="right"].is-open {
  transform: translateX(0);
}

/* Vertical */
.leaflet-menu[data-orientation="vertical"][data-side="top"] {
  left: 0; right: 0; top: 0;
  transform: translateY(-100%);
}
.leaflet-menu[data-orientation="vertical"][data-side="top"].is-open {
  transform: translateY(0);
}
.leaflet-menu[data-orientation="vertical"][data-side="bottom"] {
  left: 0; right: 0; bottom: 0;
  transform: translateY(100%);
}
.leaflet-menu[data-orientation="vertical"][data-side="bottom"].is-open {
  transform: translateY(0);
}

/* Compact control button to fit Leaflet toolbar line-height */
.leaflet-control-slidemenu .nhsuk-button.leaflet-bar-part {
  width: 48px !important;
  height: 48px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Close button in header */
.leaflet-menu .leaflet-menu-close-button {
  box-shadow: none;
  width: 48px !important;
  height: 48px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Content spacing */
.leaflet-menu-contents {
  padding-top: .25rem;
}
