/* =========================================================
   Huaxia Journeys — 页面共用版式 + 目的地详情页
   （mu-plugins/pages/*.html 使用；类名均带前缀，不会外泄到主题）
   ========================================================= */

/* ---------- 通用容器与排版 ---------- */

.hjx-page{
    width:100%;
}

.hjx-wrap{
    width:min(1160px, calc(100% - 48px));
    margin:0 auto;
}

.hjx-eyebrow{
    display:block;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#b72b24;
    margin:0 0 16px;
}

/* ---------- 页面横幅（About / Destinations / 目的地详情共用） ---------- */

.hjx-page-hero{
    position:relative;
    padding:122px 0 84px;
    text-align:center;
    color:#fff;
    background:linear-gradient(150deg,#16222f 0%,#23364a 56%,#2e4459 100%);
}

.hjx-page-hero .hjx-eyebrow{
    color:#ddbd91;
}

.hjx-page-hero h1{
    font-size:clamp(32px, 4.4vw, 54px);
    line-height:1.14;
    font-weight:600;
    letter-spacing:-1px;
    color:#fff;
    max-width:900px;
    margin:0 auto 22px;
}

.hjx-page-hero p{
    max-width:760px;
    margin:0 auto;
    font-size:17px;
    line-height:1.85;
    color:rgba(255,255,255,.84);
}

/* ---------- 段落区块 ---------- */

.hjx-intro{
    padding:88px 0;
    background:#f7f2e8;
}

.hjx-intro h2{
    font-size:clamp(28px, 3.4vw, 42px);
    line-height:1.18;
    font-weight:600;
    color:#18283b;
    margin:0 0 20px;
}

.hjx-intro p{
    font-size:17px;
    line-height:1.85;
    color:#4a4a4a;
    margin:0 0 18px;
}

.hjx-intro .hjx-wrap > p:last-child{
    margin-bottom:0;
}

/* =========================================================
   目的地详情页（Beijing / Xi'an / Luoyang …）
   ========================================================= */

/* ---------- 顶部大图横幅 ---------- */

.hxd-banner{
    position:relative;
    min-height:64vh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    isolation:isolate;
    color:#fff;
}

@supports (min-height:64svh){
    .hxd-banner{
        min-height:64svh;
    }
}

.hxd-banner-media{
    position:absolute;
    inset:0;
    z-index:-2;
    background-color:#1b222a;
    /* 每页通过行内 --hxd-banner / --hxd-banner-sm 指定自己的图 */
    background-image:var(--hxd-banner);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transform:scale(1.02);
}

.hxd-banner::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(to top, rgba(9,10,12,.94) 0%, rgba(9,10,12,.62) 42%, rgba(9,10,12,.24) 100%),
        linear-gradient(100deg, rgba(14,10,9,.72) 0%, rgba(20,15,13,.30) 55%, rgba(30,22,18,.12) 100%);
}

.hxd-banner-inner{
    width:min(1160px, calc(100% - 48px));
    margin:0 auto;
    padding:130px 0 58px;
}

.hxd-crumb{
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.66);
    margin:0 0 22px;
}

.hxd-crumb a{
    color:#ddbd91;
    text-decoration:none;
}

.hxd-crumb a:hover{
    text-decoration:underline;
}

.hxd-banner h1{
    font-size:clamp(38px, 5.4vw, 68px);
    line-height:1.04;
    font-weight:600;
    letter-spacing:-1.5px;
    color:#fff;
    margin:0 0 18px;
}

.hxd-banner-lead{
    max-width:740px;
    font-size:clamp(16px, 1.4vw, 19px);
    line-height:1.8;
    color:rgba(255,255,255,.88);
    margin:0;
}

/* ---------- 速览条 ---------- */

.hxd-facts{
    background:#fff;
    border-bottom:1px solid #eceae4;
}

.hxd-facts-grid{
    width:min(1160px, calc(100% - 48px));
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
}

.hxd-fact{
    padding:30px 26px 32px;
    border-left:1px solid #eceae4;
}

.hxd-fact:first-child{
    border-left:0;
}

.hxd-fact b{
    display:block;
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#b72b24;
    margin:0 0 9px;
}

.hxd-fact span{
    font-size:15px;
    line-height:1.62;
    color:#3f3f3f;
}

/* ---------- 内容区块 ---------- */

.hxd-section{
    padding:86px 0;
}

.hxd-cream{
    background:#f7f2e8;
}

.hxd-narrow{
    width:min(840px, calc(100% - 48px));
    margin:0 auto;
}

.hxd-wide{
    width:min(1160px, calc(100% - 48px));
    margin:0 auto;
}

