.dg-map-section {
  margin: 22px 0;
  padding: 18px;
  background: var(--paper, #fffefa);
  border: 1px solid var(--line, #e1e4da);
  border-radius: 18px;
  min-width: 0;
}
.dg-map-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}
.dg-map-heading h3 {
  margin: 0;
  font-size: 16px;
}
.dg-map-heading > span {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--muted);
}
.dg-place-map {
  height: 330px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #e8ece3;
  isolation: isolate;
  z-index: 0;
  font-family: inherit;
}
.dg-place-map[hidden] {
  display: none;
}
.dg-place-map .leaflet-control-attribution {
  font-size: 10px;
  line-height: 1.5;
}
.dg-place-map .leaflet-control-attribution a {
  color: #365f52;
}
.dg-place-map .leaflet-control-zoom a {
  color: #273c37;
}
.dg-map-marker {
  background: transparent;
  border: 0;
}
.dg-map-marker span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #273c37;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px #18382e55;
  font-size: 12px;
  font-weight: 700;
}
.dg-map-marker:focus-visible span {
  outline: 3px solid #df725b;
  outline-offset: 2px;
}
.dg-map-popup {
  font-family: "Noto Sans KR", sans-serif;
  line-height: 1.6;
}
.dg-map-popup p {
  margin: 6px 0 !important;
  color: #5f6c63;
}
.dg-map-popup a {
  color: #365f52 !important;
  font-weight: 600;
}
.dg-map-status,
.dg-map-note {
  margin: 10px 0 0;
  font-size: 12px;
  color: #617168;
  line-height: 1.7;
}
.dg-map-status.dg-map-warning {
  padding: 12px;
  border-radius: 10px;
  color: #88572f;
  background: #faf0dc;
}
.dg-map-dashed {
  display: inline-block;
  width: 24px;
  border-top: 2px dashed #bd614b;
  vertical-align: middle;
  margin-right: 4px;
}
.dg-map-places {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}
.dg-map-places li {
  display: flex;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.dg-map-places li > div {
  min-width: 0;
}
.dg-map-places strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.dg-map-places p {
  font-size: 12px;
  color: #617168;
  margin: 5px 0;
  overflow-wrap: anywhere;
}
.dg-map-list-number {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--sage);
  font-size: 12px;
  font-weight: 700;
}
.dg-map-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  font-size: 12px;
  margin-top: 7px;
}
.dg-map-links a {
  color: #355e4d;
  font-weight: 600;
  text-underline-offset: 3px;
}
.dg-map-missing {
  color: #91683f;
}
.dg-map-addresses summary {
  cursor: pointer;
  margin-top: 15px;
  color: #365f52;
  font-weight: 600;
  font-size: 13px;
}
.dg-map-footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 10px;
  color: #617168;
  margin-top: 10px;
}
@media (max-width: 600px) {
  .dg-map-section {
    padding: 12px;
    border-radius: 14px;
  }
  .dg-place-map {
    height: 290px;
  }
  .dg-map-heading h3 {
    font-size: 14px;
  }
  .dg-map-links a {
    padding: 5px 0;
  }
}
@media print {
  .dg-place-map,
  .dg-map-status,
  .dg-map-footer {
    display: none;
  }
  .dg-map-section {
    break-inside: avoid;
  }
}

.course-art.course-real-map{height:250px;padding:0;background:#e8eee4;position:relative;cursor:default;overflow:hidden}.course-real-map .course-area{z-index:450;pointer-events:none;box-shadow:0 2px 12px #16352b18}.dg-map-section.dg-map-compact{margin:0;padding:0;border:0;border-radius:0;height:100%;position:relative}.dg-map-compact .dg-place-map{height:100%;border:0;border-radius:0}.dg-map-compact .leaflet-control-attribution{font-size:8px;background:#fffefae8}.dg-map-compact .dg-map-status{position:absolute;left:14px;bottom:15px;right:95px;font-size:10px;z-index:401;background:#fffefaec;padding:4px 8px;border-radius:6px}.dg-map-compact:has(.leaflet-tile-loaded) .dg-map-status{display:none}.dg-compact-legend{position:absolute;left:14px;bottom:25px;z-index:410;font-size:10px;padding:4px 8px;border-radius:6px;background:#fffefaef;color:#385349}.map-expand{position:absolute;right:12px;bottom:25px;z-index:450;border:1px solid #c4d4c8;background:#fffefaed;border-radius:9px;padding:7px 10px;display:flex;align-items:center;gap:5px;color:#27493e;font-size:11px;min-height:34px}.course-real-map .map-expand{white-space:nowrap;line-height:1.2}.course-real-map .map-expand .icon{width:14px;height:14px;flex:0 0 14px;opacity:1;position:static}.dg-route-button{margin:10px 0}
/* Keep Leaflet panes and map badges below dialogs and the mobile navigation. */
.dg-map-section,.course-art.course-real-map{isolation:isolate}
@media(max-width:600px){.course-grid{grid-template-columns:minmax(0,1fr);gap:22px}.course-art.course-real-map{height:240px}.course-body{padding:20px}.course-body h3{font-size:18px}.course-body .description{font-size:13px;min-height:0}.course-body .tag{font-size:11px}.course-footer{margin-top:18px}.card-link{font-size:12px}}

@media(max-width:600px){.section-line>div>h2{word-break:keep-all}.section-line>.overline{display:none}}
.dg-compact-addresses{height:100%;padding:48px 20px 42px;box-sizing:border-box;background:linear-gradient(135deg,#f2f0e7,#e9efe8);color:#2e4e43;overflow:hidden}
.dg-compact-addresses>p{font-size:10px;letter-spacing:.05em;margin:0 0 12px;color:#66776b}
.dg-compact-addresses ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dg-compact-addresses li{display:flex;align-items:center;gap:9px;min-width:0}
.dg-compact-addresses li>b{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid #c7d3c4;border-radius:50%;background:#fafbf5;font-size:10px}
.dg-compact-addresses li>div{min-width:0;display:grid;gap:3px}
.dg-compact-addresses strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-compact-addresses span{font-size:9px;color:#68796c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-compact-addresses>small{position:absolute;bottom:13px;left:20px;font-size:9px;color:#647363}
.dg-map-compact .dg-map-status.dg-map-warning{bottom:62px;right:14px}
