/* ==========================================================
   single.css — 单页（Post / Page）公共样式
   ----------------------------------------------------------
   加载方式：functions.php 的 wp_enqueue_style（版本号用 filemtime 自动失效）
   加载条件：is_singular( array( 'post', 'tour', 'page' ) )
   内容来源（2026-10-17 已合并，不再单独加载）：
     - style-single.css   单页基础样式
     - hotel-section.css  酒店区块（已迁至 tour-page.css）
     - style-tab.css      Tab 切换样式
     - 目录卡 content-preview / 推荐卡片 / 正文表格等
   ----------------------------------------------------------
   Page 结构： #primary.content-page > main > article.hentry
              ├─ div.post-thumbnail（特色图）
              ├─ h1.entry-title
              └─ div.entry-content（目录 + 正文 + 画廊）
   ========================================================== */

/* ---------- P0. 容器居中（内容区 1160px，左右 padding 10px） ---------- */
.page-template-default #primary.content-page {
    max-width: 1160px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
    box-sizing: border-box;
}

/* Page 正文结束后直接接页脚（无评论/分页/相关推荐），
   父主题给 article.hentry 的 45px 下边距会变成页面底部空白，这里去掉 */
.page-template-default #primary.content-page article.hentry {
    margin-bottom: 0;
}
/* 正文最后一段的 margin-bottom（约 25px）同样会变成底部空白：
   页面末尾无需为下一段留间距 */
.page-template-default #primary.content-page .entry-content > *:last-child {
    margin-bottom: 0;
}

/* ---------- P1. 标题 ---------- */
.page-template-default #primary.content-page .entry-title {
    position: relative;
    font-size: clamp(1.75rem, 3.2vw, 2.6rem);
    line-height: 1.25;
    margin: 0 0 1.4rem;
    padding-bottom: 1.1rem;
    letter-spacing: -0.01em;
}

.page-template-default #primary.content-page .entry-title::after {
    content: '';
    display: block;
    width: 84px;
    height: 5px;
    margin-top: 0.9rem;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary) 0%, #f0a060 70%, var(--secondary) 100%);
}

/* ---------- P2. 特色图（全宽展示，突出视觉） ---------- */
.page-template-default #primary.content-page .post-thumbnail {
    margin: 0 0 1.8rem;
}

.page-template-default #primary.content-page .post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(17,24,39,.12);
}

/* ---------- P3. 正文排版（跟随容器宽度） ---------- */
.page-template-default #primary.content-page .entry-content {
    font-size: 1.02rem;
    line-height: 1.85;
    color: #374151;
    max-width: none;
}

.page-template-default #primary.content-page .entry-content p {
    margin: 0 0 1.4em;
}

/* Travel Card 描述文字：保持插件自身 margin:0，不被上面规则覆盖 */
.page-template-default #primary.content-page .entry-content p.cxt-tc-tour-description {
    margin: 0;
}

.page-template-default #primary.content-page .entry-content img,
.page-template-default #primary.content-page .entry-content figure img {
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(17,24,39,.10);
    height: auto;
}

.page-template-default #primary.content-page .entry-content figure {
    margin: 1.8em auto;
}

.page-template-default #primary.content-page .entry-content figcaption,
.page-template-default #primary.content-page .entry-content .wp-caption-text {
    font-size: 0.95rem;
    font-style: normal;
    color: #9ca3af;
    text-align: center;
    margin-top: 1.2em;
    padding: 0;
    border-top: none;
    border-bottom: none;
}

/* ---------- P4. 手写目录卡（Classic Editor: h2 + ul > li > a[href^="#"]） ---------- */
/* 目录 ul：仅当标题后紧跟的 ul 含锚点链接（#xxx）才视为目录 */
.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) {
    position: relative;
    max-width: 100%;
    margin: -0.6em 0 2.2em;
    padding: 22px 24px 20px 28px;
    background: linear-gradient(180deg, #fffdf9 0%, #fff7f0 100%);
    border: 1px solid #f3e3d5;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(208,103,32,.07);
    list-style: none;
    width: 100%;
    /* 桌面端两列 */
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
    row-gap: 4px;
}

.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li {
    position: relative;
    margin: 0;
    padding: 7px 0 7px 30px;
    border-bottom: 1px dashed #f0e2d3;
    font-size: 0.96rem;
    list-style: none;
    /* 防止文字换行后错位 */
    break-inside: avoid;
    display: block;
}

/* 两列时：第二列的项去掉左边界线，避免视觉割裂（保留第一列分隔） */
.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li:nth-child(odd) {
    border-right: 1px dashed #f0e2d3;
    padding-right: 20px;
}

.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li:last-child {
    border-bottom: none;
}

.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li:nth-last-child(-n+2) {
    border-bottom: none;
}

/* 序号圆点 */
.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) {
    counter-reset: page-preview-item;
}

/* 每个目录项标题前的小圆点标识 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 23px; /* 与首行文字垂直居中（padding-top 10px + 行高中线） */
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
}

.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li a {
    color: #374151;
    text-decoration: none;
    transition: color .2s ease, padding-left .2s ease;
}

.page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li a:hover {
    color: var(--primary);
    padding-left: 4px;
    font-weight: 700;
}

/* 目录标题 h2 样式（紧邻目录 ul 的标题，如 "Content Preview" / "In This Page"） */
.page-template-default #primary.content-page .entry-content h2:has(+ ul:not(.content-preview) > li > a[href^="#"]) {
    margin: 2em 0 0.9rem;
    padding: 0 0 0 28px;
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--primary);
    border-bottom: none;
}

.page-template-default #primary.content-page .entry-content h2:has(+ ul:not(.content-preview) > li > a[href^="#"])::after {
    display: none;
}

/* ---------- P5. 正文小节标题（手写 h2/h3，非目录标题） ---------- */
/* 与文章页 h2.content-title 视觉一致：左橙条 + 渐变背景 + 圆角 */
.page-template-default #primary.content-page .entry-content h2:not(:has(+ ul > li > a[href^="#"])) {
    position: relative;
    margin: 2em 0 1em;
    padding: 10px 0 10px 18px;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    line-height: 1.35;
    border-left: 5px solid var(--primary);
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, rgba(208,103,32,0) 60%);
}

.page-template-default #primary.content-page .entry-content h2:not(:has(+ ul > li > a[href^="#"]))::after {
    display: none;
}

.page-template-default #primary.content-page .entry-content h3 {
    margin: 1.5em 0 0.7em;
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    color: #111827;
}

/* ---------- P6. 链接 / 引用 / 表格 ---------- */
.page-template-default #primary.content-page .entry-content a:not(.cxt-tc-explore-btn):not(.etc-tour-card-link) {
    color: var(--primary);
    text-decoration: underline;
    text-decoration-color: rgba(208,103,32,.35);
    text-underline-offset: 3px;
    transition: text-decoration-color .2s ease;
}

.page-template-default #primary.content-page .entry-content a:not(.cxt-tc-explore-btn):not(.etc-tour-card-link):hover {
    text-decoration-color: var(--primary);
}

.page-template-default #primary.content-page .entry-content blockquote {
    margin: 1.8em 0;
    padding: 18px 24px;
    background: #fffaf5;
    border-left: 5px solid var(--primary);
    border-radius: 0 14px 14px 0;
    color: #4b5563;
    font-style: italic;
}

.page-template-default #primary.content-page .entry-content table {
    width: 100%;
    margin: 1.6em 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    font-size: 0.95rem;
}

.page-template-default #primary.content-page .entry-content table th {
    background: #fdf3ea;
    color: #7c2d12;
    font-weight: 700;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid var(--primary);
}

.page-template-default #primary.content-page .entry-content table td {
    padding: 11px 16px;
    border-bottom: 1px solid #f0f1f3;
    vertical-align: top;
}

.page-template-default #primary.content-page .entry-content table tr:last-child td {
    border-bottom: none;
}

.page-template-default #primary.content-page .entry-content table tr:nth-child(even) td {
    background: #fafbfc;
}