.hxd-section h2{
    font-size:clamp(28px, 3.4vw, 42px);
    line-height:1.18;
    font-weight:600;
    color:#18283b;
    margin:0 0 22px;
}

.hxd-section p{
    font-size:17px;
    line-height:1.85;
    color:#4a4a4a;
    margin:0 0 18px;
}

.hxd-lead{
    font-size:19px !important;
    line-height:1.8 !important;
    color:#2f3a45 !important;
}

/* ---------- 亮点网格 ---------- */

.hxd-highlights{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:26px;
    margin-top:46px;
}

.hxd-highlight{
    background:#fff;
    border-radius:14px;
    padding:32px 32px 30px;
    box-shadow:0 10px 28px rgba(20,28,38,.07);
}

.hxd-highlight em{
    display:block;
    font-style:normal;
    font-size:12px;
    letter-spacing:2px;
    font-weight:700;
    color:#b72b24;
}

.hxd-highlight h3{
    font-size:21px;
    line-height:1.3;
    color:#18283b;
    margin:12px 0 10px;
}

.hxd-highlight p{
    font-size:15.5px;
    line-height:1.76;
    color:#667085;
    margin:0;
}

/* ---------- 逐日参考行程 ---------- */

.hxd-itin{
    margin-top:44px;
    border-top:1px solid #e2ddd1;
}

.hxd-day{
    display:grid;
    grid-template-columns:132px 1fr;
    gap:30px;
    padding:34px 0;
    border-bottom:1px solid #e2ddd1;
}

.hxd-day-label{
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:700;
    color:#b72b24;
    padding-top:5px;
}

.hxd-day h3{
    font-size:20px;
    line-height:1.32;
    color:#18283b;
    margin:0 0 10px;
}

.hxd-day p{
    font-size:16px;
    line-height:1.78;
    color:#4a4a4a;
    margin:0 0 10px;
}

.hxd-day ul{
    margin:0;
    padding-left:20px;
}

.hxd-day li{
    font-size:15.5px;
    line-height:1.72;
    color:#5a5a5a;
    margin-bottom:7px;
}

/* ---------- 实用贴士 ---------- */

.hxd-tips{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:28px 40px;
    margin-top:42px;
}

.hxd-tip{
    border-left:3px solid #b72b24;
    padding:2px 0 2px 20px;
}

.hxd-tip h3{
    font-size:17px;
    line-height:1.4;
    color:#18283b;
    margin:0 0 8px;
}

.hxd-tip p{
    font-size:15px;
    line-height:1.74;
    color:#5a5a5a;
    margin:0;
}

/* ---------- 图片预览 ---------- */

.hxd-gallery{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:42px 0 0;
}

.hxd-gallery figure{
    margin:0;
}

.hxd-gallery img{
    width:100%;
    height:340px;
    object-fit:cover;
    border-radius:14px;
    display:block;
}

.hxd-gallery figcaption{
    font-size:13.5px;
    line-height:1.6;
    color:#8a8378;
    margin-top:12px;
}

/* ---------- 组合路线提示 ---------- */

.hxd-combine{
    margin-top:46px;
    padding:30px 34px 26px;
    background:#fff;
    border:1px solid #eee8dc;
    border-radius:14px;
}

.hxd-combine h3{
    font-size:19px;
    color:#18283b;
    margin:0 0 12px;
}

.hxd-combine p{
    font-size:15.5px;
    line-height:1.76;
    color:#5a5a5a;
    margin:0 0 16px;
}

.hxd-links a{
    display:inline-block;
    margin:0 12px 10px 0;
    font-size:14px;
    font-weight:600;
    color:#8f251f;
    text-decoration:none;
    border-bottom:1px solid rgba(143,37,31,.32);
    padding-bottom:2px;
}

.hxd-links a:hover{
    border-bottom-color:#8f251f;
}

/* ---------- 卡片上的「阅读完整指南」链接 ---------- */

a.hjx-card{
    text-decoration:none !important;
    display:flex !important;
}

.hjx-card-more{
    display:block !important;
    margin:14px 20px 0 !important;
    font-size:13.5px !important;
    font-weight:600 !important;
    letter-spacing:.3px !important;
    color:#8f251f !important;
}

a.hjx-card:hover .hjx-card-more{
    color:#b72b24 !important;
}

/* ---------- 响应式 ---------- */

@media (max-width:1000px){

    .hxd-facts-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .hxd-fact{
        border-top:1px solid #eceae4;
    }

    .hxd-fact:nth-child(-n+2){
        border-top:0;
        border-left:0;
    }

    .hxd-fact:nth-child(odd){
        border-left:0;
    }

    .hxd-highlights,
    .hxd-tips{
        grid-template-columns:1fr;
    }
}

