
:root{--deep:#112d30;--forest:#193d38;--ink:#213e3b;--green:#36685a;--gold:#d8b688;--cream:#f7f7f2;--white:#fff;--border:#e4e6de;--muted:#718179}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}h1,h2,h3,p{margin-top:0}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1140px;width:calc(100% - 40px);margin:auto}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
nav{background:#102d2f;color:#fff}.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:12px}.brand{text-decoration:none;letter-spacing:2px;font:25px Georgia,serif}.brand small{font:10px Arial,sans-serif;letter-spacing:2px;margin-left:14px;color:#c6c4b5;border-left:1px solid #63756c;padding-left:12px}.navlinks{display:flex;gap:22px;align-items:center;font-size:13px}.navlinks a{text-decoration:none;color:#e6eae6}.navlinks .navbtn{background:var(--gold);padding:10px 16px;color:#16322e;border-radius:3px;font-weight:750}
.hero{background:radial-gradient(circle at 85% 20%,#3f6b5c,transparent 38%),linear-gradient(135deg,#102c2f,#215347);color:#fff}.hero-inner{padding:69px 0 73px;display:flex;justify-content:space-between;gap:35px;align-items:center}.eyebrow{font-size:11px;letter-spacing:3px;color:#e2c596;font-weight:760}.hero h1{font-size:clamp(34px,5vw,65px);line-height:1.3;font-weight:550;margin:17px 0}.hero h1 em{color:#e4c79d;font-family:Georgia,serif}.hero p{max-width:690px;color:#d2e1d9;margin:0 0 25px}.art{opacity:.68;width:min(350px,35vw)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;padding:11px 20px;border:1px solid transparent;background:var(--forest);color:white;border-radius:4px;font-weight:730;font-size:13px;min-height:43px}.btn.gold{background:var(--gold);color:#16382f}.btn.outline{background:transparent;border-color:#abc0b3;color:inherit}.btn.pale{background:#ebefea;color:#284f42}.btn:hover{filter:brightness(1.06)}.hero-stats{display:flex;gap:31px;margin-top:32px}.hero-stats div{border-left:1px solid #68887e;padding-left:15px}.hero-stats strong{display:block;color:#e8c699;font:26px Georgia,serif}.hero-stats span{font-size:12px;color:#d2ded7}
.section{padding:53px 0}.kicker{letter-spacing:3px;font-size:11px;color:#aa814b;font-weight:800;text-transform:uppercase}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px}.section-head h2{font-size:31px;margin:5px 0 13px}.muted{color:var(--muted);font-size:13px}.filters{background:#fff;padding:19px;border:1px solid var(--border);border-radius:8px;box-shadow:0 3px 15px #122d2710;margin:16px 0 21px}.years{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.year{border:none;border-radius:3px;background:#f0f2ec;padding:9px 15px;color:#53675b;font-size:13px;font-weight:740}.year.active{background:var(--forest);color:#fff}.filterrow{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:9px}.filterrow input,.filterrow select{min-height:44px;width:100%;padding:8px 11px;background:#fcfdfa;color:#24463a;border:1px solid #dfe3d9;border-radius:4px;font-size:13px}.counter{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:12px;color:#7b8c80}.counter button{border:0;background:none;text-decoration:underline;color:#346d5b}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.cruise{background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 14px #112c2a0b;transition:transform .18s,box-shadow .18s}.cruise:hover{transform:translateY(-3px);box-shadow:0 12px 28px #102c2f1a}.visual{min-height:125px;background:linear-gradient(135deg,#22453f,#74968b);position:relative;overflow:hidden;padding:18px 20px;color:#e6e8db}.visual:after{content:'';position:absolute;inset:0;opacity:.22;background:repeating-radial-gradient(ellipse at 100% 100%,transparent 0 21px,#f5ddad 22px,transparent 23px)}.visual .word{font:12px Georgia,serif;letter-spacing:3px}.visual .date{position:absolute;bottom:14px;left:20px;font-size:12px;color:#f0f3e8;background:#102d306b;padding:4px 9px;border:1px solid #ffffff36;border-radius:3px;z-index:1}.visual.欧洲{background:linear-gradient(135deg,#28554e,#a99b78)}.visual.亚太{background:linear-gradient(135deg,#234252,#7e9fab)}.visual.加勒比海{background:linear-gradient(135deg,#005c68,#67b4a8)}.cardbody{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}.tiny{font-size:12px;color:#8a8171}.cruise h3{font-size:20px;line-height:1.4;margin:8px 0}.cruise p{font-size:12px;color:#708078;min-height:51px}.tokens{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.token{border:1px solid #e5ebe3;border-radius:20px;padding:3px 9px;font-size:11px;color:#536e5f}.status{display:inline-flex;align-items:center;font-weight:760;border:1px solid #dbe3d9;padding:4px 9px;border-radius:100px;font-size:11px;letter-spacing:.2px;line-height:1.5}.status.available{color:#23634a;background:#eff8ee;border-color:#d6e9d4}.status.waitlist{color:#89622c;background:#fff5e6;border-color:#f1dfc2}.status.soldout{color:#a43e35;background:#fff0ee;border-color:#f2d1cd}.status.unknown{color:#5f6875;background:#f0f1f2}.price{font:28px Georgia,serif;color:#234b3d;margin:9px 0 0}.price small{font:12px sans-serif;color:#86958b}.cardfoot{border-top:1px solid #eff0eb;padding-top:12px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.view{background:#193d38;color:#fff;text-decoration:none;text-align:center;padding:11px 15px;border-radius:3px;font-size:13px;font-weight:720}.view:hover{background:#2c6557}.none{padding:42px;background:#fff;text-align:center;grid-column:1/-1;color:#61766e}.disclaimer{font-size:12px;color:#697b72;line-height:1.8}.intro{background:#eff1e9;padding:40px 0}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}.intro h3{font-size:20px}.intro p{font-size:13px;color:#60756a}.contact{background:var(--deep);color:#fff;padding:55px 0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.contact a{text-decoration:none}.contact h2{font-size:29px;font-weight:550}.contact p{color:#d3dcd6}.contact-links{display:flex;gap:10px;flex-wrap:wrap}footer{background:#f0f1ea;font-size:11px;color:#718078;padding:30px 0}footer p{max-width:1100px}
/* Detail pages */
.breadcrumb{padding:20px 0;font-size:12px;color:#779085}.breadcrumb a{text-decoration:none;color:#45675c}.detailhero{background:radial-gradient(circle at 88% 24%,#4a766b,transparent 38%),linear-gradient(120deg,#173530,#315d53);color:white;padding:46px 0 47px}.detailhero h1{font-size:clamp(30px,4.3vw,49px);font-weight:570;line-height:1.26;max-width:790px;margin:10px 0}.detailhero p{font-size:14px;color:#d6e4da}.summary{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}.summary span{padding:7px 12px;border:1px solid #ffffff46;border-radius:4px;font-size:12px;background:#ffffff0f}.stickybar{background:#fff;border-bottom:1px solid #e7e9e2;position:sticky;top:0;z-index:4;box-shadow:0 5px 17px #213d2710}.anchor-list{display:flex;gap:24px;overflow:auto;white-space:nowrap;align-items:center;min-height:52px}.anchor-list a{text-decoration:none;color:#376251;font-size:12px;font-weight:710}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:31px;padding:40px 0 52px;align-items:start}.detail-main{min-width:0}.block{background:white;border:1px solid var(--border);border-radius:6px;margin-bottom:20px;padding:27px 29px;scroll-margin-top:72px}.block h2{font-size:25px;font-weight:650;margin:0 0 14px}.block h3{font-size:15px;margin:18px 0 7px}.block p,.block li{font-size:14px;line-height:1.85;color:#60766b}.block ul{padding-left:18px}.block li{margin-bottom:7px}.flag{background:#f0f5ee;padding:16px;border-left:3px solid #83a28d;color:#466454;font-size:13px;margin-bottom:20px}.flag.warn{background:#fff7ec;border-color:#dfad64;color:#7a5c36}.timeline{display:grid;gap:0}.day{display:grid;grid-template-columns:77px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--border)}.day:last-child{border-bottom:none}.daytime{font:15px Georgia,serif;color:#b1844e;font-weight:700}.day h3{margin:0 0 5px;font-size:15px;color:#24453c}.day p{font-size:12px;margin:4px 0}.golftext{color:#226f53!important;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{background:#f7f8f3;padding:18px;border:1px solid #e6e8e0;border-radius:4px}.mini b{display:block;font-size:13px;margin-bottom:7px}.mini p{font-size:12px;margin:0}.coursegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.course{padding:13px;background:#f6f8f3;border:1px solid #e2e8df;border-radius:5px;font-size:13px;font-weight:700}.course span{display:block;font-size:10px;color:#ac8350;letter-spacing:2px;margin-bottom:4px}.side{position:sticky;top:72px}.pricecard{background:white;border:1px solid #e5e6db;border-radius:7px;padding:24px;box-shadow:0 6px 25px #172d2411}.pricecard .price{font-size:38px}.pricecard p{font-size:12px;color:#66786d}.pricecard .btn{display:flex;width:100%;margin:13px 0 8px}.sidefacts{border-top:1px solid #e8e9e1;margin:21px 0 0;padding-top:13px}.sidefacts div{display:flex;gap:8px;justify-content:space-between;align-items:start;font-size:12px;padding:7px 0}.sidefacts strong{text-align:right;max-width:175px}.smallnote{font-size:11px!important;color:#89988d!important}.cabin{width:100%;border-collapse:collapse;font-size:12px}.cabin th,.cabin td{text-align:left;padding:10px 9px;border-bottom:1px solid #e8ebe2}.cabin th{background:#f4f7f1}.inclusiongrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inclusiongrid>div{background:#f7f8f3;border-radius:5px;padding:17px}.disclaimer-detail{background:#f0f0e9;padding:18px;border-radius:5px;font-size:12px;color:#65786b;margin-top:15px}.bottom-cta{background:#213f38;color:#fff;border-radius:7px;padding:26px;display:flex;justify-content:space-between;gap:14px;align-items:center}.bottom-cta p{color:#c8d9cd;font-size:13px;margin:0}.bottom-cta h2{margin:0 0 8px;font-size:23px}.copybtn{border:1px solid #e0e5dc;background:#f5f7f3;color:#2e5d49;border-radius:4px;padding:8px 11px;font-size:12px}.no-verify{background:#fff9ed;padding:15px;border-left:3px solid #dda958;color:#7c6845;font-size:13px}.source-link{font-size:12px;color:#527368;text-underline-offset:3px}.unavailable-msg{color:#985c35;font-size:12px}
@media(max-width:940px){.cards{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:minmax(0,1fr) 285px;gap:17px}.art{display:none}}@media(max-width:700px){.wrap{width:calc(100% - 28px)}.nav{min-height:64px}.brand{font-size:20px}.brand small{font-size:8px;margin-left:8px;padding-left:8px}.navlinks a:not(.navbtn){display:none}.hero-inner{padding:52px 0}.hero h1{font-size:36px}.hero-stats{gap:16px}.hero-stats strong{font-size:21px}.filterrow{grid-template-columns:1fr 1fr}.filterrow input{grid-column:1/-1}.cards{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.intro-grid,.contact-grid{grid-template-columns:1fr}.detail-layout{display:flex;flex-direction:column-reverse}.side{position:static;width:100%}.block{padding:21px 17px}.split,.inclusiongrid,.coursegrid{grid-template-columns:1fr}.bottom-cta{display:block}.bottom-cta .btn{margin-top:14px}.detailhero{padding:40px 0}.anchor-list{gap:19px}}

/* V3 editorial refinements */
.day.is-golf{background:#f4f9f3;border-left:4px solid #36775d;margin:3px -9px;padding:15px 12px;border-radius:4px}
.day.is-golf .daytime{color:#397b62}.golf-chip{display:inline-block;color:#fff;background:#285e49;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:750;margin:3px 0 7px}
.day .attraction{color:#536f60;line-height:1.65}.day .activity{color:#426659;font-weight:600}.course p{font-size:12px;line-height:1.75;margin:7px 0 0;color:#6b8171;font-weight:400}
.course em{font-size:11px;color:#9e835f;font-style:normal}.pricecard .smallnote{line-height:1.7}.clause{font-size:12px;color:#64756b;line-height:1.85}
.route-note{padding:16px;background:#f1f6ef;border-left:3px solid #90ab95;font-size:13px;color:#476752;line-height:1.75;margin:13px 0}
@media(max-width:700px){.day.is-golf{margin:3px -5px;padding:12px 7px}.coursegrid{grid-template-columns:1fr}}

/* V4: river products seamlessly integrated into the established visual system */
.visual.河轮{background:linear-gradient(130deg,#204b4e,#96ad9e)}
.river-gold{font-weight:760;color:#9c7638;font-size:12px}
.riverlabel{display:inline-block;background:#e3eee7;color:#2a6351;border-radius:30px;padding:3px 10px;margin:7px 0;font-size:11px;font-weight:700}
.river-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.sailing-date{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:5px;background:#f7f8f4;border:1px solid #e3e9e2;min-height:82px}
.sailing-date strong{font-size:14px;color:#23463a}.sailing-date small{font-size:11px;line-height:1.55;color:#6a7b70}
.sailing-date.recheck{border-color:#eed8aa;background:#fff8ec}.sailing-date.recheck small{color:#8b6337}
.dirbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}.dirbtn{border:1px solid #d5e0d6;border-radius:4px;background:#f1f6f0;padding:9px 13px;font-size:12px;color:#38564b}
.dirbtn.active{color:#fff;background:#224d43;border-color:#224d43}.river-notes{font-size:12px;color:#6b756b;line-height:1.85}
.pricecard .price.addon{font-size:34px}.addon-caveat{font-size:12px;color:#6f7b70}.landprice{background:#f8f8f1;border:1px solid #e7e6d7;border-radius:5px;padding:15px;margin:10px 0 18px}
.landprice strong{color:#2e5d4b}.landprice p{font-size:13px;margin:5px 0 0;color:#637668}
.river-section-intro{background:#f1f4ed;padding:16px;border-radius:4px;margin:0 0 16px;font-size:13px;color:#4a6558}
@media(max-width:850px){.river-dates{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:550px){.river-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.sailing-date{min-height:82px}}

.filterrow{grid-template-columns:1.4fr repeat(4,1fr)}@media(max-width:700px){.filterrow{grid-template-columns:1fr 1fr}.filterrow input{grid-column:1/-1}}
[hidden]{display:none!important}

/* V6 — editorial hero counters for region discovery */
.hero-stats{gap:18px;flex-wrap:wrap}.hero-stats div{padding-left:13px}.hero-stats strong{font-size:27px}.hero-stats span{font-size:11px}
.pricecard .price small{line-height:1.7;display:block;font-size:11px;font-weight:500;color:#728378}
@media(max-width:700px){.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.hero-stats div{padding-left:12px}.hero-stats strong{font-size:23px}}

.status-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;color:#60766b;font-size:12px;margin:-3px 0 17px}.status-legend small{font-size:11px;color:#89978e}.status-legend .status{font-weight:700}

/* V7.1 — primary WeChat contact, with email and phone as secondary options */
.contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
.contact-actions{width:100%;min-width:0}
.wechat-feature{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid #ebd6aa;border-radius:7px;background:linear-gradient(108deg,#e8d0a6 0%,#d8b688 100%);color:#173b32;box-shadow:0 4px 20px #041d1b1a}
.wechat-icon{flex:0 0 38px;width:38px;height:38px;color:#235845}
.wechat-feature-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:0}
.wechat-feature-label{font-size:12px;letter-spacing:.3px;font-weight:720;white-space:nowrap}
.wechat-feature-id{font-size:23px;line-height:1.25;letter-spacing:.5px;font-weight:800;color:#0e332c}
.wechat-copy-btn{flex:0 0 auto;font-size:12px;font-weight:750;color:#173d32;border:1px solid #426552;background:#fdf8ec;border-radius:4px;padding:10px 12px;white-space:nowrap;min-height:40px}
.wechat-copy-btn:hover,.wechat-copy-btn:focus-visible{background:#fff}
.contact .wechat-helper{margin:8px 0 11px;color:#bfcfc6;font-size:12px;line-height:1.5}
.contact .wechat-helper strong{color:#e6c99e}
.contact-secondary{gap:8px}
.contact .contact-secondary .btn{padding:9px 12px;min-height:36px;font-size:12px;flex:1 1 auto;white-space:nowrap;border-color:#768d80;color:#e5ebe5;font-weight:600}
.contact .contact-secondary .btn:hover{background:#244940}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;gap:22px}.contact{padding:43px 0}.wechat-feature{gap:10px;padding:13px 12px}.wechat-icon{flex-basis:34px;width:34px;height:34px}.wechat-feature-id{font-size:23px}.wechat-copy-btn{padding:9px 10px}}
@media(max-width:380px){.wechat-icon{display:none}.wechat-feature-label{font-size:11px}.contact .contact-secondary .btn{font-size:11px;padding:8px 9px}}
