:root{color-scheme:light;--ink:#183e36;--muted:#5d706a;--line:#d8e2da;--cream:#f7f7f2;--green:#275442;--warm:#f4eee4}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 Arial,"Noto Sans KR",sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}header{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1000px)/2))}.brand{text-decoration:none;font-weight:800;font-size:19px}.back{font-size:13px;font-weight:700}main{max-width:1000px;margin:auto;padding:26px 18px 72px}.hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:18px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;color:#8c5a3d;text-transform:uppercase}.hero h1{font-size:clamp(25px,4vw,37px);line-height:1.2;margin:6px 0 12px}.hero p{color:var(--muted);margin:8px 0}.hero figure{margin:0;align-self:start}.hero img{width:100%;height:156px;object-fit:cover;border-radius:13px}.photo-credit{display:block;font-size:10px;color:var(--muted);line-height:1.35;margin-top:5px}.hero-actions,.day-actions,.stop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.action{border:1px solid #b9cbc0;border-radius:10px;background:#fff;text-decoration:none;padding:9px 12px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.action.primary{background:var(--green);border-color:var(--green);color:#fff}.notice{font-size:12px;color:var(--muted);margin:14px 2px}.day{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:18px;padding:18px}.day-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.day-head h2{font-size:21px;margin:0}.day-head p{font-size:13px;color:var(--muted);margin:4px 0 0}.day-actions{margin:0}.stops{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}.stop{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;border:1px solid #e4e9e3;border-radius:13px;padding:12px;align-items:start}.stop-num{background:#e8f0e9;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-weight:800;font-size:12px}.stop h3{font-size:15px;margin:1px 0 2px}.stop small{color:var(--muted);font-size:12px}.stop .note{font-size:12px;color:#705341;margin:5px 0 0}.stop-photo{width:82px;margin:0}.stop-photo img{width:82px;height:58px;object-fit:cover;border-radius:8px}.stop-actions{margin:7px 0 0}.stop-actions a{font-size:12px}.status{border-radius:10px;background:#e7f3e7;padding:10px 13px;font-weight:700}.error{background:#fff0eb;color:#872b20}.loading-error{padding:20px;background:#fff;border-radius:12px}@media(max-width:650px){.hero{grid-template-columns:1fr}.hero figure{display:none}.day-head{display:block}.day-actions{margin-top:10px}.stop{grid-template-columns:26px minmax(0,1fr)}.stop-photo{grid-column:2;width:100%}.stop-photo img{width:100%;max-width:220px;height:90px}}:focus-visible{outline:3px solid #356ec4;outline-offset:2px}
.page-heading h1{font-size:clamp(24px,3.5vw,32px);line-height:1.25;margin:0 0 18px}
.page-heading h1 .course-title-flag{display:inline-block;width:28px;height:21px;object-fit:cover;vertical-align:-2px;margin-right:8px;border-radius:2px}
.course-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.course-tile{display:grid;grid-template-columns:minmax(350px,42%) minmax(0,1fr);border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.course-tile .hero-photo{margin:0}.course-tile .hero-photo img{display:block;width:100%;height:150px;object-fit:cover}.course-tile .photo-credit{padding:3px 14px 0}
.course-tile-body{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:0;padding:20px 24px}.course-tile-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.course-tile-top .creator{min-width:0}.course-tile-top .action{flex:none;white-space:nowrap}.creator{font-size:12px;font-weight:800;color:#875b41}.course-tile h2{font-size:22px;margin:5px 0 8px}.course-tile h2 a{text-decoration:none}.course-tile h2 a:hover{text-decoration:underline}.course-summary{max-width:48ch;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.courses-back{display:inline-block;font-size:13px;font-weight:700;margin:0 0 12px}.hero h2{font-size:clamp(22px,3.2vw,29px);margin:5px 0 8px}.hero .hero-actions{align-items:center}.course-note{font-size:12px;color:var(--muted);margin:11px 2px}.course-note summary{cursor:pointer;font-weight:700}.course-note p{margin:5px 0}
.stop{display:flex;align-items:flex-start;gap:10px}.stop-num{flex:0 0 27px}.stop-main{flex:1;min-width:0}.stop-photo{flex:0 0 82px}.route-next{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #bdd0c3;border-radius:10px;color:var(--green);background:#f4f8f4;text-decoration:none}.route-next svg{width:22px;height:22px}.route-next-disabled{opacity:.35;cursor:default}
@media(max-width:650px){.hero{grid-template-columns:minmax(0,1fr);padding:17px}.hero figure{display:none}.stop{display:flex;gap:7px}.stop-num{flex-basis:25px;width:25px;height:25px}.stop-photo{flex-basis:54px;width:54px}.stop-photo img{width:54px;height:54px}.stop-photo .photo-credit{font-size:8px}.route-next{flex-basis:34px;width:34px;height:34px}.course-grid{grid-template-columns:minmax(0,1fr)}}
.day-head{align-items:center}.day-actions{margin:0;flex-wrap:nowrap}.day-actions .action{white-space:nowrap}.stay-booking-wrap{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-top:6px}.stay-booking{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:34px;padding:6px 10px;border:1px solid #b9cbc0;border-radius:8px;background:#fff;font-size:12px;font-weight:700;color:#245d50;text-decoration:none}.paid-link{flex:none;padding:3px 7px;border:1px solid #cbd3d6;border-radius:5px;background:#f4f6f6;color:#52606a;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}
.stop{display:grid;grid-template-columns:27px minmax(0,1fr) auto}.stop-num{grid-column:1;grid-row:1}.stop-main{grid-column:2;grid-row:1}.stop-photo{grid-column:3;grid-row:1}.course-route{grid-column:2/-1;justify-self:end;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:14px;min-width:0;max-width:100%;color:#78869c;font-size:13px}.course-route-time{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.course-route-time svg{width:19px;height:19px;flex:none}.course-route .route-next{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border:0;border-radius:0;background:transparent;color:#3268d6}.course-route .route-next svg{width:22px;height:22px}.course-route .route-next-disabled{color:#aab5c7}@media(max-width:650px){.stop{display:grid;grid-template-columns:25px minmax(0,1fr) auto}.course-route{gap:12px}.course-route .route-next{width:34px;height:34px}}
@media(max-width:650px){.day-head{display:flex;align-items:center;gap:7px}.day-head h2{font-size:18px;white-space:nowrap}.day-actions{margin:0 0 0 auto;gap:5px}.day-actions .action{min-height:36px;padding:6px 8px;font-size:11px}}
.stop{grid-template-columns:27px minmax(0,1fr);column-gap:10px;row-gap:6px}
.stop:has(.stop-photo){grid-template-columns:27px minmax(0,1fr) 150px}
.stop-main{display:contents}
.stop-main h3{grid-column:2/-1;grid-row:1;margin:1px 0 0}
.stop-main .note{grid-column:2/-1;grid-row:2;margin:0;line-height:1.55}
.stop:has(.stop-photo) .note{grid-column:2}
.stop-photo{width:150px;min-width:0}
.stop .stop-photo{grid-column:3;grid-row:2}
.stop-photo img{display:block;width:150px;height:108px;object-fit:cover}
.stop-photo .photo-credit{overflow-wrap:anywhere}
.stop>.stay-booking-wrap{grid-column:2/-1;justify-content:space-between;margin-top:0}
.course-route{justify-self:start;justify-content:flex-start}
@media(max-width:650px){.stop{grid-template-columns:25px minmax(0,1fr);column-gap:7px}.stop:has(.stop-photo){grid-template-columns:25px minmax(0,1fr) 106px}.stop-photo{width:106px}.stop-photo img{width:106px;height:80px}.stop-photo .photo-credit{font-size:9px}.course-route{grid-column:2/-1;justify-self:start;justify-content:flex-start}}
.stop-details{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.stop-details:empty{display:none}
.stop-details .note{margin:0;min-width:0}
.stop-details .stay-booking-wrap{margin:0}
.stop-details .course-route{margin:0;gap:10px;justify-content:flex-start}
.stop:has(.stop-photo) .stop-details{grid-column:2}
.stop:has(.stop-photo) .stop-photo{grid-column:3;grid-row:2}
@media(max-width:650px){.stop-details .course-route{gap:8px;font-size:12px}.stop-details .course-route-time svg{width:16px;height:16px}.stop-details .course-route .route-next{width:26px;height:30px}.stop-details .course-route .route-next svg{width:20px;height:20px}}
.stop:has(.stop-photo){row-gap:4px}
.stop:has(.stop-photo) .stop-main h3{grid-column:2}
.stop:has(.stop-photo) .stop-photo{display:contents}
.stop:has(.stop-photo) .stop-photo img{grid-column:3;grid-row:1 / span 2}
.stop:has(.stop-photo) .stop-photo .photo-credit{grid-column:2/-1;grid-row:3;margin:0}
@media(max-width:650px){.stop:has(.stop-photo) .stop-details .course-route{gap:3px;font-size:11px;flex-wrap:nowrap}.stop:has(.stop-photo) .course-route-time{gap:2px}.stop:has(.stop-photo) .course-route-time svg{width:15px;height:15px}.stop:has(.stop-photo) .stop-details .route-next{width:20px;height:26px}.stop:has(.stop-photo) .stop-details .route-next svg{width:18px;height:18px}}
.course-highlights{list-style:none;display:grid;gap:4px;width:100%;margin:0;padding:0}
.course-highlights li{position:relative;padding-left:18px;color:#3d5964;font-size:13px;line-height:1.45}
.course-highlights li::before{content:'✓';position:absolute;left:0;top:0;color:#12845a;font-size:14px;font-weight:800}
@media(max-width:650px){.stop:has(.stop-photo) .stop-photo img{grid-row:1}.stop:has(.stop-photo) .stop-details:has(.course-highlights){grid-column:2/-1;grid-row:2}}
.course-video{width:100%;min-height:200px;aspect-ratio:16/9;background:#101010;overflow:hidden}.course-video iframe{display:block;width:100%;height:100%;border:0}.course-tile .course-video{height:100%;min-height:220px;aspect-ratio:auto;border-radius:15px 0 0 15px}.hero{grid-template-columns:minmax(0,1fr) minmax(300px,46%);align-items:center}.hero .course-video{border-radius:13px}@media(max-width:700px){.course-tile{grid-template-columns:minmax(0,1fr)}.course-tile .course-video{height:auto;min-height:200px;aspect-ratio:16/9;border-radius:15px 15px 0 0}.course-tile-body{padding:15px 17px 17px}.course-tile h2{font-size:19px}.course-tile-top .action{min-height:36px;padding:7px 10px;font-size:12px}}@media(max-width:650px){.hero{grid-template-columns:minmax(0,1fr)}.hero .course-video{display:block}}
.course-extra-videos{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.course-extra-videos .action{white-space:nowrap}
.course-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.course-filters label{display:grid;gap:3px;min-width:145px;flex:1;font-size:12px;font-weight:700}.course-filters select,.course-selection-bar select{min-height:40px;padding:7px 9px;border:1px solid #b9cbc0;border-radius:10px;background:#fff;color:var(--ink);font:inherit;max-width:100%}.course-metadata{margin:0 0 6px;color:var(--muted);font-size:12px}.course-empty{background:#fff;padding:18px;border-radius:12px}.course-empty .action{margin-left:8px}
.course-city-filter{display:grid;gap:3px;min-width:145px;flex:1;font-size:12px;font-weight:700}.course-city-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;width:100%;padding:7px 9px;border:1px solid #b9cbc0;border-radius:10px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.course-city-dialog{width:min(340px,calc(100vw - 24px));max-height:min(70vh,500px);padding:14px;border:1px solid #b9cbc0;border-radius:14px;box-shadow:0 12px 35px #17342b38;color:var(--ink)}.course-city-dialog::backdrop{background:#152b2799}.course-city-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.course-city-head button{border:0;background:transparent;font-size:24px;cursor:pointer}.course-city-dialog input{box-sizing:border-box;width:100%;min-height:40px;padding:8px 10px;border:1px solid #b9cbc0;border-radius:9px;font:inherit}.course-city-results{display:grid;gap:2px;max-height:330px;overflow:auto;margin-top:8px}.course-city-results button{padding:10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.course-city-results button:hover,.course-city-results button[aria-current="true"]{background:#e9f2ed}.course-city-results p{margin:10px;color:var(--muted)}
.stop-select{display:none;align-items:center;gap:4px;grid-column:1;grid-row:1;font-size:12px;font-weight:700}.stop-select input{width:18px;height:18px;margin:0;accent-color:#3268d6}.course-picking .stop-select{display:flex}.course-picking .stop-num{display:none}.course-picking .stop{grid-template-columns:51px minmax(0,1fr)}.course-picking .stop:has(.stop-photo){grid-template-columns:51px minmax(0,1fr) 150px}.course-picking [data-save],.course-picking [data-open-plan]{display:none}.course-selection-bar{position:sticky;bottom:70px;z-index:12;display:flex;align-items:center;gap:8px;margin-top:16px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 18px #193b2d21}.course-selection-bar[hidden]{display:none}.course-selection-count{font-size:12px;font-weight:700;white-space:nowrap}.course-selection-bar label{min-width:0;flex:1}.course-selection-bar select{width:100%}.course-selection-bar .action{flex:none}.course-selection-bar .action:disabled{opacity:.5;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.course-filters label,.course-city-filter{min-width:calc(50% - 8px)}.course-city-dialog{width:100%;max-width:none;max-height:70vh;margin:auto 0 0;padding:16px;border-radius:16px 16px 0 0}.course-picking .stop{grid-template-columns:45px minmax(0,1fr)}.course-picking .stop:has(.stop-photo){grid-template-columns:45px minmax(0,1fr) 106px}.course-selection-bar{flex-wrap:wrap;bottom:64px}.course-selection-bar .action{flex:1;min-width:130px}}
.courses-back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border:1px solid #b9cbc0;border-radius:9px;background:#fff;color:#245d50;font-size:13px;font-weight:800;text-decoration:none;margin:0 0 12px}
.courses-back:hover{background:#f1f7f3}
.course-hero-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.course-hero-top .creator{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-hero-top .courses-back{flex:none;margin:0;min-height:34px;padding:5px 9px;white-space:nowrap}
.hero .hero-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;margin-top:0}
.hero .hero-actions .action{min-width:0;min-height:42px;padding:6px 5px;text-align:center;white-space:normal;line-height:1.2}
.course-note{padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}
.course-note h3{margin:0;font-size:13px;color:var(--ink)}
.course-note p{margin:3px 0 0}
.course-location-reference{display:block;margin:5px 0;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.course-location-reference a{color:inherit}
.course-haul{margin:12px 2px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:13px}.course-haul summary{cursor:pointer;font-weight:700}.course-haul p{color:var(--muted);line-height:1.5}.course-haul-group{margin-top:14px}.course-haul-group h4{margin:0 0 5px}.course-haul-group ul{list-style:none;margin:0;padding:0}.course-haul-group li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line)}.course-haul-group li span:last-child{white-space:nowrap}
.course-nearby{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;align-items:center;margin:8px 0;padding:8px;border:1px solid var(--line);border-radius:9px;font-size:12px}.course-nearby strong{min-width:0}.course-nearby small{color:var(--muted)}.course-nearby .action{grid-column:2;grid-row:1/3;font-size:12px}
@media(max-width:650px){.hero .hero-actions .action{font-size:11px}.course-hero-top .courses-back{font-size:11px}}
.course-hotel-banner{margin:18px 0 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px}
.course-hotel-banner h2{margin:0 0 10px;font-size:17px;line-height:1.3}
.course-hotel-banner .hotel-banner-slot{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;max-width:340px;min-width:0;margin:0 auto;padding:8px;border:1px solid #dbe3e5;border-radius:14px;overflow-x:auto}
.course-hotel-banner .ad-badge{align-self:flex-end;padding:3px 7px;border:1px solid #cbd3d6;border-radius:5px;background:#f4f6f6;color:#52606a;font-size:11px;font-weight:700;line-height:1.3}
.course-hotel-banner iframe{display:block;flex:none;width:300px;height:250px;max-width:none;border:0}
.unmodified-photo img{object-fit:contain!important}