/* ---------- P7. 画廊美化（尊重 WP gallery-columns-N 列数） ---------- */
.page-template-default #primary.content-page .entry-content .gallery {
    display: grid;
    gap: 18px;
    margin: 1.8em 0 !important;
}

/* 清除父主题 clearfix 伪元素：display:table 的 ::before/::after 在 grid 容器里
   会成为 grid item 占掉格子（2列时形成 2x2 四宫格，图片被挤到右上/左下） */
.page-template-default #primary.content-page .entry-content .gallery::before,
.page-template-default #primary.content-page .entry-content .gallery::after {
    content: none !important;
    display: none !important;
}

/* 按 WP 输出的列数精确排布（gallery-columns-2 就两列，图片接近原尺寸） */
.page-template-default #primary.content-page .entry-content .gallery-columns-1 { grid-template-columns: repeat(1, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.page-template-default #primary.content-page .entry-content .gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }

.page-template-default #primary.content-page .entry-content .gallery-item {
    margin: 0 !important;
    padding: 0 !important;
    /* 覆盖父主题 float:left + width:50% 的旧规则，让 grid 布局完全接管 */
    float: none !important;
    width: auto !important;
    max-width: 100%;
}

.page-template-default #primary.content-page .entry-content .gallery-item .gallery-icon {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(17,24,39,.10);
}

.page-template-default #primary.content-page .entry-content .gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
    transition: transform .35s ease;
}

.page-template-default #primary.content-page .entry-content .gallery-item:hover img {
    transform: scale(1.03);
}

/* ---------- P8. 响应式 ---------- */
@media (max-width: 767px) {
    .page-template-default #primary.content-page {
        padding: 0 0 30px 0;
    }
    .page-template-default #primary.content-page .entry-content {
        font-size: 1rem;
        line-height: 1.75;
    }
    .page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) {
        padding: 16px 16px 14px 20px;
        /* 移动端回单列 */
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li {
        padding-left: 24px;
        font-size: 0.9rem;
    }
    .page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li:nth-child(odd) {
        border-right: none;
        padding-right: 0;
    }
    .page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li:nth-last-child(-n+2) {
        border-bottom: 1px dashed #f0e2d3;
    }
    .page-template-default #primary.content-page .entry-content h2 + ul:has(li > a[href^="#"]):not(.content-preview) li:last-child {
        border-bottom: none;
    }
    /* 移动端画廊全部单列，保证可读性 */
    .page-template-default #primary.content-page .entry-content .gallery {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   Single Post 部分（single.php 加载）
   ========================================================== */

/* ---------- 1. 文章页标题区 ---------- */
.single-post #primary.tour-page .entry-title {
    position: relative;
    font-size: clamp(1.5rem, 3.2vw, 2.6rem);
    line-height: 1.25;
    margin: 0 0 1.1rem;
    padding-bottom: 1.1rem;
    letter-spacing: -0.01em;
}

/* 无侧栏文章页容器宽度：与 Page（content-page）保持一致（1160px 居中，左右各 10px padding）
   single-blog.php 在无 _custom_sidebar_template 时给 #primary 加 .no-sidebar 类。 */
.single-post #primary.tour-page.no-sidebar {
    max-width: 1160px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

/* 标题下品牌色装饰线（橙色渐变 + 蓝色点缀） */
.single-post #primary.tour-page .entry-title::after {
    content: '';
    display: block;
    width: 84px;
    height: 5px;
    margin-top: 0.9rem;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary) 0%, #f0a060 70%, var(--secondary) 100%);
}

/* 文章元信息行 — 头像 + 胶囊化 */
.single-post #primary.tour-page .entry-content-wrapper .post-meta-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 2rem !important;
    padding: 12px 18px;
    background: #f8f9fb;
    border: 1px solid #eef0f4;
    border-radius: 14px;
    color: #6b7280 !important;
    font-size: 0.9rem;
}

.single-post #primary.tour-page .entry-content-wrapper .post-meta-bar .avatar {
    border-radius: 50%;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(208,103,32,.25);
}

.single-post #primary.tour-page .entry-content-wrapper .post-meta-bar a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.single-post #primary.tour-page .entry-content-wrapper .post-meta-bar .posted-on {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 99px;
    color: #4b5563;
    font-size: 0.82rem;
    white-space: nowrap;
}

/* ---------- 2. 正文阅读排版 ---------- */
.single-post #primary.tour-page .entry-content {
    font-size: 1.125rem;
    line-height: 1.85;
    color: #374151;
}

.single-post #primary.tour-page .entry-content p {
    margin: 0 0 1.4em;
    font-size: 1.125rem;
}

/* Travel Card 描述文字：保持插件自身 margin:0，不被上面规则覆盖 */
.single-post #primary.tour-page .entry-content p.cxt-tc-tour-description {
    margin: 0;
}


/* 正文图片：圆角 + 阴影 */
.single-post #primary.tour-page .entry-content img,
.single-post #primary.tour-page .entry-content figure img {
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(17,24,39,.10);
    height: auto;
}

.single-post #primary.tour-page .entry-content figure {
    margin: 1.8em auto;
}

.single-post #primary.tour-page .entry-content figcaption,
.single-post #primary.tour-page .entry-content .wp-caption-text,
.single-post #primary.tour-page .tour-content-box figcaption,
.single-post #primary.tour-page .tour-content-box .wp-caption-text,
.single-post #primary.tour-page .tab-content figcaption,
.single-post #primary.tour-page .tab-content .wp-caption-text,
.single-post #primary.tour-page .tour-summary figcaption,
.single-post #primary.tour-page .tour-summary .wp-caption-text,
.single-post #primary.tour-page .accordion-body figcaption,
.single-post #primary.tour-page .accordion-body .wp-caption-text {
    font-size: 0.95rem;
    font-style: normal;
    color: #9ca3af;
    text-align: center;
    margin-top: 1.2em;
    padding: 0;
    border-top: none;
    border-bottom: none;
}

/* ---------- 3. 内容目录卡 (content-preview) ---------- */
/* 一行两列（grid）；移动端回退单列见下方 media query */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview {
    position: relative;
    max-width: 100%;
    margin: 0 0 2.2em;
    padding: 20px;
    background: linear-gradient(180deg, #fffdf9 0%, #fff7f0 100%);
    border: 1px solid #f3e3d5;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(208,103,32,.07);
    list-style: none;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
}

/* Content Preview 列数：编辑界面选项（桌面/平板 1 列 or 2 列）。
   由 functions.php 写入 body.cxt-cp-cols-1（文章选项选“1 列”时）。
   .single-post / .page-template-default 本身就在 <body> 上，故选择器直接从
   body.cxt-cp-cols-1 接 #primary；特异性 (1,4,2) 高于主规则 (1,4,1)，无需 !important。
   移动端（<=767px）不受影响，始终单列（见下方 media query）。 */
@media (min-width: 768px) {
    body.cxt-cp-cols-1 #primary.tour-page .entry-content ul.content-preview,
    body.cxt-cp-cols-1 #primary.content-page .entry-content ul.content-preview {
        grid-template-columns: 1fr;
    }
    /* 单列模式下，恢复被“两列收尾”规则（nth-last-child）去掉的分隔线 */
    body.cxt-cp-cols-1 :is(#primary.tour-page, #primary.content-page) .entry-content ul.content-preview li:nth-last-child(2):nth-child(odd) {
        border-bottom: 1px dashed #f0e2d3;
    }
}

