.sre-explorer[data-route="port-road"] .sre-route-line.is-branch {
  stroke: #b87925;
  stroke-width: 5;
  stroke-dasharray: 9 5;
}

.sre-port-working-map {
  margin: 2rem 0 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #cfc5b3;
}

.sre-port-working-map > header {
  max-width: 820px;
  margin: 0 auto 1rem;
}

.sre-port-working-map .sre-explorer-shell {
  margin-top: 1rem;
}

/* Keep the full timetable and Journey Companion in the page flow. The
   Explorer's general desktop layout otherwise traps this column in a
   viewport-height scroller and hides its lower content. */
.sre-port-working-map .sre-side {
  position: static !important;
  top: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.sre-port-working-map .sre-journey-companion {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.sre-port-working-map .sre-service-picker {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 0.5rem 2.2rem 0.5rem 0.65rem;
  border: 1px solid #ad9f88;
  background: #fff;
  color: #172a35;
  font: inherit;
}

.sre-port-map-place-key {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 1.1rem;
  max-width: 1180px;
  margin: 0 auto 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid #d7d0c3;
  background: #fbf8f0;
  color: #273446;
  font-size: 0.76rem;
}

.sre-port-map-place-key span::before {
  content: "";
  display: inline-block;
  width: 0.72rem;
  height: 0.72rem;
  margin-right: 0.4rem;
  border: 2px solid #172a35;
  border-radius: 50%;
  background: #c8c4b9;
  vertical-align: -0.1rem;
}

.sre-port-map-place-key .is-anchor::before { background: #f8f1dc; }
.sre-port-map-place-key .is-junction::before { background: #d4a044; }
.sre-port-map-place-key small { margin-left: auto; color: #5c6470; }

.sre-port-evidence-summary {
  margin: 0 0 2.5rem;
  border: 1px solid #d7d0c3;
  background: #f8f5ed;
}

.sre-port-evidence-summary > summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  cursor: pointer;
  color: #172a35;
}

.sre-port-evidence-summary > summary span {
  color: #7d2b28;
  font-weight: 700;
}

.sre-port-evidence-summary > div { padding: 0 1.2rem 1.2rem; }

.sre-port-working-map .sre-header {
  min-height: 150px;
}

.sre-port-working-map .sre-header > span::after {
  content: " · private prototype";
}

@media (max-width: 760px) {
  .sre-port-working-map {
    margin-inline: -0.4rem;
  }

  .sre-port-map-place-key { align-items: flex-start; }
  .sre-port-map-place-key small { flex-basis: 100%; margin-left: 0; }
  .sre-port-evidence-summary > summary { display: block; }
  .sre-port-evidence-summary > summary strong { display: block; margin-top: 0.3rem; }
}
