/* Restrained selection: colour belongs to the chosen journey. */
#planCourses .shape { transition: border-color .24s, background-color .24s; }
#planCourses .shape.is-chosen { border-color: var(--moss, #304d40); background: #f1f1e7; }
#planCourses .shape.is-muted { background: #eeede6; border-color: #d6d3c8; }
#planCourses .shape.is-muted .shape__img img { filter: grayscale(.95); opacity: .58; }
#planCourses .shape.is-muted .shape__body { color: #6f756c; }
#planCourses .shape.is-muted .course-start { background: transparent; color: #455c50; border-color: #aaaF9f; }
#planCourses .shape.is-muted .course-start:hover { background: #e0e4d7; }
.map-explorer-open { overflow: hidden; }
dialog.map-explorer { padding: 0; border: 0; background: transparent; color: #f4efe3; width: min(1440px, 94vw); max-width: 94vw; max-height: 94svh; overflow: visible; }
.map-explorer::backdrop { background: rgb(0 0 0 / .78); backdrop-filter: blur(4px); }
.map-explorer__sheet { display: flex; flex-direction: column; height: min(880px, 92svh); overflow: hidden; background: #18251feF; box-shadow: 0 24px 90px #0008; }
.map-explorer__head { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 24px; }
.map-explorer__head .label { color: #c6ad79; font-size: 10px; margin: 0 0 5px; }
.map-explorer__head h2 { color: inherit; font-size: clamp(22px, 2.5vw, 30px); margin: 0; font-weight: 400; }
.map-explorer__close { color: #eee9db; border: 0; background: transparent; width: 44px; height: 44px; font-size: 30px; line-height: 1; cursor: pointer; }
.map-explorer__map { flex: 1; min-height: 0; width: 100%; position: relative; background: #abb59a; }
.map-explorer__map.imap-root { height: auto; }
.map-explorer__foot { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; }
.map-explorer__foot p { margin: 0; color: #b5bcaf; font-size: 11px; }
.map-explorer__foot .btn { background: #f3eddf; color: #30483c; padding: 14px 24px; font-size: 11px; min-height: 44px; }
.map-explorer .dio-key[hidden] { display: none; }
.map-explorer .imap-tooltip { width: 270px; max-width: calc(100% - 24px); }
.explore-photos { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; margin-top: 10px; padding-bottom: 5px; }
.explore-photos img { width: 225px; height: 130px; flex-shrink: 0; object-fit: cover; scroll-snap-align: start; }
.explore-photo { display: block; width: 100%; max-height: 150px; object-fit: cover; margin-top: 10px; }
.explore-fallback { width: 100%; height: 80%; object-fit: contain; }
.explore-gallery-link { display: flex; width: 100%; justify-content: space-between; background: none; border: none; color: inherit; font-size: 11px; padding: 8px 0 0; cursor: pointer; }
@media(max-width:600px) {
  dialog.map-explorer { width: 100vw; max-width: 100vw; max-height: 100svh; }
  .map-explorer__sheet { height: 100svh; }
  .map-explorer__head { padding: 12px 16px; }
  .map-explorer__foot { flex-direction: column; gap: 10px; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); }
  .map-explorer__foot .btn { width: 100%; justify-content: center; }
  .map-explorer .imap-tooltip { width: 240px; }
  .explore-photos img { width: 195px; height: 110px; }
}
@media(prefers-reduced-motion:reduce) { #planCourses .shape { transition: none; } }