/* 目录卡标题（紧邻的 h2 "Content Preview"） */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content h2 + ul.content-preview {
    margin-top: -0.8em;
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content h2:has(+ ul.content-preview) {
    margin: 0 0 2.4rem;
    padding: 0 0 0 28px;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    letter-spacing: 0.02em;
    color: #000;
    border-bottom: none;
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content h2:has(+ ul.content-preview)::after {
    display: none;
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content h2 + ul.content-preview + h2.content-title {
    margin-top: 2.2em;
}

/* 目录项 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li {
    position: relative;
    margin: 0;
    padding: 10px 0 10px 20px; /* 左侧留出圆点位置 */
    border-bottom: 1px dashed #f0e2d3;
    font-size: 1.125rem;
}

/* 每个目录项标题前的小圆点标识 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 23px; /* 与首行文字垂直居中（padding-top 10px + 行高中线） */
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li:last-child {
    border-bottom: none;
}
/* 两列布局：最后一行收尾——偶数项时倒数第 2 个也去掉分隔线
   （nth-child(odd) 保证只在总数为偶数时命中，奇数总数时它属于上一行需保留线） */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview {
    counter-reset: preview-item;
}

/* 特异性 (1,6,3)，必须压过下方 .entry-content a:not(..):not(..) (1,5,1) 的橙色链接规则 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li a:not(.cxt-tc-explore-btn):not(.etc-tour-card-link) {
    color: #374151;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s ease, padding-left .2s ease, text-underline-offset .15s ease;
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li a:not(.cxt-tc-explore-btn):not(.etc-tour-card-link):hover {
    font-weight: 600;
    padding-left: 0px;
    text-underline-offset: 6px; /* hover 时下划线下移 */
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li a:hover {
    color: var(--primary);
    padding-left: 4px;
    font-weight: 700;
    text-underline-offset: 7px; /* hover 时下划线下移 */
}

/* ---------- 4. 正文小节标题 content-title ---------- */
.single-post #primary.tour-page .entry-content h2.content-title {
    position: relative;
    margin: 2em 0 1em;
    padding: 10px 0 10px 18px;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    line-height: 1.35;
    border-left: 5px solid var(--primary);
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, rgba(208,103,32,0) 60%);
}

/* 普通 h2/h3 也统一视觉（排除目录标题 h2） */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content h2:not(.content-title):not(.hd):not(.etc-tour-card-title):not(:has(+ ul.content-preview)) {
    position: relative;
    margin: 1.8em 0 0.9em;
    font-size: clamp(1.2rem, 2.2vw, 1.6rem);
    padding-bottom: 0.5em;
    border-bottom: 2px solid #f1e3d6;
}

:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content h2:not(.content-title):not(.hd):not(.etc-tour-card-title):not(:has(+ ul.content-preview))::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 56px;
    height: 2px;
    background: var(--primary);
}

.single-post #primary.tour-page .entry-content h3:not(.hd) {
    margin: 1.5em 0 0.7em;
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    color: #111827;
}

/* ---------- 4b. 相关线路区块标题（item-post-related.php 输出的 .hz-related > h2）----------
   该区块在 single.php 末尾调用，位于 #primary 之外（祖先链：
   .hz-related > .col-full > .site-content > .hfeed.site > body），
   故通用小节标题规则不会命中；这里显式套用与 h2.content-title 一致的
   橙条标题，保持视觉统一。仅对冲突属性用 !important，不影响其它规则。 */
.single-post .hz-related h2,
.page-template-default .hz-related h2 {
    margin: 2.2em 0 1em;
    padding: 10px 0 10px 18px;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    line-height: 1.35;
    font-weight: 600;
    color: #1f2937;
    position: relative;
    border-left: 5px solid var(--primary);
    border-bottom: none !important;
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, rgba(208,103,32,0) 60%);
}

.single-post .hz-related h2::after,
.page-template-default .hz-related h2::after {
    display: none !important;
}

@media (max-width: 1024px) {
    .single-post .hz-related h2,
    .page-template-default .hz-related h2 {
		margin-top: 1em;
	}
}
/* ---------- 5. 正文链接 / 引用 / 表格 ---------- */
.single-post #primary.tour-page .entry-content a:not(.cxt-tc-explore-btn):not(.etc-tour-card-link) {
    color: var(--primary);
    text-decoration: underline;
    text-decoration-color: rgba(208,103,32,.35);
    text-underline-offset: 3px;
    transition: text-decoration-color .2s ease;
}

.single-post #primary.tour-page .entry-content a:not(.cxt-tc-explore-btn):not(.etc-tour-card-link):hover {
    text-decoration-color: var(--primary);
}

.single-post #primary.tour-page .entry-content blockquote {
    margin: 1.8em 0;
    padding: 18px 24px;
    background: #fffaf5;
    border-left: 5px solid var(--primary);
    border-radius: 0 14px 14px 0;
    color: #4b5563;
    font-style: italic;
}

.single-post #primary.tour-page .entry-content table {
    width: 100%;
    margin: 1.6em 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    font-size: 0.95rem;
}

.single-post #primary.tour-page .entry-content table th {
    background: #fdf3ea;
    color: #7c2d12;
    font-weight: 700;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid var(--primary);
}

.single-post #primary.tour-page .entry-content table td {
    padding: 11px 16px;
    border-bottom: 1px solid #f0f1f3;
    vertical-align: top;
}

.single-post #primary.tour-page .entry-content table tr:last-child td {
    border-bottom: none;
}

.single-post #primary.tour-page .entry-content table tr:nth-child(even) td {
    background: #fafbfc;
}

/* ---------- 6. 响应式 ---------- */
@media (max-width: 767px) {
    .single-post #primary.tour-page .entry-content-wrapper .post-meta-bar {
        padding: 10px 14px;
        font-size: 0.85rem;
    }
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview {
        padding: 10px;
        grid-template-columns: 1fr;
    }
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li {
        font-size: 16px;
    }
    /* 移动端单列后，恢复最后一项前的分隔线（上面 nth-last-child(2) 规则不再适用） */
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content ul.content-preview li:nth-last-child(2):nth-child(odd) {
        border-bottom: 1px dashed #f0e2d3;
    }
    .single-post #primary.tour-page .entry-content{
        font-size: 17px;
        line-height: 1.75;
    }
    .single-post #primary.tour-page .entry-content p {
        font-size: 17px;
    }
}

/* ============================================================
   Tour 段（single.php tour-page 分支加载）
   v=20260827b：行程时间轴 / Tab 导航 / 含不含项 现代化
   作用域严格限定 .single-post #primary.tour-page，不外泄到 Page
   ============================================================ */

/* Classic Editor 页面（文章/Page/线路）：h2-h6 字重统一 600，替代默认 700 */
.single-post #primary.tour-page h2,
.single-post #primary.tour-page h3,
.single-post #primary.tour-page h4,
.single-post #primary.tour-page h5,
.single-post #primary.tour-page h6,
.page-template-default #primary.content-page h2,
.page-template-default #primary.content-page h3,
.page-template-default #primary.content-page h4,
.page-template-default #primary.content-page h5,
.page-template-default #primary.content-page h6 {
    font-weight: 600;
}

/* 页面标题区 header：除 h1 外统一 font-weight 600 */
.single-post .page-header.hz-box :not(h1) {
    font-weight: 600;
}

/* ---------- T1. 行程时间轴（Day-by-day Itinerary） ---------- */
/* 覆盖父主题/style-single 的蓝色 icon 与虚线，统一为品牌橙 + 实线轴 */
.single-post #primary.tour-page .timeline-tour {
    margin: 28px 0 34px;
    position: relative;
}

/* 轴线：实线，品牌浅橙 */
.single-post #primary.tour-page .timeline-tour > ol > li:before {
    border-left: 2px solid rgba(208,103,32,.30) !important;
    width: 0;
    left: -27px;
    top: 40px;
    bottom: -58px;
}
.single-post #primary.tour-page .timeline-tour > ol > li:last-child:before {
    bottom: 0;
}
/* 移动端隐藏轴线 + 圆圈，并收掉左侧留白 */
@media (max-width: 767px) {
    .single-post #primary.tour-page .timeline-tour > ol > li {
        margin-left: 0 !important;
    }
    .single-post #primary.tour-page .timeline-tour > ol > li:before {
        display: none !important;
    }
    .single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle .time-icon,
    .single-post #primary.tour-page .timeline-tour > ol li:first-child > .accordion-toggle .time-icon,
    .single-post #primary.tour-page .timeline-tour > ol li:last-child > .accordion-toggle .time-icon {
        display: none !important;
    }
}

