/* Recordings 10–12: scoped navigation entry controls, using the existing app surfaces.
   Selection, disclosure, layout persistence and visibility are controller-owned. */
body #destinationParking .destination-launchbar {
  position: sticky;
  top: var(--navigation-sticky-top, 8px);
  z-index: 12;
  box-sizing: border-box;
  min-width: 0;
  margin: 12px 0 16px;
  padding: 12px;
  border: 1px solid #c9d4e2;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #edf2f8);
  color: #293b52;
  box-shadow: var(--app-raised, inset 0 1px 1px #fff, 0 3px 0 #dce0e5, 0 9px 20px #28344912);
}

body #destinationParking .destination-launchbar [data-navigation-selected-label] {
  display: block;
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body #destinationParking .destination-launch-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}

body #destinationParking .destination-launch-actions > :is([data-embedded-navigation], [data-destination-navigate]) {
  display: flex;
  flex: 1 1 112px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 10px 8px;
  border: 1px solid #507899 !important;
  border-radius: 13px !important;
  background: linear-gradient(160deg, #5c89af, #35658b) !important;
  color: #fff !important;
  box-shadow: inset 0 1px #bdd9ec88, 0 3px 0 #294e70 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

body #destinationParking .destination-launch-actions > [data-destination-navigate] {
  border-color: #c2cddc !important;
  background: linear-gradient(#fff, #e9eef5) !important;
  color: #314a67 !important;
  box-shadow: var(--app-button, inset 0 1px #fff, 0 3px 0 #d1d6df) !important;
}

body #destinationParking .destination-launch-actions img {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

body #destinationParking .destination-launchbar :is([data-embedded-navigation-privacy], [data-destination-nav-help]) {
  margin: 10px 0 0;
  color: #526173 !important;
  font-size: 12px;
  line-height: 1.55;
  opacity: 1;
  overflow-wrap: anywhere;
}

body #destinationParking .destination-history {
  min-width: 0;
  margin: 12px 0;
}

body #destinationParking .destination-search-shortcuts {
  display: flex;
  gap: 8px;
  margin: 8px 0;
}

body #destinationParking .destination-search-shortcuts > .destination-locate {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  width: auto !important;
  margin: 0 !important;
  padding: 8px 5px !important;
  font-size: 12px !important;
  line-height: 1.4;
  white-space: normal;
}

body #destinationParking .destination-search-shortcuts > .destination-locate::before {
  display: none !important;
}

body #destinationParking.is-choosing-destination > [data-destination-state] {
  min-height: 0;
  margin: 8px 0;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.5;
}

body #destinationParking.is-choosing-destination > [data-destination-state]::before {
  display: none !important;
}

body #destinationParking .destination-history .destination-history-group {
  min-width: 0;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
}

body #destinationParking .destination-history .destination-history-group > h3 {
  margin: 0 0 8px;
  color: #526173;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

/* Vertical is the default, including a missing/invalid persisted layout value. */
body #destinationParking .destination-history .destination-history-group > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 2px 1px 6px;
  overflow: visible;
  scroll-snap-type: none;
}

body #destinationParking .destination-history .destination-history-group .navigation-place-row {
  display: flex;
  align-items: center;
  gap: 9px;
  box-sizing: border-box;
  flex: initial;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 64px;
  margin: 0;
  padding: 10px !important;
  border: 1px solid #d5dde7 !important;
  border-radius: 14px !important;
  background: linear-gradient(#fff, #f0f3f7) !important;
  color: #293b52 !important;
  box-shadow: var(--app-button, inset 0 1px #fff, 0 3px 0 #d1d6df) !important;
  text-align: left;
  white-space: normal;
}

body #destinationParking .navigation-place-row .destination-place-kind {
  display: block;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  object-fit: contain;
}

body #destinationParking .navigation-place-row .destination-place-kind img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body #destinationParking .navigation-place-row .navigation-place-text {
  display: block;
  flex: 1;
  min-width: 0;
}

body #destinationParking .navigation-place-row .navigation-place-text b {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: inherit;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

body #destinationParking .navigation-place-row .navigation-place-text small {
  display: block;
  max-width: 100%;
  margin-top: 3px;
  overflow: hidden;
  color: #526173;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Home/work stay together and compact in either recent-history layout. */
body #destinationParking .destination-history .destination-history-group[data-history-group="saved"] > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body #destinationParking .destination-history-group[data-history-group="saved"] .navigation-place-row {
  gap: 7px;
  padding: 9px !important;
}

