@font-face{font-family:TravimongSans;src:url(/fonts/retail/TravimongSans.d30f02751377.woff2) format('woff2');font-weight:100 900;font-display:swap}:root{--teal:#005e70;--deep:#07344b;--ink:#152334;--muted:#617187;--line:#e6edf1;--pale:#eff6f8;--surface:#fff;--shadow:0 6px 22px rgba(8,43,65,.09)}
.course-product-day-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:164px;overflow-y:auto;margin:0 10px 12px;padding:2px}.course-product-day-actions .course-candidate-button{width:100%;min-height:42px;font-size:12px;padding:7px 5px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.showcase{margin:0;background:#fff;color:var(--ink);font-family:TravimongSans,-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{width:auto;height:auto;margin:8px;padding:12px;clip:auto;background:#fff;z-index:1000}.site-header{height:72px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{height:100%;max-width:1200px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--deep);white-space:nowrap}.brand img{object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.08}.brand b{font-size:21px;font-weight:900;letter-spacing:-.045em}.brand small{font-size:11px;font-weight:650;letter-spacing:-.04em;margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:750}.desktop-nav a:hover,.site-footer a:hover{color:var(--teal)}.header-actions{display:flex;align-items:center;gap:16px;color:var(--deep)}.header-actions a{width:35px;height:40px;display:grid;place-items:center}.page-shell{max-width:1120px;margin:0 auto;padding:28px 24px 70px}.site-footer{border-top:1px solid var(--line);background:#f7fafb}.site-footer-inner{max-width:1120px;margin:auto;padding:30px 24px 38px}.site-footer p{font-size:12px;color:#667688;max-width:720px}.site-footer nav{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.site-footer small{display:block;color:#82909b;margin-top:14px}.bottom-nav{display:none}.search-bar{height:46px;border-radius:13px;background:#f1f5f7;display:flex;align-items:center;gap:8px;padding:0 13px;color:#39526c}.search-bar button{padding:0;border:0;background:none;color:inherit;display:grid;place-items:center}.search-bar input{min-width:0;flex:1;border:0;background:transparent;outline:0;font-size:15px;color:var(--ink)}.search-bar input::placeholder{color:#65778a}.chip-row{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:3px 0 8px;white-space:nowrap}.chip-row::-webkit-scrollbar,.story-rail::-webkit-scrollbar,.course-rail::-webkit-scrollbar{display:none}.chip{border:0;border-radius:999px;background:#f1f5f7;color:#485e72;min-height:35px;padding:7px 13px;font-size:13px;font-weight:700;flex:none}.chip.selected{background:var(--teal);color:#fff}.home-top{display:grid;gap:12px}.hero{position:relative;height:400px;border-radius:20px;overflow:hidden;background:linear-gradient(90deg,rgba(0,45,70,.48),transparent 72%),url('/images/showcase/coastal-cafe.jpg') center/cover;color:#fff}.hero-content{position:absolute;left:38px;top:43px}.hero-content>p{font-size:27px;letter-spacing:.02em;margin:0;font-weight:350;font-style:italic;transform:rotate(-4deg)}.hero-content h1{font-size:55px;font-weight:500;letter-spacing:-.04em;margin:0 0 24px;line-height:1.18;font-style:italic;transform:rotate(-4deg)}.hero-content>span{display:block;font-size:18px;line-height:1.5;text-shadow:0 1px 8px #234e66}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:11px;background:var(--teal);color:#fff;min-height:45px;padding:10px 18px;font-size:14px;font-weight:800}.hero-content .primary-button{margin-top:22px}.primary-button .icon,.outline-button .icon{width:17px;height:17px}.hero-count{position:absolute;right:20px;bottom:17px;font-size:13px}.quick-links{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:26px 0 30px;text-align:center}.quick-links a{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:13px;white-space:nowrap}.quick-links a>span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#e3f5f0;color:#008565}.quick-links a:nth-child(2)>span{background:#e9f1fc;color:#246adf}.quick-links a:nth-child(3)>span{background:#fff0f2;color:#f14357}.quick-links a:nth-child(4)>span{background:#f3eafd;color:#9b4cd5}.quick-links a:nth-child(5)>span{background:#e7f3fa;color:#198bd8}.quick-links .icon{width:25px;height:25px;stroke-width:2.2}.content-section{margin:28px 0 32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.section-heading h2{font-size:22px;line-height:1.2;letter-spacing:-.045em;margin:0;font-weight:850}.section-heading>a{display:inline-flex;align-items:center;white-space:nowrap;gap:3px;color:var(--teal);font-size:12px;font-weight:750}.section-heading>a .icon{width:15px;height:15px}.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.destination-card{min-width:0}.card-image{position:relative;overflow:hidden;background:#d8e9ee}.card-image img{width:100%;height:100%;display:block;object-fit:cover}.destination-card .card-image{aspect-ratio:1.1;border-radius:11px}.destination-card h3{font-size:15px;margin:7px 0 0;line-height:1.2}.destination-card p{font-size:12px;color:var(--muted);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-promo{display:flex;align-items:center;gap:13px;padding:18px 20px;border-radius:18px;background:#f2f1ff;color:#191f61;margin:30px 0}.promo-icon{width:52px;height:52px;background:#e2e2fb;border-radius:13px;display:grid;place-items:center;color:#2476cc}.course-promo>span:nth-child(2){flex:1}.course-promo b,.course-promo small{display:block}.course-promo b{font-size:17px}.course-promo small{color:#65748a;font-size:12px;margin-top:3px}.story-rail,.course-rail{display:grid;grid-auto-columns:minmax(210px,1fr);grid-auto-flow:column;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 3px 6px}.story-card,.product-card{position:relative;border:1px solid #e8eef2;border-radius:13px;overflow:hidden;box-shadow:0 3px 12px rgba(0,38,58,.07);background:#fff;min-width:0}.story-rail .story-card{scroll-snap-align:start}.story-card .card-image{aspect-ratio:1.55}.image-tag{position:absolute;bottom:8px;left:8px;background:var(--teal);color:#fff;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:800}.story-card:nth-child(2) .image-tag{background:#f46b4d}.story-card:nth-child(3) .image-tag{background:#f44255}.card-copy{padding:11px 12px 12px}.card-copy h3{font-size:15px;line-height:1.35;margin:0;letter-spacing:-.03em}.story-card .card-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:#5c7180;margin:6px 0}.story-card .card-copy small{display:block;font-size:11px;color:#7e8b9b;margin-top:6px}.story-actions{border-top:1px solid var(--line);display:flex;padding:8px 10px;gap:6px}.story-actions a{font-size:11px;font-weight:700;color:var(--teal);display:inline-flex;align-items:center;gap:1px;flex:1}.story-actions .icon{width:12px;height:12px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.product-card .card-image{aspect-ratio:1.5}.product-card .eyebrow{display:block;color:#5f7183;font-size:11px;margin-bottom:4px}.product-card .card-copy h3{min-height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-facts{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px;margin-top:8px}.product-facts span{color:#ed9b12}.product-facts strong{color:#c72332;font-size:14px;white-space:nowrap}.heart-button{position:absolute;top:8px;right:8px;width:32px;height:32px;background:#fff;border:0;border-radius:50%;display:grid;place-items:center;color:var(--teal);box-shadow:0 2px 8px #213a4755}.heart-button.is-saved{color:#ea4262}.heart-button.is-saved svg{fill:#ea4262}.heart-button .icon{width:18px;height:18px}.overseas-promo{display:flex;align-items:center;justify-content:space-between;min-height:78px;border-radius:14px;background:#dfeff1;padding:14px 22px;color:var(--deep);font-weight:800}.overseas-promo small{display:block;font-size:12px;font-weight:400}.page-title{height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.page-title h1{font-size:18px;margin:0;font-weight:850}.page-title>a{width:30px;height:35px;display:grid;place-items:center}.region-hero{height:310px;border-radius:17px;background:linear-gradient(0deg,rgba(0,55,78,.72),transparent 75%),url('/images/showcase/coastal-cafe.jpg') center/cover;display:flex;align-items:end;padding:25px;color:#fff}.region-hero h2{font-size:35px;margin:2px 0;font-weight:850}.region-hero p{margin:0}.region-page>.page-shell>.chip-row{margin-top:16px}.region-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 23px}.region-actions a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--teal);font-size:12px;font-weight:700}.region-actions .icon{width:25px;height:25px}.mini-course{scroll-snap-align:start;display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden}.mini-course img{width:100%;height:120px;object-fit:cover;display:block}.mini-course b,.mini-course small{display:block;padding:0 10px}.mini-course b{margin-top:8px}.mini-course small{color:var(--muted);margin:3px 0 10px;font-size:11px}.story-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.story-feed .story-card .card-image{aspect-ratio:1.3}.stories-page .chip-row,.alerts-page .chip-row,.products-page .chip-row{margin:4px 0}.course-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:13px}.route-map{position:relative;min-height:420px;border-radius:15px;overflow:hidden;background:repeating-linear-gradient(108deg,transparent 0 41px,#e5e8db 42px 46px,transparent 47px 88px),repeating-linear-gradient(22deg,#e4efe5 0 38px,#d8eadb 40px 42px,#e9f0e3 43px 80px)}.map-water{position:absolute;right:0;top:0;width:35%;height:100%;background:#acd8e6;clip-path:polygon(35% 0,100% 0,100% 100%,5% 100%,45% 55%)}.map-road{position:absolute;left:9%;top:10%;width:68%;height:79%;border:8px solid #f9f7ef;border-radius:40% 38% 60% 20%;transform:rotate(-20deg)}.route-line{position:absolute;width:100%;height:100%;top:0;left:0;fill:none;stroke:#1684c0;stroke-width:4;stroke-dasharray:8 5}.map-marker{position:absolute;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;transform:translate(-50%,-50%);box-shadow:0 2px 6px #1242526b}.map-marker:nth-of-type(1){left:25%;top:65%}.map-marker:nth-of-type(2){left:37%;top:50%}.map-marker:nth-of-type(3){left:57%;top:55%}.map-marker:nth-of-type(4){left:75%;top:30%}.map-open{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--teal);padding:9px 12px;border-radius:9px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.map-open .icon{width:13px;height:13px}.course-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.course-toolbar button{border:0;border-radius:20px;background:#eaf5f6;color:var(--teal);padding:8px 12px;font-size:12px;font-weight:800}.itinerary{margin:0;padding:0;list-style:none}.itinerary li{display:flex;gap:11px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.itinerary .step{width:25px;height:25px;background:var(--teal);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:none}.itinerary li>div{flex:1;min-width:0}.itinerary b,.itinerary small{display:block}.itinerary small{font-size:11px;color:#667786}.itinerary a{font-size:11px;color:var(--teal)}.itinerary time{font-size:11px;color:#758597}.remove-place{border:0;background:none;color:#9aa8b1;font-size:18px}.course-buttons{display:flex;gap:8px;margin-top:18px}.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:45px;border:1px solid #c9dae2;border-radius:10px;color:var(--teal);background:#fff;padding:10px 16px;font-weight:800;font-size:13px}.inline-status{font-size:12px;color:var(--teal)}.full-products{margin:16px 0}.product-card[hidden],.story-card[hidden],.searchable[hidden],.notice-row[hidden]{display:none}.legacy-link{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:750}.legacy-link .icon{width:16px;height:16px}.search-page .search-bar{margin-bottom:10px}.search-title{font-size:19px;margin:18px 0 12px}.search-list{max-width:740px}.search-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.search-row img{width:66px;height:55px;object-fit:cover;border-radius:8px}.search-row span{min-width:0;flex:1}.search-row b,.search-row small{display:block}.search-row b{font-size:13px;line-height:1.35}.search-row small{font-size:11px;color:#7a8b98;margin-top:3px}.search-row>.icon{width:17px;height:17px;color:var(--teal)}.empty-results{color:var(--muted);font-size:14px}.story-detail{max-width:800px;margin:auto;background:#fff}.detail-image{width:100%;max-height:440px;object-fit:cover;border-radius:14px}.detail-copy{padding:20px 4px}.detail-copy .eyebrow{color:var(--teal);font-weight:800;font-size:12px}.detail-copy h1{font-size:30px;line-height:1.35;letter-spacing:-.04em;margin:7px 0}.detail-copy small{color:var(--muted)}.detail-copy p{line-height:1.8}.detail-buttons{display:flex;gap:8px;margin:20px 0}.naver-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#03bf5f;color:#fff;border-radius:10px;padding:11px 16px;font-size:13px;font-weight:800}.detail-buttons .icon{width:16px;height:16px}.source-note{font-size:12px;color:var(--muted)}.my-profile{display:flex;align-items:center;gap:13px;padding:14px 0}.avatar{width:56px;height:56px;border-radius:50%;background:#def3f2;color:var(--teal);display:grid;place-items:center}.avatar .icon{width:29px;height:29px}.my-profile h2{font-size:17px;margin:0}.my-profile p{font-size:12px;color:var(--muted);margin:2px 0}.my-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-bottom:1px solid var(--line);padding:13px 0 21px}.my-stats span{display:flex;align-items:center;flex-direction:column;color:var(--muted);font-size:12px}.my-stats span+span{border-left:1px solid var(--line)}.my-stats b{font-size:20px;color:var(--ink)}.settings-list{margin:15px 0}.settings-list a{display:flex;align-items:center;gap:14px;min-height:54px;padding:10px;border-bottom:1px solid var(--line);font-size:14px}.settings-list a>.icon:last-child{margin-left:auto;width:16px}.settings-list a>.icon:first-child{color:var(--teal)}.saved-items h2{font-size:18px}.saved-items p{font-size:13px;color:var(--muted)}.saved-items a{display:block;padding:9px;border:1px solid var(--line);border-radius:8px;margin:6px 0}.notice-list{max-width:720px}.notice-row{display:flex;align-items:center;gap:13px;padding:14px 4px;border-bottom:1px solid var(--line)}.notice-row img{width:56px;height:56px;object-fit:cover;border-radius:50%}.notice-row span{flex:1}.notice-row b,.notice-row small{display:block}.notice-row b{font-size:13px;font-weight:650}.notice-row small{color:#82909d;font-size:11px;margin-top:5px}.notice-note{color:var(--muted);font-size:12px;margin-top:15px}.splash-page .site-header,.splash-page .site-footer,.splash-page .bottom-nav{display:none}.splash-page .page-shell{padding:0;max-width:none}.splash-panel{min-height:100dvh;background:linear-gradient(0deg,rgba(0,98,140,.24),rgba(0,90,130,.02)),url('/images/showcase/coastal-cafe.jpg') center/cover;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#fff;position:relative}.splash-brand{display:flex;align-items:center;flex-direction:column;text-shadow:0 2px 10px #204c67}.splash-brand img{filter:brightness(0) invert(1)}.splash-brand b{font-size:28px;letter-spacing:.02em}.splash-brand span{font-size:12px}.splash-panel>p{font-size:26px;font-style:italic;line-height:1.7;text-shadow:0 2px 10px #204c67;margin:70px 0}.splash-enter{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--teal);border-radius:12px;padding:12px 24px;font-weight:800}
@media(max-width:800px){.site-header{height:64px}.header-inner{padding:0 16px}.desktop-nav{display:none}.page-shell{padding:16px 16px 94px}.hero{height:315px}.hero-content{left:25px;top:35px}.hero-content>p{font-size:24px}.hero-content h1{font-size:46px}.hero-content>span{font-size:16px}.quick-links{margin:22px 0 28px}.destination-grid{gap:9px}.story-rail{grid-auto-columns:36%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.course-layout{grid-template-columns:1fr}.route-map{min-height:330px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid #e5edf1;padding:7px max(5px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-right));box-shadow:0 -2px 14px #183d5115}.bottom-nav a{min-height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;color:#526477;font-size:10px}.bottom-nav .icon{width:19px;height:19px}.bottom-nav a[aria-current=page]{color:var(--teal);font-weight:900}.site-footer{display:none}}
@media(max-width:480px){.site-header{height:52px}.header-inner{padding:0 17px}.brand img{width:26px;height:26px}.brand b{font-size:15px}.brand small{font-size:8px}.header-actions{gap:7px}.header-actions a{width:28px}.header-actions .icon{width:18px;height:18px}.header-actions a:last-child{display:none}.page-shell{padding:9px 13px 89px}.home-search{margin-bottom:0}.search-bar{height:37px;border-radius:10px}.search-bar input{font-size:12px}.search-bar .icon{width:18px;height:18px}.chip-row{gap:4px;padding-bottom:7px}.chip{font-size:10px;min-height:30px;padding:6px 9px}.hero{height:300px;border-radius:13px}.hero-content{left:19px;top:27px}.hero-content>p{font-size:22px}.hero-content h1{font-size:40px;margin-bottom:26px}.hero-content>span{font-size:13px}.hero-content .primary-button{margin-top:14px}.primary-button{min-height:39px;padding:8px 12px;font-size:12px}.quick-links{gap:3px;margin:18px 0 24px}.quick-links a{font-size:9px;gap:4px}.quick-links a>span{width:43px;height:43px;border-radius:15px}.quick-links .icon{width:21px;height:21px}.content-section{margin:24px 0 26px}.section-heading{margin-bottom:11px}.section-heading h2{font-size:17px}.section-heading>a{font-size:10px}.destination-grid{gap:7px}.destination-card .card-image{aspect-ratio:.93;border-radius:7px}.destination-card h3{font-size:12px;margin-top:5px}.destination-card p{font-size:9px}.course-promo{margin:22px 0;padding:12px;border-radius:14px;gap:8px}.promo-icon{width:43px;height:43px}.course-promo b{font-size:12px}.course-promo small{font-size:10px;line-height:1.3}.course-promo>.icon{width:17px;height:17px}.story-rail,.course-rail{grid-auto-columns:46%;gap:8px}.story-card .card-image{aspect-ratio:1.35}.image-tag{font-size:9px}.card-copy{padding:8px}.card-copy h3{font-size:11px}.story-card .card-copy p{font-size:10px;margin:3px 0}.story-card .card-copy small{font-size:9px}.story-actions{padding:6px;gap:3px}.story-actions a{font-size:8px}.product-grid{gap:8px}.product-card .card-image{aspect-ratio:1.35}.product-card .eyebrow{font-size:9px}.product-card .card-copy h3{font-size:11px;min-height:30px}.product-facts{font-size:9px;flex-wrap:wrap}.product-facts strong{font-size:11px}.heart-button{width:27px;height:27px}.overseas-promo{min-height:67px;padding:12px;font-size:12px}.overseas-promo small{font-size:10px}.page-title{margin-bottom:8px}.page-title h1{font-size:14px}.region-hero{height:220px;padding:16px;border-radius:10px}.region-hero h2{font-size:27px}.region-hero span,.region-hero p{font-size:11px}.region-actions{margin:13px 0;gap:3px}.region-actions a{font-size:10px}.region-actions .icon{width:21px;height:21px}.mini-course img{height:85px}.mini-course b{font-size:11px}.mini-course small{font-size:9px}.story-feed{grid-template-columns:1fr;gap:11px}.story-feed .story-card .card-image{aspect-ratio:1.9}.story-feed .card-copy h3{font-size:14px}.story-feed .story-actions a{font-size:10px}.route-map{min-height:260px}.course-toolbar{font-size:12px}.itinerary li{gap:7px}.itinerary b{font-size:12px}.itinerary small{font-size:10px}.course-buttons .primary-button,.course-buttons .outline-button{flex:1;font-size:11px}.search-row img{width:55px;height:48px}.search-row b{font-size:11px}.detail-image{max-height:245px}.detail-copy h1{font-size:22px}.detail-copy p{font-size:13px}.detail-buttons{flex-direction:column}.notice-row img{width:47px;height:47px}}

.course-cart-dock{position:sticky;top:0;z-index:4;max-width:1200px;margin:0 auto;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#eff8f7;border-bottom:1px solid #d5e8e7;color:var(--deep)}.course-cart-dock>span{min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.course-cart-dock b{font-size:14px}.course-cart-dock small{font-size:12px;color:#526b76}.course-cart-dock #course-cart-notice:empty{display:none}.course-cart-dock>a{flex:none;border-radius:9px;background:var(--teal);color:#fff;padding:8px 12px;font-size:12px;font-weight:800}.course-candidate-button.is-in-course-cart{background:#e9f4ee;color:#23613a;border-color:#c8e3d1}@media(max-width:680px){.course-cart-dock{padding:8px 13px;gap:8px}.course-cart-dock>span{display:block}.course-cart-dock b{font-size:12px}.course-cart-dock small{display:block;font-size:10px;line-height:1.35}.course-cart-dock>a{padding:8px 10px;font-size:10px;white-space:nowrap}}
@media(max-width:359px){.quick-links a{font-size:8px}.quick-links a>span{width:39px;height:39px}.chip{padding:5px 8px}.story-rail{grid-auto-columns:53%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* C-stage course workspace: compact controls, clear map-to-stop connection. */
.course-experience .page-title{margin-bottom:12px}
.course-experience .course-page-title h1{font-size:clamp(20px,3vw,27px);letter-spacing:-.035em}
.course-experience .course-story-context{margin:0 0 12px}
.course-experience .course-duration{display:grid;gap:9px;margin:0 0 12px;padding:13px 14px;border:1px solid #d9e5e8;border-radius:9px;background:#fff}
.course-experience .course-duration[hidden],.course-experience .course-candidates[hidden]{display:none!important}
.course-experience .course-duration>strong{font-size:14px;color:var(--deep)}
.course-experience .course-date-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.course-experience .course-date-controls label{min-width:0;font-size:11px}
.course-experience .course-date-controls input{width:100%;min-height:42px;border-radius:7px;font-size:14px}
.course-experience .course-duration>small{font-size:11px;line-height:1.45;color:var(--muted)}
.course-experience .course-duration #course-save-state{color:#2c6859;font-weight:700}
.course-experience .course-candidates{margin:0 0 13px;padding:0;border:0;background:transparent}
.course-experience .course-candidates .section-heading{margin:0 0 7px}
.course-experience .course-candidates .section-heading h2{font-size:16px}
.course-picker-details{border:1px solid #d9e5e8;border-radius:9px;background:#fff;overflow:hidden}
.course-picker-details>summary{min-height:48px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--deep);font-size:13px;list-style-position:inside}
.course-picker-details>summary strong{flex:1}
.course-picker-details>summary span{font-size:11px;color:var(--muted);font-weight:650;white-space:nowrap}
.course-picker-details[open]>summary{border-bottom:1px solid #e6edef}
.course-picker-body{padding:0 12px 12px}
.course-catalog-shortcuts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0 4px}
.course-catalog-shortcuts>a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #cbdde1;border-radius:7px;color:var(--teal);font-size:12px;font-weight:750}
.course-picker-hint{flex-basis:100%;margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.course-manual-details{margin-top:10px;border-top:1px solid #e6edef}
.course-manual-details>summary{padding:11px 0;color:var(--teal);font-size:12px;font-weight:750;cursor:pointer}
.course-manual-details .manual-location-form{margin:0}
.course-experience .course-day-tabs{margin:0 0 11px;gap:6px}
.course-experience .course-day-tabs .chip{min-height:38px;padding:8px 12px;font-size:12px}
.course-experience .course-workspace-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:17px;margin-top:0}
.course-experience .course-workspace-layout>.course-map-shell{grid-column:1;position:sticky;top:72px;align-self:start;min-width:0}
.course-experience .course-map-shell>.route-map{height:min(62vh,530px);min-height:340px;border-radius:9px}
.course-experience .course-itinerary-panel{min-width:0}
.course-experience .course-toolbar{min-height:42px;margin-bottom:8px}
.course-experience .course-toolbar>strong{font-size:14px}
.course-experience .course-toolbar button{min-height:40px;border-radius:7px;padding:8px 11px}
.course-experience .course-simulation{margin:8px 0;padding:10px;border-radius:8px;background:#f7faf9}
.course-experience .course-recommend-actions button{min-height:40px;border-radius:7px}
.course-experience #route-recommendation{line-height:1.5}
.course-experience .itinerary li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:7px 10px;padding:13px 5px}
.course-experience .itinerary li>div{min-width:0;overflow-wrap:anywhere}
.course-experience .itinerary .step{width:30px;height:30px}
.course-experience .itinerary li>time{grid-column:2;color:var(--muted)}
.course-experience .itinerary .stay-duration-control,.course-experience .itinerary .route-stop-rules,.course-experience .itinerary .place-controls{grid-column:2;min-width:0;margin:0;flex-wrap:wrap}
.course-experience .itinerary .place-controls button{min-height:38px;min-width:38px;border-radius:6px}
.course-experience .itinerary li.is-map-focused{background:#f0f7f5;box-shadow:inset 3px 0 var(--teal)}
.course-experience .course-buttons{position:sticky;bottom:calc(58px + env(safe-area-inset-bottom));z-index:6;margin:12px -5px 0;padding:9px 5px;background:#ffffffed;border-top:1px solid #e4ecee;backdrop-filter:blur(8px)}
.course-experience .course-buttons>button{min-height:44px;border-radius:7px}
.course-experience .course-buttons #save-course{flex:1}
.course-experience .route-map.fitted-map{height:min(62vh,530px);min-height:340px}
.course-experience .route-map .map-marker{display:grid;place-items:center;width:34px;height:34px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--teal);color:#fff;font:inherit;font-size:12px;font-weight:700;line-height:1;box-shadow:0 2px 9px #183d5140;cursor:pointer}
.course-experience .route-map .map-marker:hover,.course-experience .route-map .map-marker.is-selected{background:#b95e28;transform:translate(-50%,-50%) scale(1.1)}
.course-experience .route-map .map-marker:focus-visible{outline:3px solid #f0ac4c;outline-offset:3px}
@media(max-width:760px){
 .course-experience .course-workspace-layout{grid-template-columns:minmax(0,1fr);gap:10px}
 .course-experience .course-workspace-layout>.course-map-shell{position:relative;top:auto;grid-column:1;min-width:0}
 .course-experience .course-map-shell>.route-map,.course-experience .route-map.fitted-map{position:relative;top:auto;height:clamp(360px,68svh,550px);min-height:clamp(340px,55svh,480px)}
 .course-experience .course-panel{min-width:0}
 .course-experience .course-simulation{grid-template-columns:1fr}
 .course-experience .course-buttons{bottom:calc(58px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
 .course-experience .page-shell{padding-left:11px;padding-right:11px}
 .course-experience .course-duration{padding:11px}
 .course-experience .course-date-controls{gap:6px}
 .course-experience .course-picker-details>summary{padding:10px;font-size:12px}
 .course-experience .course-day-tabs .chip{padding:7px 9px;font-size:11px}
 .course-experience .itinerary li{grid-template-columns:28px minmax(0,1fr);gap:7px}
 .course-experience .itinerary .step{width:27px;height:27px}
 .course-experience .route-stop-rules select,.course-experience .route-stop-rules input{max-width:112px}
}
@media(prefers-reduced-motion:reduce){.course-experience .itinerary li,.course-experience .route-map .map-marker{scroll-behavior:auto;transition:none}}
.route-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}.route-map:has(iframe) .map-water,.route-map:has(iframe) .map-road{display:none}.route-map:has(iframe) .route-line{opacity:.65}.route-map:has(iframe) .map-marker:nth-of-type(1){left:77%;top:73%}.route-map:has(iframe) .map-marker:nth-of-type(2){left:51%;top:83%}.route-map:has(iframe) .map-marker:nth-of-type(3){left:55%;top:60%}.route-map:has(iframe) .map-marker:nth-of-type(4){left:15%;top:8%}.stay-terms{font-size:12px;color:#647687;line-height:1.6;margin:8px 0 12px}
.destination-card{position:relative}.destination-card>.heart-button{top:auto;bottom:42px;right:7px;width:26px;height:26px}.destination-card>.heart-button .icon{width:16px;height:16px}.region-hero{position:relative}.region-save{top:12px;right:12px;color:var(--teal)}
.image-note{font-size:11px;color:#7b8994;text-align:right;margin:3px 2px 0}
@media(max-width:480px){.hero,.region-hero{background-position:center,78% center}}
.search-place-symbol{width:66px;height:55px;display:grid;place-items:center;flex:none;border-radius:8px;background:#e7f4f3;color:var(--teal)}
.search-place-symbol .icon{width:24px;height:24px}
.route-map.custom-route:not(.story-route) .route-line{display:none}

/* C-stage course UX: put shoppable inventory before the itinerary workspace. */
.course-product-picks{margin:4px 0 15px}
.course-product-picks[hidden],.course-workspace-layout[hidden],.course-empty-day-message[hidden],.course-map-toggle[hidden],.course-buttons[hidden]{display:none!important}
.course-product-picks .section-heading{margin-bottom:8px}
.course-product-picks .section-heading h2{font-size:17px}
.course-product-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.course-product-pick-grid .product-card{min-width:0;border:1px solid #e0e9eb;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #183d510c}
.course-product-pick-grid .product-card>a .card-image{aspect-ratio:1.55}
.course-product-pick-grid .product-card .card-copy{padding:9px 10px 5px}
.course-product-pick-grid .product-card .card-copy h3{font-size:13px;line-height:1.35;min-height:34px}
.course-product-pick-grid .course-candidate-button{width:calc(100% - 20px);margin:0 10px 10px}
.course-experience .course-duration{margin:0 0 9px;padding:0;border:0;background:transparent}
.course-date-details{border-bottom:1px solid #e7edef}
.course-date-details>summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:7px 1px;list-style:none;cursor:pointer;color:var(--deep)}
.course-date-details>summary::-webkit-details-marker{display:none}
.course-date-details>summary:after{content:'+';margin-left:auto;color:var(--teal);font-weight:800}
.course-date-details[open]>summary:after{content:'−'}
.course-date-details>summary strong{font-size:12px}
.course-date-details>summary span{color:var(--muted);font-size:11px}
.course-date-details[open] .course-date-controls{padding:8px 0 2px}
.course-date-details>small{display:block;padding:4px 0;color:var(--muted);font-size:10px}
.course-date-details #course-save-state{color:#2c6859;font-weight:700}
.course-experience .course-candidates .section-heading h2{font-size:15px}
.course-experience .course-candidates{margin-bottom:8px}
.course-empty-state .course-day-tabs,.course-empty-state .course-workspace-layout,.course-empty-state .course-buttons{display:none!important}
.course-empty-day-message{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0;padding:12px 0;border-top:1px solid #e7edef;color:var(--deep);font-size:12px}
.course-empty-day-message button{min-height:38px;padding:7px 11px;border:1px solid #cbdde1;border-radius:7px;background:#fff;color:var(--teal);font-size:12px;font-weight:750}
.course-experience .course-map-toggle{display:none}
.course-experience .route-summary{margin-bottom:4px;padding:10px 12px;border-radius:8px}
.route-retry-details{flex:none}
.route-retry-details summary{list-style:none;cursor:pointer;color:var(--teal);font-size:10px;font-weight:750;white-space:nowrap}
.route-retry-details summary::-webkit-details-marker{display:none}
.route-retry-details button{margin-top:5px}
.course-place-status{width:max-content;margin-top:5px;padding:2px 7px;border-radius:99px;background:#f0f4f5;color:#526872;font-size:10px!important;font-weight:700}
.course-place-status:empty{display:none}
.course-place-status[data-location-state]{}
.place-controls{align-items:center;gap:5px;flex-wrap:wrap}
.place-controls .place-day-move{display:flex;align-items:center;gap:4px;color:#637781;font-size:10px;font-weight:700}
.place-controls .place-day-move select{min-height:36px;max-width:100px;padding:4px 6px;border:1px solid #d5e3e6;border-radius:6px;background:#fff;color:var(--deep);font-size:11px}
.course-experience .itinerary .place-controls .remove-place{width:auto;min-width:82px;padding:0 9px;border:1px solid #e2d9d6;border-radius:6px;background:#fff;color:#8b453b;font-size:10px;font-weight:750}
.course-recommend-actions #recommend-route:disabled{background:#e8eeef;border-color:#e8eeef;color:#73858a;cursor:not-allowed}
.course-experience .course-buttons{gap:7px}
@media(max-width:760px){
 .course-product-picks{margin:3px 0 12px}
 .course-product-picks .section-heading h2{font-size:15px}
 .course-product-pick-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(78%,1fr);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:1px 1px 7px}
 .course-product-pick-grid .product-card{scroll-snap-align:start}
 .course-product-pick-grid .product-card>a .card-image{aspect-ratio:1.8}
 .course-product-pick-grid .product-card .card-copy{padding:7px 9px 3px}
 .course-product-pick-grid .product-card .card-copy h3{font-size:12px;min-height:0}
 .course-experience .course-date-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .course-experience .course-date-controls input{min-height:39px;font-size:12px}
 .course-experience .course-map-toggle{grid-column:1;display:flex;align-items:center;justify-content:space-between;min-height:39px;padding:8px 11px;border:1px solid #d7e5e7;border-radius:7px;background:#fff;color:var(--teal);font-size:12px;font-weight:750}
 .course-experience .course-workspace-layout>.route-map[hidden]{display:none!important}
 .course-experience .route-summary{padding:9px 10px}
 .course-experience .route-retry-details summary{font-size:10px}
 .course-empty-day-message{align-items:flex-start;flex-direction:column}
 .course-experience .course-buttons{bottom:calc(58px + env(safe-area-inset-bottom));margin-top:9px}
 .course-experience .itinerary li{gap:6px 8px;padding:11px 3px}
 .course-experience .itinerary .place-controls{margin-left:0;gap:5px}
 .course-experience .itinerary .place-controls button{min-height:36px}
 .course-experience .itinerary .place-controls .remove-place{min-height:36px}
}
@media(max-width:380px){.course-product-pick-grid{grid-auto-columns:minmax(84%,1fr)}.course-empty-day-message button{width:100%}.course-experience .course-date-details>summary{gap:7px}}
.route-map.story-route{background:#e8f3f5}
.route-map.story-route .map-water,.route-map.story-route .map-road{display:none}
.route-map.schematic-route{background:#edf6f6}.route-map.schematic-route .route-line{display:block;stroke:#18a6b5;stroke-width:3}.map-stop-label{position:absolute;transform:translate(-50%,18px);max-width:42%;font-size:10px;font-weight:750;text-align:center;line-height:1.2;color:var(--deep);z-index:1}
.story-route-note{position:absolute;top:10px;left:10px;right:10px;margin:0;padding:9px 11px;border-radius:9px;background:#fffffff0;color:var(--deep);font-weight:700;font-size:11px;line-height:1.5;z-index:2}
.story-route-note[hidden]{display:none}
.course-story-context{display:grid;gap:3px;margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#eff6f8}
.course-story-context[hidden]{display:none}
.course-story-context span{font-size:11px;color:var(--teal);font-weight:800}
.course-story-context a{font-size:13px;font-weight:750;line-height:1.4}
.course-story-context small{font-size:11px;color:#647687;line-height:1.5}
.story-course-picks{margin:0 0 17px}.story-course-picks .section-heading h2{font-size:17px}.story-course-status{margin:0 0 8px;color:var(--muted);font-size:12px}.story-course-regions{margin:0 0 5px}.story-course-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.story-course-rail>a{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff}.story-course-rail>a[hidden]{display:none}.story-course-rail>a[aria-current=page]{border-color:var(--teal);background:#f1fafa}.story-course-rail img{width:48px;height:48px;object-fit:cover;border-radius:7px;flex:none}.story-course-rail span{min-width:0;flex:1}.story-course-rail b,.story-course-rail small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-course-rail b{font-size:12px}.story-course-rail small{font-size:10px;color:var(--muted)}.story-course-rail .icon{width:15px;height:15px;color:var(--teal)}.story-course-more{margin-top:9px;min-height:44px}.place-controls{display:flex;gap:2px;flex:none}.place-controls button{width:27px;height:29px;padding:0;border:1px solid #dce9ed;border-radius:6px;background:#fff;color:var(--deep);font-size:14px}.place-controls button:focus-visible{outline:2px solid var(--teal)}@media(max-width:800px){.story-course-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.story-course-rail>a{min-width:190px;scroll-snap-align:start}}@media(max-width:480px){.story-course-rail>a{min-width:168px}.story-course-rail img{width:40px;height:40px}.story-course-rail b{font-size:11px}.itinerary li{flex-wrap:wrap}.itinerary li>div{min-width:calc(100% - 45px)}.place-controls{margin-left:35px}.place-controls button{width:31px;height:30px}}
.story-course-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.story-course-rail>a{min-height:92px;gap:12px;padding:12px}.story-course-rail>a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.story-course-rail img{width:68px;height:68px;border-radius:9px}.story-course-rail b{font-size:14px;line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.story-course-rail small{font-size:12px;line-height:1.4;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.story-course-rail .icon{width:18px;height:18px;flex:none}@media(max-width:800px){.story-course-rail{grid-template-columns:none}.story-course-rail>a{min-width:248px;min-height:96px}}@media(max-width:480px){.story-course-rail>a{min-width:232px;min-height:92px;padding:10px}.story-course-rail img{width:56px;height:56px}.story-course-rail b{font-size:13px}.story-course-rail small{font-size:11px}}
.itinerary-empty{border:1px dashed #c9dce1;border-radius:10px;padding:18px;color:var(--muted);font-size:13px;text-align:center}
.route-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;padding:12px 14px;border:1px solid #cfe4e8;border-radius:12px;background:#f1faf9}.route-summary strong{display:block;font-size:14px;color:var(--deep)}.route-summary p{margin:3px 0 0;font-size:12px;color:#5e7380}.route-summary button{flex:none;border:0;border-radius:9px;background:var(--teal);color:#fff;padding:9px 12px;font-size:12px;font-weight:800}.route-summary button:disabled{opacity:.55}.route-calculation-status{min-height:18px;margin:0 2px 9px;font-size:11px;line-height:1.5;color:#607887}.leg-metric{display:block;margin-top:4px;font-size:11px;font-weight:750;color:var(--teal)}.route-map.calculated-route .route-line{stroke:#0873ae;stroke-width:3;stroke-dasharray:none;opacity:.85}.route-map.calculated-route .map-marker{z-index:1}.route-map.story-route:not(.calculated-route) .route-line{stroke-dasharray:7 6}@media(max-width:480px){.route-summary{padding:10px}.route-summary strong{font-size:12px}.route-summary p{font-size:10px}.route-summary button{font-size:11px;padding:9px 10px}}
.place-form{display:flex;align-items:center;gap:8px;margin:10px 0 14px;flex-wrap:wrap}
.place-form[hidden]{display:none}
.course-duration,.course-candidates{margin:0 0 14px;padding:13px 14px;border:1px solid #dce9ed;border-radius:12px;background:#f8fbfc}
.course-duration[hidden],.course-candidates[hidden],[data-course-day][hidden]{display:none}
.course-duration strong{display:block;margin-bottom:8px;color:var(--deep);font-size:14px}
.course-duration>div{display:flex;gap:7px}
.course-duration button,.candidate-actions button{border:1px solid #c9dce1;border-radius:8px;background:#fff;color:var(--deep);padding:7px 11px;font-size:12px;font-weight:750}
.course-duration button.selected{border-color:var(--teal);background:var(--teal);color:#fff}
.course-duration small{display:block;margin-top:8px;color:var(--muted);font-size:11px}
.course-date-controls{display:flex;gap:10px;flex-wrap:wrap}.course-date-controls label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.course-date-controls input{min-height:36px;border:1px solid #c9dce1;border-radius:8px;background:#fff;padding:5px 9px;color:var(--deep);font:inherit}.course-day-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 12px;padding:2px 0 7px;scrollbar-width:thin}.course-day-tabs button{flex:none}.course-mode-overseas .course-recommend-actions{display:none!important}.route-map.overseas-order-map .overseas-visit-order{fill:none;stroke:#9b5b1f;stroke-width:3;opacity:.85}
.course-candidates h2{font-size:15px}.course-candidates ul{list-style:none;margin:0;padding:0}.course-candidates li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid #e1ebee}.course-candidates li b{font-size:12px;line-height:1.3}.candidate-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.candidate-actions button{white-space:nowrap;padding:6px 8px}.course-candidates p{margin:7px 0 0;color:var(--muted);font-size:12px}
.place-controls .place-day-button{width:auto;min-width:42px;padding:0 5px;font-size:10px;font-weight:700}
@media(max-width:480px){.course-candidates li{align-items:flex-start;flex-direction:column}.candidate-actions{justify-content:flex-start}.place-controls .place-day-button{width:auto;min-width:43px}}
.place-form label{font-size:12px;font-weight:700;color:var(--teal)}
.place-form input{flex:1;min-width:150px;min-height:40px;border:1px solid #c9dce1;border-radius:8px;padding:8px 10px;font-size:14px}
.place-form button{min-height:40px;border:0;border-radius:8px;background:var(--teal);color:#fff;padding:7px 15px;font-weight:800}
@media(max-width:480px){.search-place-symbol{width:55px;height:48px}}
body.showcase [hidden]{display:none!important}
.country-catalog{margin:14px 0 22px}
.country-heading{font-size:14px;font-weight:850;color:var(--deep);margin:5px 0 7px}
.country-heading small{font-size:11px;font-weight:650;color:#7b8f9a;margin-left:5px}
.country-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0 4px}
.country-tab{flex:none;border:1px solid #dce9ed;border-radius:999px;background:#f6f9fa;color:#355267;padding:7px 13px;min-height:34px;font-size:12px;font-weight:750}
.country-tab.selected{border-color:var(--teal);background:var(--teal);color:#fff}
.country-tab:focus-visible{outline:2px solid #238fb4;outline-offset:2px}
.country-subcategories{background:#f5fafb;border:1px solid #dce9ed;border-radius:12px;padding:11px 13px 5px;margin:12px 0}
.country-subcategories>p{font-size:12px;font-weight:800;color:var(--deep);margin:0 0 8px}
.country-subcategories .chip-row{margin:0}
.country-status{font-size:12px;color:#607484;margin:10px 2px 16px}
.country-more{display:block;margin:20px auto 6px;border:1px solid var(--teal);border-radius:10px;background:#fff;color:var(--teal);padding:10px 22px;font-size:13px;font-weight:800}
@media(max-width:800px){.country-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:3px 0 8px}.country-tabs::-webkit-scrollbar{display:none}.country-tab{scroll-snap-align:start}}
@media(max-width:480px){.country-heading{font-size:12px}.country-tab{font-size:11px;min-height:31px;padding:6px 11px}.country-subcategories{padding:10px 10px 4px}.country-subcategories>p{font-size:11px}.country-status{font-size:11px}}
.camping-hero{position:relative;overflow:hidden;border-radius:20px;min-height:340px;background:#174f5b;color:#fff}.camping-hero>img{display:block;width:100%;height:340px;object-fit:cover;object-position:center 52%}.camping-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,38,43,.75),rgba(0,38,43,.05) 78%)}.camping-hero>div{position:absolute;z-index:1;left:38px;bottom:38px;max-width:70%;text-shadow:0 2px 10px #1239}.camping-hero span{font-size:14px;font-weight:700}.camping-hero h1{font-size:42px;line-height:1.2;letter-spacing:-.05em;margin:7px 0 10px}.camping-hero p{font-size:16px;margin:0}.camping-finder{margin:24px 0 18px}.camping-search-row{display:flex;gap:9px}.camping-search-row input,.camping-search-row select{border:1px solid #d4e3e9;border-radius:11px;background:#f7fafb;min-height:47px;padding:0 13px;color:var(--ink);outline-color:var(--teal)}.camping-search-row input{flex:1;min-width:0}.camping-search-row select{min-width:180px}.camping-kind-tabs{margin-top:12px}.camping-heading{margin-top:28px}.camping-status{color:var(--muted);font-size:13px;margin:0 0 14px}.camping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.camping-card{min-width:0;border:1px solid #e0ebee;border-radius:14px;background:#fff;padding:17px;box-shadow:0 3px 13px #073d5010;display:flex;flex-direction:column}.camping-place{font-size:11px;color:var(--teal);font-weight:800}.camping-card h3{font-size:17px;line-height:1.3;margin:6px 0}.camping-address{color:#5b7180;font-size:12px;margin:0 0 10px}.camping-tags{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 10px}.camping-tags:empty{display:none}.camping-tags span{border-radius:5px;background:#e9f6f5;color:#086876;padding:3px 6px;font-size:11px;font-weight:750}.camping-details{font-size:12px;line-height:1.5;color:#728492;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 15px}.camping-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ecf1f3;padding-top:11px}.camping-actions a{font-size:12px;color:var(--teal);font-weight:800}.camping-save{border:1px solid #c9dde3;background:#fff;color:var(--teal);border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap}.camping-save.is-saved{background:var(--teal);color:#fff;border-color:var(--teal)}.camping-source{background:#f5fafb;border-radius:12px;padding:18px;margin:30px 0 0;font-size:12px;color:#5e7180}.camping-source strong{font-size:13px;color:var(--deep)}.camping-source p{margin:6px 0;line-height:1.7}.camping-source a{color:var(--teal);font-weight:800}
@media(min-width:801px) and (max-width:1100px){.desktop-nav{gap:14px;font-size:13px}.header-inner{gap:12px}.header-actions{gap:7px}}
@media(max-width:800px){.camping-hero,.camping-hero>img{min-height:275px;height:275px}.camping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camping-search-row select{min-width:140px}}
@media(max-width:480px){.camping-hero,.camping-hero>img{min-height:220px;height:220px;border-radius:14px}.camping-hero>div{left:18px;bottom:19px;max-width:82%}.camping-hero span{font-size:11px}.camping-hero h1{font-size:27px;margin:4px 0 5px}.camping-hero p{font-size:12px}.camping-search-row{flex-direction:column}.camping-search-row input,.camping-search-row select{width:100%;min-height:43px}.camping-grid{grid-template-columns:1fr}.camping-card{padding:14px}.camping-heading{margin-top:22px}}
.camping-hero h2{font-size:42px;line-height:1.2;letter-spacing:-.05em;margin:7px 0 10px}
@media(max-width:480px){.camping-hero h2{font-size:27px;margin:4px 0 5px}}

/* Course stop names and visible visit-order connections. */
.route-map.story-route .map-stop-label{background:#fffffff2;border:1px solid #c9dde2;border-radius:6px;padding:3px 6px;max-width:38%;box-shadow:0 2px 5px #183d5120;z-index:3;pointer-events:none}.route-map.story-route .map-marker{z-index:4}.route-map.story-route .route-line{opacity:1;stroke:#0873ae;stroke-width:4;filter:drop-shadow(0 1px 2px white);pointer-events:none}.remove-place{min-width:36px;min-height:36px}

.candidate-search{margin:12px 0}.candidate-search label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}.candidate-search>div{display:flex;gap:8px}.candidate-search input{flex:1;min-width:0;min-height:46px;border:1px solid #b7d2d7;border-radius:9px;padding:10px;font-size:16px}.candidate-search button,.candidate-search-results button{min-height:44px;border:0;border-radius:9px;padding:8px 14px;background:var(--teal);color:white;font-weight:750}.candidate-search small{display:block;margin-top:7px;color:#526978}.candidate-search-results{list-style:none;padding:0}.candidate-search-results li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #d3e5e9}.candidate-search-results span{flex:1;min-width:0}.candidate-search-results b,.candidate-search-results small{display:block}.candidate-search-results small{font-size:12px;color:#526978}.candidate-search-results button{flex:none}.route-map.fitted-map{height:420px;min-height:0;overflow:hidden;position:relative;background:#edf3ed}.course-tiles{position:absolute;inset:0;overflow:hidden}.course-tiles img{position:absolute;width:256px;height:256px;max-width:none;border-radius:0}.fitted-map .route-line{position:absolute;inset:0;width:100%;height:100%;fill:none;pointer-events:none;stroke:#0873ae;stroke-width:4;stroke-dasharray:7 6;opacity:1}.fitted-map.calculated-route .route-line{stroke-dasharray:none}.fitted-map .map-marker{transform:translate(-50%,-50%);z-index:4}.fitted-map .map-stop-label{z-index:3;transform:translate(-50%,18px);background:#fffffff0;padding:3px 6px;border-radius:6px;max-width:120px}.fitted-map .story-route-note{font-size:11px;max-height:75px;overflow:auto}.map-attribution{position:absolute;bottom:0;left:0;z-index:5;background:#ffffffe8;font-size:10px;padding:2px 5px}.fitted-map .map-open{bottom:24px}.candidate-search button:disabled{opacity:.6}@media(max-width:480px){.route-map.fitted-map{height:340px}.candidate-search-results li{gap:6px}.candidate-search-results button{padding:8px;font-size:12px}}

.itinerary .leg-metric{font-size:12px;line-height:1.6;padding:7px 9px;background:#edf8f7;border-radius:7px;color:#17626a;margin-top:8px;overflow-wrap:anywhere}

.camping-region-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0 24px}.camping-region-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:68px;background:#fff;border:1px solid #cddfe4;border-radius:10px;color:var(--deep);font:inherit;font-weight:750;cursor:pointer}.camping-region-tabs small{font-size:13px;font-weight:600}.camping-region-tabs .selected{background:var(--teal);border-color:var(--teal);color:#fff}.camping-filter-title{font-size:19px;margin:22px 0 10px}.camping-search-row{margin:16px 0}.camping-card{padding:0;overflow:hidden}.camping-card-open{background:#fff;border:0;padding:0 16px;text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%;flex:1}.camping-card-open .camping-photo{margin:0 -16px 14px}.camping-photo{position:relative;aspect-ratio:8/5;background:#edf4f5;display:grid;place-items:center;color:#59717b;overflow:hidden;font-size:14px}.camping-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camping-actions{margin:0 16px;padding:12px 0}.camping-detail-button{background:transparent;border:0;color:var(--teal);font:inherit;font-size:14px;font-weight:800;padding:10px 0;cursor:pointer}.camping-card button:focus-visible,.camping-region-tabs button:focus-visible{outline:3px solid #195d9a;outline-offset:-3px}.camping-detail{border:0;border-radius:18px;padding:24px;width:min(680px,calc(100% - 28px));max-height:88vh;color:var(--ink);box-sizing:border-box;overscroll-behavior:contain}.camping-detail::backdrop{background:#102e3b99}.camping-detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.camping-detail-top h2{font-size:23px;margin:0;overflow-wrap:anywhere}.camping-detail-top button{min-width:48px;min-height:44px;border:1px solid #c9dde3;border-radius:8px;background:white;color:var(--deep);font:inherit;cursor:pointer}.camping-detail .camping-photo{border-radius:10px;margin-bottom:15px}.camping-detail-content p{line-height:1.7}.camping-detail-facts{display:grid;grid-template-columns:125px minmax(0,1fr);font-size:14px;line-height:1.8;margin:20px 0}.camping-detail-facts dt,.camping-detail-facts dd{margin:0;padding:12px 0;border-bottom:1px solid #e2ecef;overflow-wrap:anywhere}.camping-detail-facts dt{font-weight:800}.camping-detail-note{font-size:13px;color:#59717b}.camping-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.camping-detail-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border-radius:9px;background:var(--teal);color:white;font-size:15px;font-weight:750;text-decoration:none;box-sizing:border-box}.camping-detail-actions .camping-call{background:#edf6f7;color:var(--teal)}.camping-detail-source{font-size:12px;color:#59717b}.camping-kind-tabs{flex-wrap:wrap}.camping-kind-tabs .chip{white-space:normal}.camping-count-note{font-size:13px;color:#59717b}
@media(max-width:680px){.camping-region-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.camping-region-tabs button{font-size:14px;min-height:62px}.camping-detail{padding:17px}.camping-detail-top h2{font-size:20px}.camping-detail-facts{grid-template-columns:100px minmax(0,1fr);font-size:13px}.camping-detail-actions{flex-direction:column}.camping-card{padding:0}.camping-kind-tabs{overflow:visible}.camping-filter-title{font-size:17px}}

/* Compact city/county choices; province cards keep their existing size. */
.camping-district-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 20px}
.camping-district-tabs button{flex-direction:row;gap:5px;min-height:34px;min-width:0;padding:6px 10px;border-radius:7px;font-size:13px;line-height:1.3}
.camping-district-tabs button small{font-size:11px;white-space:nowrap}
@media(max-width:680px){.camping-district-tabs{gap:5px}.camping-district-tabs button{min-height:34px;font-size:12px;padding:6px 8px}.camping-district-tabs button small{font-size:10px}}
.course-candidate-button{position:relative;display:block;border:1px solid #b8d9de;border-radius:8px;background:#edf7f6;color:#076476;font:inherit;font-weight:750;font-size:13px;line-height:1.5;min-height:44px;padding:9px 10px;cursor:pointer;box-sizing:border-box}.product-card>.course-candidate-button{margin:0 10px 12px;width:calc(100% - 20px)}.camping-card>.course-candidate-button{margin:0 16px 15px}.course-candidate-button:focus-visible{outline:3px solid #195d9a;outline-offset:2px}.camping-detail-actions>.course-candidate-button{width:100%}#candidate-list li>div{min-width:0}#candidate-list li>div small{display:block;font-size:12px;color:#59717b;margin:5px 0}#candidate-list li>div a{font-size:12px;color:var(--teal);display:inline-block;padding:6px 0}.candidate-actions{flex-wrap:wrap}@media(max-width:680px){.course-candidate-button{font-size:12px}#candidate-list li>div{flex:1 1 100%}}

/* Home category carousel */
.hero{background:none}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide[hidden]{display:none}.hero-image-link{position:absolute;inset:0;display:block;z-index:0}.hero-image-link img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,45,70,.62),rgba(0,45,70,.08) 78%);pointer-events:none}.hero-content{z-index:2;left:78px;right:76px}.hero-content .primary-button{position:relative;z-index:3}.hero-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #ffffffb5;border-radius:50%;display:grid;place-items:center;background:#ffffffdf;color:#075d68;box-shadow:0 2px 12px #173d4a30}.hero-arrow .icon{width:22px;height:22px}.hero-arrow-prev{left:14px}.hero-arrow-next{right:14px}.hero-arrow:hover{background:#fff}.hero-count{z-index:3;background:#142b375c;padding:3px 9px;border-radius:999px}.home-top .chip-row{scrollbar-width:none}.home-top .chip-row::-webkit-scrollbar{display:none}@media(max-width:800px){.hero-content{left:66px;right:64px}.hero-arrow{width:44px;height:44px}.hero-arrow-prev{left:9px}.hero-arrow-next{right:9px}}@media(max-width:480px){.hero-content{left:58px;right:54px;top:30px}.hero-content>p{font-size:20px}.hero-content h1{font-size:37px;margin-bottom:22px}.hero-content>span{font-size:12px}.hero-content .primary-button{margin-top:13px}.hero-arrow{width:40px;height:40px}.hero-arrow-prev{left:7px}.hero-arrow-next{right:7px}.hero-count{right:11px;bottom:11px;font-size:11px}}@media(prefers-reduced-motion:reduce){.hero-slide,.hero-image-link img{transition:none!important;animation:none!important}}

.hero-slide{z-index:1;transform:translateX(0);transition:transform .42s cubic-bezier(.22,.68,0,1)}.hero-slide.is-entering-right{transform:translateX(100%)}.hero-slide.is-entering-left{transform:translateX(-100%)}.hero-slide.is-leaving-left{transform:translateX(-100%)}.hero-slide.is-leaving-right{transform:translateX(100%)}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none!important}}

/* Warm, restrained category carousel */
.hero-shade{background:linear-gradient(90deg,rgba(65,43,26,.40),rgba(83,59,35,.14) 62%,rgba(125,86,47,.03)),rgba(218,151,87,.04)}
.hero-image-link img{filter:sepia(.055) saturate(1.025) contrast(1.03)}
.hero-content>p{font-size:19px;letter-spacing:0;margin:0 0 6px;font-weight:700;font-style:normal;transform:none}
.hero-content h1{font-size:49px;font-weight:800;letter-spacing:-.04em;margin:0 0 18px;line-height:1.18;font-style:normal;transform:none}
@media(max-width:800px){.hero-content>p{font-size:18px}.hero-content h1{font-size:43px}}
@media(max-width:480px){.hero-content>p{font-size:15px;margin-bottom:4px}.hero-content h1{font-size:33px;margin-bottom:18px}}

.domestic-top10{margin:12px 0 24px}.domestic-top10-slides{position:relative}.domestic-top10-slide{position:relative;display:block;min-height:320px;border-radius:18px;overflow:hidden;background:#263b3f;color:#fff}.domestic-top10-slide[hidden]{display:none}.domestic-top10-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.domestic-top10-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.16) 54%,transparent),linear-gradient(0deg,rgba(0,0,0,.12),transparent 45%)}.domestic-top10-copy{position:absolute;z-index:1;left:clamp(20px,4vw,46px);bottom:34px;display:grid;gap:8px;max-width:min(690px,76%);text-shadow:0 1px 8px #172a2d77}.domestic-top10-copy small{font-size:12px;font-weight:800;letter-spacing:.04em}.domestic-top10-copy strong{font-size:clamp(23px,3vw,38px);line-height:1.2;letter-spacing:-.045em}.domestic-top10-copy>span{font-size:14px}.domestic-top10-copy>b{display:inline-flex;align-items:center;gap:9px;width:max-content;margin-top:5px;border-radius:9px;background:var(--teal);padding:10px 15px;font-size:13px;text-shadow:none}.domestic-top10-copy i{font-style:normal;font-size:17px}.domestic-top10-pagination{display:flex;align-items:center;justify-content:center;gap:13px;padding-top:10px}.domestic-top10-pagination>span{font-size:11px;color:#6e7f8c}.domestic-top10-pagination>div{display:flex;align-items:center;gap:7px}.domestic-top10-pagination button{width:8px;height:8px;min-width:8px;padding:0;border:0;border-radius:99px;background:#cbd5da;transition:width .2s,background .2s}.domestic-top10-pagination button.selected{width:20px;background:var(--teal)}.domestic-top10-pagination button:focus-visible{outline:2px solid #1b5b75;outline-offset:3px}
@media(max-width:680px){.domestic-top10{margin:8px 0 20px}.domestic-top10-slide{min-height:230px;border-radius:14px}.domestic-top10-copy{left:18px;bottom:24px;max-width:86%;gap:6px}.domestic-top10-copy small{font-size:10px}.domestic-top10-copy strong{font-size:22px}.domestic-top10-copy>span{font-size:11px}.domestic-top10-copy>b{font-size:11px;padding:8px 12px}.domestic-top10-pagination{gap:9px}.domestic-top10-pagination>div{gap:5px}.domestic-top10-pagination button{width:6px;height:6px;min-width:6px}.domestic-top10-pagination button.selected{width:16px}}
.domestic-top10{position:relative}.domestic-top10-arrow{position:absolute;z-index:2;top:45%;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #ffffffb8;border-radius:50%;background:#fffffff0;color:var(--teal);font-size:30px;line-height:1;box-shadow:0 2px 12px #0002;transform:translateY(-50%)}.domestic-top10-arrow[data-popular-prev]{left:14px}.domestic-top10-arrow[data-popular-next]{right:14px}.domestic-top10-slide.is-entering-right{animation:popular-enter-right .32s ease both}.domestic-top10-slide.is-entering-left{animation:popular-enter-left .32s ease both}@keyframes popular-enter-right{from{opacity:.5;translate:18px 0}to{opacity:1;translate:0 0}}@keyframes popular-enter-left{from{opacity:.5;translate:-18px 0}to{opacity:1;translate:0 0}}@media(max-width:680px){.domestic-top10-arrow{width:34px;height:34px;font-size:25px}.domestic-top10-arrow[data-popular-prev]{left:8px}.domestic-top10-arrow[data-popular-next]{right:8px}}
.course-location-notice{display:block;margin-top:7px;padding:7px 9px;border-radius:8px;background:#fff7e8;color:#765522;line-height:1.5}

/* Keep the itinerary card focused on the stop; secondary controls stay available on demand. */
.course-experience .itinerary .place-more-actions{grid-column:2;min-width:0;margin-top:5px}
.course-experience .place-more-actions>summary{width:max-content;min-height:32px;padding:6px 9px;border:1px solid #dce7e9;border-radius:7px;color:#526873;font-size:12px;font-weight:700;cursor:pointer;list-style:none}
.course-experience .place-more-actions>summary::-webkit-details-marker{display:none}
.course-experience .place-more-actions>summary:after{content:'⌄';margin-left:7px}
.course-experience .place-more-actions[open]>summary:after{content:'⌃'}
.course-experience .place-more-body{display:grid;gap:9px;margin-top:8px;padding:10px;border-left:2px solid #dce9ed;background:#f8fbfb}
.course-experience .place-more-body .stay-duration-control,.course-experience .place-more-body .route-stop-rules,.course-experience .place-more-body .place-controls{grid-column:auto;margin:0}
.course-experience .place-more-body .place-controls{gap:6px}
.course-experience .course-place-role,.course-experience .stay-duration-summary{display:block;margin-top:4px;color:#58717a;font-size:11px}
.course-experience .course-place-role{font-weight:700}
.course-experience .arrival-forecast{color:#315d66;font-weight:650}
.course-experience .itinerary .place-more-body .place-controls button{min-height:36px;min-width:38px}

.course-simulation{display:grid;gap:7px;margin:10px 0;padding:11px 12px;border:1px solid #dce9ed;border-radius:10px;background:#f8fbfc}.course-simulation>label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:var(--deep)}.course-simulation input{min-height:34px;border:1px solid #c9dce1;border-radius:7px;padding:5px 8px}.course-simulation>small,.manual-location-form small,.arrival-forecast{color:var(--muted);font-size:11px}.course-recommend-actions{display:flex;gap:7px;flex-wrap:wrap}.course-recommend-actions button,#route-recommendation button,.manual-location-form button{border:1px solid #bfd7dc;border-radius:8px;background:#fff;color:var(--deep);padding:7px 10px;font-size:12px;font-weight:750}.course-recommend-actions #recommend-route{background:var(--teal);border-color:var(--teal);color:#fff}#route-recommendation{padding:10px;border:1px solid #dce9ed;border-radius:9px;background:#fff;font-size:12px}#route-recommendation p{margin:5px 0}.stay-duration-control{display:flex;align-items:center;gap:4px;white-space:nowrap;color:var(--muted);font-size:10px}.route-stop-rules{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:10px}.route-stop-rules label{display:flex;align-items:center;gap:4px}.route-stop-rules select,.route-stop-rules input{min-height:30px;max-width:130px;border:1px solid #dce9ed;border-radius:6px;padding:3px 6px;background:#fff;color:var(--deep);font-size:10px}#route-recommendation small{display:block;color:var(--muted);margin:6px 0}#route-recommendation button{margin:6px 6px 0 0}.stay-duration-control input{width:58px;height:30px;border:1px solid #dce9ed;border-radius:6px;padding:3px;font-size:12px}.manual-location-form{display:grid;gap:7px;margin:12px 0;padding:11px;border:1px solid #dce9ed;border-radius:9px;background:#fff}.manual-location-form strong{font-size:12px;color:var(--deep)}.manual-location-form>div{display:flex;gap:6px}.manual-location-form input{min-width:0;width:100%;min-height:36px;border:1px solid #d4e2e6;border-radius:7px;padding:6px 8px;font-size:12px}.manual-location-form>div:nth-of-type(2) input{max-width:120px}.manual-location-form button{flex:none;background:var(--teal);color:#fff}.arrival-forecast{display:block;margin-top:4px}.place-controls button[data-place-action=duplicate]{width:auto;min-width:40px;padding:0 5px;font-size:10px}@media(max-width:480px){.course-simulation{margin:8px 0}.manual-location-form>div{flex-wrap:wrap}.manual-location-form input{flex:1 1 42%}.manual-location-form>div:first-of-type input{flex-basis:100%}.manual-location-form button{flex:1}.stay-duration-control{margin-left:35px}.place-controls{flex-wrap:wrap}}

/* Release candidate cart clarity and readable product typography. */
.course-cart-dock{padding:12px 24px;background:#eaf6f3;border-bottom:1px solid #c8e2dc;box-shadow:0 3px 12px #163c4a12}
.course-cart-summary{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.course-cart-summary b{display:inline-flex;align-items:center;gap:8px;font-size:17px}
.course-cart-summary b>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d1ebe5;color:var(--teal);font-size:20px}
.course-cart-summary b strong{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 6px;border-radius:99px;background:var(--teal);color:#fff;font-size:15px}
.course-cart-summary small{font-size:14px;color:#344e59}
.course-cart-actions{display:flex;align-items:center;gap:8px;flex:none}
.course-cart-actions button,.course-cart-actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #9dbfc3;border-radius:9px;background:#fff;color:var(--deep);padding:9px 14px;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.course-cart-actions a{border-color:var(--teal);background:var(--teal);color:#fff}
.course-cart-dialog{width:min(680px,calc(100% - 28px));max-height:min(82vh,760px);padding:0;border:1px solid #cddfe2;border-radius:14px;color:var(--ink);box-shadow:0 20px 70px #102e3b40}
.course-cart-dialog::backdrop{background:#102e3b88}
.course-cart-dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;background:#fff;border-bottom:1px solid #e0eaec}
.course-cart-dialog-head h2{margin:0;font-size:23px}
.course-cart-dialog-head button,.course-cart-item-actions button{min-height:42px;border:1px solid #b9cdd2;border-radius:8px;background:#fff;color:var(--deep);padding:8px 13px;font:inherit;font-size:15px;font-weight:750}
.course-cart-dialog-note{margin:0;padding:12px 20px;color:#425b65;font-size:14px;background:#f6faf9}
#course-cart-items{display:grid;gap:0;margin:0;padding:0;list-style:none}
.course-cart-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid #e6edef}
.course-cart-item>div:first-child{min-width:0;display:grid;gap:4px}
.course-cart-item strong{font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.course-cart-item small{font-size:14px;color:#526873}
.course-cart-item-actions{display:flex;align-items:center;gap:7px;flex:none}
.course-cart-item-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border:1px solid #bfd3d7;border-radius:8px;color:var(--teal);font-size:14px;font-weight:750;white-space:nowrap}
.course-cart-item-actions button{color:#8b3540;border-color:#e5c4c8}
#course-cart-empty{padding:28px 20px;text-align:center;color:#526873;font-size:16px}
.product-catalog-page{font-size:16px}
.product-catalog-page .page-title h1{font-size:28px}
.product-catalog-page .section-heading h2{font-size:22px}
.product-catalog-page .product-card .eyebrow{font-size:13px;color:#405a66}
.product-catalog-page .product-card .card-copy h3{font-size:17px;line-height:1.4;min-height:0;color:#142c38}
.product-catalog-page .product-facts{font-size:15px;color:#425a64}
.product-catalog-page .product-facts strong{font-size:18px;color:#a92535}
.product-catalog-page .course-candidate-button{font-size:16px;line-height:1.35;min-height:48px}
.product-catalog-page .product-card.is-in-course-cart{border-color:#0b747b;box-shadow:0 0 0 2px #0b747b35,0 4px 14px #163c4a18}
.product-catalog-page .chip{font-size:14px}
.course-candidate-button.is-in-course-cart{background:#dff1e6;color:#155a34;border-color:#78b994;font-size:16px;font-weight:850}
@media(max-width:680px){
 .course-cart-dock{position:sticky;top:0;padding:10px 13px;align-items:stretch;gap:9px}
 .course-cart-summary{gap:6px 9px}
 .course-cart-summary b{font-size:16px}
 .course-cart-summary small{font-size:13px}
 .course-cart-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .course-cart-actions button,.course-cart-actions a{min-width:0;min-height:46px;padding:8px 6px;font-size:15px;white-space:normal}
 .course-cart-item{align-items:flex-start;flex-direction:column;padding:14px}
 .course-cart-item-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 72px}
 .course-cart-item-actions a,.course-cart-item-actions button{min-width:0;padding:7px 4px;font-size:13px;white-space:normal;text-align:center}
 .product-catalog-page .page-title h1{font-size:26px}
 .product-catalog-page .section-heading h2{font-size:20px}
 .product-catalog-page .product-card .card-copy h3{font-size:17px;line-height:1.35}
 .product-catalog-page .product-facts{font-size:14px}
 .product-catalog-page .product-facts strong{font-size:17px}
 .product-catalog-page .course-candidate-button{font-size:15px}
}

/* Fixed cart dock sits above mobile navigation; course actions stay in document flow. */
.course-cart-dock{position:fixed;inset:auto 0 0;z-index:30;width:100%;max-width:none;margin:0;padding:12px max(16px,calc((100vw - 1120px)/2));border:0;border-top:1px solid #c8e2dc;box-shadow:0 -3px 12px #163c4a18}
.course-cart-summary b>span svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.has-course-cart-dock .page-shell{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.has-course-cart-dock .site-footer-inner{padding-bottom:110px}
.course-experience .course-buttons{position:static;inset:auto;z-index:auto;margin:12px 0 0;padding:12px 0 0;background:transparent;border-top:1px solid #e4ecee;backdrop-filter:none}
@media(max-width:680px){
 .course-cart-dock{bottom:calc(62px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:8px 13px}
 .course-cart-summary{width:100%;min-width:0;flex:0 0 auto}
 .course-cart-summary small{display:none}
 .course-cart-actions{width:100%;flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr}
 .has-course-cart-dock .page-shell{padding-bottom:calc(190px + env(safe-area-inset-bottom))}
 .has-course-cart-dock .site-footer-inner{padding-bottom:170px}
 .course-experience .course-buttons{bottom:auto;margin:12px 0 0;padding:12px 0 0}
}
.course-cart-summary b>span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Story recommendations use a vertical, full-width list on phones. */
.story-course-picks{min-width:0;max-width:100%}
.story-course-regions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.story-course-regions .chip{min-height:44px;max-width:100%}
.story-course-rail{min-width:0;width:100%}
.story-course-rail>a{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}
.story-course-copy{display:grid;align-content:center;gap:4px;min-width:0;overflow-wrap:anywhere}
.story-course-rail .story-course-title,.story-course-rail .story-course-summary,.story-course-rail .story-course-action{display:block;overflow-wrap:anywhere;white-space:normal}
.story-course-rail .story-course-title{font-weight:750;color:#233e49}
.story-course-rail .story-course-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:#5a6f79}
.story-course-rail .story-course-action{margin-top:2px;color:var(--teal);font-weight:850}
@media(max-width:800px){
 .story-course-regions{align-items:stretch;gap:7px}
 .story-course-regions .chip{flex:0 1 auto;padding:8px 12px;font-size:14px}
 .story-course-rail{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;overflow:visible;scroll-snap-type:none}
 .story-course-rail>a{display:grid;grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto 1fr;align-items:center;gap:0;width:100%;min-width:0;min-height:0;padding:0;border-radius:14px;scroll-snap-align:none}
 .story-course-rail>a>img{grid-column:1/-1;grid-row:1;width:100%;height:clamp(150px,46vw,190px);max-width:100%;object-fit:cover;border-radius:0}
 .story-course-rail>a>.story-course-copy{grid-column:1;grid-row:2;gap:5px;padding:12px 0 13px 13px}
 .story-course-rail b{font-size:14px;line-height:1.4}
 .story-course-rail .story-course-title{font-size:16px;line-height:1.45;font-weight:800;color:#173d4a}
 .story-course-rail .story-course-summary{font-size:13px;line-height:1.5}
 .story-course-rail .story-course-action{font-size:13px;line-height:1.45}
 .story-course-rail>a>.icon{grid-column:2;grid-row:2;align-self:center;margin-right:10px}
 .story-course-more{width:100%;min-height:48px}
}

/* Schedule card actions: explicit labels, strong type and comfortable touch targets. */
.course-experience .itinerary li>div{min-width:0;overflow-wrap:anywhere}
.course-experience .itinerary li>div>b{display:block;font-size:18px;font-weight:800;line-height:1.4;color:#173d4a}
.course-experience .itinerary .course-place-role,.course-experience .itinerary .course-place-status,.course-experience .itinerary .course-location-notice{font-size:15px;line-height:1.5;color:#334f5a}
.course-experience .itinerary .leg-metric{font-size:16px;font-weight:800;line-height:1.5;color:#075d66}
.course-experience .itinerary .arrival-forecast{font-size:15px;line-height:1.5;color:#274a55}
.itinerary-primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.itinerary-primary-actions>a,.itinerary-primary-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid #146875;border-radius:7px;background:#fff;color:#075d66;font-size:15px;font-weight:750;line-height:1.3;text-align:center}
.itinerary-primary-actions .itinerary-booking-link{background:#075d66;color:#fff}
.itinerary-primary-actions .itinerary-map-link:disabled{border-color:#bdcbd0;background:#f2f5f6;color:#526870;opacity:1}
.itinerary-primary-actions .remove-place{border-color:#a64a48;background:#fff;color:#8e3532}
.course-delete-undo{margin:6px 0 12px;min-height:44px;padding:8px 14px;border:1px solid #075d66;border-radius:7px;background:#eaf5f4;color:#075d66;font-size:15px;font-weight:750}
.course-delete-undo[hidden]{display:none}
@media(max-width:600px){.course-experience .itinerary li{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:14px 4px}.course-experience .itinerary li>div{grid-column:2;min-width:0}.course-experience .itinerary li>div>b{font-size:18px}.itinerary-primary-actions{display:grid;grid-template-columns:minmax(86px,1.05fr) minmax(100px,1.25fr) minmax(52px,.7fr);gap:8px;align-items:stretch}.itinerary-primary-actions>a,.itinerary-primary-actions>button{min-width:0;min-height:46px;padding:8px 7px;font-size:15px;white-space:normal}.course-experience .itinerary .leg-metric,.course-experience .itinerary .arrival-forecast{font-size:15px}.course-experience .itinerary .course-place-role,.course-experience .itinerary .course-place-status,.course-experience .itinerary .course-location-notice{font-size:15px}}

/* Phase 2: readable course details, concise guidance, and a compact cart dock. */
.course-experience{font-size:16px;line-height:1.55}
.course-experience .course-story-context,.course-experience .course-toolbar,.course-experience .course-duration,.course-experience .course-day-tabs{font-size:16px}
.course-experience .course-story-context p,.course-experience .route-summary p,.course-experience .route-calculation-status{font-size:14px;line-height:1.5;color:#405b66}
.course-experience .route-summary{padding:10px 12px}
.course-experience .route-summary strong{font-size:16px}
.course-experience .route-summary button,.course-experience .course-simulation button,.course-experience .course-recommend-actions button{min-height:44px;padding:9px 12px;font-size:15px}
.course-experience .course-simulation>label{font-size:15px}
.course-experience .course-simulation>small,.course-experience .recommend-route-help{font-size:14px;line-height:1.5;color:#40545c}
.course-experience .recommend-route-help{display:block;margin:5px 2px 0}
.course-experience .itinerary li>div>small,.course-experience .itinerary .course-location-notice{font-size:15px;line-height:1.55;color:#334f5a}
.course-experience .itinerary .course-place-status{padding:0;background:transparent;font-size:15px!important;font-weight:650;color:#334f5a}
.course-experience .itinerary .stay-duration-summary{font-size:15px;color:#334f5a}
.course-experience .itinerary .arrival-forecast{font-size:15px;line-height:1.55;color:#274a55}
.course-experience .itinerary .leg-metric{font-size:16px;line-height:1.55;color:#075d66}
.course-cart-dock{padding:8px max(16px,calc((100vw - 1120px)/2));gap:10px}
.course-cart-summary b{font-size:16px}
.course-cart-summary small:not([role=status]){display:none}
.course-cart-summary b>span:first-child{width:26px;height:26px}
.course-cart-summary b strong{min-width:25px;height:25px}
.course-cart-actions button,.course-cart-actions a{min-height:44px;padding:7px 12px;font-size:15px}
.has-course-cart-dock .page-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
.has-course-cart-dock .site-footer-inner{padding-bottom:76px}
@media(max-width:680px){
 .course-cart-dock{bottom:calc(62px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(58px,auto) minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px}
 .course-cart-summary{width:auto;gap:0}
 .course-cart-summary b{gap:5px;font-size:15px;white-space:nowrap}
 #course-cart-dock .course-cart-label{display:none;white-space:nowrap}
 .course-cart-summary b>span:first-child{width:25px;height:25px}
 .course-cart-summary b strong{min-width:23px;height:23px;font-size:14px}
 #course-cart-dock .course-cart-actions{width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .course-cart-actions button,.course-cart-actions a{min-width:0;min-height:44px;padding:6px 4px;font-size:15px;line-height:1.2;white-space:normal}
 .has-course-cart-dock .page-shell{padding-bottom:calc(134px + env(safe-area-inset-bottom))}
 .has-course-cart-dock .site-footer-inner{padding-bottom:128px}
 .course-experience .route-summary{gap:8px;padding:9px 10px}
 .course-experience .route-summary button{min-height:44px;padding:7px 9px}
 .course-experience .itinerary li>div>small{overflow-wrap:anywhere}
}
.product-card.has-course-candidate-button .card-copy h3{min-height:2.7em;line-height:1.35}
.course-search-modes{display:flex;gap:8px;margin:10px 0}.course-search-modes button{min-height:42px;padding:8px 14px;border:1px solid #b9d0d5;border-radius:7px;background:#fff;color:#164b58;font-size:15px;font-weight:750}.course-search-modes button[aria-pressed=true]{background:#075d66;color:#fff;border-color:#075d66}.candidate-product-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0;padding:0;list-style:none}.candidate-product-results>li{min-width:0}.candidate-product-results .product-card{height:100%;display:flex;flex-direction:column}.candidate-product-results .product-card .card-copy{flex:1}.course-day-route-settings{display:grid;gap:10px;margin:10px 0;padding:12px;border:1px solid #d5e3e6;border-radius:9px;background:#fff}.course-day-route-settings>label{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.3fr);align-items:center;gap:10px;font-size:14px;font-weight:750;color:#173d4a}.course-day-route-settings select,.course-origin-picker input{width:100%;min-width:0;min-height:42px;padding:7px 9px;border:1px solid #b9d0d5;border-radius:7px;background:#fff;color:#173d4a;font:inherit}.course-origin-picker>label{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:750;color:#173d4a}.course-origin-picker>label small{font-weight:500;color:#435e68}.course-origin-picker>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-top:7px}.course-origin-picker button,.course-origin-picker li button{min-height:42px;padding:7px 10px;border:1px solid #075d66;border-radius:7px;background:#075d66;color:#fff;font-size:14px;font-weight:700}.course-origin-picker #course-origin-reset{background:#fff;color:#075d66}.course-origin-picker p{margin:4px 0;color:#34515d;font-size:13px}.course-origin-picker ul{display:grid;gap:7px;margin:8px 0;padding:0;list-style:none}.course-origin-picker li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px;border:1px solid #d5e3e6;border-radius:7px}.course-origin-picker li span{display:grid;min-width:0;gap:3px}.course-origin-picker li small{overflow-wrap:anywhere;color:#435e68}.course-origin-picker li button{flex:none}.course-return-leg{font-weight:800}
@media(max-width:600px){.candidate-product-results{grid-template-columns:minmax(0,1fr);gap:9px}.course-day-route-settings{padding:10px}.course-origin-picker>div{grid-template-columns:minmax(0,1fr) minmax(95px,.7fr)}.course-origin-picker #course-origin-reset{grid-column:1/-1}.course-origin-picker li{align-items:stretch;flex-direction:column}.course-origin-picker li button{width:100%}.course-day-route-settings>label{grid-template-columns:minmax(0,1fr)}.course-origin-picker>label{flex-direction:column}}
.course-origin-picker .course-origin-detail{margin:4px 0 8px;padding:9px 11px;border-left:3px solid #087a83;background:#edf7f5;color:#183f49;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.course-origin-picker .course-origin-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.course-origin-picker .course-origin-actions button{flex:1 1 125px}
.course-origin-picker .course-origin-actions #course-origin-reset{background:#fff;color:#075d66}
.course-origin-picker .course-origin-actions button:disabled{opacity:.65;cursor:default}
.course-origin-picker .course-origin-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:8px}
.course-origin-picker .course-origin-search-controls[hidden],.course-origin-picker .course-origin-add-to-itinerary[hidden]{display:none}

/* Final itinerary controls: keep common actions visible and reachable without a More panel. */
.course-experience .itinerary-primary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}
.course-experience .itinerary-primary-actions>a,.course-experience .itinerary-primary-actions>button,.course-experience .itinerary-order-actions button{min-width:44px;min-height:44px;padding:8px 11px;border:1px solid #b9d3d9;border-radius:7px;background:#fff;color:#075d66;font-size:15px;font-weight:750;line-height:1.25;text-align:center}
.course-experience .itinerary-order-actions{display:inline-flex;flex-wrap:nowrap;gap:5px;flex:none}
.course-experience .itinerary-order-actions button{width:44px;padding:0;font-size:20px}
.course-experience .itinerary-order-actions button[data-place-action=duplicate]{width:auto;min-width:66px;padding:0 10px;font-size:15px}
.course-experience .itinerary-primary-actions .remove-place{order:9;min-width:64px;border-color:#b54a49;background:#fff;color:#963c39;font-size:15px;font-weight:800}
.course-experience .itinerary-primary-actions .remove-place:hover{background:#fff2f1}
.course-experience .place-extra-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.course-experience .place-extra-actions button{min-height:44px;padding:7px 11px;border:1px solid #b9d3d9;border-radius:7px;background:#f7fbfc;color:#075d66;font-size:14px;font-weight:700}
.course-experience .course-recommend-actions #reset-course-day{background:#fff;border:1px solid #b9d3d9;color:#075d66}
.course-experience .course-recommend-actions #undo-course-day-reset{background:#fff;color:#075d66}
.course-experience .itinerary .stay-duration-summary,.course-experience .itinerary .reservation-time-summary{display:block;font-size:15px;line-height:1.5;color:#334f5a}
.course-experience .place-more-actions{grid-column:2;min-width:0;margin-top:8px;border-top:1px solid #e3ecee;padding-top:5px}
.course-experience .place-more-actions>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;list-style:none;color:#075d66;font-size:15px;font-weight:800}
.course-experience .place-more-actions>summary::-webkit-details-marker{display:none}
.course-experience .place-more-actions>summary:after{content:'+';margin-left:8px;font-size:18px}
.course-experience .place-more-actions[open]>summary:after{content:'−'}
.course-experience .place-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:6px 0 3px}
.course-experience .place-time-fields label{display:grid;gap:5px;color:#274a55;font-size:16px;font-weight:800}
.course-experience .place-time-fields input{width:100%;min-width:0;min-height:50px;border:1px solid #b7cbd1;border-radius:8px;background:#fff;padding:7px 10px;color:#173d4a;font-size:17px;font-weight:650}
.course-experience .place-time-fields>small{grid-column:1/-1;color:#40545c;font-size:14px;line-height:1.5}
.course-experience #course-story-context{display:grid;gap:5px;margin:0 0 12px;padding:16px 18px;border:1px solid #cbdfe4;border-radius:11px;background:#eff7f8;color:#183c48}
.course-experience #course-story-context>span{font-size:17px;font-weight:850;line-height:1.4;color:#075d66}
.course-experience #course-story-context>small{font-size:15px;line-height:1.55;color:#294b56}
.course-experience .course-date-details>summary{min-height:48px;gap:10px;padding:6px 2px}
.course-experience .course-date-details>summary strong{font-size:17px;font-weight:800;color:#173d4a}
.course-experience .course-date-details>summary span{font-size:16px;color:#294b56;font-weight:650}
.course-experience .course-date-details>summary:after{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b9d3d9;border-radius:8px;font-size:20px}
.course-experience .course-date-controls label{font-size:15px;font-weight:750;color:#294b56}
.course-experience .course-date-controls input{min-height:48px;font-size:16px;color:#173d4a}
@media(max-width:600px){.course-experience .place-time-fields{grid-template-columns:1fr}.course-experience .place-time-fields>small{grid-column:1}.course-experience #course-story-context{padding:14px}.course-experience .course-date-details>summary{min-height:48px}.course-experience .course-date-controls input{min-height:48px}}
@media(max-width:600px){.course-experience .itinerary-primary-actions{display:flex;gap:6px}.course-experience .itinerary-primary-actions>a,.course-experience .itinerary-primary-actions>button{flex:1 1 auto;min-width:86px;min-height:46px;padding:7px 9px;font-size:15px}.course-experience .itinerary-order-actions{flex:0 1 auto;gap:4px}.course-experience .itinerary-order-actions button{flex:none;width:44px;min-width:44px;min-height:46px;padding:0}.course-experience .itinerary-order-actions button[data-place-action=duplicate]{width:auto;min-width:64px;padding:0 9px}.course-experience .itinerary-primary-actions .remove-place{flex:0 0 64px}.course-experience .place-extra-actions button{min-height:44px}}
.fitted-map .course-origin-marker{position:absolute;z-index:7;display:grid;place-items:center;width:38px;height:38px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:#a34715;color:#fff;font-size:18px;font-weight:900;box-shadow:0 2px 8px #102e3c88}
.fitted-map .course-origin-label{position:absolute;z-index:6;transform:translate(-50%,23px);max-width:min(180px,45%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border:1px solid #a34715;border-radius:5px;background:#fff;color:#54270c;font-size:13px;font-weight:800;pointer-events:none}
@media(max-width:600px){.course-origin-picker .course-origin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.course-origin-picker .course-origin-actions button{min-width:0;padding-inline:7px;font-size:13px}.course-origin-picker .course-origin-search-controls{grid-template-columns:minmax(0,1fr)}.course-origin-picker .course-origin-search-controls button{width:100%}}
.course-map-interactive{isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}
.course-experience .route-map .map-marker{z-index:5}
.course-experience .route-map .map-stop-label[hidden]{display:none}
.course-map-scene{position:absolute;left:0;top:0;z-index:1;overflow:visible;will-change:transform;cursor:grab}
.course-map-interactive.is-map-dragging .course-map-scene{cursor:grabbing}
.course-map-scene .course-tiles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.course-map-scene .route-line{pointer-events:none}
.course-map-toolbar{position:relative;z-index:13;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:0 0 8px;padding:0;background:transparent}
.course-map-summary{font-size:14px;font-weight:750;color:#16454f;line-height:1.4}
.course-map-controls{position:static;z-index:12;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px}
.course-map-controls button{pointer-events:auto;min-width:44px;min-height:44px;padding:7px 10px;border:1px solid #a8c2c8;border-radius:8px;background:#fff;color:#075d66;font-size:14px;font-weight:800;box-shadow:0 2px 7px #173d4a30}
.course-map-controls button[data-map-action="zoom-in"],.course-map-controls button[data-map-action="zoom-out"]{font-size:22px;line-height:1}
.course-map-zoom-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.course-map-interactive.is-expanded-map{position:fixed!important;z-index:10000!important;inset:max(env(safe-area-inset-top),12px) max(env(safe-area-inset-right),12px) max(env(safe-area-inset-bottom),12px) max(env(safe-area-inset-left),12px)!important;width:auto!important;height:calc(100dvh - 24px)!important;max-height:none!important;min-height:0!important;border:1px solid #d5e1e4;border-radius:12px;box-shadow:0 0 0 9999px #102d3ccc;overscroll-behavior:contain}
.course-map-modal-open{overflow:hidden!important}
.course-map-interactive.is-expanded-map>.course-map-toolbar{position:absolute;top:max(env(safe-area-inset-top),10px);right:max(env(safe-area-inset-right),10px);left:max(env(safe-area-inset-left),10px);padding:7px;border-radius:9px;background:#ffffffed;backdrop-filter:blur(6px)}
.course-map-interactive.is-expanded-map .course-map-summary{display:none}
.course-map-interactive.is-expanded-map .course-map-controls{justify-content:flex-end}
.map-stop-label{z-index:6!important;max-width:140px!important;padding:3px 6px;border:1px solid #c9dde2;border-radius:6px;background:#fffffff2;color:#163944;font-size:12px;line-height:1.2;box-shadow:0 2px 5px #183d5120;white-space:normal;pointer-events:none}
.map-stop-popup{position:absolute;z-index:9;transform:translate(-50%,26px);display:grid;gap:3px;width:min(220px,58vw);padding:8px 9px;border:1px solid #b9d0d6;border-radius:8px;background:#fff;color:#173d49;box-shadow:0 3px 12px #183d5140;font-size:12px;line-height:1.35;pointer-events:auto}
.map-stop-popup[hidden]{display:none!important}.map-stop-popup strong{font-size:12px}.map-stop-popup b{font-size:13px}.map-stop-popup small{font-size:11px;color:#435d68;max-height:34px;overflow:hidden}.map-stop-popup button{min-height:36px;padding:5px 8px;border:1px solid #a8c2c8;border-radius:6px;background:#edf7f6;color:#075d66;font-size:12px;font-weight:750}
@media(max-width:600px){.course-map-toolbar{grid-template-columns:minmax(0,1fr);gap:5px;margin-bottom:7px}.course-map-summary{font-size:13px}.course-experience .course-map-toggle{min-height:44px}.course-map-controls{justify-content:flex-start}.course-map-controls button[data-map-action="zoom-in"],.course-map-controls button[data-map-action="zoom-out"]{display:none}.course-map-controls button[data-map-action="fit"],.course-map-controls button[data-map-action="expand"]{flex:1 1 120px;min-height:44px}.course-map-interactive.is-expanded-map{inset:max(env(safe-area-inset-top),6px) max(env(safe-area-inset-right),6px) max(env(safe-area-inset-bottom),6px) max(env(safe-area-inset-left),6px)!important;height:calc(100dvh - 12px)!important}.course-map-interactive.is-expanded-map>.course-map-toolbar{top:8px;right:8px;left:8px}.course-map-interactive.is-expanded-map .course-map-controls{justify-content:flex-end}}
.course-share-dialog{width:min(520px,calc(100% - 28px));max-height:min(84dvh,700px);padding:0;border:1px solid #c7d9dc;border-radius:13px;color:var(--ink);box-shadow:0 18px 60px #102e3b45}
.course-share-dialog::backdrop{background:#0e2738a8}
.course-share-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#fff;border-bottom:1px solid #e1eaec}
.course-share-head h2{margin:0;font-size:22px;font-weight:850}
.course-share-head button,.course-share-options button{min-height:46px;padding:10px 14px;border:1px solid #a9c2c8;border-radius:8px;background:#fff;color:#075d66;font-size:15px;font-weight:800}
.course-share-note{margin:0;padding:14px 18px;background:#f1f7f7;color:#294a56;font-size:14px;line-height:1.55}
.course-share-options{display:grid;gap:9px;padding:16px 18px 8px}
.course-share-options button:first-child{border-color:#f1d54e;background:#fae34b;color:#292515}
.course-share-options button:disabled{opacity:.55;cursor:not-allowed}
.course-share-sdk-status,.course-share-status{margin:4px 18px 12px;color:#334e5b;font-size:14px;line-height:1.5}
.course-share-fallback{display:block;padding:0 18px 8px;color:#294a56;font-size:14px;font-weight:700}
.course-share-fallback textarea{display:block;width:100%;min-height:78px;margin-top:7px;padding:9px;border:1px solid #91adb5;border-radius:7px;color:#183a45;font:13px/1.4 ui-monospace,monospace;overflow-wrap:anywhere}
.shared-itinerary-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 13px;border-left:4px solid #087b78;background:#edf7f6;color:#16454f;font-size:15px;font-weight:800}
.shared-itinerary-banner button{min-height:42px;padding:8px 12px;border:1px solid #087b78;border-radius:8px;background:#fff;color:#075f64;font:inherit;cursor:pointer}
@media(max-width:520px){.shared-itinerary-banner{align-items:stretch;flex-direction:column}.shared-itinerary-banner button{width:100%}}
body.shared-itinerary-readonly #course-candidates,body.shared-itinerary-readonly #course-duration,body.shared-itinerary-readonly #save-course,body.shared-itinerary-readonly #course-origin-change,body.shared-itinerary-readonly #course-origin-reset,body.shared-itinerary-readonly #course-origin-add-to-itinerary,body.shared-itinerary-readonly #add-place,body.shared-itinerary-readonly #reset-course-day,body.shared-itinerary-readonly #recommend-route,body.shared-itinerary-readonly #undo-course-change,body.shared-itinerary-readonly #course-optimization-mode,body.shared-itinerary-readonly #course-end-mode,body.shared-itinerary-readonly #course-start-date,body.shared-itinerary-readonly #course-end-date,body.shared-itinerary-readonly #course-start-time,body.shared-itinerary-readonly .itinerary [data-place-action],body.shared-itinerary-readonly .itinerary .remove-place,body.shared-itinerary-readonly #course-cart-dock,body.shared-itinerary-readonly #course-product-picks-domestic,body.shared-itinerary-readonly #course-product-picks-overseas{display:none!important}
@media(max-width:600px){.course-share-dialog{width:calc(100% - 20px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)}.course-share-head{padding:13px 14px}.course-share-options{padding:13px 14px 7px}.course-share-options button{min-height:48px;font-size:16px}.course-share-note{padding:12px 14px}.course-share-sdk-status,.course-share-status{margin-right:14px;margin-left:14px}}

/* Keep the six itinerary controls in one horizontally scrollable mobile tool row. */
.course-experience .itinerary-primary-actions{display:flex;align-items:center;gap:6px;min-width:0;width:100%;flex-wrap:wrap}
.course-experience .itinerary-primary-actions .itinerary-order-actions{display:flex;align-items:center;gap:6px}
.course-experience .itinerary-primary-actions .itinerary-map-link,.course-experience .itinerary-order-actions button,.course-experience .itinerary-primary-actions>.remove-place,.course-experience .place-more-actions>summary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 10px;border:1px solid #b8d0d5;border-radius:8px;background:#fff;color:#164b58;font-size:15px;font-weight:750;white-space:nowrap}
.course-experience .place-more-actions{margin:0;flex:none}
.course-experience .itinerary-booking-row{display:block;margin-top:7px}
.course-experience .itinerary-booking-row .itinerary-booking-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid #087b78;border-radius:8px;background:#087b78;color:#fff;font-size:15px;font-weight:800}
.course-return-leg,.return-arrival-forecast{display:block;margin-top:5px;font-size:15px;font-weight:800;color:#164b58}
.map-marker.course-return-marker{display:grid;place-items:center;background:#164b58;border:3px solid #fff;box-shadow:0 2px 8px #16374680;color:#fff;font-weight:900}
.course-return-label{z-index:7;padding:3px 7px;border:1px solid #164b58;border-radius:6px;background:#fff;color:#164b58;font-size:13px;font-weight:800;white-space:nowrap}
.course-experience .course-date-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.course-experience .course-date-controls label{min-width:0;gap:6px;font-size:16px;font-weight:800}
.course-experience .course-date-controls input{width:100%;min-width:0;max-width:100%;min-height:50px;padding:7px 10px;font-size:16px;line-height:1.3;appearance:auto;-webkit-appearance:auto}
@media(max-width:600px){.course-experience .itinerary-primary-actions{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:2px 2px 6px;-webkit-overflow-scrolling:touch}.course-experience .itinerary-primary-actions>.itinerary-order-actions{display:contents}.course-experience .itinerary-primary-actions>.itinerary-map-link{order:1;flex:none}.course-experience .itinerary-order-actions [data-place-action="up"]{order:2}.course-experience .itinerary-order-actions [data-place-action="down"]{order:3}.course-experience .itinerary-order-actions [data-place-action="duplicate"]{order:4}.course-experience .itinerary-primary-actions>.remove-place{order:5;flex:none}.course-experience .place-more-actions{order:6;flex:none}.course-experience .itinerary-primary-actions>.itinerary-order-actions button{flex:none;min-width:44px;min-height:44px;padding:7px}.course-experience .itinerary-order-actions [data-place-action="duplicate"]{min-width:64px!important}.course-experience .itinerary-primary-actions>.remove-place{min-width:58px}.course-experience .place-more-actions>summary{min-width:64px}.course-experience .course-date-controls{gap:14px}.course-experience .course-date-controls input{min-height:50px;padding-right:5px;padding-left:8px}}
@media(max-width:360px){.course-experience .course-date-controls{grid-template-columns:minmax(0,1fr);gap:10px}.course-experience .course-date-controls label{font-size:16px}}

/* Shared, touch-friendly calendar controls for domestic, overseas and story itineraries. */
.course-date-field{display:grid;gap:6px;min-width:0}
.travel-date-picker{position:relative;min-width:0}
.travel-date-trigger{display:flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid #b9d0d5;border-radius:8px;background:#fff;color:#173d4a;font:inherit;font-size:16px;font-weight:700;text-align:left;cursor:pointer}
.travel-date-trigger:focus-visible,.travel-date-calendar button:focus-visible{outline:3px solid #195d9a;outline-offset:2px}
.travel-date-value{min-width:0}
.travel-date-trigger svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.travel-date-calendar{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(320px,calc(100vw - 40px));padding:12px;border:1px solid #c7dadd;border-radius:12px;background:#fff;box-shadow:0 8px 24px #173d4a24}
.course-date-field:last-child .travel-date-calendar{right:0;left:auto}
.travel-date-calendar[hidden]{display:none}
.travel-date-calendar-heading{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:8px;text-align:center;color:#173d4a}
.travel-date-month-step{min-width:42px;min-height:42px;border:1px solid #c7dadd;border-radius:8px;background:#fff;color:#075d66;font-size:24px;line-height:1;cursor:pointer}
.travel-date-month-step:disabled{opacity:.4;cursor:default}
.travel-date-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.travel-date-calendar-grid>[role=columnheader]{display:grid;min-height:34px;place-items:center;color:#526978;font-size:13px;font-weight:700}
.travel-date-calendar-grid>[role=gridcell]{min-width:0;min-height:40px;border:1px solid transparent;border-radius:8px;background:#fff;color:#173d4a;font:inherit;font-size:14px;cursor:pointer}
.travel-date-calendar-grid>[role=gridcell].outside-month{color:#91a3a8}
.travel-date-calendar-grid>[role=gridcell][aria-pressed=true]{border-color:#075d66;background:#075d66;color:#fff;font-weight:800}
.travel-date-calendar-grid>[role=gridcell]:disabled{color:#c0cacc;text-decoration:line-through;cursor:default}
@media(max-width:600px){.travel-date-trigger{min-height:52px;padding-inline:10px}.travel-date-calendar{position:fixed;top:50%;right:auto;left:50%;z-index:200;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:10px;transform:translate(-50%,-50%)}.travel-date-calendar-grid>[role=gridcell]{min-height:42px}}
/* Story course cards keep the itinerary action separate from its exact source story. */
.story-course-rail>.story-course-card{display:flex;position:relative;align-items:center;gap:12px;min-width:0;min-height:92px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.story-course-card[hidden]{display:none}
.story-course-card>img{width:68px;height:68px;flex:none;object-fit:cover;border-radius:9px}
.story-course-card>.story-course-copy{display:grid;align-content:center;gap:4px;min-width:0;flex:1}
.story-course-card .story-course-detail{display:grid;gap:3px;min-width:0;color:inherit;text-decoration:none;border-radius:4px}
.story-course-card .story-course-detail:focus-visible{text-decoration:underline}
.story-course-card .story-course-copy>b,.story-course-card .story-course-title,.story-course-card .story-course-summary{overflow:hidden;text-overflow:ellipsis}
.story-course-card .story-course-copy>b{font-size:14px;line-height:1.35}
.story-course-card .story-course-title,.story-course-card .story-course-summary{display:block;font-size:12px;line-height:1.4;white-space:normal}
.story-course-card .story-course-links{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px}
.story-course-card .story-course-action{display:inline-flex;align-items:center;min-height:40px;color:var(--teal);font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.story-course-card .story-course-action:disabled{cursor:not-allowed;color:var(--muted);text-decoration:none;opacity:.8}
.story-course-card .story-course-unavailable{flex-basis:100%;max-height:1.45em;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.story-course-card .story-course-source{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #cfe4e8;border-radius:50%;color:var(--teal)}
.story-course-card .story-course-source .icon{width:18px;height:18px}
.story-course-card :is(a,button):focus-visible{outline:3px solid var(--teal);outline-offset:2px}
@media(max-width:800px){.story-course-rail>.story-course-card{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;min-height:0;padding:0}.story-course-card>img{width:100%;height:clamp(150px,46vw,190px);max-width:100%;border-radius:0}.story-course-card>.story-course-copy{gap:5px;padding:12px 13px 13px}.story-course-card .story-course-copy>b{font-size:14px}.story-course-card .story-course-title{font-size:16px;line-height:1.45;font-weight:800;color:#173d4a}.story-course-card .story-course-summary{font-size:13px;line-height:1.5}.story-course-card .story-course-action{font-size:14px}.story-course-card .story-course-source{width:48px;height:48px}}
@media(max-width:480px){.story-course-card>img{height:clamp(160px,54vw,210px)}.story-course-card .story-course-links{gap:12px}.story-course-card .story-course-action{font-size:15px}.story-course-card .story-course-source{width:48px;height:48px}}
.story-detail-page .detail-buttons .story-course-unavailable{margin:0;padding:10px 12px;border-radius:8px;background:#f3f6f7;font-size:13px;line-height:1.5}
.course-pov-banner{position:relative;margin:0 0 22px;border:1px solid #d7e1e3;border-radius:20px;overflow:hidden;background:#174f5b}
.course-pov-banner .pov-viewport{position:relative;overflow:hidden;touch-action:pan-y}
.course-pov-banner .pov-track{display:grid;min-height:300px}
.course-pov-banner .pov-slide{grid-area:1/1;position:relative;min-width:0;min-height:300px;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.course-pov-banner .pov-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.course-pov-banner .pov-slide>img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;background:#174f5b}
.course-pov-banner .pov-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,42,49,.74),rgba(9,42,49,.06) 78%);pointer-events:none}
.course-pov-banner .pov-copy{position:absolute;z-index:1;left:clamp(22px,5vw,70px);bottom:clamp(22px,4vw,48px);max-width:min(520px,68%);color:#fff}
.course-pov-banner .pov-copy small{font-size:14px;font-weight:750;color:#e6f3f2}
.course-pov-banner .pov-copy h2{margin:9px 0 10px;font-size:clamp(26px,3.2vw,40px);line-height:1.25;color:#fff}
.course-pov-banner .pov-copy p{max-width:460px;margin:0 0 16px;font-size:15px;line-height:1.65;color:#fff}
.course-pov-banner .pov-course-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:10px;background:#fff;color:#174b50;font-weight:800;text-decoration:none}
.course-pov-banner .pov-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:46px;height:46px;transform:translateY(-50%);border:1px solid #ffffffbd;border-radius:50%;background:#ffffffed;color:#174b50;font-size:23px;font-weight:800;cursor:pointer}
.course-pov-banner .pov-prev{left:14px}.course-pov-banner .pov-next{right:14px}
.course-pov-banner .pov-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:7px 12px;background:#f6f9f9}
.course-pov-banner .pov-dots{display:flex;gap:7px}.course-pov-banner .pov-dots button{width:12px;height:12px;padding:0;border:1px solid #315f64;border-radius:50%;background:#fff;cursor:pointer}.course-pov-banner .pov-dots button[aria-pressed="true"]{background:#174f5b;box-shadow:0 0 0 3px #174f5b24}
.course-pov-banner .pov-counter{min-width:42px;text-align:center;font-size:13px;color:#315f64}.course-pov-banner .pov-pause{min-height:38px;padding:5px 10px;border:1px solid #9cb8bc;border-radius:8px;background:#fff;color:#174b50;font:700 12px TravimongSans,sans-serif;cursor:pointer}
.course-pov-banner .pov-disclosure{display:block;margin:0;padding:7px 12px;background:#f6f9f9;color:#52616b;font-size:12px;text-align:center}
.course-pov-banner :is(button,a):focus-visible,.course-pov-banner:focus-visible{outline:3px solid #f3b344;outline-offset:2px}
@media(max-width:680px){.course-pov-banner{margin-bottom:17px;border-radius:14px}.course-pov-banner .pov-track,.course-pov-banner .pov-slide{min-height:0}.course-pov-banner .pov-slide>img{height:auto;aspect-ratio:3/1;object-fit:contain}.course-pov-banner .pov-slide::after{background:linear-gradient(0deg,rgba(9,42,49,.78),rgba(9,42,49,.02) 80%);bottom:auto;height:calc(100% - 120px)}.course-pov-banner .pov-copy{position:relative;left:auto;right:auto;bottom:auto;max-width:none;padding:14px 18px 17px;background:#174f5b}.course-pov-banner .pov-copy h2{font-size:24px}.course-pov-banner .pov-copy p{font-size:14px;max-width:100%;margin-bottom:12px}.course-pov-banner .pov-arrow{width:42px;height:42px;top:calc((100% - 120px)/2)}.course-pov-banner .pov-prev{left:9px}.course-pov-banner .pov-next{right:9px}.course-pov-banner .pov-controls{gap:8px;min-height:52px;padding:6px}.course-pov-banner .pov-dots{gap:6px}.course-pov-banner .pov-dots button{width:12px;height:12px}.course-pov-banner .pov-pause{min-height:38px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.course-pov-banner .pov-slide{transition:none!important}}

/* Editorial recommendation cards: equal-height vertical cards on desktop, full-width cards on phones. */
.story-course-rail{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px}
.story-course-rail>.story-course-card{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;min-height:410px;height:100%;padding:0;border:1px solid #d8e6e7;border-radius:14px;background:#fff;overflow:hidden}
.story-course-card .story-course-image-link{display:block;flex:none;overflow:hidden;color:inherit;text-decoration:none}
.story-course-card .story-course-image-link:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
.story-course-card>img,.story-course-card .story-course-image-link>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:0}
.story-course-card>.story-course-copy{display:flex;flex:1;flex-direction:column;align-content:stretch;gap:8px;min-width:0;padding:14px}
.story-course-card .story-course-copy>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal);font-size:12px;line-height:1.4}
.story-course-card .story-course-detail{display:grid;gap:5px;min-width:0;color:inherit;text-decoration:none}
.story-course-card .story-course-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:2.8em;overflow:hidden;text-overflow:ellipsis;font-size:17px;font-weight:800;line-height:1.4;color:#173d4a}
.story-course-card .story-course-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-height:4.5em;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1.5;color:#526873}
.story-course-card .story-course-links{flex:0 0 auto;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #e6eeee}
.story-course-card .story-course-action{display:flex;flex:1;justify-content:center;min-width:0;min-height:46px;padding:8px 10px;border:1px solid #0b747b;border-radius:8px;background:#0b747b;color:#fff;font-size:14px;font-weight:800;text-align:center;text-decoration:none}
.story-course-card .story-course-action:disabled{border-color:#bac8ca;background:#f2f5f5;color:#617379;opacity:1}
.story-course-card .story-course-source{width:46px;height:46px;border-color:#c9dfe0;border-radius:8px}
@media(max-width:800px){.story-course-rail{grid-template-columns:minmax(0,1fr);gap:13px}.story-course-rail>.story-course-card{min-height:0;height:auto}.story-course-card>img,.story-course-card .story-course-image-link>img{height:clamp(170px,48vw,240px);aspect-ratio:16/9}.story-course-card>.story-course-copy{gap:7px;padding:14px}.story-course-card .story-course-title{font-size:17px}.story-course-card .story-course-summary{min-height:0}.story-course-card .story-course-links{padding-top:10px}}
@media(max-width:480px){.story-course-card>img,.story-course-card .story-course-image-link>img{height:clamp(170px,54vw,215px)}.story-course-card>.story-course-copy{padding:13px}.story-course-card .story-course-action{min-height:48px;font-size:15px}.story-course-card .story-course-source{width:48px;height:48px}}
.story-course-card .story-course-unavailable{flex:0 0 100%;order:3}
.story-course-card .story-course-source{order:2}

/* Keep every recommendation action aligned and remove variable footer notes. */
.story-course-card .story-course-links{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:8px;flex:0 0 auto;margin-top:auto;padding-top:10px;border-top:1px solid #e6eeee}
.story-course-card .story-course-action{width:100%;min-height:46px;margin:0}
.story-course-card .story-course-source-placeholder{display:block;width:46px;height:46px}
@media(max-width:480px){.story-course-card .story-course-links{grid-template-columns:minmax(0,1fr) 48px}.story-course-card .story-course-action{min-height:48px}.story-course-card .story-course-source-placeholder{width:48px;height:48px}}
body.partnership-page #course-cart-dock{display:none!important}
body.partnership-page.has-course-cart-dock .page-shell{padding-bottom:0!important}
body.partnership-page.has-course-cart-dock .site-footer-inner{padding-bottom:0!important}
body.my-page #course-cart-dock{display:none!important}
body.my-page.has-course-cart-dock .page-shell{padding-bottom:0!important}
body.my-page.has-course-cart-dock .site-footer-inner{padding-bottom:0!important}
.course-manual-location-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:7px 0;padding:6px 10px;border:1px solid #a7c8ce;border-radius:7px;background:#fff;color:#075d66;font-size:12px;font-weight:750}
@media(max-width:600px){.course-mode-overseas .course-map-controls button[data-map-action="zoom-in"],.course-mode-overseas .course-map-controls button[data-map-action="zoom-out"]{display:inline-flex;align-items:center;justify-content:center}}

.member-auth-panel{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.member-auth-panel h2{margin:0 0 6px;font-size:18px}.member-auth-panel p{font-size:13px;line-height:1.65;color:var(--muted)}.member-login-button,.member-link-actions>a,.member-link-actions>button,.member-cloud-data>button,.member-delete>button,[data-member-retry]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;margin:4px 6px 4px 0;border:1px solid #b9d7dd;border-radius:9px;background:#fff;color:var(--teal);font-weight:750}.member-login-naver{border-color:#18a957;color:#087e39}.member-link-actions{display:flex;flex-wrap:wrap;gap:5px}.member-cloud-data,.member-support-data,.member-delete{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.member-cloud-data h3,.member-support-data h3{font-size:15px;margin:0}.member-cloud-data button:first-of-type{background:var(--teal);color:#fff;border-color:var(--teal)}.member-delete summary{cursor:pointer;font-weight:700}.member-delete label{display:flex;align-items:center;gap:8px;font-size:13px}.member-delete>button{color:#a42b32;border-color:#e1b8bb}.member-support-ticket{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.member-support-ticket small{display:block;margin-top:5px;color:var(--muted);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.member-auth-panel [hidden]{display:none!important}.saved-item-row{display:flex;align-items:center;gap:8px;margin:6px 0}.saved-item-row>a{min-width:0;flex:1;margin:0;overflow-wrap:anywhere}.saved-item-remove{flex:none;min-height:40px;padding:7px 10px;border:1px solid #b9d7dd;border-radius:8px;background:#fff;color:var(--teal);font-size:12px;font-weight:750}.saved-item-remove:focus-visible,[data-member-retry]:focus-visible{outline:3px solid #f2bb47;outline-offset:2px}@media(max-width:680px){.member-auth-panel{padding:14px}.member-login-button{display:flex;width:100%;margin:8px 0}.member-cloud-data>button,.member-delete>button,[data-member-retry]{width:100%;margin:5px 0}.saved-item-row{align-items:stretch;flex-direction:column}.saved-item-row>a{width:100%}.saved-item-remove{width:100%}}

.my-stats>a{display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:0;min-height:56px;padding:6px 4px;border-radius:10px;color:var(--muted);font-size:12px;text-decoration:none;touch-action:manipulation;transition:background-color .15s ease,box-shadow .15s ease}.my-stats>a+b{border-left:1px solid var(--line)}.my-stats>a:hover{background:#eff8f8;box-shadow:inset 0 0 0 1px #c5e0e1}.my-stats>a:focus-visible{outline:3px solid #0b747b;outline-offset:2px;background:#eff8f8}.my-stats>a>b{font-size:20px;color:var(--ink)}.my-stats>a>span{color:var(--muted)}.saved-items{scroll-margin-top:20px}.saved-item-row[hidden]{display:none!important}
.saved-course-actions{display:flex;gap:6px}.saved-course-actions button{min-height:40px;padding:7px 10px;border:1px solid #b9d7dd;border-radius:8px;background:#fff;color:var(--teal);font-size:12px;font-weight:750}.saved-course-actions button:focus-visible{outline:3px solid #f2bb47;outline-offset:2px}@media(max-width:680px){.saved-course-actions{width:100%}.saved-course-actions button{flex:1}}
.member-course-dialog{width:min(92vw,440px);padding:20px;border:1px solid #b9d7dd;border-radius:14px;color:var(--ink)}.member-course-dialog::backdrop{background:rgb(20 42 48 / .5)}.member-course-dialog form{display:grid;gap:14px}.member-course-dialog h2{margin:0;font-size:20px}.member-course-dialog label{display:grid;gap:7px;font-weight:700}.member-course-dialog label[hidden]{display:none}.member-course-dialog input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #9dbbc2;border-radius:8px;font:inherit}.member-course-dialog p{margin:0;line-height:1.5}.member-course-dialog [data-course-dialog-error]{color:#a42b32}.member-course-dialog [data-course-dialog-error]:empty{display:none}.member-course-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.member-course-dialog-actions button{min-height:44px;padding:8px 15px;border:1px solid #9dbbc2;border-radius:8px;background:#fff;color:var(--teal);font-weight:750}.member-course-dialog-actions button[type=submit]{background:var(--teal);border-color:var(--teal);color:#fff}
.member-auth-panel .member-admin-status{display:inline-block;margin:8px 0 0;padding:7px 12px;border:1px solid var(--teal);border-radius:8px;background:#eaf6f6;color:var(--teal);font-weight:750}

.partnership-inquiries{max-width:980px;margin:0 auto}.inquiry-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:8px 0 20px;border-bottom:1px solid var(--line)}.inquiry-heading h2{margin:4px 0;font-size:clamp(25px,4vw,34px)}.inquiry-heading p,.inquiry-status,.inquiry-detail-meta,.inquiry-file-note{color:var(--muted);line-height:1.6}.inquiry-heading .primary-button{flex:none}.inquiry-status{min-height:24px;margin:12px 0}.partnership-inquiries [data-inquiry-login]{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.partnership-inquiries [data-inquiry-login] h2{font-size:18px}.partnership-inquiries [data-inquiry-login] p{line-height:1.65}.partnership-inquiries [data-inquiry-login] .member-login-button{margin:5px 8px 0 0}.inquiry-toolbar{display:flex;align-items:center;gap:10px;margin:14px 0}.inquiry-toolbar label{font-weight:750}.inquiry-toolbar select,.inquiry-form input,.inquiry-form select,.inquiry-form textarea{min-height:44px;padding:10px 12px;border:1px solid #cbd9df;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.inquiry-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:14px;align-items:start}.inquiry-list{display:grid;gap:8px}.inquiry-row{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.inquiry-open{display:grid;width:100%;gap:6px;padding:14px;text-align:left;border:0;background:transparent;color:var(--ink);cursor:pointer}.inquiry-open strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}.inquiry-row-meta{color:var(--muted);font-size:12px}.inquiry-detail,.inquiry-form{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.inquiry-detail h2,.inquiry-form h2{font-size:19px;margin:0 0 7px}.inquiry-detail-meta{font-size:12px;margin:0 0 12px}.inquiry-messages{display:grid;gap:10px}.inquiry-message{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f7fafb;overflow-wrap:anywhere}.inquiry-message-member{background:#eaf7f5}.inquiry-message strong,.inquiry-message time{display:block;font-size:12px;color:var(--muted)}.inquiry-message p{margin:7px 0;white-space:pre-wrap;line-height:1.65}.inquiry-message time{font-size:11px}.inquiry-form{display:grid;gap:13px;margin-top:16px}.inquiry-form label{display:grid;gap:6px;font-weight:700}.inquiry-form textarea{min-height:180px;resize:vertical;line-height:1.6}.inquiry-form .primary-button,.inquiry-heading .primary-button{min-height:46px;padding:0 17px;border:0;border-radius:9px;background:var(--teal);color:#fff;font:inherit;font-weight:800;cursor:pointer}.inquiry-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.inquiry-actions .primary-button{margin:0}.inquiry-secondary{min-height:42px;padding:0 13px;border:1px solid #cbd9df;border-radius:8px;background:#fff;color:var(--teal);font:inherit;font-weight:750;cursor:pointer}.inquiry-empty{color:var(--muted);font-size:14px;line-height:1.6}
@media(max-width:800px){.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav [data-nav-partnership] span{font-size:8px;letter-spacing:-.04em;white-space:nowrap}.inquiry-heading{align-items:flex-start}.inquiry-heading .primary-button{padding:0 12px;font-size:13px}.inquiry-layout{grid-template-columns:1fr}.inquiry-detail{order:-1}}
@media(max-width:360px){.bottom-nav [data-nav-partnership] span{font-size:7px}}
.partnership-page .partnership-inquiries{max-width:1040px}
.partnership-page .inquiry-heading{align-items:center;margin:0 0 22px;padding:26px 30px;border:1px solid #d5e6e7;border-radius:18px;background:#eaf6f5}
.partnership-page .inquiry-heading .eyebrow{display:block;margin-bottom:5px;color:#08727a;font-size:12px;font-weight:800;letter-spacing:.08em}
.partnership-page .inquiry-heading h2{margin:0 0 7px;font-size:clamp(23px,3vw,30px);line-height:1.3;color:var(--deep)}
.partnership-page .inquiry-heading p{margin:0;max-width:630px;font-size:14px;color:#49666c}
.partnership-page .inquiry-heading .primary-button{min-width:116px;min-height:48px}
.partnership-page .inquiry-status{margin:0 0 16px;padding:0 3px}
.partnership-page .inquiry-toolbar{margin:0 0 14px;padding:0 3px}
.partnership-page .inquiry-list{align-content:start}
.partnership-page .inquiry-row,.partnership-page .inquiry-detail,.partnership-page .inquiry-form{border-color:#d9e8e9;border-radius:14px;box-shadow:0 3px 12px rgba(0,50,60,.05)}
.partnership-page .inquiry-open{min-height:74px;padding:15px 17px}
.partnership-page .inquiry-open:hover,.partnership-page .inquiry-open:focus-visible{background:#f4faf9}
.partnership-page .inquiry-detail,.partnership-page .inquiry-form{padding:22px}
@media(max-width:800px){.partnership-page .inquiry-heading{padding:20px;gap:14px}.partnership-page .inquiry-heading .primary-button{width:100%}.partnership-page .inquiry-detail,.partnership-page .inquiry-form{padding:17px}}
.partnership-page .partnership-email-card{max-width:700px;margin:clamp(32px,6vw,72px) auto 72px;padding:clamp(24px,5vw,44px);border:1px solid #015e70;border-radius:20px;background:#eaf6f6;color:#015e70;text-align:center;box-shadow:0 12px 32px rgba(1,94,112,.1)}
.partnership-page .partnership-email-card>img{display:block;margin:0 auto 20px}
.partnership-page .partnership-email-message{margin:0;font-size:clamp(18px,1.9vw,21px);font-weight:750;line-height:2}
.partnership-page .partnership-email-button{display:inline;color:#015e70;font-size:inherit;font-weight:800;line-height:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.partnership-page .partnership-email-button:hover{color:#014e5d}
.partnership-page .partnership-email-button:focus-visible{outline:3px solid #015e70;outline-offset:3px}
.partnership-page .partnership-email-reply{margin:20px auto 0;max-width:500px;font-size:15px;line-height:1.7}
.partnership-page .partnership-email-hours{max-width:460px;margin:28px auto 0;padding:20px 24px;border:1px solid #015e70;border-radius:14px;background:#fff;text-align:left}
.partnership-page .partnership-email-hours h2{margin:0 0 14px;color:#015e70;font-size:18px}
.partnership-page .partnership-email-hours p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:9px 0;border-top:1px solid #eaf6f6;font-size:15px;line-height:1.5}
.partnership-page .partnership-email-hours strong{font-weight:750;text-align:right}
@media(max-width:680px){.partnership-page .partnership-email-card{margin:24px auto 48px;padding:26px 18px}.partnership-page .partnership-email-message{display:flex;flex-direction:column;align-items:center;gap:8px;line-height:1.5}.partnership-page .partnership-email-hours{padding:18px}.partnership-page .partnership-email-hours p{font-size:14px}}

body.showcase.legacy-destination .info-article{max-width:900px;padding-block:36px 70px}
.current-info-page .page-shell{max-width:920px;min-height:calc(100vh - 275px);padding-top:38px}
.current-info-page .page-title{height:auto;min-height:46px;margin-bottom:28px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.current-info-page .page-title h1{font-size:clamp(21px,3vw,29px);line-height:1.3;letter-spacing:-.04em}
.current-info-content{font-size:15px;line-height:1.8;color:var(--ink)}
.current-info-content>p:first-child{margin:0 0 28px;color:var(--muted);font-size:16px;line-height:1.75}
.current-info-content h2{margin:30px 0 11px;padding-top:26px;border-top:1px solid var(--line);font-size:19px;letter-spacing:-.035em}
.current-info-content p{margin:0 0 15px}.current-info-content ul{margin:0;padding-left:22px}.current-info-content li{padding:3px 0}
.current-info-content a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.current-info-content .shiba-guide{display:flex;align-items:center;gap:18px;margin:25px 0;padding:16px 20px;border-radius:14px;background:#e7f3fa}
.current-info-content .shiba-guide img{width:80px;height:80px;object-fit:contain;flex:none}
.current-info-content .shiba-guide strong{display:block;font-size:17px}.current-info-content .shiba-guide p{margin:4px 0 0;color:var(--muted);font-size:13px}
.catalog-current-page .catalog-current-main{max-width:1120px;margin:auto;padding:28px 24px 70px}
.catalog-current-page .catalog-current-main .shell{max-width:none;padding:0}
.catalog-current-page .legacy-catalog-search{width:100%;margin:0 0 26px}
.catalog-current-page .catalog-current-eyebrow{margin:0 0 5px;color:var(--teal);font-size:12px;font-weight:850;letter-spacing:.11em}
.catalog-current-page .retail-head h1{margin:0 0 9px;font-size:clamp(23px,3vw,32px);line-height:1.3;letter-spacing:-.04em}
.catalog-current-page .retail-head>p{max-width:760px;color:var(--muted);line-height:1.7}
.catalog-current-page .retail-head .shiba-guide{display:flex;align-items:center;gap:18px;max-width:760px;margin:23px 0;padding:15px 20px;border-radius:14px;background:#e7f3fa}
.catalog-current-page .retail-head .shiba-guide img{width:80px;height:80px;object-fit:contain;flex:none}
.catalog-current-page .retail-head .shiba-guide strong{font-size:16px}.catalog-current-page .retail-head .shiba-guide p{margin:4px 0 0;color:var(--muted);font-size:13px}
.catalog-current-page .catalog-controls{margin-top:24px;border:1px solid var(--line);border-radius:13px;background:#f7fafb}
.catalog-current-page .catalog-grid .product{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 12px rgba(0,38,58,.07)}
.catalog-current-page .catalog-grid .product-link{color:var(--ink)}
.catalog-current-page .catalog-grid .product-cta{background:#235c9d;color:#fff}
body.showcase.legacy-destination .legacy-reader-tools{max-width:1120px;margin:12px auto -10px;padding:0 24px;text-align:right}
body.showcase.legacy-destination .legacy-reader-tools button{min-height:38px;padding:6px 12px;border:1px solid #cad9e1;border-radius:8px;background:#fff;color:var(--deep);font-weight:700}
body.showcase.legacy-destination main h1,body.showcase.legacy-destination main h2{font-family:TravimongSans,sans-serif;color:var(--ink)}
body.showcase.legacy-destination main a:focus-visible,body.showcase.legacy-destination main button:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
body.showcase.legacy-destination .info-article h1,body.showcase.legacy-catalog .retail-head h1{font-family:TravimongSans,sans-serif;font-size:30px;font-weight:850;color:var(--ink)}
body.showcase.legacy-destination .info-article h2{font-family:TravimongSans,sans-serif;font-size:22px;font-weight:800;color:var(--ink)}
.legacy-catalog-search{width:min(1120px,calc(100% - 48px));margin:24px auto 0;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#f7fafb}
.legacy-catalog-search label{font-weight:750;white-space:nowrap}.legacy-catalog-search input{flex:1;min-width:0;min-height:42px;padding:8px 12px;border:1px solid #cbd9df;border-radius:8px;background:#fff}.legacy-catalog-search button{min-height:42px;padding:8px 18px;border:0;border-radius:8px;background:var(--teal);color:#fff;font-weight:800}
@media(max-width:680px){body.showcase.legacy-destination .legacy-reader-tools{margin-top:8px;padding:0 15px}body.showcase.legacy-destination .info-article{padding-block:20px 90px}body.showcase.legacy-destination .info-article h1,body.showcase.legacy-catalog .retail-head h1{font-size:24px}.legacy-catalog-search{width:calc(100% - 30px);margin:12px auto 0;flex-wrap:wrap;padding:10px}.legacy-catalog-search label{width:100%}.legacy-catalog-search input{width:calc(100% - 82px)}.legacy-catalog-search button{padding-inline:12px}}
@media(max-width:680px){.current-info-page .page-shell{padding-top:18px}.current-info-content>p:first-child{font-size:14px}.current-info-content .shiba-guide,.catalog-current-page .retail-head .shiba-guide{gap:10px;padding:12px}.current-info-content .shiba-guide img,.catalog-current-page .retail-head .shiba-guide img{width:56px;height:56px}.catalog-current-page .catalog-current-main{padding:18px 15px 94px}.catalog-current-page .legacy-catalog-search{margin-bottom:20px}}
body.showcase.saved-current-page .saved-current-main .page-shell{padding-top:42px;min-height:calc(100vh - 275px)}
.saved-current-heading{border-bottom:1px solid var(--line);padding-bottom:23px}
.saved-current-back{display:inline-flex;align-items:center;min-height:40px;color:var(--teal);font-size:13px;font-weight:750}
.saved-current-eyebrow{display:block;margin-top:19px;color:var(--teal);font-size:12px;font-weight:850;letter-spacing:.11em}
.saved-current-heading h1{margin:4px 0 8px;color:var(--ink);font-size:32px;line-height:1.3;font-weight:850;letter-spacing:-.04em}
.saved-current-heading p{margin:0;color:var(--muted);font-size:15px}
.saved-current-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 8px}
.saved-current-actions .primary-button{min-height:46px}
.saved-current-browse,.saved-current-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border:1px solid var(--teal);border-radius:11px;color:var(--teal);font-weight:800;font-size:14px}
.saved-current-status{min-height:22px;margin:14px 0;color:var(--muted);font-size:13px}
.saved-current-grid{margin:0 0 23px}
.saved-current-grid .product{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 12px rgba(0,38,58,.07)}
.saved-current-grid .product-image{aspect-ratio:1.5}
.saved-current-grid .product-image img{width:100%;height:100%;object-fit:cover}
.saved-current-grid .product-link{color:var(--ink)}
.saved-current-grid .product h3{font-family:TravimongSans,sans-serif;font-size:15px;font-weight:750;line-height:1.4}
.saved-current-grid .product-cta{background:#235c9d;color:#fff}
.saved-current-empty{padding:48px 24px;border:1px solid var(--line);border-radius:15px;text-align:center;background:#f7fafb}
.saved-current-empty[hidden]{display:none}
.saved-current-empty strong{display:block;font-size:19px;color:var(--ink)}
.saved-current-empty p{margin:7px 0 20px;color:var(--muted)}
@media(max-width:800px){body.showcase.saved-current-page .saved-current-main .page-shell{padding-top:24px}.saved-current-heading h1{font-size:27px}}
@media(max-width:480px){body.showcase.saved-current-page .saved-current-main .page-shell{padding-top:18px}.saved-current-heading h1{font-size:23px}.saved-current-heading p{font-size:13px}.saved-current-actions>*{flex:1}.saved-current-grid .product h3{font-size:12px}.saved-current-empty{padding:32px 16px}}