/* 每个 Day 卡片化 */
.single-post #primary.tour-page .timeline-tour > ol > li {
    position: relative;
    line-height: 1.7;
    margin-left: 44px;
    margin-bottom: 18px;
    background: #ffffff;
    border: 1px solid #eef0f4;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(17,24,39,.05);
}

/* Day 标题行（手风琴触发）*/
.single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 1.125rem;
    color: #1f2937 !important;
    padding: 16px 44px 16px 18px !important;
    position: relative;
    background: linear-gradient(90deg, rgba(208,103,32,.06) 0%, rgba(208,103,32,0) 70%);
    border-left: 4px solid var(--primary);
}
.single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle.collapsed {
    color: #374151 !important;
    background: #f8f9fb;
    border-left: 4px solid #d8dde6;
}
.single-post #primary.tour-page .timeline-tour > ol > li:not(:first-child) .accordion-toggle {
    border-top: none;
}
/* Day 标题里的 “Day N:” 用品牌橙强调 */
.single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle > span {
    color: var(--primary);
}
.single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle .attraction {
    font-weight: 400;
    color: #6b7280;
    font-size: .95rem;
    flex-basis: 100%;
    width: 100%;
    order: 2;
    margin-top: 6px;
    line-height: 1.5;
}

/* 统一圆形节点图标（覆盖原蓝/橙混用图标）*/
.single-post #primary.tour-page .timeline-tour > ol li > .accordion-toggle .time-icon,
.single-post #primary.tour-page .timeline-tour > ol li:first-child > .accordion-toggle .time-icon,
.single-post #primary.tour-page .timeline-tour > ol li:last-child > .accordion-toggle .time-icon {
    width: 30px !important;
    height: 30px !important;
    left: -47px !important;
    top: 40px !important;
    transform: translateY(-50%) !important;
    background-image: none !important;
    background-color: var(--primary) !important;
    border: 4px solid #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 2px rgba(208,103,32,.35) !important;
}

/* 展开/收起箭头：品牌橙 */
.single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle:after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23D06720' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    width: 24px !important;
    height: 24px !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background-color: transparent !important;
}
.single-post #primary.tour-page .timeline-tour > ol > li > .collapsed:after {
    transform: translateY(-50%) rotate(180deg) !important;
}

/* 折叠内容区（去掉空 Day 时的细分割线）*/
.single-post #primary.tour-page .timeline-tour > ol > li .collapse {
    padding: 16px 20px 20px;
    border-top: none;
}

/* 交通/餐饮/住宿 meta 行：icon + 标签圆角胶囊 */
.single-post #primary.tour-page .timeline-tour .itinerary-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.single-post #primary.tour-page .timeline-tour .itinerary-meta .meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f4f7ff;
    border: 1px solid #e2e9f7;
    border-radius: 999px;
    padding: 6px 14px 6px 10px;
    font-size: .9rem;
    color: #1f2937;
}
/* 空 meta-item（如某天无住宿/无交通/无餐）不渲染，去掉窄 bar */
.single-post #primary.tour-page .timeline-tour .itinerary-meta .meta-item:empty {
    display: none;
}
.single-post #primary.tour-page .timeline-tour .itinerary-meta .meta-item.transport::before {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201024%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Crect%20x%3D%22150%22%20y%3D%22260%22%20width%3D%22724%22%20height%3D%22400%22%20rx%3D%2280%22%20fill%3D%22%23D06720%22%2F%3E%3Crect%20x%3D%22200%22%20y%3D%22330%22%20width%3D%22280%22%20height%3D%22150%22%20rx%3D%2228%22%20fill%3D%22%23ffffff%22%2F%3E%3Crect%20x%3D%22544%22%20y%3D%22330%22%20width%3D%22302%22%20height%3D%22150%22%20rx%3D%2228%22%20fill%3D%22%23ffffff%22%2F%3E%3Ccircle%20cx%3D%22316%22%20cy%3D%22700%22%20r%3D%2284%22%20fill%3D%22%23D06720%22%2F%3E%3Ccircle%20cx%3D%22708%22%20cy%3D%22700%22%20r%3D%2284%22%20fill%3D%22%23D06720%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}
.single-post #primary.tour-page .timeline-tour .itinerary-meta .meta-item.meal::before {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M400.7%2C138.918H186.539l206.693-93.089c7.343-3.308%2C10.613-11.939%2C7.308-19.283c-3.307-7.341-11.937-10.612-19.283-7.308%20l-265.733%2C119.68H51.869c-8.052%2C0-14.581%2C6.529-14.581%2C14.581c0%2C8.052%2C6.528%2C14.581%2C14.581%2C14.581H56.8%20c-2.474%2C3.985-2.983%2C9.088-0.913%2C13.689c2.432%2C5.399%2C7.744%2C8.597%2C13.304%2C8.597c2%2C0%2C4.036-0.416%2C5.98-1.29l46.618-20.995H400.7%20c8.052%2C0%2C14.581-6.529%2C14.581-14.581C415.281%2C145.447%2C408.752%2C138.918%2C400.7%2C138.918z%22%20fill%3D%22%23D06720%22%2F%3E%3Cpath%20d%3D%22M454.753%2C143.19c-0.671-0.671-1.414-1.283-2.216-1.808c-0.787-0.523-1.633-0.977-2.522-1.341%20c-0.875-0.365-1.792-0.656-2.727-0.831c-4.739-0.961-9.768%2C0.598-13.152%2C3.981c-2.725%2C2.711-4.271%2C6.474-4.271%2C10.307%20c0%2C3.835%2C1.546%2C7.597%2C4.272%2C10.307c2.712%2C2.712%2C6.472%2C4.274%2C10.309%2C4.274c0.946%2C0%2C1.91-0.089%2C2.842-0.277%20c0.935-0.19%2C1.853-0.467%2C2.727-0.831c0.889-0.365%2C1.735-0.817%2C2.522-1.341c0.802-0.539%2C1.546-1.152%2C2.216-1.823%20c2.712-2.711%2C4.274-6.472%2C4.274-10.307S457.466%2C145.902%2C454.753%2C143.19z%22%20fill%3D%22%23D06720%22%2F%3E%3Cpath%20d%3D%22M441.426%2C11.726c-0.188-0.932-0.467-1.852-0.831-2.727c-0.365-0.888-0.817-1.734-1.341-2.521%20c-0.539-0.802-1.137-1.547-1.808-2.218c-3.397-3.381-8.426-4.943-13.165-3.979c-0.935%2C0.19-1.853%2C0.465-2.727%2C0.83%20c-0.876%2C0.365-1.735%2C0.818-2.522%2C1.341c-0.802%2C0.525-1.546%2C1.137-2.216%2C1.808s-1.283%2C1.416-1.808%2C2.218%20c-0.525%2C0.787-0.977%2C1.633-1.341%2C2.521c-0.365%2C0.876-0.642%2C1.793-0.831%2C2.727c-0.19%2C0.933-0.292%2C1.896-0.292%2C2.843%20c0%2C3.835%2C1.56%2C7.597%2C4.274%2C10.309c0.669%2C0.672%2C1.413%2C1.285%2C2.213%2C1.824c0.787%2C0.523%2C1.648%2C0.977%2C2.522%2C1.341%20c0.875%2C0.365%2C1.792%2C0.64%2C2.727%2C0.83c0.946%2C0.19%2C1.896%2C0.277%2C2.858%2C0.277c3.835%2C0%2C7.581-1.56%2C10.307-4.272%20c2.712-2.712%2C4.258-6.474%2C4.258-10.309C441.702%2C13.621%2C441.614%2C12.657%2C441.426%2C11.726z%22%20fill%3D%22%23D06720%22%2F%3E%3Cpath%20d%3D%22M96%2C265%20L416%2C265%20A160%2C120%200%200%201%2096%2C265%20Z%22%20fill%3D%22%23D06720%22%20stroke%3D%22%23D06720%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}
.single-post #primary.tour-page .timeline-tour .itinerary-meta .meta-item.accommodation::before {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201024%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23D06720%22%3E%3Crect%20x%3D%22120%22%20y%3D%22200%22%20width%3D%2274%22%20height%3D%22612%22%20rx%3D%2228%22%2F%3E%3Crect%20x%3D%22830%22%20y%3D%22320%22%20width%3D%2274%22%20height%3D%22492%22%20rx%3D%2228%22%2F%3E%3Crect%20x%3D%22120%22%20y%3D%22612%22%20width%3D%22784%22%20height%3D%22150%22%20rx%3D%2228%22%2F%3E%3Crect%20x%3D%22214%22%20y%3D%22430%22%20width%3D%22240%22%20height%3D%22172%22%20rx%3D%2234%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}
.single-post #primary.tour-page .timeline-tour .itinerary-meta .meta-item .meta-content {
    font-weight: 600;
}

