[hidden]{display:none!important}.front-skip{position:fixed;top:-100px;left:16px;z-index:10000;background:#fff;color:#123a76;padding:14px 24px;border:2px solid #123a76}.front-skip:focus{top:12px}.front-preview{background:#eaf0f8;color:#173b65;padding:8px 20px;text-align:center;font:13px/1.5 system-ui}.front-preview a{margin-left:16px;text-decoration:underline}.front-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.catalog-image .front-image{height:100%;min-height:220px}.tour-image-button{display:block}.front-gallery-open{overflow:hidden}.front-lightbox{box-sizing:border-box;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:48px 16px 12px;border:0;border-radius:14px;background:#101b2c;color:#fff}.front-lightbox::backdrop{background:rgba(4,12,24,.88)}.front-lightbox-stage{height:min(70dvh,740px);display:grid;place-items:center;touch-action:pan-y}.front-lightbox-stage img{width:100%;height:100%;object-fit:contain;min-height:0}.front-full-photo{width:100%;height:100%!important;aspect-ratio:auto!important;background-repeat:no-repeat}.front-lightbox-close{position:absolute;right:12px;top:6px;font-size:30px;color:white;background:none;border:0;width:44px;height:44px;cursor:pointer}.front-lightbox-footer{display:flex;gap:16px;align-items:center}.front-lightbox-footer p{flex:1;font-size:15px}.front-lightbox-footer button{background:#fff;color:#123a76;border:0;border-radius:8px;min-width:44px;min-height:44px}.front-lightbox-footer button:disabled{opacity:.4}.front-photo-count{white-space:nowrap;font-size:13px}.day-gallery,.article-gallery{display:grid!important;grid-template-columns:repeat(var(--gallery-count,1),minmax(0,1fr));gap:16px}.day-gallery>.day-photo,.article-gallery>.article-photo{width:100%;min-width:0}.day-gallery>.day-photo:only-child,.article-gallery>.article-photo:only-child{grid-column:1/-1}.sidebar-guides ul,.sidebar-tours ul{padding-left:0;list-style:none}.sidebar-guides li,.sidebar-tours li{margin:14px 0;line-height:1.5}.reading-sidebar,.place-sidebar{align-self:start;max-height:none!important}.cms-related li{list-style:none}.footer a:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf7c35;outline-offset:4px}button:disabled{cursor:wait}main{overflow-wrap:break-word}.tour-copy{padding:20px}.tour-grid .tour h3{margin-top:0}.front-empty{padding:24px 0;color:#66736e}@media(min-width:701px){.reading-sidebar,.place-sidebar{position:static!important}.front-image{min-height:0}}@media(max-width:700px){.front-lightbox{padding-inline:8px}.front-lightbox-footer{gap:8px}.front-lightbox-stage{height:62dvh}.front-preview{font-size:12px}.front-image{aspect-ratio:16/10}.day-gallery,.article-gallery{gap:8px}.nav-links{max-height:calc(100dvh - 90px);overflow-y:auto}.sidebar-guides,.sidebar-tours{margin-top:24px}}
.front-guide-main{padding-top:40px}.front-reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:64px;padding-block:24px 64px}.front-article{min-width:0;font-size:18px;line-height:1.8}.front-article h1{line-height:1.15}.front-reading-layout .reading-sidebar{border-left:1px solid #d6e1f0;padding-left:28px}.front-reading-open,.front-reading-layout .close-reading{display:none}.front-attractions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.front-reading-layout li{margin:14px 0}.front-reading-layout .contents ul{padding-left:0;list-style:none}@media(max-width:700px){.front-reading-layout{display:block;padding-bottom:32px}.front-reading-open{display:block;background:#eef3fa;border:1px solid #c8d8ee;border-radius:8px;padding:12px 18px;font:inherit;color:#153960}.front-reading-layout .reading-sidebar{display:none;position:fixed!important;inset:0 0 0 auto;width:min(88vw,380px);padding:24px;background:white;z-index:1500;overflow:auto;max-height:100dvh!important}.front-reading-layout .reading-sidebar.open{display:block}.front-reading-layout .close-reading{display:block;margin-left:auto;width:44px;height:44px;font-size:28px;background:none;border:0}.front-guide-main .reading-backdrop{position:fixed;inset:0;background:#07182a80;z-index:1400}.reading-open{overflow:hidden}.front-article{font-size:17px}}
/* Shared destination, itinerary and editorial cards. */
.dest.front-destination{position:relative;display:block;padding:0;overflow:hidden;isolation:isolate;aspect-ratio:16/10;height:auto;border-radius:10px;background:#edf2f8;text-decoration:none}
.front-destination>.photo,.front-destination>.front-image{width:100%;height:100%;aspect-ratio:auto;transition:transform .25s ease}
.dest.front-destination:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(8,24,37,.8));pointer-events:none;z-index:1}
.dest.front-destination .front-destination-name{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;font-size:clamp(21px,2vw,28px);font-weight:700;line-height:1.2;text-shadow:0 1px 4px #0006}
.photo.guilin-photo{background-image:url('/public/design/homepage/guilin-hero.png');background-size:cover;background-position:center}
.photo.shanghai-photo{background-image:url('/editorial/shanghai.webp');background-size:cover;background-position:center}
.photo.xian-wall-photo{background-image:url('/editorial/xian-wall.webp');background-size:cover;background-position:center}
.front-tour-card{position:relative;display:flex;flex-direction:column;height:100%;border-radius:10px;transition:box-shadow .2s ease}
.front-tour-card .tour-copy,.front-tour-card .catalog-card-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.front-tour-card .tour-title-link{text-decoration:none;border:0}
.front-tour-card .tour-title-link:after{content:"";position:absolute;inset:0;z-index:1}
.front-tour-card .text-link{align-self:flex-start;margin-top:auto;padding-top:12px;border:0;text-decoration:none;width:auto}
.front-tour-card .tour-image-button,.front-tour-card .catalog-image{overflow:hidden;border-radius:10px}
.front-tour-card .photo,.front-tour-card .front-image{transition:transform .25s ease}
.front-tour-card .catalog-route,.front-tour-card .tour-route{min-height:3em}
.front-tour-card .catalog-price{margin-top:12px}
.mega .mega-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.mega-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.mega-guide-card{display:block!important;text-decoration:none!important;border:0!important;font-size:15px;line-height:1.4;font-weight:650;min-width:0}
.mega-guide-card>.photo,.mega-guide-card>.front-image{width:100%;height:auto;aspect-ratio:4/3;border-radius:8px;margin-bottom:12px}
.mega-guide-card>span{display:block}
.front-place-card{display:grid;grid-template-columns:minmax(200px,32%) minmax(0,1fr);gap:32px;padding:28px 0;border-bottom:1px solid #d6e1f0;align-items:center}
.front-place-image{display:block;overflow:hidden;border-radius:10px;border:0!important;text-decoration:none!important}
.front-place-image>.photo,.front-place-image>.front-image{width:100%;height:auto;aspect-ratio:4/3}
.front-place-copy h3{margin:0 0 12px;font-size:clamp(24px,2.5vw,32px)}
.front-place-copy h3 a,.front-place-copy p,.front-place-link{border:0!important;text-decoration:none!important}
.front-place-copy p{margin:0 0 22px;color:#65736e;line-height:1.6;max-width:65ch}
.front-place-link{display:inline-block;font-weight:650;color:#123a76}
.front-attractions{display:block}
.front-wa-dialog{border:0;border-radius:16px;padding:32px;max-width:min(440px,90vw);color:#18395e}.front-wa-dialog::backdrop{background:#10203399}.front-wa-dialog button{float:right;min-width:44px;min-height:44px;background:none;border:0;font-size:24px;color:inherit}
@media(hover:hover){.front-destination:hover>.photo,.front-destination:hover>.front-image,.front-tour-card:hover .photo,.front-tour-card:hover .front-image{transform:scale(1.025)}.front-tour-card:hover{box-shadow:0 8px 26px #17385816}.front-tour-card:hover .text-link,.front-place-copy a:hover,.mega-guide-card:hover>span{text-decoration:underline!important;text-underline-offset:5px}}
@media(max-width:900px){.mega .mega-inner{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){.dest.front-destination .front-destination-name{left:18px;bottom:18px;right:18px}.front-place-card{grid-template-columns:1fr;gap:20px;padding:24px 0}.front-place-image>.photo,.front-place-image>.front-image{aspect-ratio:16/10}.mega-guide-grid{grid-template-columns:1fr}.mega-guide-card{display:grid!important;grid-template-columns:92px 1fr;gap:12px;align-items:center}.mega-guide-card>.photo,.mega-guide-card>.front-image{margin:0}.front-tour-card .catalog-route,.front-tour-card .tour-route{min-height:0}}
@media(prefers-reduced-motion:reduce){.front-destination>.photo,.front-destination>.front-image,.front-tour-card,.front-tour-card .photo,.front-tour-card .front-image{transition:none}}
.front-place-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-tour>a{display:flex;flex-direction:column;height:100%;text-decoration:none;border:0}.related-tour .text-link{margin-top:auto;align-self:flex-start;width:auto;border:0;text-decoration:none}.related-tour h3,.related-tour p{border:0;text-decoration:none}
.front-tour-card:focus-within,.front-destination:focus-visible{outline:3px solid #bf7c35;outline-offset:4px}
/* Editorial recommendations: four readable image cards, one destination per card. */
.place-content .related-tour-grid,.front-article .related-tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}
.related-tour{min-width:0;border:1px solid #dce5ef;border-radius:12px;background:#fff;overflow:hidden;transition:box-shadow .18s,border-color .18s}
.place-content .related-tour>a,.front-article .related-tour>a{text-decoration:none!important;border:0;display:flex;flex-direction:column;height:100%;padding-bottom:24px}
.related-tour>a>.photo,.related-tour>a>.front-image{display:block;width:100%;height:auto;aspect-ratio:16/10;min-height:0;object-fit:cover;border-radius:0}
.related-tour>a>h3{font-size:21px;line-height:1.35;margin:22px 24px 12px}.related-tour>a>p{font-size:14px;line-height:1.65;color:#65736e;margin:0 24px 24px}.related-tour>a>.text-link{margin:auto 24px 0;padding:0;font-size:14px;border:0;text-decoration:none}
.place-content .related-tour a *{text-decoration:none!important}.place-content .front-all-tours{display:inline-block;margin-top:28px;text-decoration:none!important;font-weight:650}.related-tour:hover{border-color:#8ba5c5;box-shadow:0 6px 24px #17385812}.related-tour>a:focus-visible{outline-offset:-4px}
@media(max-width:700px){.place-content .related-tour-grid,.front-article .related-tour-grid{grid-template-columns:1fr;gap:24px}}
.analytics-choice{position:fixed;z-index:95;bottom:16px;left:16px;max-width:min(540px,calc(100vw - 32px));padding:20px;border:1px solid #cbd8e8;border-radius:12px;background:#fff;color:#183858;box-shadow:0 4px 24px #12376e20;font-size:14px}.analytics-choice p{margin:0 0 12px;line-height:1.5}.analytics-choice button{font:inherit;background:#eef3fa;border:1px solid #b7c9df;padding:10px 16px;border-radius:6px;margin:0 8px 8px 0;color:#12376e;cursor:pointer}.analytics-choice a{font-size:13px;display:inline-block}.analytics-preferences{font:inherit;font-size:12px;background:transparent;border:0;padding:8px 0;color:inherit;text-decoration:underline;cursor:pointer}

.manual-feature-image{overflow:hidden}.manual-feature-image>.front-image,.manual-feature-image>.photo{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover}
/* Structured Tour: retain the approved page order, with one services overview. */
.structured-tour .tour-product-label{font-size:12px;font-weight:650;letter-spacing:.08em;color:var(--primary);margin:0 0 16px}
.structured-tour .tour-cover-tagline{font-size:14px;margin:10px 0;color:var(--primary)}
.structured-tour .tour-quick-facts{display:flex;gap:10px 28px;flex-wrap:wrap;margin:18px 0;font-size:14px}
.structured-tour .tour-transfer-scope{margin:18px 0;padding:14px 0;border-block:1px solid var(--line)}
.structured-tour .tour-transfer-scope summary{font-size:14px;font-weight:650;padding:8px 0;cursor:pointer}
.structured-tour .tour-transfer-scope h3{font-size:15px;margin:18px 0 8px}.structured-tour .tour-transfer-scope p{max-width:850px;font-size:14px;line-height:1.7}
.structured-tour .detail-gallery{grid-template-columns:1.8fr 1fr .55fr;grid-template-rows:minmax(0,1fr);height:245px}
.structured-tour .detail-gallery>*{min-height:0;min-width:0}
.structured-tour .detail-gallery[data-image-count="1"]{grid-template-columns:1fr .32fr}
.structured-tour .tour-hero-image{display:block;width:100%;height:100%;min-width:0;object-fit:cover;border-radius:7px}
.structured-tour .gallery-note strong{font-size:24px;line-height:1.4;font-weight:600}
.structured-tour .day-story{display:block}.structured-tour .day-story>p:first-child{margin-top:0}
.structured-tour .day-gallery .day-photo>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.structured-tour .day-gallery[data-count="1"] .day-photo>img{aspect-ratio:1.5}
.structured-tour .day-gallery .day-photo{background:transparent;padding:0;border:0;min-width:0;cursor:pointer}
.structured-tour .tour-day-services>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px}
.structured-tour .tour-day-services dt{width:auto;height:auto;position:static;clip:auto;overflow:visible;font-size:13px}
.structured-tour .tour-day-services dt:before{display:none!important}
.structured-tour .tour-day-services dd{min-width:0}.structured-tour .tour-day-services dd p{margin:6px 0;font-size:14px}
.structured-tour .tour-transport-leg+.tour-transport-leg{margin-top:16px}
.structured-tour .tour-admission+.tour-admission{margin-top:12px}
.structured-tour .tour-admission-status{display:inline-block;background:var(--tint);color:var(--primary);font-size:12px;padding:2px 8px;margin:0 0 3px 10px;border-radius:4px}
.structured-tour .tour-service-link{display:inline-block;min-height:36px;padding:8px 0;text-decoration:none;font-weight:600;color:var(--primary)}
.structured-tour .tour-services-section{background:#fff}
.structured-tour .tour-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.structured-tour .tour-service-card{min-width:0;border:1px solid var(--line);padding:24px;border-radius:8px;scroll-margin-top:115px}
.structured-tour .tour-service-card>small{font-size:11px;letter-spacing:.08em;color:var(--primary)}
.structured-tour .tour-service-card>h3{font-size:21px;line-height:1.35;margin:10px 0 18px}
.structured-tour .tour-service-card p,.structured-tour .tour-service-extra p,.structured-tour .tour-price-conditions p,.structured-tour #booking p{font-size:14px;line-height:1.8}
.structured-tour .tour-profile-fields{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}
.structured-tour .tour-profile-fields>summary,.structured-tour .tour-service-extra>summary,.structured-tour .tour-price-conditions>summary{font-size:15px;font-weight:600;padding:12px 0;cursor:pointer;min-height:44px}
.structured-tour .tour-profile-fields dl,.structured-tour .tour-price-conditions dl{margin:8px 0 0}
.structured-tour .tour-profile-fields dl>div,.structured-tour .tour-price-conditions dl>div{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.6fr);gap:16px;padding:12px 0;border-top:1px solid #e5ebf3}
.structured-tour .tour-profile-fields dt,.structured-tour .tour-price-conditions dt{font-size:13px;font-weight:600}
.structured-tour .tour-profile-fields dd,.structured-tour .tour-price-conditions dd{margin:0;min-width:0}
.structured-tour .tour-profile-fields dd p,.structured-tour .tour-price-conditions dd p{margin:0}
.structured-tour .tour-service-extra{margin-top:22px;border-top:1px solid var(--line)}
.structured-tour .tour-price-basis{font-size:14px;color:var(--primary);margin-top:12px}
.structured-tour #included .section-head{margin-top:25px}.structured-tour .inclusion-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.structured-tour p,.structured-tour h1,.structured-tour h2,.structured-tour h3,.structured-tour dd,.structured-tour dt,.structured-tour summary,.structured-tour .tour-quick-facts{overflow-wrap:anywhere}
.structured-tour .detail-nav .wrap{gap:8px 24px}.structured-tour .detail-nav a{display:inline-flex;align-items:center;min-height:40px}
.front-tour-no-image{display:none}.front-tour-card:has(.front-tour-no-image) .catalog-image,.front-tour-card:has(.front-tour-no-image) .tour-image-button{display:none}
@media(max-width:700px){
 .structured-tour .detail-gallery{height:165px;grid-template-columns:1.5fr 1fr}
 .structured-tour .detail-gallery[data-image-count="1"]{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto}
 .structured-tour .detail-gallery[data-image-count="1"] .tour-hero-image{aspect-ratio:1.7;height:auto}
 .structured-tour .tour-quick-facts{gap:8px 16px;font-size:13px}
 .structured-tour .tour-service-grid{grid-template-columns:1fr;gap:18px}
 .structured-tour .tour-service-card{padding:20px;scroll-margin-top:100px}
 .structured-tour .tour-profile-fields dl>div,.structured-tour .tour-price-conditions dl>div{grid-template-columns:1fr;gap:5px}
 .structured-tour .tour-day-services>div{grid-template-columns:1fr;gap:6px}
 .structured-tour .tour-day-services dt{font-size:13px}.structured-tour .tour-admission-status{margin-left:8px}
 .structured-tour .detail-nav .wrap{gap:2px 18px}.structured-tour .detail-nav a{font-size:12px;min-height:44px}
 .structured-tour .tour-service-link{min-height:44px}
 body:has(.floating){padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 body.front-contact-editing .floating{visibility:hidden!important;pointer-events:none!important}
}