body #destinationParking .destination-history-group[data-history-group="saved"] .navigation-place-text small {
  display: block;
}

body #destinationParking .destination-history[data-layout="horizontal"] .destination-history-group:is([data-history-group="recent"], [data-history-group="favorites"]) > div {
  display: flex;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 1px;
  scrollbar-width: thin;
}

body #destinationParking .destination-history[data-layout="horizontal"] .destination-history-group:is([data-history-group="recent"], [data-history-group="favorites"]) .navigation-place-row {
  flex: 0 0 min(260px, 100%);
  width: 260px;
  scroll-snap-align: start;
}

body #destinationParking .navigation-preferences {
  min-width: 0;
  margin: 10px 0;
  border-top: 1px solid #dce2ea;
  color: #526173;
  font-size: 13px;
}

body #destinationParking .navigation-preferences > summary {
  display: list-item;
  box-sizing: border-box;
  min-height: 44px;
  padding: 12px 0;
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}

@media (max-height: 740px) {
  body #view-map.destination-navigation-entry #destinationParking {
    margin-top: 6px !important;
  }
  body .destination-navigation-entry #destinationParking .navigation-preferences {
    margin: 2px 0;
  }
  body .destination-navigation-entry #destinationParking .destination-history {
    margin: 4px 0;
  }
  body .destination-navigation-entry #destinationParking .destination-history-group {
    margin-bottom: 8px;
  }
}

body #destinationParking .navigation-preferences label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-bottom: 10px;
}

body #destinationParking .navigation-preferences select[data-navigation-layout] {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #c6d0dd !important;
  background: #f9fafc !important;
  color: #314a67 !important;
  font: inherit;
}

body #destinationParking [data-navigation-layout-status] {
  margin: 8px 0;
  color: #9b302d;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* Only redundant entry copy is suppressed; privacy and help remain controller-owned. */
body .destination-navigation-entry #destinationParking .destination-intro,
body .destination-navigation-entry #destinationParking > [data-destination-context] {
  display: none;
}

body .destination-navigation-entry #destinationParking > [data-destination-title] {
  margin: 0 0 10px !important;
  font-size: 18px !important;
  line-height: 1.4;
}

body #destinationParking :is(.destination-launchbar, .navigation-place-row, .navigation-preferences) :focus-visible,
body #destinationParking .navigation-place-row:focus-visible {
  outline: 2px solid #35658b;
  outline-offset: 3px;
}

/* Do not turn a controller-hidden control into a visible flex/grid item. */
body #destinationParking [hidden],
body #view-map.destination-navigation-entry #destinationParking [hidden] {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  body #destinationParking .destination-launchbar,
  body #destinationParking .destination-launch-actions > button,
  body #destinationParking .destination-history .navigation-place-row {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    scroll-behavior: auto !important;
  }

  body #destinationParking .destination-history .destination-history-group > div {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
  }
}

/* All search choices and history use the same category artwork. */
body #destinationParking [data-destination-choices] .destination-choice-row{display:flex;align-items:center;gap:12px;min-height:64px;text-align:left;color:#293b52;background:linear-gradient(#fff,#f0f3f7);box-shadow:inset 0 1px #fff,0 3px 0 #d1d6df}
body #destinationParking .destination-choice-row .destination-place-kind{display:block;flex:0 0 36px;width:36px;height:36px}
body #destinationParking .destination-choice-row .destination-place-kind img{display:block;width:36px;height:36px;object-fit:contain}
body #destinationParking .destination-choice-row .navigation-place-text{display:block;flex:1;min-width:0;overflow-wrap:anywhere}

body #destinationParking .ev-place-heading{display:flex;align-items:center;gap:12px}body #destinationParking .ev-place-heading img{width:36px;height:36px;flex:0 0 36px}body #destinationParking .ev-place-heading span{min-width:0;overflow-wrap:anywhere}

/* Keep the first recent and saved home/work within the navigation chooser.
   Longer vertical history scrolls inside its own group; all entries stay selectable. */
body .destination-navigation-entry #destinationParking .destination-history[data-layout="vertical"] .destination-history-group:is([data-history-group="recent"], [data-history-group="favorites"]) > div {
  max-height: 216px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
@media (max-height: 740px) {
  body .destination-navigation-entry #destinationParking .destination-history[data-layout="vertical"] .destination-history-group:is([data-history-group="recent"], [data-history-group="favorites"]) > div {
    max-height: 144px;
  }
}