@media(max-width: 767px) {
    .single-post #primary.tour-page .timeline-tour > ol > li .collapse {
        padding: 6px 10px 10px;
    }
    .single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle {
        font-size: 17px;
    }
    .single-post #primary.tour-page .timeline-tour > ol > li > .accordion-toggle .attraction {
        font-size: 14px;
    }
}
/* ---------- T3. 含/不含项（icon 列表卡片化 + 品牌色） ---------- */
.single-post #primary.tour-page .list-icons {
    background: #ffffff;
    border: 1px solid #eef0f4;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(17,24,39,.04);
    padding: 16px 20px 16px 18px !important;
    margin: .4em 0 1.5em;
}
.single-post #primary.tour-page .list-icons .hz-title,
.single-post #primary.tour-page h3.hz-title {
    margin: 0 0 1rem !important;
    padding: 10px 0 10px 18px !important;
    font-size: clamp(1.15rem, 2.2vw, 1.5rem) !important;
    font-weight: 600;
    line-height: 1.35;
    color: #1f2937;
    box-shadow: none !important;
    border-left: 5px solid var(--primary);
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, rgba(208,103,32,0) 60%) !important;
}
.single-post #primary.tour-page .list-icons ul {
    padding-left: 2px !important;
    margin: 0;
    list-style: none;
}
.single-post #primary.tour-page .list-icons li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px 0 8px 4px !important;
    margin: 0;
    font-size: 1.0rem;
    line-height: 1.6;
    color: #374151;
    font-weight: 400;
    border-bottom: 1px dashed #eef0f4;
}
.single-post #primary.tour-page .list-icons li:last-child {
    border-bottom: none;
}
.single-post #primary.tour-page .list-icons li .icon-marker {
    flex: 0 0 auto;
    font-size: 1.0rem;
    line-height: 1;
    color: var(--primary) !important;
    font-weight: 700;
    margin-top: 3px;
}
/* 符号与颜色由 CSS 控制，HTML 不再输出字符与 inline color */
.single-post #primary.tour-page .list-icons li .icon-marker.icon-check::before {
    content: "\2713";
    color: #1a9e5f !important;
}
.single-post #primary.tour-page .list-icons li .icon-marker.icon-times::before {
    content: "\00D7";
    color: #e0413b !important;
}
.single-post #primary.tour-page .list-icons li .icon-marker.icon-dot::before {
    content: "\25CC";
    color: #374151 !important;
}

@media (max-width: 767px) {
     .single-post #primary.tour-page .list-icons li {
        font-size: 15px;
    }
}

/* ---------- T4. Tour Overview / Excerpt + 图片现代化 ---------- */
/* Tour Overview、Tour at a Glance 等小节标题（在 .tab-content 内，不在 .entry-content）*/
.single-post #primary.tour-page .tour-summary h2,
.single-post #primary.tour-page .tab-content h2 {
    margin: 1.8em 0 1em;
    padding: 10px 0 10px 18px;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    line-height: 1.35;
    font-weight: 600;
    color: #1f2937;
    border-left: 5px solid var(--primary);
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, rgba(208,103,32,0) 60%);
}
/* Excerpt / 正文段落（Tour Overview 摘要等）*/
.single-post #primary.tour-page .tour-summary p,
.single-post #primary.tour-page .tab-content p {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #374151;
    margin: 0 0 1.1em;
}

@media (max-width: 767px) {
    .single-post #primary.tour-page .tour-summary p,
    .single-post #primary.tour-page .tab-content p {
        font-size: 17px;
    }
}

/* ---------- T6. tour 页行程一览表（mtr-table，如 Tour at a Glance） ---------- */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 0 1.8em;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(17,24,39,.05);
    font-size: 1.125rem;
    line-height: 1.7;
    color: #374151;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table td,
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table th {
    padding: 14px 18px;
    text-align: left;
    vertical-align: top;
    border: none;
    border-bottom: 1px solid #f0f2f5;
    border-right: 1px solid #f0f2f5;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table td:last-child,
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table th:last-child {
    border-right: none;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table tr:last-child td {
    border-bottom: none;
}
/* 表头：品牌橙渐变 + 白字 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table .mtr-td-tag,
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table thead th {
    color: var(--primary);
    font-weight: 700;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table .mtr-td-tag .mtr-cell-content {
    font-weight: 400;
}
/* 第一行（表头行）整行浅橙底 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table tbody tr:first-child td {
    background: #fdf2e9;
    color: var(--primary);
    font-weight: 700;
    border-bottom: 2px solid rgba(208,103,32,.35);
}
/* 其余行：灰白交替 + hover 高亮 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table tbody tr:nth-child(even) td {
    background: #fafbfc;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table tbody tr:hover td {
    background: rgba(208,103,32,.06);
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table .mtr-cell-content {
    font-size: 1.125rem;
    line-height: 1.7;
    color: #374151;
}
/* 移动端：横向滚动，避免挤压 */
@media (max-width: 767px) {
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        font-size: .92rem;
    }
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table td,
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table th {
        padding: 10px 12px;
    }
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table .mtr-cell-content {
        font-size: 16px;
    }
}

/* Highlights 列表（tour 页 Overview 中、h2 之后无 class 的 ul）：字体/行距/间距对齐正文 p，圆点缩小并统一品牌色 */
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) h2 ~ ul:not(.content-preview):not(.includes):not(.excludes):not(.list-icons) {
    margin: 0 0 1.1em;
    padding-left: 1.5em;
    font-size: 1.125rem;
    line-height: 1.8;
    color: #374151;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) h2 ~ ul:not(.content-preview):not(.includes):not(.excludes):not(.list-icons) li {
    margin: 0 0 0.55em;
}
:is(.single-post #primary.tour-page, .page-template-default #primary.content-page) h2 ~ ul:not(.content-preview):not(.includes):not(.excludes):not(.list-icons) li::marker {
    font-size: 0.5em;
    color: var(--primary);
}

@media (max-width: 767px) {
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) .entry-content table.mtr-table,
    :is(.single-post #primary.tour-page, .page-template-default #primary.content-page) h2 ~ ul:not(.content-preview):not(.includes):not(.excludes):not(.list-icons) {
        font-size: 16px;
    }
}

/* 行程图片 / 特色图：圆角 + 边框 + 阴影 + 间距 + 居中（覆盖父主题老式直角图/左贴）*/
.single-post #primary.tour-page .tour-content-box img,
.single-post #primary.tour-page .accordion-body img,
.single-post #primary.tour-page .tab-content img,
.single-post #primary.tour-page .tour-summary img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border: 1px solid #eef0f4;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(17,24,39,.06);
}
/* 图片直接父容器（a / figure.aligncenter）设为块级并居中，确保 img margin:auto 生效 */
.single-post #primary.tour-page .tour-content-box a:has(> img),
.single-post #primary.tour-page .accordion-body a:has(> img),
.single-post #primary.tour-page .tab-content a:has(> img),
.single-post #primary.tour-page .tour-summary a:has(> img) {
    display: block;
}
.single-post #primary.tour-page .tour-content-box figure.aligncenter,
.single-post #primary.tour-page .accordion-body figure.aligncenter,
.single-post #primary.tour-page .tab-content figure.aligncenter {
    text-align: center;
}
.single-post #primary.tour-page .tour-content-box figure,
.single-post #primary.tour-page .accordion-body figure,
.single-post #primary.tour-page .tab-content figure {
    margin: 1.2em auto;
}
.single-post #primary.tour-page .tour-content-box figure img,
.single-post #primary.tour-page .accordion-body figure img,
.single-post #primary.tour-page .tab-content figure img {
    margin: 0 auto;
}

