/* CHINA FACE presentation refinement. No content, URL or business logic changes. */
:root {
 --cf-ui-primary:#c8922e; --cf-ui-secondary:#48bca2; --cf-ui-text:#171512;
 --cf-ui-muted:#57534d; --cf-ui-bg:#fff; --cf-ui-surface:#f6f4ef;
 --cf-ui-border:#dedbd4; --cf-ui-accent:#a66f0f;
 --cf-ui-success:#246846; --cf-ui-error:#a33131;
 --cf-ui-sans:Arial,Helvetica,sans-serif; --cf-ui-serif:Georgia,'Times New Roman',serif;
 --cf-ui-space-1:4px; --cf-ui-space-2:8px; --cf-ui-space-3:12px;
 --cf-ui-space-4:16px; --cf-ui-space-6:24px; --cf-ui-space-8:32px;
 --cf-ui-space-12:48px; --cf-ui-space-16:64px; --cf-ui-space-20:80px; --cf-ui-space-24:96px;
 --cf-ui-radius:12px; --cf-ui-button-radius:6px; --cf-ui-width:1200px;
}
/* 1 Header, existing menu and mobile drawer */
#header .ct-container {max-width:1280px;}
#header [data-row='middle'] {--height:80px;}
#header .menu > li > a {font-size:14px;letter-spacing:0;font-weight:600;padding-inline:16px;}
#header .sub-menu {padding:12px;border-radius:8px;box-shadow:0 12px 28px rgba(23,21,18,.12);}
#header .sub-menu a {padding:12px 16px;font-size:15px;line-height:1.4;}
#offcanvas .ct-panel-content {padding:24px;}
#offcanvas nav a {min-height:48px;font-size:18px;line-height:1.5;}
#header a:focus-visible,#offcanvas a:focus-visible,body.home main a:focus-visible,#footer a:focus-visible {outline:3px solid var(--cf-ui-accent);outline-offset:4px;}
/* 2 Hero: keep the existing image, copy and both destinations */
body.home .cf-dmc-hero {min-height:650px!important;height:auto!important;padding:128px 32px 64px!important;}
body.home .cf-dmc-hero__inner {max-width:var(--cf-ui-width)!important;width:100%!important;margin-inline:auto!important;}
body.home .cf-dmc-hero__content {max-width:720px!important;}
body.home .cf-dmc-hero__title {font-family:var(--cf-ui-serif)!important;font-weight:600!important;font-size:60px!important;line-height:1.08!important;letter-spacing:-.025em!important;max-width:720px!important;margin:0 0 24px!important;text-wrap:balance;}
body.home .cf-dmc-hero__subtitle {font-family:var(--cf-ui-sans)!important;font-size:18px!important;line-height:1.65!important;max-width:59ch!important;margin:0 0 32px!important;color:#fff!important;}
body.home .cf-dmc-hero__label {font-size:12px!important;line-height:1.5!important;letter-spacing:.09em!important;margin-bottom:20px!important;}
body.home .cf-dmc-hero__actions {gap:12px!important;flex-wrap:wrap;}
body.home .cf-dmc-hero__trust {font-size:13px!important;gap:12px 20px!important;margin-top:24px!important;}
body.home .cf-dmc-hero__scroll {display:none!important;}
/* 3 Homepage type, rhythm and section grid */
body.home main section:not(.cf-dmc-hero):not(.cf-final-cta) {padding-block:80px!important;padding-inline:32px!important;}
body.home main :is(.cf-trust-wrap,.cf-home-oneday__inner,.cf-featured-wrap,.cf-destinations__inner,.cf-about-trust__inner,.cf-services-list__inner,.cf-journey__inner,.cf-partners__inner,.cf-stories-scroll__header) {max-width:var(--cf-ui-width)!important;margin-inline:auto!important;width:100%!important;}
body.home main section h2 {font-family:var(--cf-ui-serif)!important;font-size:40px!important;font-weight:600!important;line-height:1.18!important;letter-spacing:-.02em!important;margin-bottom:20px!important;text-wrap:balance;}
body.home main section h3 {font-family:var(--cf-ui-sans)!important;font-size:20px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;}
body.home main :is(.cf-trust-subtitle,.cf-home-oneday__intro,.cf-featured-subtitle,.cf-destinations__subtitle,.cf-services-list__subtitle,.cf-stories-scroll__subtitle,.cf-journey__subtitle,.cf-partners__subtitle,.cf-about-trust__copy) {font-family:var(--cf-ui-sans)!important;font-size:17px!important;line-height:1.7!important;max-width:68ch!important;color:var(--cf-ui-muted)!important;}
body.home main :is(.cf-trust-header,.cf-home-oneday__header,.cf-featured-header,.cf-destinations__header,.cf-services-list__header,.cf-journey__header,.cf-partners__header,.cf-stories-scroll__header) {margin-bottom:40px!important;}
body.home :is(.cf-home-oneday__grid,.cf-featured-grid,.cf-destinations__grid) {gap:24px!important;}
/* 4 Two visual card families: image-led travel and quiet text-led service/trust */
body.home :is(.cf-home-oneday__card,.cf-featured-card,.cf-dest-card) {border-radius:var(--cf-ui-radius)!important;box-shadow:none!important;border:1px solid var(--cf-ui-border)!important;background:#fff!important;overflow:hidden;transform:none!important;}
body.home :is(.cf-home-oneday__media,.cf-featured-image,.cf-dest-card__media) {aspect-ratio:4/3!important;height:auto!important;min-height:0!important;}
body.home :is(.cf-home-oneday__media,.cf-featured-image,.cf-dest-card__media) img {width:100%;height:100%;object-fit:cover;}
body.home :is(.cf-home-oneday__body,.cf-featured-content,.cf-dest-card__body) {padding:24px!important;}
body.home :is(.cf-featured-desc,.cf-dest-card__desc,.cf-trust-card-text,.cf-services-list__desc,.cf-journey__desc) {font-size:16px!important;line-height:1.65!important;color:var(--cf-ui-muted)!important;}
body.home :is(.cf-trust-card,.cf-stories-scroll__card,.cf-journey__step) {box-shadow:none!important;border-radius:12px!important;}
body.home .cf-trust-grid {gap:24px!important;}
body.home .cf-trust-card {padding:24px!important;}
body.home .cf-stories-scroll__review {font-size:18px!important;line-height:1.65!important;}
body.home .cf-partners__logos {gap:32px!important;}
/* 5 CTA family; preserve labels, hrefs, events and form controls */
body.home :is(.cf-dmc-hero__button,.cf-featured-button,.cf-destinations__button,.cf-about-trust__button,.cf-final-cta__primary,.cf-final-cta__secondary) {min-height:48px!important;padding:12px 24px!important;border-radius:var(--cf-ui-button-radius)!important;font-family:var(--cf-ui-sans)!important;font-size:15px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:0!important;box-shadow:none!important;transition:background-color .16s ease,color .16s ease!important;}
body.home :is(.cf-dmc-hero__button--primary,.cf-featured-button,.cf-destinations__button,.cf-about-trust__button,.cf-final-cta__primary) {background:var(--cf-ui-primary)!important;color:var(--cf-ui-text)!important;border:1px solid var(--cf-ui-primary)!important;}
body.home :is(.cf-featured-link,.cf-home-oneday__all,.cf-home-oneday__details,.cf-dest-card__cta,.cf-services-list__cta,.cf-stories-scroll__cta) {color:#79500a!important;font-family:var(--cf-ui-sans)!important;font-size:15px!important;font-weight:600!important;text-underline-offset:4px;}
body.home .cf-final-cta {padding:80px 32px!important;min-height:0!important;}
body.home .cf-final-cta__title {font-size:44px!important;}
body.home .cf-final-cta__desc {font-size:18px!important;line-height:1.65!important;max-width:65ch!important;}
/* 6 Footer: keep groups and every existing link */
#footer .cf-premium-footer {padding:64px 32px 32px!important;}
#footer .cf-premium-footer__inner {max-width:var(--cf-ui-width)!important;}
#footer .cf-premium-footer__grid {gap:32px!important;grid-template-columns:1.25fr .85fr .85fr .85fr 1.2fr!important;}
#footer .cf-premium-footer :is(p,li,a) {font-family:var(--cf-ui-sans);font-size:15px;line-height:1.7;}
#footer .cf-premium-footer :is(h3,h4) {font-family:var(--cf-ui-sans);font-size:14px;line-height:1.5;letter-spacing:.05em;}
#footer .cf-premium-footer__desc {color:#c8c5bf!important;}
#footer .cf-premium-footer a {text-underline-offset:4px;}
#footer .cf-premium-footer a:hover {text-decoration:underline;}
/* 7 Responsive: reuse 1000px Blocksy header threshold; 768 tablet, 480 small */
@media (max-width:1000px) {
 #header [data-row='middle'] {--height:64px;}
 #footer .cf-premium-footer__grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
 body.home :is(.cf-featured-grid,.cf-destinations__grid,.cf-home-oneday__grid) {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:767px) {
 body.home .cf-dmc-hero {padding:112px 24px 48px!important;min-height:0!important;background-position:60% center!important;}
 body.home .cf-dmc-hero__title {font-size:40px!important;line-height:1.12!important;max-width:17ch!important;}
 body.home .cf-dmc-hero__subtitle {font-size:16px!important;line-height:1.65!important;}
 body.home .cf-dmc-hero__label {font-size:11px!important;letter-spacing:.05em!important;}
 body.home .cf-dmc-hero__trust {gap:12px!important;line-height:1.5!important;}
 body.home main section:not(.cf-dmc-hero):not(.cf-final-cta) {padding:48px 24px!important;}
 body.home main section h2 {font-size:32px!important;line-height:1.2!important;}
 body.home main section h3 {font-size:19px!important;}
 body.home :is(.cf-trust-header,.cf-home-oneday__header,.cf-featured-header,.cf-destinations__header,.cf-services-list__header,.cf-journey__header,.cf-partners__header) {margin-bottom:24px!important;}
 body.home :is(.cf-home-oneday__card,.cf-featured-card,.cf-dest-card) {grid-column:auto!important;grid-row:auto!important;}
 body.home :is(.cf-home-oneday__body,.cf-featured-content,.cf-dest-card__body) {padding:20px!important;}
 body.home .cf-final-cta {padding:48px 24px!important;}
 #footer .cf-premium-footer {padding:48px 24px 32px!important;}
 #footer .cf-premium-footer__grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 24px!important;text-align:left!important;}
 #footer .cf-premium-footer__brand {grid-column:1/-1!important;max-width:65ch!important;}
 #footer .cf-premium-footer a {display:inline-flex;align-items:center;min-height:44px;}
}
@media (max-width:479px) {
 body.home :is(.cf-featured-grid,.cf-destinations__grid,.cf-home-oneday__grid) {grid-template-columns:minmax(0,1fr)!important;}
 body.home .cf-dmc-hero__actions {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
 body.home .cf-dmc-hero__button {width:100%!important;text-align:center;}
}
@media (prefers-reduced-motion:reduce) {
 body.home main *,#header *,#offcanvas *,#footer * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
/* Final layout corrections from the paired viewport preview. */
body.home .cf-dmc-hero__inner {padding:0!important;text-align:left!important;}
body.home .cf-dmc-hero__content {text-align:left!important;}
body.home .cf-final-cta__content {opacity:1!important;transform:none!important;}
@media(max-width:1000px){body.home #header img {filter:brightness(0)!important;}}
@media(max-width:767px){
 body.home .cf-dmc-hero {padding:48px 24px!important;}
 body.home .cf-dmc-hero__title {font-size:38px!important;}
 body.home .cf-dmc-hero__trust {display:grid!important;grid-template-columns:1fr 1fr!important;}
 body.home .cf-dmc-hero__actions {padding-right:36px!important;}
 body.home #ht-ctc-chat {right:8px!important;bottom:16px!important;}
 #footer .cf-premium-footer__grid > :last-child {grid-column:1/-1!important;}
}


/* BEGIN PRODUCT UI SHARED SYSTEM — existing pilot design, reusable template aliases. */
/* Product Detail UI — preserve all facts, URLs and existing interactions. */
body.single-trip .cf-tour-page { color:var(--cf-ui-text,#171512); font:16px/1.7 Arial,sans-serif; }
body.single-trip .cf-tour-inner, body.single-trip .cf-refund-inner { width:calc(100% - 64px); max-width:1200px; margin-inline:auto; }
/* Hero: existing real image right, readable title and actions left. */
body.single-trip .cf-tour-hero { min-height:0; background-color:#f6f4ef; background-size:50% 100%; background-position:right center; background-repeat:no-repeat; color:#171512; text-align:left; }
body.single-trip .cf-tour-hero::before { display:none; }
body.single-trip .cf-tour-hero__content { width:48%; padding:48px 32px 48px 0; }
body.single-trip .cf-tour-hero h1 { font:600 44px/1.12 Georgia,serif; color:#171512; letter-spacing:-.02em; margin:0 0 24px; }
body.single-trip .cf-tour-hero__destination { font-size:12px; color:#57534d; letter-spacing:.08em; margin-bottom:12px; }
body.single-trip .cf-tour-hero__type { color:#57534d; border-color:#dedbd4; border-radius:4px; margin-bottom:16px; padding:4px 8px; }
body.single-trip .cf-tour-hero__subtitle { font-size:17px; line-height:1.65; color:#57534d; }
body.single-trip .cf-tour-hero__suitable { color:#57534d; font-size:14px; margin-bottom:24px; }
body.single-trip .cf-tour-actions { gap:12px; }
body.single-trip .cf-tour-btn { min-height:48px; border-radius:6px; padding:12px 20px; font:600 15px/1.5 Arial,sans-serif; }
body.single-trip .cf-tour-hero .cf-tour-btn--outline { color:#171512; border:1px solid #b4afa4; background:transparent; }
body.single-trip .cf-tour-btn--gold, body.single-trip :is(.cf-wuzhen-booking-submit,.cf-oneday-submit), body.single-trip .cf-product-submit button { background:#c8922e; color:#171512; }
/* Consistent spacing, existing fields only. */
body.single-trip .cf-tour-section, body.single-trip #cf-tour-refund-policy { padding:64px 0; }
body.single-trip .cf-tour-heading, body.single-trip #cf-refund-title { font:600 34px/1.2 Georgia,serif; letter-spacing:-.015em; margin:0 0 24px; color:#171512; }
body.single-trip .cf-tour-kicker, body.single-trip .cf-refund-kicker { font-size:12px; color:#57534d; letter-spacing:.06em; margin-bottom:12px; }
body.single-trip .cf-tour-snapshot { padding:24px 0; background:#fff; border-bottom:1px solid #dedbd4; }
body.single-trip .cf-tour-snapshot__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
body.single-trip .cf-tour-snapshot__item { padding:0; text-align:left; border:0; min-width:0; }
body.single-trip .cf-tour-snapshot__icon, body.single-trip .cf-tour-feature__icon { display:none; }
body.single-trip .cf-tour-snapshot__label { font-size:12px; color:#57534d; letter-spacing:.04em; }
body.single-trip .cf-tour-snapshot__value { display:block; font-size:16px; font-weight:600; line-height:1.5; margin-top:8px; }
body.single-trip .cf-tour-feature-grid { gap:24px; }
body.single-trip .cf-tour-feature { padding:0; background:transparent; border:0; box-shadow:none; }
body.single-trip .cf-tour-feature h3 { font:600 19px/1.4 Arial,sans-serif; margin:0 0 12px; }
body.single-trip .cf-tour-feature p { font-size:16px; color:#57534d; }
body.single-trip .cf-tour-overview { display:block; }
body.single-trip .cf-tour-overview__copy { max-width:70ch; font-size:17px; line-height:1.75; color:#57534d; }
body.single-trip .cf-tour-overview__copy p { margin-bottom:20px; }
/* Itinerary retains native accordion behavior and factual sequence. */
body.single-trip .cf-tour-accordion, body.single-trip .cf-tour-faq-list { max-width:920px; }
body.single-trip .cf-tour-day__button { padding:24px 0; grid-template-columns:80px 1fr 24px; gap:16px; }
body.single-trip .cf-tour-day__number { color:#79500a; letter-spacing:.04em; }
body.single-trip .cf-tour-day__title { font:600 20px/1.4 Arial,sans-serif; }
body.single-trip .cf-tour-day__content { padding:0 24px 24px 96px; max-width:76ch; font-size:16px; }
body.single-trip :is(.cf-wuzhen-itinerary-list,.cf-oneday-itinerary-list) { display:grid; grid-template-columns:1fr; gap:0; max-width:920px; }
body.single-trip :is(.cf-wuzhen-itinerary-card,.cf-oneday-itinerary-card) { padding:24px 0; border:0; border-bottom:1px solid #dedbd4; background:transparent; border-radius:0; box-shadow:none; }
body.single-trip :is(.cf-wuzhen-itinerary-card,.cf-oneday-itinerary-card) h3 { font:600 20px/1.4 Arial,sans-serif; margin:12px 0; }
body.single-trip :is(.cf-wuzhen-itinerary-card,.cf-oneday-itinerary-card) p, body.single-trip :is(.cf-wuzhen-section-intro,.cf-oneday-section-intro) { max-width:70ch; }
/* Two calm lists; no new promises or badges. */
body.single-trip :is(.cf-tour-inclusions,.cf-oneday-includes-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
body.single-trip :is(.cf-tour-list-card,.cf-oneday-list-card) { padding:24px; border:1px solid #dedbd4; border-radius:12px; box-shadow:none; background:#fff; }
body.single-trip :is(.cf-tour-list-card,.cf-oneday-list-card) h3 { font:600 20px/1.4 Arial,sans-serif; margin-bottom:20px; }
body.single-trip :is(.cf-tour-list-card,.cf-oneday-list-card) li { font-size:16px; margin-bottom:12px; color:#57534d; }
body.single-trip :is(.cf-tour-list-card,.cf-oneday-list-card) li::before { color:#57534d; }
body.single-trip .cf-tour-faq-button { min-height:56px; padding:20px 0; font:600 18px/1.5 Arial,sans-serif; text-align:left; }
body.single-trip .cf-tour-faq-answer { font-size:16px; max-width:70ch; }
body.single-trip .cf-tour-page :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #79500a; outline-offset:4px; }
body.single-trip .cf-tour-page input:not([type=hidden]), body.single-trip .cf-tour-page select { min-height:48px; font-size:16px; }
body.single-trip :is(.cf-wuzhen-booking-panel,.cf-oneday-booking-panel) { border-radius:12px; box-shadow:none; border:1px solid #dedbd4; padding:24px; }
body.single-trip :is(.cf-wuzhen-booking-total,.cf-oneday-total) { font-variant-numeric:tabular-nums; }
/* Existing galleries and controls remain operational. */
body.single-trip :is(.cf-wuzhen-picture-slide,.cf-oneday-slide) { border-radius:12px; overflow:hidden; }
body.single-trip :is(.cf-wuzhen-picture-slide,.cf-oneday-slide) img { object-fit:cover; }
body.single-trip :is(.cf-wuzhen-carousel-nav,.cf-oneday-arrow) { min-width:44px; min-height:44px; }
body.single-trip .cf-tour-related-grid { gap:24px; }
body.single-trip .cf-tour-related { border:1px solid #dedbd4; border-radius:12px; box-shadow:none; overflow:hidden; }
body.single-trip .cf-tour-related__image { height:auto; aspect-ratio:4/3; }
body.single-trip .cf-tour-related__body { padding:24px; }
body.single-trip .cf-tour-related h3 { font:600 20px/1.4 Arial,sans-serif; }
body.single-trip #cf-tour-refund-policy table { width:100%; font-size:16px; }
body.single-trip #cf-tour-refund-policy th, body.single-trip #cf-tour-refund-policy td { padding:16px; overflow-wrap:anywhere; }
@media(max-width:1024px) {
 body.single-trip .cf-tour-hero h1 { font-size:36px; }
 body.single-trip .cf-tour-hero__content { padding:32px 24px 32px 0; }
 body.single-trip .cf-tour-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.single-trip .cf-tour-snapshot__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px) {
 body.single-trip .cf-tour-inner, body.single-trip .cf-refund-inner { width:calc(100% - 40px); }
 body.single-trip .cf-tour-hero { background-size:100% 220px; background-position:center top; padding-top:220px; }
 body.single-trip .cf-tour-hero__content { width:100%; padding:24px 0 32px; }
 body.single-trip .cf-tour-hero h1 { font-size:32px; line-height:1.15; }
 body.single-trip .cf-tour-hero__subtitle { font-size:16px; }
 body.single-trip .cf-tour-hero__suitable { font-size:13px; margin-bottom:16px; }
 body.single-trip .cf-tour-section, body.single-trip #cf-tour-refund-policy { padding:40px 0; }
 body.single-trip .cf-tour-heading, body.single-trip #cf-refund-title { font-size:28px; }
 body.single-trip .cf-tour-snapshot__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
 body.single-trip :is(.cf-tour-inclusions,.cf-oneday-includes-grid), body.single-trip .cf-tour-related-grid { grid-template-columns:1fr; }
 body.single-trip :is(.cf-tour-list-card,.cf-oneday-list-card) { padding:20px; }
 body.single-trip .cf-tour-day__button { grid-template-columns:58px 1fr 20px; gap:12px; }
 body.single-trip .cf-tour-day__title { font-size:18px; }
 body.single-trip .cf-tour-day__content { padding:0 0 24px; }
 body.single-trip .cf-tour-overview__copy { font-size:16px; }
 body.single-trip #cf-tour-refund-policy th, body.single-trip #cf-tour-refund-policy td { padding:12px; font-size:14px; }
}
/* Style the existing conversion bar; preserve its links and WhatsApp events. */
@media(max-width:767px) {
 body.single-trip .cf-product-mobile-cta { padding:12px 16px calc(12px + env(safe-area-inset-bottom)); gap:12px; background:#fff; border-top:1px solid #dedbd4; box-shadow:none; }
 body.single-trip .cf-product-mobile-cta a { min-height:48px; border-radius:6px; font:600 14px/1.4 Arial,sans-serif; }
 body.single-trip .cf-product-mobile-cta__primary { background:#c8922e; color:#171512 !important; }
 body.single-trip .cf-product-mobile-cta__whatsapp { background:#fff; color:#171512 !important; border:1px solid #b4afa4; }
 body.single-trip #footer { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
 body.single-trip #plan-this-journey { scroll-margin-top:80px; }
}

/* END PRODUCT UI SHARED SYSTEM */

/* Existing one-day renderer forces cover!important. Restore the approved hero crop only. */
body.single-trip .cf-tour-page:has(.cf-oneday-route-section) .cf-tour-hero { background-size:50% 100%!important; background-position:right center!important; }
@media(max-width:767px) {
body.single-trip .cf-tour-page:has(.cf-oneday-route-section) .cf-tour-hero { background-size:100% 220px!important; background-position:center top!important; }
}

/* Long one-day time labels: preserve words within the existing 74px mobile rail. */
@media(max-width:767px) {
 body.single-trip .cf-oneday-time { font:600 14px/1.5 Arial,sans-serif; overflow-wrap:normal; word-break:normal; }
}
