/* Batch 2 map, sharing the original 15A type, teal, sage and gold palette. */
.adn-map { min-width:0; width:100%; margin:22px 0; padding:22px; border:1px solid #bdcfc1; border-radius:9px; background:#f8faf3; color:#234d46; overflow-wrap:anywhere; }
.adn-map *, .adn-map *::before, .adn-map *::after { box-sizing:border-box; }
.adn-map [hidden] { display:none !important; }
.adn-map-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.adn-map-heading>div { min-width:0; flex:1 1 250px; }
.adn-map h3 { margin:0 0 8px; font:600 30px/1.1 var(--display,Georgia,serif); color:#173f40; letter-spacing:0; }
.adn-map p { font:500 12px/1.65 var(--body,Arial,sans-serif); }
.adn-map .adn-map-summary { margin:0; max-width:740px; }
.adn-map .dir-button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; min-width:0; max-width:100%; padding:10px 13px; border:1px solid #9db9ad; border-radius:5px; background:#fafbf6; color:#164a49; font:750 13px/1.35 var(--body,Arial,sans-serif); text-align:center; white-space:normal; cursor:pointer; }
.adn-map .dir-button:hover { background:#e5eee5; border-color:#416f65; }
.adn-map .dir-button-primary { color:#fff; background:#11373a; border-color:#11373a; }
.adn-map .dir-button-primary:hover { color:#fff; background:#28595c; }
.adn-map button:disabled { opacity:.65; cursor:default; }
.adn-map button:focus-visible, .adn-map a:focus-visible, .adn-map summary:focus-visible, .adn-map .leaflet-container:focus-visible, .adn-map .adn-map-marker:focus-visible { outline:3px solid #aa7422; outline-offset:3px; }
.adn-map a { color:#14565a; text-decoration:underline; text-underline-offset:3px; }
.adn-map-consent { display:flex; gap:18px; flex-wrap:wrap; align-items:center; margin:17px 0 0; padding:17px; background:#e7eee4; border:1px solid #c8d8c8; border-radius:7px; }
.adn-map .adn-map-privacy { flex:1 1 280px; min-width:0; margin:0; }
.adn-map .adn-map-load { flex:0 0 auto; }
.adn-map .adn-map-status { margin:12px 0; min-height:1.65em; color:#47675f; }
.adn-map-canvas { width:100%; min-width:0; height:410px; border:1px solid #b2c6bb; border-radius:7px; background:#dfe9e5; isolation:isolate; z-index:0; }
.adn-map-profile .adn-map-canvas { height:320px; }
.adn-map .adn-map-help { margin:10px 0; }
.adn-map-key { display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; margin:15px 0 8px; font:700 12px/1.5 var(--body,Arial,sans-serif); }
.adn-map-key>span { display:inline-flex; align-items:center; gap:8px; }
.adn-map-key-dot { width:13px; height:13px; border:2px solid #164c4c; border-radius:50%; background:#164c4c; flex:0 0 13px; }
.adn-map-key-dot.approximate { border:2px dashed #856317; background:#f5e5b6; }
.adn-map .adn-map-caution { margin:8px 0 0; color:#5f613e; }
.adn-map-location-index { margin:15px 0 0; border-top:1px solid #ccdacd; padding-top:12px; }
.adn-map-location-index summary { width:fit-content; cursor:pointer; font:750 12px/1.5 var(--body,Arial,sans-serif); padding:4px 0; }
.adn-map-location-index ul { margin:12px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
.adn-map-location-index li { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:0 0 10px; border-bottom:1px solid #dce5da; }
.adn-map .adn-map-location-button { text-align:left; justify-content:flex-start; width:100%; font-size:12px; }
.adn-map .adn-map-location-button[aria-pressed="true"] { background:#e3ebdd; border-color:#776121; }
.adn-map-location-index li>a { font:700 12px/1.5 var(--body,Arial,sans-serif); margin-top:6px; padding:6px 0; }
.adn-map .adn-map-report { display:inline-block; font:600 11px/1.6 var(--body,Arial,sans-serif); margin-top:11px; }
.adn-map .leaflet-container { font-family:var(--body,Arial,sans-serif); }
.adn-map .leaflet-container .leaflet-control-attribution { max-width:calc(100% - 12px); white-space:normal; font-size:11px; line-height:1.5; color:#204d47; background:rgba(255,255,255,.94); }
.adn-map .leaflet-container .leaflet-control-attribution a { color:#14565a; }
.adn-map .leaflet-control-zoom a { color:#173f40; text-decoration:none; width:36px; height:36px; line-height:36px; }
.adn-map .leaflet-popup-content { overflow-wrap:anywhere; max-width:calc(100vw - 115px); margin:16px 20px; color:#244e47; }
.adn-map-popup strong { display:block; font:600 23px/1.1 var(--display,Georgia,serif); color:#173f40; }
.adn-map .adn-map-popup p { margin:8px 0; font-size:12px; }
.adn-map .adn-map-popup-precision { color:#65572e; }
.adn-map-popup>a { display:inline-block; padding:8px 0; font:750 12px/1.4 var(--body,Arial,sans-serif); }
.adn-map .leaflet-popup-close-button { min-width:32px; min-height:32px; font-size:24px; color:#264f49; }
.adn-map-marker { background:transparent; border:0; }
.adn-map-marker>span { display:block; width:26px; height:26px; margin:1px 2px; border:3px solid #fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#164c4c; box-shadow:0 0 0 2px #164c4c,0 3px 7px #0004; }
.adn-map-marker>span::after { content:''; display:block; width:6px; height:6px; border-radius:50%; background:#fff; margin:7px; }
.adn-map-marker-approximate>span { background:#f5e5b6; border:3px dashed #856317; box-shadow:0 0 0 2px #fff,0 3px 7px #0004; border-radius:50%; transform:none; }
.adn-map-marker-approximate>span::after { background:#856317; }
.adn-map-marker-selected>span { box-shadow:0 0 0 3px #e1af38,0 0 0 6px #fff,0 4px 9px #0004; }
@media(max-width:768px) {
  .adn-map { padding:18px; }
  .adn-map-canvas { height:360px; }
  .adn-map-heading { gap:10px; }
  .adn-map-location-index ul { grid-template-columns:1fr; }
}
@media(max-width:420px) {
  .adn-map { padding:15px; margin:18px 0; }
  .adn-map h3 { font-size:27px; }
  .adn-map-consent { padding:13px; gap:12px; }
  .adn-map .adn-map-load { width:100%; }
  .adn-map-canvas, .adn-map-profile .adn-map-canvas { height:320px; }
  .adn-map-key { gap:10px 15px; }
}
@media(prefers-reduced-motion:reduce) {
  .adn-map .leaflet-zoom-animated, .adn-map .leaflet-fade-anim .leaflet-popup { transition:none; }
}

/* Worldwide Explore uses the established 15A typography and image treatment. */
.explore-page .explore-hero { min-height:500px; }
.explore-page .explore-hero .hero-body { padding-top:70px; padding-bottom:75px; }
.explore-page .explore-hero h1 { font-size:clamp(60px,7vw,96px); }
.explore-page .finder { padding-top:65px; }
.dir-explore-activity { max-width:420px; margin:18px 0 0; }
.adn-map-world .adn-map-heading { flex-wrap:wrap; }
.adn-map-world .adn-map-heading>div { flex:1 1 100%; }
.adn-map-world .adn-map-consent { min-height:215px; align-content:center; position:relative; background-color:#e8efe9; background-image:linear-gradient(#174c4c0a 1px,transparent 1px),linear-gradient(90deg,#174c4c0a 1px,transparent 1px); background-size:32px 32px; }
.adn-map-world .adn-map-consent p { max-width:470px; }
.adn-map-world .adn-map-canvas,
.adn-map-world .adn-map-canvas.leaflet-container { background:#c8e3eb; }
.adn-map-world .leaflet-overlay-pane path { vector-effect:non-scaling-stroke; }
.adn-map-marker-group>span { transform:none; border-radius:50%; color:#fff; text-align:center; font:800 15px/25px var(--body,Arial,sans-serif); }
.adn-map-marker-group>span::after { display:none; }
.adn-map-popup+.adn-map-popup { border-top:1px solid #ccdacd; padding-top:12px; margin-top:12px; }
@media(max-width:760px) {
  .explore-page .explore-hero { min-height:0; }
  .explore-page .explore-hero .hero-body { padding:65px 23px 65px; }
  .explore-page .finder { padding-top:48px; }
  .adn-map-world .adn-map-consent { min-height:185px; }
}
.adn-map-help summary { cursor:pointer; font-weight:700; padding:8px 0; }
.adn-map-help p { margin:4px 0 10px; }