/* ---------- T5. Tour Price / Price includes / Price excludes（老式 panel-grey + 裸 h3 + ul.includes/excludes） ---------- */
/* 仅作用于线路页 tab-content 内，避免误伤其他 panel */
.single-post #primary.tour-page .tab-content .panel.panel-grey {
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(17,24,39,.05);
    padding: 22px 24px;
    margin: 0 0 28px;
}
/* Tour Price 主标题（仅 H4.panel-title） */
.single-post #primary.tour-page .tab-content .panel-title:not(p) {
    margin: 0 0 1rem !important;
    padding: 10px 0 10px 18px;
    font-size: clamp(1.1rem, 2.2vw, 1.5rem);
    font-weight: 600;
    line-height: 1.35;
    color: #1f2937;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, transparent 60%);
    border-left: 5px solid var(--primary);
    border-radius: 4px;
}
/* 价格说明文字（p.panel-title）还原为正文，避免与标题同款 */
.single-post #primary.tour-page .tab-content p.panel-title {
    margin: 0 0 1rem;
    padding: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
    color: #374151;
    background: none;
    border-left: none;
    border-radius: 0;
}
/* 价格区主标题（裸 h3，后跟 ul.includes/excludes 或 .list-icons 卡片） */
.single-post #primary.tour-page h3:has(~ ul.includes),
.single-post #primary.tour-page h3:has(~ ul.excludes),
.single-post #primary.tour-page .tab-content h3:has(~ .list-icons) {
    margin: 1.8em 0 .8em;
    padding: 10px 0 10px 18px;
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    font-weight: 600;
    line-height: 1.35;
    color: #1f2937;
    background: linear-gradient(90deg, rgba(208,103,32,.08) 0%, transparent 60%);
    border-left: 5px solid var(--primary);
    border-radius: 4px;
}
/* includes / excludes 列表卡片化 */
.single-post #primary.tour-page .tab-content ul.includes,
.single-post #primary.tour-page .tab-content ul.excludes {
    list-style: none;
    padding: 16px 20px 16px 18px;
    margin: .4em 0 1.5em;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(17,24,39,.04);
}
.single-post #primary.tour-page .tab-content ul.includes li,
.single-post #primary.tour-page .tab-content ul.excludes li {
    position: relative;
    padding: 8px 0 8px 30px;
    margin: 0;
    font-size: .96rem;
    font-weight: 400;
    line-height: 1.6;
    color: #374151;
    border-bottom: 1px dashed #eef0f4;
}
.single-post #primary.tour-page .tab-content ul.includes li:last-child,
.single-post #primary.tour-page .tab-content ul.excludes li:last-child {
    border-bottom: none;
}
/* 品牌色勾选/叉图标 */
.single-post #primary.tour-page .tab-content ul.includes li:before {
    content: "\2713";
    position: absolute;
    left: 4px;
    top: 8px;
    color: #1a9e5f;
    font-weight: 700;
}
.single-post #primary.tour-page .tab-content ul.excludes li:before {
    content: "\00D7";
    position: absolute;
    left: 4px;
    top: 8px;
    color: #e0413b;
    font-weight: 700;
}

/* ============================================================
   以下由 assets/css/style-single.css 合并而来（2026-10-17）
   ============================================================ */
.site-content a img {
    transition: transform .4s ease,box-shadow .4s ease;
    cursor: zoom-in;
}
.site-content a img:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
a.button-booking {
    width: 100%;
    display: block;
    padding: 10px 28px;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    background-color: var(--primary);
    color: #fff;
    border: 1px solid var(--primary);
    border-radius: 20px
}
a.button-booking.bookcode {
    display: none
}
.bookingbtns a.button-booking {
    position: static;
    display: inline-block;
    max-width: 160px;
    border-radius: 20px
}
.bookingbtns a.button-booking:hover {
    background-color: var(--primary_hover);
    color: #fff
}
.bookingbtns .elementor-25036 {
    min-width: 220px;
    display: inline-block
}
.bookingbtns .elementor-25036 .elementor-element.elementor-element-47b8966b > .elementor-widget-container {
    margin-bottom: 0
}
@supports (color: var(--scroll-bar)) {
    body.has-scrollbar .bookingbtns .elementor-section.elementor-section-stretched {
        width: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    } 
}
@media screen and (max-width: 991px) {
    a.button-booking {
        position: fixed;
        bottom: 250px;
        right: 0;
        width: auto !important;
        z-index: 99;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    a.button-booking.bookcode {
        display: block
    }
    .bookingbtns a.button-booking {
        display: none
    }
}

.panel-body {
    display: none;
}

/** timeline-tour **/
.timeline-tour {
    margin: 25px 0 30px;
    position: relative;
}

.timeline-tour .hd {
    padding-right: 90px
}

.timeline-tour .hd-action {
    cursor: pointer;
    display: block;
    color: var(--secondary);
    font-weight: 600;
    z-index: 1;
    position: absolute;
    right: 0;
    top: 5px;
}

.timeline-tour .attraction {
    font-weight: normal;
}

.timeline-tour>ol {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.timeline-tour>ol>li {
    position: relative;
    line-height: 24px;
    margin-left: 40px;
}

.timeline-tour>ol li:before {
    position: absolute;
    content: "";
    border-left: 1px dashed var(--border);
    width: 0;
    height: 100%;
    top: 34px;
    left: -30px;
}

.timeline-tour>ol>li:last-child:before {
    display: none
}

.timeline-tour>ol>li>.accordion-toggle {
    text-decoration: none;
    display: block;
    font-weight: 700;
    padding: 16px 32px 16px 0;
    position: relative;
}

.timeline-tour>ol>li>.accordion-toggle.collapsed {
    color: #555;
}

.timeline-tour>ol>li>.accordion-toggle,
.timeline-tour>ol>li>.accordion-toggle:hover {
    color: var(--secondary);
}

.timeline-tour>ol>li:not(:first-child) .accordion-toggle {
    border-top: 1px solid var(--border)
}

.timeline-tour>ol>li .collapse {
    overflow: hidden;
    transition: all .5s;
    padding: 0 0 16px;
}

.timeline-tour>ol li>.accordion-toggle .time-icon {
    position: absolute;
    width: 32px;
    height: 32px;
    left: -46px;
    top: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0.5 0.43 20 20'%3E%3Cpath fill='%232f5db5' d='M10.5 20.43c-5.51 0-10-4.49-10-10s4.49-10 10-10 10 4.49 10 10-4.49 10-10 10zm0-15c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5z'/%3E%3Cpath fill='%23fff' d='M10.5 5.43c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5z'/%3E%3C/svg%3E");
    background-size: 32px 32px;
    background-repeat: no-repeat;
    background-color: #fff;

}

.timeline-tour>ol>li>.collapsed .time-icon {
    width: 20px;
    height: 20px;
    left: -40px;
    top: 18px;
    background-size: 20px 20px;
}

.timeline-tour>ol li:first-child>.accordion-toggle .time-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19.9' viewBox='-2.5 -2.4 20 19.9'%3E%3Ccircle fill='%23ff6600' cx='7.5' cy='5.5' r='1.9'/%3E%3Cpath fill='%23ff6600' d='M7.5-2.4c-5.6 0-10 4.4-10 9.9 0 5.6 4.4 10 10 10s10-4.4 10-10C17.4 2 13-2.4 7.5-2.4zm0 15.5S4 8.7 4 5.4c0-1.9 1.6-3.5 3.5-3.5 2 0 3.5 1.6 3.5 3.5 0 3.4-3.5 7.7-3.5 7.7z'/%3E%3C/svg%3E");
}

.timeline-tour>ol li:last-child>.accordion-toggle .time-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20.1' viewBox='-2.9 -3 20 20.1'%3E%3Cpath fill='%23ff6600' d='M7.1-3c-5.5 0-10 4.5-10 10.1 0 5.5 4.5 10 10 10s10-4.5 10-10C17.1 1.5 12.6-3 7.1-3zM5 8l1.1 4.6H4.8L2.5 3.2l1.2-.4c5.9-4.4 2.8 3.8 10.4.8.3-.1.4 0 .3.3C8.2 12.8 10.3 3.6 5 8z'/%3E%3C/svg%3E");
}

