@import url('/airport-comparison.css');

/* Compact city preview beside a larger, named geographic map. */
.destination-map-section{margin-bottom:28px}
.destination-map-section .area-disclosure-body{padding:0;background:#102747;border-radius:0 0 18px 18px;overflow:hidden}
.destination-map-experience{padding:clamp(18px,3vw,36px);color:#f6f9ff}
.destination-map-heading{margin-bottom:28px;text-align:center}
.destination-map-heading .eyebrow{color:#ff859c;margin:0 0 10px;font-size:.8rem;letter-spacing:.15em}
.destination-map-heading h3{color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,3vw,2.85rem);font-weight:700;line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}
.destination-map-intro{color:#c1d1e6;margin:0;font-size:1.0625rem;font-weight:600}
.destination-map-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:24px;align-items:stretch}
.destination-map-story{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;min-height:440px;background:#193b60}
.destination-map-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.destination-map-story::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#06152b08 10%,#06152bd9 68%,#06152bf5);z-index:-1;pointer-events:none}
.destination-map-story-copy{padding:28px 22px;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}
.destination-map-story-region{color:#fff;font-size:.9375rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px}
.destination-map-story h4{color:#fff;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(2rem,3.4vw,3rem);line-height:1.12;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.destination-map-korean{color:#dbe7f8;margin:8px 0 20px;font-size:1rem;font-weight:700}
.destination-map-story [data-map-description]{color:#edf3fc;font-size:1.0625rem;font-weight:600;line-height:1.5;margin:20px 0 26px}
.destination-map-story .destination-map-korean+[data-map-description]{margin-top:0}
.destination-map-visit{display:block;padding:14px 16px;min-height:48px;background:#fff;border:1px solid #fff;border-radius:10px;text-decoration:none;color:#143052;font-size:1rem;font-weight:800;text-align:center;line-height:1.5}
.destination-map-visit:hover{background:#edf3ff;color:#143052}
.destination-map-panel{min-width:0;container-type:inline-size;background:#e9f0f8;border-radius:22px;overflow:hidden;color:#17365e}
.destination-map-panel-heading{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 26px 0;font-size:1rem;font-weight:800;letter-spacing:.08em;text-align:center}
.destination-map-panel-heading span:last-child{letter-spacing:0;font-size:.9375rem;font-weight:700;color:#4c6683}
.destination-map-canvas{position:relative;width:100%;max-width:720px;aspect-ratio:640 / 620;margin:4px auto 0;isolation:isolate}
.destination-map-geography{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.destination-map-land{fill:#cfdded;stroke:#97b0cd;stroke-width:.8;stroke-linejoin:round}
.destination-map-boundaries{fill:none;stroke:#597fa5;stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.9}
.destination-map-city-area{fill:#dce8f4;stroke:#7190af;stroke-width:.7;stroke-linejoin:round;vector-effect:non-scaling-stroke;fill-rule:evenodd;cursor:pointer;pointer-events:all;transition:fill .18s,stroke .18s}
.destination-map-city-area.is-selected{fill:#bcd5f5;stroke:#356da8}
.destination-map-city-area.is-visited{fill:#c62748;stroke:#a71535}
.destination-map-leader{fill:none;stroke:#829fbd;stroke-width:1;vector-effect:non-scaling-stroke}
.destination-map-dot{fill:#1a60cd;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.destination-map-ring{fill:none;stroke:#cb294a;stroke-width:1.5;opacity:0;vector-effect:non-scaling-stroke}
[data-map-point].is-visited .destination-map-ring{opacity:1;stroke:#cb294a;stroke-width:2}
[data-map-point].is-selected .destination-map-ring{opacity:.55}
[data-map-point].is-selected .destination-map-dot{fill:#cb294a}
[data-map-point].is-selected .destination-map-leader{stroke:#cb294a}
.destination-map-flag-pole,.destination-map-flag-cloth{display:none;pointer-events:none;vector-effect:non-scaling-stroke}
.destination-map-flag-pole{fill:none;stroke:#8d1230;stroke-width:1.8}
.destination-map-flag-cloth{fill:#fff;stroke:#8d1230;stroke-width:1.2}
[data-map-point].is-visited .destination-map-flag-pole,[data-map-point].is-visited .destination-map-flag-cloth{display:block}
.destination-map-labels{list-style:none;margin:0;padding:0}
.destination-map-labels>li{position:absolute;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);width:clamp(136px,30%,180px);margin:0}
.destination-map-label-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px;align-items:stretch}
.destination-map-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:6px;border:2px solid transparent;border-radius:10px;background:#fff;color:#17365e;text-decoration:none;line-height:1.3;font:inherit;text-align:center;cursor:pointer}
.destination-map-link img{display:block;width:40px;height:40px;flex:none;object-fit:cover;border-radius:6px}
.destination-map-link strong{flex:1;min-width:0;font-size:1.125rem;font-weight:800;text-align:center;overflow-wrap:normal;word-break:normal}
.destination-map-link.is-selected{background:#195bd7;color:#fff;border-color:#195bd7}
.destination-map-link.is-preview{border-color:#195bd7}
.destination-map-check,.destination-map-story-check{display:inline-flex;align-items:center;justify-content:center;border:2px solid #c6d6e8;border-radius:10px;background:#fff;color:#17365e;font:inherit;font-weight:800;cursor:pointer}
.destination-map-check{min-width:44px;min-height:54px;padding:4px;font-size:1.3rem}
.destination-map-check.is-visited{background:#cb294a;color:#fff;border-color:#cb294a}
.destination-map-story-check{position:absolute;z-index:2;top:14px;right:14px;gap:7px;min-height:44px;max-width:calc(100% - 28px);padding:8px 11px;border-color:#fff;color:#143052;font-size:.8125rem;line-height:1.25;text-align:left}
.destination-map-story-check>span:first-child{font-size:1.2rem;line-height:1}.destination-map-story-check.is-visited{background:#cb294a;border-color:#cb294a;color:#fff}
.destination-map-link:focus-visible,.destination-map-visit:focus-visible,.destination-map-check:focus-visible,.destination-map-story-check:focus-visible,.destination-map-pin:focus-visible{outline:3px solid #ff859c;outline-offset:3px}
.destination-map-pin{cursor:pointer}
.destination-map-selection{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:6px 18px 24px;margin:0;color:#17365e;font-size:1.125rem;font-weight:800}
.destination-map-selection [data-map-status]{color:#48617c;font-size:.9375rem;font-weight:700}
.destination-map-selection-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#cb294a}
.destination-map-progress{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 18px 0;color:#17365e}
.destination-map-progress p{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:7px;margin:0;font-size:.875rem;font-weight:700}.destination-map-progress strong{font-size:1.25rem;color:#c62748}.destination-map-progress span{color:#48617c}
.destination-map-reset{min-height:44px;padding:7px 10px;border:1px solid #8ca5c1;border-radius:8px;background:#fff;color:#17365e;font:inherit;font-size:.8125rem;font-weight:800;cursor:pointer}.destination-map-reset:disabled{opacity:.62;cursor:not-allowed}
.destination-map-note{font-size:.8125rem;color:#c1d1e6;margin:26px 0 16px;line-height:1.6;text-align:center}
.destination-map-note a{color:inherit;white-space:nowrap}
.destination-map-boundary-source{margin:0 0 16px;padding:0 14px;border:1px solid #476382;border-radius:10px;background:#193656;color:#e6effb;font-size:.8125rem;line-height:1.65}.destination-map-boundary-source summary{min-height:44px;align-content:center;cursor:pointer;font-weight:800;color:#e6effb}.destination-map-boundary-source p{margin:0 0 12px}.destination-map-boundary-source a{color:#fff}
.destination-map-experience .photo-credit-panel{background:#193656;border-color:#476382;color:#e6effb;margin:0}
.destination-map-experience .photo-credit-panel summary,.destination-map-experience .photo-credit-panel a,.destination-map-experience .photo-credit-title{color:#e6effb}
.destination-map-experience .photo-credit-content,.destination-map-experience .photo-credit-list li{background:#fff;color:#17365e}
.destination-map-experience .photo-credit-content a{color:#1454b8}
.destination-map-experience .photo-credit-count{color:#d2e1f4}
.destination-map-section .area-collapse-button{display:block;margin:0 auto 22px;background:#fff;color:#143052}
@container(max-width:600px){
 .destination-map-link img{width:32px;height:32px}
 .destination-map-link strong{font-size:1rem}
}
@media(min-width:1000px){
 .destination-map-story{display:flex;align-self:stretch}
 .destination-map-story-copy{box-sizing:border-box;flex:1}
 .destination-map-panel{align-self:stretch}
}
@media(max-width:999px){
 .destination-map-layout{grid-template-columns:minmax(0,1fr);gap:18px}
 .destination-map-story,.destination-map-story-copy{min-height:260px}
 .destination-map-story-copy{padding:24px;max-width:540px;margin-inline:auto}
 .destination-map-story h4{font-size:2.25rem}
 .destination-map-story-region{display:none}
 .destination-map-story [data-map-description]{margin:12px 0 18px}
 .destination-map-korean{margin:6px 0 12px}
 .destination-map-visit{width:fit-content;min-width:210px;margin-inline:auto}
 .destination-map-labels>li{width:clamp(136px,30%,180px)}
}
@media(max-width:599px){
 .destination-map-experience{padding:16px 10px}
 .destination-map-heading{padding:4px 8px;margin-bottom:20px}
 .destination-map-heading h3{font-size:1.85rem}
 .destination-map-intro{font-size:1rem}
 .destination-map-story,.destination-map-story-copy{min-height:248px}
 .destination-map-story-copy{padding:22px 18px}
 .destination-map-story h4{font-size:2rem}
 .destination-map-visit{width:100%;min-width:0}
 .destination-map-panel-heading{padding:18px 12px 0;font-size:1rem;letter-spacing:.03em}
 .destination-map-canvas{aspect-ratio:auto;display:flex;flex-direction:column;gap:12px;padding:0 12px 16px}
 .destination-map-geography{position:relative;inset:auto;height:auto;aspect-ratio:640 / 620}
 .destination-map-leader{display:none}
 .destination-map-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .destination-map-labels>li{position:static;transform:none;width:auto}
 .destination-map-labels>li:last-child{grid-column:2}
 .destination-map-link{height:100%;min-height:60px;gap:6px;padding:6px;border-radius:8px}
 .destination-map-label-card{grid-template-columns:minmax(0,1fr) 44px;gap:4px}
 .destination-map-check{min-width:44px;min-height:60px;border-radius:8px}
 .destination-map-link img{width:28px;height:28px}
 .destination-map-link strong{font-size:1rem;line-height:1.3}
 .destination-map-story-check{top:10px;right:10px;min-height:44px;font-size:.75rem}
 .destination-map-progress{align-items:center;flex-direction:column;gap:8px;padding:2px 12px 0}.destination-map-progress p{font-size:.8125rem}.destination-map-reset{width:100%;max-width:260px}
 .destination-map-selection{padding-bottom:20px;font-size:1.0625rem}
 .destination-map-note{padding:0 8px}
}
@media(max-width:380px){
 .destination-map-link{flex-direction:column;gap:4px}
 .destination-map-link strong{flex:none;font-size:.9375rem}
}
@media(prefers-reduced-motion:no-preference){.destination-map-link,.destination-map-check,.destination-map-story-check{transition:background-color .15s,border-color .15s,color .15s}}

.destination-map-pin{pointer-events:all}
.destination-map-hit{fill:none;stroke:transparent;stroke-width:44px;vector-effect:non-scaling-stroke;pointer-events:stroke}
.destination-map-pin:hover .destination-map-dot,.destination-map-pin:focus-visible .destination-map-dot{fill:#cb294a}
