/* South Korea / Seoul editorial layer. Every selector is scoped to these route modules. */
body[data-country="south-korea"][data-city="seoul"] { --seoul-ink:#173235; --seoul-jade:#21675c; --seoul-jade-soft:#e4f0ec; --seoul-persimmon:#d46d4c; --seoul-paper:#f8f5ee; }
body[data-country="south-korea"][data-city="seoul"] .seoul-city-hero, body[data-country="south-korea"][data-city="seoul"] .seoul-area-hero { border-color:color-mix(in srgb,var(--seoul-jade) 30%,white); }
body[data-country="south-korea"][data-city="seoul"] .seoul-ground-note { display:grid; grid-template-columns:minmax(13rem,.72fr) minmax(0,1.55fr); gap:.75rem 2rem; align-items:start; padding:clamp(1.35rem,3.2vw,2.35rem); background:linear-gradient(118deg,var(--seoul-jade-soft),#fffdf8 70%); border:1px solid #c9dfd7; border-left:.38rem solid var(--seoul-jade); border-radius:.45rem 1.7rem .45rem 1.7rem; box-shadow:var(--shadow-sm); }
body[data-country="south-korea"][data-city="seoul"] .seoul-ground-note h2 { grid-row:1/span 2; margin:.1rem 0 0; color:var(--seoul-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.55rem,2.6vw,2.15rem); font-weight:500; line-height:1.12; text-wrap:balance; }
body[data-country="south-korea"][data-city="seoul"] .seoul-ground-note p { max-width:70ch; margin:0; color:#354b4b; font-size:.94rem; line-height:1.72; }
body[data-country="south-korea"][data-city="seoul"] .seoul-ground-note p+p { padding-top:.35rem; }
body[data-country="south-korea"][data-city="seoul"] .seoul-photo-credits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 1.15rem; }
body[data-country="south-korea"][data-city="seoul"] .seoul-photo-credits li { display:flex; flex-wrap:wrap; align-items:baseline; gap:.16rem .48rem; padding:.55rem .7rem; background:rgba(255,255,255,.72); border:1px solid #d9e4df; border-radius:.55rem; font-size:.76rem; }
body[data-country="south-korea"][data-city="seoul"] .seoul-photo-credits a:first-child { font-weight:750; }
body[data-country="south-korea"][data-city="seoul"] .seoul-photo-credits .photo-license { color:var(--seoul-jade); font-weight:750; text-decoration-thickness:1px; text-underline-offset:2px; }
body[data-country="south-korea"][data-city="seoul"] .photo-edit-note { color:#61706c; font-size:.7rem; }
body[data-country="south-korea"][data-city="seoul"] .seoul-photo-credits .photo-license::before { content:"·"; display:inline-block; margin-inline-end:.48rem; color:#82938d; text-decoration:none; }
body[data-country="south-korea"][data-city="seoul"] .seoul-district-card:focus-visible { outline:3px solid var(--seoul-persimmon); outline-offset:4px; }
body[data-country="south-korea"][data-city="seoul"] .seoul-district-graphic { position:absolute; z-index:-2; inset:0; overflow:hidden; background-color:#214a49; }
body[data-country="south-korea"][data-city="seoul"] .seoul-district-graphic--south { background:radial-gradient(circle at 27% 70%,rgba(230,180,131,.95) 0 1.05rem,transparent 1.1rem),radial-gradient(circle at 71% 32%,rgba(210,236,212,.92) 0 .75rem,transparent .8rem),linear-gradient(145deg,transparent 49.6%,rgba(255,228,183,.78) 49.8% 50.3%,transparent 50.5%),linear-gradient(125deg,#244448,#567c6c 56%,#b77c5b); }
body[data-country="south-korea"][data-city="seoul"] .seoul-district-graphic--river { background:radial-gradient(ellipse at 23% 68%,transparent 0 28%,rgba(214,237,223,.58) 28.4% 29%,transparent 29.4%),radial-gradient(ellipse at 78% 35%,transparent 0 30%,rgba(244,213,168,.52) 30.4% 31%,transparent 31.4%),linear-gradient(145deg,#2f615f,#88a894 52%,#d4a77d); }
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art { display:block; min-height:26rem; height:100%; border-radius:.45rem 2rem .45rem 2rem; background-color:var(--seoul-jade); }
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art--contour { background:radial-gradient(ellipse at 38% 60%,transparent 0 22%,rgba(244,218,183,.85) 22.5% 22.9%,transparent 23.4% 31%,rgba(244,218,183,.58) 31.5% 31.9%,transparent 32.4% 42%,rgba(244,218,183,.38) 42.5% 42.9%,transparent 43.4%),linear-gradient(155deg,#173c3a,#527a66 58%,#c47a59); }
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art--rail { background:linear-gradient(160deg,transparent 0 47%,rgba(241,227,194,.75) 47.3% 48%,transparent 48.3% 53%,rgba(241,227,194,.75) 53.3% 54%,transparent 54.3%),repeating-linear-gradient(90deg,transparent 0 2.2rem,rgba(241,227,194,.48) 2.25rem 2.37rem,transparent 2.42rem 3.1rem),linear-gradient(145deg,#1d4444,#4f806d 54%,#d28b5d); }
@media(max-width:760px) { body[data-country="south-korea"][data-city="seoul"] .seoul-ground-note { grid-template-columns:1fr; gap:.7rem; } body[data-country="south-korea"][data-city="seoul"] .seoul-ground-note h2 { grid-row:auto; } body[data-country="south-korea"][data-city="seoul"] .seoul-photo-credits { grid-template-columns:1fr; } body[data-country="south-korea"][data-city="seoul"] .seoul-route-art { min-height:18rem; } }

/* Country-scoped illustrated route art replaces photos with unresolved subject rights. */
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art--samseong { background:repeating-linear-gradient(90deg,rgba(226,237,216,.17) 0 1px,transparent 1px 2.6rem),linear-gradient(160deg,transparent 0 46%,rgba(230,194,145,.82) 46.3% 46.8%,transparent 47.1%),linear-gradient(135deg,#213b40 0%,#47756b 54%,#bb785d 100%); }
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art--jamsil { background:radial-gradient(ellipse at 48% 105%,transparent 0 36%,rgba(225,242,225,.72) 36.3% 36.8%,transparent 37.2% 48%,rgba(225,242,225,.42) 48.3% 48.8%,transparent 49.2%),linear-gradient(90deg,transparent 0 45%,rgba(231,231,204,.74) 45.2% 45.6%,transparent 45.8%),linear-gradient(180deg,transparent 0 60%,rgba(228,210,178,.48) 60.2% 60.6%,transparent 60.8%),linear-gradient(145deg,#1e4248,#547b72 58%,#c78660); }
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art--hannam { background:radial-gradient(ellipse at 52% 118%,transparent 0 27%,rgba(244,224,190,.83) 27.3% 27.8%,transparent 28.2% 39%,rgba(244,224,190,.58) 39.3% 39.8%,transparent 40.2% 54%,rgba(244,224,190,.36) 54.3% 54.8%,transparent 55.2%),linear-gradient(150deg,#214346,#52766b 58%,#c17c60); }
body[data-country="south-korea"][data-city="seoul"] .seoul-route-art--banpo { background:radial-gradient(ellipse at 50% 125%,transparent 0 48%,rgba(242,217,177,.9) 48.3% 49%,transparent 49.4% 56%,rgba(242,217,177,.58) 56.3% 57%,transparent 57.4%),linear-gradient(180deg,transparent 0 66%,rgba(177,218,212,.56) 66.3% 67%,transparent 67.3%),linear-gradient(145deg,#182f45,#3d6875 54%,#c27761); }

body[data-country="south-korea"][data-city="seoul"] .bukchon-coach-note { margin:1rem 0 1.25rem; padding:.95rem 1.1rem; background:#fbf2e8; border:1px solid #ead6c4; border-left:.28rem solid var(--seoul-persimmon); border-radius:.45rem 1rem .45rem 1rem; color:var(--seoul-ink); font-size:.92rem; line-height:1.65; }
body[data-country="south-korea"][data-city="seoul"] .bukchon-coach-note strong { color:#713d2c; }