.timeline-tour>ol>li>.accordion-toggle:after {
    position: absolute;
    display: inline-block;
    right: 0;
    top: 18px;

    content: "";
    color: #999;
    font-size: 22px;
    width: 26px;
    height: 26px;
    background-image:  url("data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNC4wMCAyNC4wMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMC4yNDAwMDAwMDAwMDAwMDAwNSI+Cg08ZyBpZD0iU1ZHUmVwb19iZ0NhcnJpZXIiIHN0cm9rZS13aWR0aD0iMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44MDAwMDAwMDAwMDAwMDA3LDEuODAwMDAwMDAwMDAwMDAwNyksIHNjYWxlKDAuODUpIj4KDTxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIyNC4wMCIgaGVpZ2h0PSIyNC4wMCIgcng9IjEyIiBmaWxsPSIjOTY5Njk2IiBzdHJva2V3aWR0aD0iMCIvPgoNPC9nPgoNPGcgaWQ9IlNWR1JlcG9fdHJhY2VyQ2FycmllciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2U9IiNDQ0NDQ0MiIHN0cm9rZS13aWR0aD0iMC4wOTYiLz4KDTxnIGlkPSJTVkdSZXBvX2ljb25DYXJyaWVyIj4gPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjI5Mjg5IDguNzkyODlDNi42ODM0MiA4LjQwMjM3IDcuMzE2NTggOC40MDIzNyA3LjcwNzExIDguNzkyODlMMTIgMTMuMDg1OEwxNi4yOTI5IDguNzkyODlDMTYuNjgzNCA4LjQwMjM3IDE3LjMxNjYgOC40MDIzNyAxNy43MDcxIDguNzkyODlDMTguMDk3NiA5LjE4MzQyIDE4LjA5NzYgOS44MTY1OCAxNy43MDcxIDEwLjIwNzFMMTIuNzA3MSAxNS4yMDcxQzEyLjMxNjYgMTUuNTk3NiAxMS42ODM0IDE1LjU5NzYgMTEuMjkyOSAxNS4yMDcxTDYuMjkyODkgMTAuMjA3MUM1LjkwMjM3IDkuODE2NTggNS45MDIzNyA5LjE4MzQyIDYuMjkyODkgOC43OTI4OVoiIGZpbGw9IiNmZmZmZmYiLz4gPC9nPgoNPC9zdmc+");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: .5s ease-in-out;

}

.timeline-tour>ol>li>.collapsed:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

/** list-icons **/
.list-icons {
  padding: 1px 0
}
.list-icons li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 10px 0;
    font-weight: bold;
}

.list-icons li i {
    min-width: 32px;
    padding-right: 12px;
    font-size: 12px;
    line-height: 24px;
    text-align: center;
}

/*ul.tour-detail {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.tour-detail li {
    margin-top: 3px;
    margin-bottom: 3px
}*/

.tour-content-box .tour-image {
    text-align: center;
}

.tour-content-box p img {
    display: block;
    max-width: 100%;
    height: auto
}

.hz-box {
    padding: 1.5rem;
    margin-bottom: 1.0rem;
    border-radius: 1.25rem;
    background: #fff7f1;
    background: linear-gradient(0deg, #fff7f1 0%, #fefcfa 100%);
}

.hz-box h1 {
	margin: 0;
    font-size: 1.875rem
}

.tour-page h3 {
    margin-bottom: .5rem;
    line-height: normal;
    font-size: 1.875rem
}

.tour-page h3.hz-title {
    padding: .375rem 1.25rem;
    margin: 1.5rem 0;
    background-color: #F7F7F7;
    box-shadow: 0 5px 10px 0 var(--border);
    border-radius: .625rem;
    font-size: 1.5rem;
    line-height: 1.5
}
.single-post .triply-breadcrumb-build .elementor-column {
    align-self: flex-end
}
.single-post .triply-breadcrumb-build .el-single-title .elementor-heading-title {
    font-size: 40px;
    text-align: left
}
.avatar.avatar-32.photo {
    border-radius: 50%;
    vertical-align: middle;
    display: block;
}
@media (max-width: 1288px) {
    .tour-tabs .nav-tabs > li > a {
        padding-left: .5rem;
        padding-right: .5rem;
        margin-right: 0
    }
}
@media (max-width: 767px) {
    .single-post .triply-breadcrumb-build>.elementor-container {
        min-height: 120px !important;
    }
    .single-post .triply-breadcrumb-build .el-single-title .elementor-heading-title {
        font-size: 30px
    }
    .tour-page h3 {
        font-size: 1.5rem
    }
}
@media (max-width: 600px) {
    .hz-box {
        padding: 1rem
    }
    .hz-box h1 {
        font-size: 1.25rem
    }
    .tour-tabs .nav-tabs>li {
        max-width: 61%
    }
}
@media screen and (max-width: 1024px) {
  .inquire-display {
    display: none !important;
  }
}
.inquire-section {
    margin-top: 20px;
    border-top: 1px solid #eee;
}

/* ============================================================
   以下由 item-post-related.php 的内联 <style> 合并而来（推荐线路卡片）
   ============================================================ */
/* ==========================================================
   Related Tours — Tour Card style (self-contained)
   Reuses the .etc-* class names / design tokens of the
   Elementor Tour Card plugin so the look stays consistent.
   ========================================================== */
.hz-related {
	--cxt-hz-shift: 30px;
	margin-bottom: var(--cxt-hz-shift);
}
.hz-related > h2,
.hz-related .etc-tours-grid {
	transform: translateY(var(--cxt-hz-shift));
}
@media (max-width: 1024px) {
	.hz-related {
		--cxt-hz-shift: 0;
	}
}
.hz-related .etc-tours-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding-bottom: 30px;
}
.hz-related .etc-tour-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
	transition: box-shadow .3s ease, transform .3s ease;
}
.hz-related .etc-tour-card:hover {
	box-shadow: 0 12px 32px rgba(0,0,0,.12);
	transform: translateY(-6px);
}
/* Image */
.hz-related .etc-tour-card-img {
	position: relative;
	overflow: hidden;
}
.hz-related .etc-tour-card-img img {
	display: block;
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	transition: transform .4s ease;
}
.hz-related .etc-tour-card:hover .etc-tour-card-img img {
	transform: scale(1.08);
}
/* Duration tag (top-left, glass) */
.hz-related .etc-tour-card-duration {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	padding: 5px 11px;
	background: rgba(255,255,255,.88);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #1A1A2E;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.4;
	border-radius: 100px;
}
.hz-related .etc-duration-icon {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 4px;
}
/* Route overlay (bottom-left, gradient) — matches the plugin */
.hz-related .etc-tour-card-route {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 24px 16px 12px;
	background: linear-gradient(to top, rgba(0,0,0,.72) 0%, transparent 100%);
}
.hz-related .etc-tour-card-route-text {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .8125rem;
	font-weight: 600;
	color: #ffffff;
	line-height: 1.4;
}
/* Body — flex column so the footer can sit at the bottom */
.hz-related .etc-tour-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px;
}
.hz-related .etc-tour-card-body .etc-tour-card-title {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.125rem;
	font-weight: 700;
	color: #1A1A2E;
	line-height: 1.3;
	margin: 0 0 8px;
	text-align: left;
}
.hz-related .etc-tour-card-body .etc-tour-card-title a {
	color: inherit;
	text-decoration: none;
}
.hz-related .etc-tour-card-body .etc-tour-card-title a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.hz-related .etc-tour-card-desc {
	font-size: .975rem;
	color: #6b7280;
	line-height: 1.6;
	margin: 0 0 16px;
}
/* Highlights — flex-wrap, plugin default (JS equalizes heights per row) */
.hz-related .etc-tour-card-highlights {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 6px;
	margin-bottom: 16px;
}
.hz-related .etc-tour-highlight-tag {
	font-size: .75rem;
	color: #4b5563;
	background: #f3f4f6;
	padding: 4px 10px;
	border-radius: 9999px;
	line-height: 1.4;
}
/* Footer — flex-shrink:0 keeps price/button on one baseline */
.hz-related .etc-tour-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0px;
	padding-top: 16px;
	border-top: 1px solid #f3f4f6;
	flex-shrink: 0;
}
/* Plain-article cards (no price block) have a single Read More button —
   center it instead of the tour card's price+button split layout. */