@media (max-width:760px){

    .hjx-wrap,
    .hxd-banner-inner,
    .hxd-facts-grid,
    .hxd-narrow,
    .hxd-wide{
        width:calc(100% - 32px);
    }

    .hjx-page-hero{
        padding:98px 0 62px;
    }

    .hjx-intro{
        padding:60px 0;
    }

    .hxd-banner{
        min-height:58vh;
        background-position:58% 50%;
    }

    .hxd-banner-inner{
        padding:100px 0 42px;
    }

    .hxd-banner-media{
        background-image:var(--hxd-banner-sm);
        background-position:58% 50%;
    }

    .hxd-section{
        padding:60px 0;
    }

    .hxd-day{
        grid-template-columns:1fr;
        gap:10px;
        padding:26px 0;
    }

    .hxd-gallery{
        grid-template-columns:1fr;
    }

    .hxd-gallery img{
        height:230px;
    }

    .hxd-highlight{
        padding:26px 24px 24px;
    }
}


/* =========================================================
   LEGAL DOCUMENTS (Privacy / Terms / Cookie Policy)
   ========================================================= */

.hxl-doc{
    background:#fbf8f4;
    padding:72px 0 96px;
}

.hxl-wrap{
    max-width:860px;
    margin:0 auto;
    padding:0 24px;
}

.hxl-doc h2{
    font-size:26px;
    font-weight:600;
    line-height:1.35;
    color:#1c1c1c;
    margin:56px 0 18px;
    scroll-margin-top:110px;
}

.hxl-doc h2:first-of-type{
    margin-top:0;
}

.hxl-doc h3{
    font-size:18px;
    font-weight:600;
    color:#1c1c1c;
    margin:32px 0 12px;
}

.hxl-doc p,
.hxl-doc li{
    font-size:16px;
    line-height:1.85;
    color:#4a453f;
    margin:0 0 16px;
}

.hxl-doc ul,
.hxl-doc ol{
    margin:0 0 20px;
    padding-left:22px;
}

.hxl-doc li{
    margin:0 0 8px;
}

.hxl-doc a{
    color:#8f251f;
    text-decoration:underline;
    text-underline-offset:2px;
}

.hxl-doc a:hover{
    color:#c8102e;
}

.hxl-toc{
    background:#fff;
    border:1px solid #e8e0d6;
    border-left:3px solid #8f251f;
    border-radius:4px;
    padding:22px 26px 20px;
    margin:0 0 48px;
}

.hxl-toc strong{
    display:block;
    font-size:13px;
    letter-spacing:1.2px;
    text-transform:uppercase;
    color:#8f251f;
    margin-bottom:12px;
}

.hxl-toc ol{
    margin:0;
    padding-left:20px;
    columns:2;
    column-gap:34px;
}

.hxl-toc li{
    font-size:15px;
    margin:0 0 7px;
    break-inside:avoid;
}

.hxl-toc a{
    text-decoration:none;
}

.hxl-toc a:hover{
    text-decoration:underline;
}

.hxl-table-wrap{
    overflow-x:auto;
    margin:8px 0 26px;
    -webkit-overflow-scrolling:touch;
}

.hxl-table{
    width:100%;
    min-width:560px;
    border-collapse:collapse;
    background:#fff;
    font-size:14px;
}

.hxl-table th,
.hxl-table td{
    border:1px solid #e8e0d6;
    padding:11px 13px;
    text-align:left;
    vertical-align:top;
    color:#4a453f;
    line-height:1.65;
}

.hxl-table th{
    background:#f4eee6;
    font-weight:600;
    color:#1c1c1c;
}

.hxl-doc code{
    background:#f2ece4;
    border-radius:3px;
    padding:1px 5px;
    font-size:13px;
    color:#8f251f;
}

.hxl-linkbtn{
    background:none;
    border:none;
    padding:0;
    font:inherit;
    color:#8f251f;
    text-decoration:underline;
    text-underline-offset:2px;
    cursor:pointer;
}

.hxl-linkbtn:hover{
    color:#c8102e;
}

.hxl-updated{
    margin-top:52px;
    padding-top:20px;
    border-top:1px solid #e8e0d6;
    font-size:14px;
    color:#8a8177;
}

@media (max-width:720px){
    .hxl-doc{ padding:44px 0 64px; }
    .hxl-doc h2{ font-size:22px; margin:44px 0 14px; }
    .hxl-doc h3{ font-size:17px; }
    .hxl-doc p,
    .hxl-doc li{ font-size:15px; }
    .hxl-toc ol{ columns:1; }
    .hxl-toc{ padding:18px 20px 16px; }
}