.hz-related .etc-tour-card-footer > a.etc-tour-card-link:only-child {
	margin-left: auto;
	margin-right: auto;
}
.hz-related .etc-tour-card-price {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.hz-related .etc-tour-card-price-label {
	font-size: .75rem;
	color: #9ca3af;
}
.hz-related .etc-tour-card-price-value {
	font-size: 1.0rem;
	font-weight: 600;
	color: var(--e-global-color-primary);
	line-height: 1.2;
	transition: color .3s ease;
}
.hz-related .etc-tour-card-price-value:hover {
	color: var(--e-global-color-primary_hover);
}

.hz-related .etc-tour-card-price-suffix {
	font-size: .75rem;
	color: #6b7280;
	margin-left: 4px;
}
.hz-related .etc-tour-card-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	padding: 10px 18px;
	border-radius: 10px;
	font-weight: 600;
	font-size: .9375rem;
	color: #ffffff;
	background: var(--e-global-color-primary);
	text-decoration: none;
	transition: background .3s ease, color .3s ease;
}
.hz-related .etc-tour-card-link:hover {
	background: var(--e-global-color-primary_hover);
	color: #ffffff;
}
/* Scroll-in animation */
.hz-related .etc-tour-card.etc-animate {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .6s ease, transform .6s ease, box-shadow .3s ease;
}
.hz-related .etc-tour-card.etc-animate.etc-in-view {
	opacity: 1;
	transform: none;
}
/* Responsive columns (kept from the original grid attrs) */
@media (max-width: 1024px) {
	.hz-related .etc-tours-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.hz-related .etc-tours-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   以下由 assets/css/style-tab.css 合并而来（2026-10-17）
   原先经 single.php 的 include 加载，现统一由本文件提供
   ============================================================ */
/* tab */
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

/* tab-v1 nav-tabs 基础样式 */
.tab-v1 .nav-tabs {
    padding: 0;
    margin: 0 0 1.25rem;
    display: flex;
    list-style: none;
    width: 100%;
    overflow-x: auto; /* 防止内容溢出时出现换行 */
    white-space: nowrap; /* 确保子元素不换行 */
    gap: 15px;
}

/* 品牌化 Tab 标签（橙胶囊激活态） */
.tab-v1 .nav-tabs > li {
    margin: 0;
    list-style: none;
}
.tab-v1 .nav-tabs > li > a {
    display: inline-block !important;
    padding: 6px 18px !important;
    border-radius: 999px !important;
    font-weight: 400 !important;
    font-size: .98rem !important;
    color: #4b5563 !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
}
.tab-v1 .nav-tabs > li > a:hover {
    color: #D06720 !important;
    background: rgba(208,103,32,.08) !important;
}
.tab-v1 .nav-tabs > li > a.active,
.tab-v1 .nav-tabs > li > a.navLink.active {
    color: #fff !important;
    background: #D06720 !important;
    border-color: #D06720 !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 12px rgba(208,103,32,.30);
}
@media (max-width: 1024px) {
    .tab-v1 .nav-tabs > li > a {
        padding: 2px 12px !important;
        font-size: 1.0rem !important;
    }
}


.tab-v1 .nav-tabs .navLink {
    font-size: 16px; /* 字体大小16px */
    text-decoration: none;
    color: inherit; /* 继承父元素颜色 */
    padding-bottom: 8px; /* 预留下划线空间 */

    position: relative; /* 用于下划线定位 */
    text-overflow: ellipsis;
    overflow: hidden;
    align-items:center;
    text-align:center;

    width: auto;
    display: block;

    background: transparent;
    border-top: 0px solid white;
    border-left: 0px solid white;
    border-right: 0px solid white;
    border-bottom: 2px solid white;
    border-radius: 0px;
    font-family: inherit;
    font-weight: normal;
    outline: none;
}

/* 激活状态样式 */
.tab-v1 .nav-tabs .navLink.active {
    color: #D06720; /* 激活状态字体颜色 */
}

.tab-v1 .nav-tabs .navLink.active::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px; /* 下划线高度 */
    background-color: #D06720; /* 下划线颜色 */
}

/* 滚动到顶部固定时的样式 */
.single .site {
    overflow: unset;
}
/* 滚动到顶部固定时的样式 - 忽略父容器，占满浏览器宽度 */
.tab-v1 .nav-tabs.sticky-active {
    justify-content: center; /* 内容居中（保留需求） */
    height: 90px; /* 固定高度（保留需求） */

    position: fixed !important; /* 改为fixed，参考视口定位 */
    width: 100% !important; /* 宽度=浏览器视口宽度 */
    left: 0 !important; /* 左边缘贴紧浏览器左侧 */
    right: 0 !important; /* 右边缘贴紧浏览器右侧 */
    top: 0 !important; /* 顶部贴紧浏览器顶部 */

    margin: 0 !important; 
    padding: 0 !important;

    align-items: center; 
    background-color: #fff; 
    z-index: 999; /* 低于主菜单(header)，吸顶时不盖住主导航 */
    overflow-x: auto; /* 防止tab项过多时溢出 */
    white-space: nowrap;
}

.tab-v1 .tab-content.sticky-active{
    margin-top: 88px;
}

/* 响应式调整 - 平板显示 */
@media (max-width: 1024px) {
    .tab-v1 .nav-tabs {
        gap: 12px;
    }

    .tab-v1 .nav-tabs.sticky-active {
        margin: 4px 0 0 0 !important; 
        height: 40px; /* 固定高度（保留需求） */
    }
}

/* 响应式调整 - 手机端显示 */
@media (max-width: 767px) {
    .tab-v1 .nav-tabs {
        gap: 6px;
        padding: 0 0 4px 0;
    }
    .tab-v1 .nav-tabs.sticky-active {
        padding-left: 10px !important;
        padding-right: 10px !important;
        justify-content: left; /* 内容居中（保留需求） */
        margin: 0 !important;
    }
}

.collapse:not(.show) {
    display: none;
}

/* ============================================================
   以下由 WP 后台 Customize → Additional CSS 迁移（2026-10-17）
   ============================================================ */

/* 推荐线路卡片网格（.hz-gd）*/
.hz-related .hz-gd { margin-left: -10px; margin-right: -10px; }
@media (min-width: 768px) and (max-width: 1024px) {
    .hz-related .hz-gd { gap: 20px; }
}

/* 单页容器通栏（平板及以下）*/
@media (max-width: 1024px) {
    .hz-box, .list-icons, .inquire-form-container, .cxt-vg-container { margin: 0 -10px; }
}

/* tab 导航字号：本文件内 tab 规则带 !important，此处必须保留才能覆盖 */
@media (min-width: 1025px) {
    .tab-v1 .nav-tabs .navLink { font-size: 18px !important; }
}
