/* 景区徒步指南 - 轻量工具站样式 */
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  color:#2c3e50; background:#f5f7fa; line-height:1.6;
}
.container { max-width:1080px; margin:0 auto; padding:0 16px; }
body { overflow-x:hidden; }

/* 头部 */
.site-header { background:#2c3e50; color:#fff; padding:14px 0; position:sticky; top:0; z-index:10; }
.header-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.brand { color:#fff; font-weight:700; font-size:18px; text-decoration:none; }
.nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:2px; }
.nav a { color:#cfd8dc; text-decoration:none; font-size:14px; padding:5px 9px; border-radius:6px; transition:background .15s, color .15s; }
.nav a:hover { color:#fff; background:rgba(255,255,255,.12); }
.nav a[aria-current="page"] { color:#fff; background:rgba(255,255,255,.18); }
/* 移动端页头压缩：品牌与导航同行，导航改为横向滚动（原本换行成 2 行，页头高达 121px） */
@media(max-width:560px){
  .site-header{ padding:8px 0; }
  .header-inner{ flex-wrap:nowrap; gap:10px; align-items:center; }
  .brand{ font-size:15px; flex:0 0 auto; white-space:nowrap; }
  .nav{ flex:1 1 auto; min-width:0; flex-wrap:nowrap; overflow-x:auto;
        -webkit-overflow-scrolling:touch; scrollbar-width:none; justify-content:flex-start; }
  .nav::-webkit-scrollbar{ display:none; }
  .nav a{ padding:4px 8px; font-size:13px; white-space:nowrap; }
}

main { min-height:70vh; padding:24px 0; }

/* 首页 */
.hero { text-align:center; padding:40px 16px 24px; }
.hero h1 { font-size:30px; margin-bottom:8px; }
.hero p { color:#5d6d7e; font-size:16px; }
.search-box { max-width:560px; margin:20px auto; display:flex; }
.search-box input {
  flex:1; padding:12px 16px; border:2px solid #d5dbdb; border-radius:8px 0 0 8px;
  font-size:15px; outline:none;
}
.search-box input:focus { border-color:#2c3e50; }
.search-box button {
  padding:12px 22px; background:#2c3e50; color:#fff; border:none;
  border-radius:0 8px 8px 0; font-size:15px; cursor:pointer;
}

/* 首页 hero：景区搜索栏（左）+ 出行交通（右）同行布局 */
.hero-row{display:flex;gap:16px;align-items:center;margin-top:8px;}
.hero-search{flex:1 1 auto;min-width:0;}
.hero-search .search-box{max-width:none;margin:0;}
.hero-search .suggest{max-width:none;margin:-2px 0 0;}
.hero-flight{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;}
.hero-flight .flight-search{max-width:none;margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.hero-flight .flight-search h3{margin:0;}
.hero-flight .travel-row{flex-direction:row;align-items:center;}
.hero-flight .travel-row .cps-btn{width:auto;justify-content:center;}
@media(max-width:560px){
  .hero-flight .flight-search{flex-direction:column;align-items:stretch;}
  .hero-flight .travel-row{flex-direction:column;align-items:stretch;}
  .hero-flight .travel-row .cps-btn{width:100%;justify-content:center;}
}
@media(max-width:920px){
  .hero-row{flex-direction:column;}
  .hero-flight{flex:1 1 auto;}
}

/* 卡片与列表 */
.card { background:#fff; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:18px; margin-bottom:16px; }
.card h2 { font-size:20px; margin-bottom:12px; }
.quick-links { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.quick-link { background:#fff; border-radius:8px; padding:14px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.quick-link a { color:#2c3e50; text-decoration:none; font-weight:600; }
.quick-link p { color:#7f8c8d; font-size:13px; margin-top:4px; }

.scenic-list { list-style:none; }
.scenic-list li {
  padding:12px 0; border-bottom:1px solid #ecf0f1;
  display:grid; grid-template-columns:minmax(0,1fr) 104px 104px 78px;
  gap:10px; align-items:center;
}
.scenic-list li[hidden] { display:none; }  /* 防止上面的 display:grid 覆盖 hidden */
.scenic-list a { color:#2980b9; text-decoration:none; font-weight:500; }
.scenic-list a:hover { text-decoration:underline; }
.scenic-list li .badge { justify-self:center; }
.scenic-list li .lvl { justify-self:center; }
.list-header {
  display:grid; grid-template-columns:minmax(0,1fr) 104px 104px 78px;
  gap:10px; padding:6px 0 10px; border-bottom:2px solid #dfe6e9;
  font-size:12.5px; font-weight:600; color:#7f8c8d;
}
.list-header span:nth-child(n+2) { text-align:center; }
/* 两列表头变体（专题页：景区名称 + 游览适配度） */
.list-header--2col,
.scenic-list--2col li,
.scenic-list--2col { grid-template-columns:minmax(0,1fr) 104px; }
.type-cell { font-size:13px; color:#7f8c8d; text-align:center; white-space:nowrap; }
.scenic-list .hot-cell { justify-self:center; }
/* 列表可读性：斑马纹 + 悬停高亮 + S 级行淡金底 */
.scenic-list li:nth-child(odd) { background:#fafbfc; }
.scenic-list li:hover { background:#eef5fb; }
.scenic-list li[data-hot="S"] { background:#fffaf0; }
.scenic-list li[data-hot="S"]:hover { background:#fdf3dd; }
/* 五列变体（list.html：名称|适配度|强度|类型|热点） */
.list-header--5col, .scenic-list--5col li { grid-template-columns:minmax(0,1fr) 104px 64px 104px 78px; }
@media (max-width:640px) {
  .list-header, .scenic-list li { grid-template-columns:minmax(0,1fr) 88px 56px; }
  .list-header span:nth-child(2) { font-size:12px; }
  /* hot.html 基础四列窄屏隐藏强度列 → 名称|热度|类型 */
  .list-header span:nth-child(3), .scenic-list li .lvl { display:none; }
  /* 五列变体窄屏再隐藏类型 → 名称|适配度|热点 */
  .list-header--5col span:nth-child(3), .list-header--5col span:nth-child(4),
  .scenic-list--5col li .type-cell { display:none; }
  /* 两列变体在窄屏保持两列 */
  .list-header--2col, .scenic-list--2col li { grid-template-columns:minmax(0,1fr) 88px; }
}
.badge {
  display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; font-weight:600;
  cursor:help; white-space:nowrap;
}
.badge-高 { background:#fdebd0; color:#e67e22; }
.badge-中 { background:#d6eaf8; color:#2980b9; }
.badge-低 { background:#eaecee; color:#95a5a6; }
/* 同实体热点并入 5A 页后的「热门」徽章（tools/add_hot_badge.py 注入） */
.badge-hot { background:#f5cba7; color:#a04000; }
.hot-S { background:#e74c3c; color:#fff; }
.hot-A { background:#e67e22; color:#fff; }

/* 筛选 */
.filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
/* 列表页筛选栏吸顶（页头 sticky 高约 56px） */
.filters--sticky { position:sticky; top:56px; z-index:9; background:#fff; padding:8px 0; border-bottom:1px solid #ecf0f1; }
.filters select {
  padding:8px 12px; border:1px solid #d5dbdb; border-radius:6px; font-size:14px; background:#fff;
  max-width:100%; min-width:0; flex:1 1 auto;
}
.filters input[type="text"] {
  padding:8px 12px; border:1px solid #d5dbdb; border-radius:6px; font-size:14px; background:#fff;
  max-width:100%; min-width:0; flex:1 1 180px;
}
@media (max-width:560px) {
  .filters select { flex:1 1 40%; }
  .filters input[type="text"] { flex:1 1 100%; }
}
.filters button { padding:8px 16px; background:#2c3e50; color:#fff; border:none; border-radius:6px; cursor:pointer; font-size:14px; }

/* 详情页 */
.breadcrumb { color:#7f8c8d; font-size:13px; margin-bottom:12px; }
.breadcrumb a { color:#7f8c8d; text-decoration:none; }
.detail-header { background:#fff; border-radius:10px; padding:22px; box-shadow:0 1px 4px rgba(0,0,0,.08); margin-bottom:16px; }
.detail-header h1 { font-size:26px; }
.meta { margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:14px; color:#5d6d7e; }
.section { background:#fff; border-radius:10px; padding:18px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.section h2 { font-size:19px; margin-bottom:10px; border-left:4px solid #2c3e50; padding-left:10px; }
.section p { color:#34495e; }
.placeholder { background:#fef9e7; border:1px dashed #f5b041; border-radius:6px; padding:12px; color:#b9770e; font-size:14px; margin-top:8px; }

/* 工具页 */
.tool-form { background:#fff; border-radius:10px; padding:20px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.tool-form label { display:block; font-weight:600; margin:12px 0 6px; font-size:14px; }
.tool-form textarea {
  width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #d5dbdb;
  border-radius:6px; font-size:15px; font-family:inherit; line-height:1.6; resize:vertical;
}
.tool-form textarea:focus { outline:none; border-color:#27ae60; }
.tool-form button { margin-top:14px; width:100%; padding:12px; border:none; border-radius:6px;
  background:#27ae60; color:#fff; font-size:16px; font-weight:600; cursor:pointer; }
.tool-form button:disabled { background:#95a5a6; cursor:not-allowed; }
.fb-counter { text-align:right; font-size:12px; color:#7f8c8d; margin:4px 0 0; }
.tool-form input, .tool-form select {
  width:100%; padding:10px 12px; border:1px solid #d5dbdb; border-radius:6px; font-size:15px;
}
.result { margin-top:16px; background:#eaf7ef; border-radius:8px; padding:16px; display:none; }
.result.show { display:block; }
.result h3 { color:#27ae60; margin-bottom:8px; }
.result table { width:100%; border-collapse:collapse; margin-top:10px; }
.result td { padding:6px 10px; border-bottom:1px solid #d5dbdb; font-size:14px; }
.result td:first-child { color:#5d6d7e; width:40%; }

/* 页脚 */
.site-footer { background:#2c3e50; color:#bdc3c7; padding:22px 0; text-align:center; font-size:13px; }
.footer-note { margin-top:4px; color:#7f8c8d; }
/* 联系我们（feedback.html 承接） */
.contact-card{background:#fff;border-radius:10px;padding:24px 22px;box-shadow:0 1px 4px rgba(0,0,0,.08);text-align:center;}
.contact-label{margin:0;font-size:13px;color:#7f8c8d;}
.contact-mail{margin:8px 0 18px;font-size:22px;font-weight:600;color:#2c3e50;word-break:break-all;letter-spacing:.5px;}
.contact-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.contact-actions .btn-share{border:none;font-family:inherit;line-height:1.4;text-decoration:none;cursor:pointer;}
.contact-actions .note-btn{display:inline-block;line-height:1.4;text-decoration:none;}
.contact-status{margin:14px 0 0;font-size:13px;color:#1e8449;min-height:20px;}
.contact-hint{margin:12px auto 0;max-width:520px;font-size:12px;color:#8a949e;line-height:1.8;}
.contact-hint a{color:#2471a3;}
.contact-tips{max-width:540px;margin:18px auto 0;padding-left:20px;text-align:left;font-size:13px;color:#7f8c8d;line-height:1.9;}
@media (max-width:480px){
  .contact-mail{font-size:19px;}
}

/* ICP 备案号 */
.icp { margin-top:6px; font-size:12px; color:#8a949e; letter-spacing:.3px; }
.icp a { color:#8a949e; text-decoration:none; }
.icp a:hover { color:#bdc3c7; text-decoration:underline; }

/* 分类 */
.type-chip {
  display:inline-block; padding:4px 10px; margin:4px; border-radius:14px;
  background:#ecf0f1; font-size:13px; color:#2c3e50; text-decoration:none;
}
.type-chip:hover { background:#2c3e50; color:#fff; }

h2.mt { margin-top:20px; }

/* 详情页内容 */
.intro-summary { font-size:15px; line-height:1.8; color:#34495e; }
.intro-highlights { margin-top:10px; padding-left:18px; }
.intro-highlights li { margin-bottom:6px; color:#566573; }
.tag-row { margin-top:12px; }
.tag { display:inline-block; padding:3px 10px; margin:4px 4px 0 0; background:#eaf7ef; color:#1e8449; border-radius:12px; font-size:13px; }

.info-table { width:100%; border-collapse:collapse; margin-top:8px; }
.info-table td { padding:8px 12px; border-bottom:1px solid #ecf0f1; font-size:14px; vertical-align:top; }
.info-table td:first-child { width:130px; color:#7f8c8d; font-weight:600; }

.route-card { border:1px solid #e5e8eb; border-radius:8px; padding:14px 16px; margin-bottom:14px; background:#fafcfe; }
.route-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.route-head h3 { font-size:16px; color:#2c3e50; }
.diff { padding:2px 10px; border-radius:10px; font-size:12px; font-weight:600; }
.diff-强级 { background:#fdecea; color:#c0392b; }
.diff-中级 { background:#fef3e2; color:#d68910; }
.diff-初级 { background:#d6eaf8; color:#2471a3; }
.diff-休闲 { background:#d5f5e3; color:#27ae60; }
.route-meta { display:flex; gap:16px; flex-wrap:wrap; margin:10px 0; font-size:13px; color:#566573; }
.route-meta span { background:#ecf0f1; padding:3px 10px; border-radius:10px; }
.route-desc { font-size:14px; color:#566573; line-height:1.7; }
.route-points { margin-top:10px; padding-left:0; list-style:none; }
.route-points li { padding:6px 0 6px 22px; border-bottom:1px dashed #e8eaed; font-size:14px; position:relative; }
.route-points li::before { content:"▸"; position:absolute; left:6px; color:#2980b9; }
.route-note { margin-top:10px; padding:10px 12px; background:#fef9e7; border-left:3px solid #f5b041; font-size:13px; color:#7f6a2f; }

/* 游览方式速览 */
.mode-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr)); gap:12px; margin-top:12px; }
.mode-card { border:1px solid #e5e8eb; border-radius:8px; padding:12px 14px; background:#fafcfe; }
.mode-head { display:flex; align-items:center; gap:7px; margin-bottom:6px; }
.mode-head h3 { font-size:15px; color:#2c3e50; }
.mode-ico { font-size:17px; line-height:1; }
.mode-card p { font-size:13.5px; color:#566573; line-height:1.7; }

.notes-list { padding-left:0; list-style:none; }
.notes-list li { padding:7px 0 7px 24px; position:relative; font-size:14px; color:#566573; border-bottom:1px dashed #e8eaed; }
.notes-list li::before { content:"⚠"; position:absolute; left:0; }

.practical-item { margin-bottom:14px; }
.practical-item h3 { font-size:15px; color:#2c3e50; margin-bottom:4px; }
.practical-item p { font-size:14px; color:#566573; line-height:1.7; }
.data-note{font-size:12px;color:#95a5a6;margin:0 0 10px;}

/* 路线配图占位 */
.route-images { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.route-img-ph {
  position:relative; aspect-ratio:16/10; border-radius:6px; overflow:hidden;
  background:repeating-linear-gradient(45deg,#eef1f4,#eef1f4 10px,#e5e9ee 10px,#e5e9ee 20px);
  display:flex; align-items:center; justify-content:center;
}
.route-img-ph .ph-label {
  color:#8a96a3; font-size:12px; text-align:center; line-height:1.5; padding:4px;
}
@media(max-width:560px){ .route-images{ grid-template-columns:1fr 1fr; } }
.route-images .ph-tag {
  position:absolute; top:6px; left:6px; background:rgba(44,62,80,.75); color:#fff;
  font-size:10px; padding:1px 6px; border-radius:8px;
}

/* 路线导航图（单张全宽，平铺展示，供行程参考） */
.route-nav {
  margin:14px 0 0; border-radius:8px; overflow:hidden;
  background:#f0f2f5; border:1px solid #e6eaf0;
}
.route-nav img { width:100%; height:auto; display:block; }
.route-nav figcaption {
  padding:6px 12px; font-size:12px; color:#5a6775; background:#fff;
  border-top:1px solid #eef1f5;
}
.route-nav-ph {
  margin:14px 0 0; aspect-ratio:16/6; border-radius:6px; overflow:hidden;
  background:repeating-linear-gradient(45deg,#eef1f4,#eef1f4 10px,#e5e9ee 10px,#e5e9ee 20px);
  display:flex; align-items:center; justify-content:center;
}
.route-nav-ph .ph-label { color:#8a96a3; font-size:12px; text-align:center; line-height:1.5; }

/* 景区介绍实景图（2列网格，可点击放大） */
.intro-photos { margin-top:14px; }
@media(max-width:560px){ .intro-photos{ grid-template-columns:1fr 1fr; } }

/* 真实路线配图 + 点击放大 */
.route-img {
  position:relative; margin:0; aspect-ratio:16/10; border-radius:6px; overflow:hidden;
  cursor:zoom-in; background:#f0f2f5;
}
.route-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s; }
.route-img:hover img { transform:scale(1.05); }
.route-img figcaption {
  position:absolute; bottom:0; left:0; right:0; padding:4px 8px;
  background:linear-gradient(transparent,rgba(0,0,0,.55)); color:#fff;
  font-size:11px;
}
/* 图片统一来源声明（替代原先逐图展示的「图：作者 · 许可」） */
.img-source { margin:6px 0 0; font-size:11px; color:#8a94a0; line-height:1.5; }
.route-img .zoom-hint {
  position:absolute; top:6px; right:6px; background:rgba(44,62,80,.75); color:#fff;
  font-size:10px; padding:2px 7px; border-radius:10px; opacity:0; transition:opacity .2s;
}
.route-img:hover .zoom-hint { opacity:1; }

/* Lightbox 点击放大 */
.lightbox {
  display:none; position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.92); align-items:center; justify-content:center;
  cursor:zoom-out;
}
.lightbox.show { display:flex; }
.lightbox img { max-width:92vw; max-height:88vh; border-radius:6px; box-shadow:0 4px 30px rgba(0,0,0,.6); }
.lightbox .lb-caption {
  position:absolute; bottom:20px; left:0; right:0; text-align:center;
  color:#fff; font-size:14px;
}
.lightbox .lb-close {
  position:absolute; top:16px; right:20px; color:#fff; font-size:30px;
  cursor:pointer; line-height:1; opacity:.8;
}
.lightbox .lb-close:hover { opacity:1; }

/* ---- 变现模块（CPS 导购 + 私域 + 合规） ---- */
/* ⚠ 全局变现开关：控制全站 CPS 广告区块 / 机票火车入口 / 住宿广告链接的显示。
   合规原因：个人备案属"非经营性"，挂 CPS 返利链接有被认定经营性、注销备案的风险。
   关闭 = 只隐藏，不删代码；重新开启只需删掉下面这条 .monetize-off 规则里的 display:none，
   或把 <body> 上的 class="monetize-off" 去掉（脚本 tools/toggle_monetize.py 控制）。
   详细说明见 tools/toggle_monetize.py 顶部注释。 */
body.monetize-off .cps-block,
body.monetize-off .cps-btn,
body.monetize-off .lodging-ad,
body.monetize-off .hero-flight,
body.monetize-off .flight-search,
body.monetize-off .train-entry,
body.monetize-off .travel-row,
body.monetize-off .cps-label { display:none !important; }

.cps-block{
  background:#fff;border:1px solid #e5e7eb;border-left:4px solid #e74c3c;  /* 白底 + 浅灰边框 + 左侧红色竖线 */
  border-radius:8px;padding:16px 18px;margin:18px 0;
}
.cps-block h2{font-size:17px;margin:0 0 6px;color:#2c3e50;display:flex;align-items:center;}
.cps-label{display:inline-block;padding:1px 8px;border-radius:4px;background:#e74c3c;color:#fff;font-size:11px;font-weight:600;margin-left:8px;vertical-align:middle;}
.cps-tip{font-size:13px;color:#7f8c8d;margin:6px 0 14px;line-height:1.6;}
.cps-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cps-btn{
  display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#e67e22;color:#fff;text-decoration:none;
  border-radius:8px;font-size:14px;font-weight:600;transition:background .2s;
}
.cps-btn:hover{background:#d35400;}
.cps-btn-ticket{background:#2980b9;}
.cps-btn-ticket:hover{background:#1f618d;}
.cps-btn-train{background:#16a085;}
.cps-btn-train:hover{background:#117a65;}
.cps-btn-flight{background:#2c3e50;}
.cps-btn-flight:hover{background:#1a252f;}
.cps-icon{font-size:16px;line-height:1;}
.cps-btn .cps-label{background:rgba(255,255,255,.22);color:#fff;margin-left:2px;}

/* 首页机票比价搜索框（高频入口） */
.flight-search{max-width:620px;margin:16px auto 0;background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 1px 4px rgba(0,0,0,.08);}
.flight-search h3{font-size:15px;margin-bottom:10px;color:#2c3e50;}
/* 机票搜索框 + 火车票入口：左右排列 */
.travel-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.flight-form{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 300px;}
.flight-form input{
  flex:1;min-width:110px;padding:10px 12px;border:2px solid #d5dbdb;border-radius:6px;font-size:14px;outline:none;
}
.flight-form input:focus{border-color:#2c3e50;}
.flight-form button{padding:10px 18px;background:#2c3e50;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;}
.train-entry{flex:0 0 auto;}
@media(max-width:560px){
  .travel-row{flex-direction:column;align-items:stretch;}
  .flight-form{flex:1 1 auto;}
  .train-entry{flex:1 1 auto;}
  .train-entry .cps-btn{width:100%;justify-content:center;}
}

/* 工具结果页 比价预订闭环 */
.result-cta{margin-top:18px;padding-top:14px;border-top:1px dashed #d5dbdb;}
.result-cta h3{color:#2c3e50;}

/* 页脚合规 + 订阅 */
.footer-icp{margin-top:6px;color:#7f8c8d;}
.subscribe-bar{margin-top:12px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;}
.subscribe-bar span{color:#bdc3c7;font-size:13px;}
.subscribe-bar input{padding:8px 10px;border:none;border-radius:6px;font-size:13px;width:200px;max-width:100%;}
.subscribe-bar button{padding:8px 14px;background:#e67e22;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;}

/* ===== 布局与功能增强（按用户任务重排 + 转化提升） ===== */

/* 搜索即时联想下拉 */
.suggest{max-width:560px;margin:-2px auto 0;background:#fff;border:1px solid #d5dbdb;border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,.12);overflow:hidden;text-align:left;position:relative;z-index:20;}
.suggest a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #ecf0f1;color:#2c3e50;text-decoration:none;font-size:14px;}
.suggest a:last-child{border-bottom:none;}
.suggest a:hover{background:#f0f4f8;}
.suggest a b{font-weight:600;}
.suggest a span{color:#7f8c8d;font-size:12px;}

/* 路线卡：算强度按钮 */
.route-head-r{display:flex;align-items:center;gap:10px;}
.calc-btn{display:inline-block;padding:5px 12px;background:#27ae60;color:#fff;border-radius:6px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .2s;white-space:nowrap;}
.calc-btn:hover{background:#1e8449;}

/* 首屏酒店横条（转化最高位置） */
.hotel-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #e67e22;border-radius:8px;padding:10px 14px;margin:0 0 14px;}
.hb-label{font-size:14px;font-weight:600;color:#2c3e50;display:flex;align-items:center;}
.hb-btn{background:#e67e22;color:#fff;padding:7px 18px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;}
.hb-btn:hover{background:#d35400;}

/* 粘性小目录（长页快速跳转） */
.toc{position:sticky;top:56px;z-index:15;display:flex;gap:6px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;margin:0 0 16px;}
.toc a{color:#2c3e50;text-decoration:none;font-size:13px;padding:4px 10px;border-radius:6px;}
.toc a:hover{background:#ecf0f1;}

/* 相关推荐 + 上下家（消灭死胡同） */
.related-cols{display:flex;gap:20px;flex-wrap:wrap;}
.rel-col{flex:1 1 220px;}
.rel-col h3{font-size:14px;color:#7f8c8d;margin-bottom:6px;}
.rel-col ul{list-style:none;}
.rel-col li{padding:5px 0;border-bottom:1px dashed #e8eaed;}
.rel-col a{color:#2980b9;text-decoration:none;font-size:14px;}
.rel-col a:hover{text-decoration:underline;}
.prevnext{display:flex;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap;}
.pn{display:inline-block;padding:8px 14px;background:#f0f4f8;border-radius:8px;color:#2c3e50;text-decoration:none;font-size:13px;}
.pn:hover{background:#e3ebf3;}

/* 移动端吸底行动栏（默认隐藏，移动端显示） */

/* 返回顶部 */
.to-top{position:fixed;right:20px;bottom:20px;z-index:30;background:#2c3e50;color:#fff;border:none;border-radius:50%;width:46px;height:46px;font-size:14px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25);}

/* 列表：结果计数 + 无结果反馈 */
.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.result-count{font-size:14px;color:#5d6d7e;font-weight:600;}
.no-result{background:#fef9e7;border:1px dashed #f5b041;border-radius:8px;padding:18px;text-align:center;color:#b9770e;font-size:14px;margin-top:12px;}

/* 热门省份 chip */
.hot-provs{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.hp-label{font-size:13px;color:#7f8c8d;}
.prov-chip{display:inline-block;padding:4px 12px;border-radius:14px;background:#ecf0f1;font-size:13px;color:#2c3e50;text-decoration:none;}
.prov-chip:hover{background:#2c3e50;color:#fff;}
/* 省份聚合页：当前省份高亮 / 尚未建页的省份为纯文字 */
.prov-chip--cur{background:#2c3e50;color:#fff;font-weight:600;}
span.prov-chip{color:#8a949e;}

/* 计算器当前路线提示 */
.calc-source{color:#27ae60;font-size:13px;margin-top:6px;min-height:18px;}
/* 工具页专用按钮：不依赖 .cps-btn（工具页 body.monetize-off 会隐藏 .cps-btn） */
.tool-cta{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:10px 18px;background:#27ae60;color:#fff;text-decoration:none;border-radius:8px;font-size:14px;font-weight:600;}
.tool-cta:hover{background:#1e8449;color:#fff;}
.tool-tip{background:#f4f8fb;border-left:3px solid #2980b9;padding:8px 12px;font-size:13px;color:#5d6d7e;border-radius:4px;line-height:1.6;}
.field-hint{font-size:12px;color:#7f8c8d;line-height:1.6;margin:6px 0 2px;}
.calc-basis{margin-top:14px;padding-top:10px;border-top:1px dashed #d5dbdb;font-size:12.5px;color:#7f8c8d;line-height:1.7;}
.tool-tip{background:#f4f8fb;border-left:3px solid #2980b9;padding:8px 12px;font-size:13px;color:#5d6d7e;border-radius:4px;line-height:1.6;}
.field-hint{font-size:12px;color:#7f8c8d;line-height:1.6;margin:6px 0 2px;}
.calc-basis{margin-top:14px;padding-top:10px;border-top:1px dashed #d5dbdb;font-size:12.5px;color:#7f8c8d;line-height:1.7;}

/* 页脚链接 + 移动端导航精简 + 吸底栏 */
.footer-links{margin-bottom:8px;}
.footer-links a{color:#bdc3c7;text-decoration:none;margin:0 4px;}
.footer-links a:hover{color:#fff;}
@media(max-width:560px){
  /* 移动端吸底栏 .action-bar 已下线（页面内已有 cps-block 推广位），相关样式同步移除 */
  .toc{top:52px;}
}

/* ===== 功能增强二批（按徒步者完整旅程） ===== */

/* 我的足迹打卡 */
.checkin-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;}
/* 名称块右侧的打卡行：与 h1 同一行，窄屏自动换行到下方 */
.detail-header .checkin-row{margin-top:0;}
.detail-header h1{margin:0 0 12px;}
@media (min-width:641px){
  .detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:16px;}
  .detail-header h1{grid-column:1;}
  .detail-header .checkin-row{grid-column:2;grid-row:1;justify-self:end;}
  .detail-header .meta{grid-column:1/-1;}
}
.checkin-btn{padding:8px 18px;background:#f0f4f8;border:1px solid #d5dbdb;border-radius:20px;font-size:14px;color:#2c3e50;cursor:pointer;transition:all .2s;}
.checkin-btn:hover{border-color:#27ae60;color:#27ae60;}
.checkin-btn.checked{background:#d5f5e3;border-color:#27ae60;color:#1e8449;}
.checkin-stat{font-size:13px;color:#7f8c8d;}
/* 住宿建议标题右侧的住宿广告按钮 */
#lodging h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
#lodging .lodging-ad{margin-left:auto;font-size:13px;padding:6px 14px;}
.hero-checkin{display:inline-block;margin-top:8px;background:#d5f5e3;color:#1e8449;padding:4px 16px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;}
.hero-checkin:hover{background:#c2eed0;}
.hero-checkin:hover .hc-main::after{content:" ▾";color:#1e8449;}
/* 双轨口径：5A 与热门景点分开计数，热点打卡数小字另起一行，不带下拉箭头 */
.hero-checkin .hero-hot{display:block;margin-top:2px;font-size:12px;font-weight:400;color:#1e8449;opacity:.85;}

/* 足迹面板（点击已征服统计展开） */
.checkin-panel{position:fixed;top:120px;left:50%;transform:translateX(-50%);width:min(420px,90vw);max-height:60vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:50;padding:14px;}
.cp-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#2c3e50;margin-bottom:10px;}
.cp-close{cursor:pointer;color:#7f8c8d;font-size:22px;line-height:1;}
.cp-close:hover{color:#2c3e50;}
.cp-list{display:flex;flex-wrap:wrap;gap:8px;}
.cp-item a{display:inline-block;padding:5px 12px;background:#eaf7ef;color:#1e8449;border-radius:14px;font-size:13px;text-decoration:none;border:1px solid #d5f5e3;}
.cp-item a:hover{background:#d5f5e3;}
.cp-empty{color:#7f8c8d;font-size:14px;text-align:center;padding:14px 6px;}

/* 常见问答 */
.faq-item{margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed #e8eaed;}
.faq-item:last-child{border-bottom:none;}
.faq-item h3{font-size:15px;color:#2c3e50;margin-bottom:4px;}
.faq-item p{font-size:14px;color:#566573;line-height:1.7;}
/* 工具页「信息备注」列表 */
.tool-notes{list-style:none;margin:0;padding:0;}
.tool-notes li{padding:10px 0 10px 14px;border-left:3px solid #dfe6e9;margin-bottom:10px;line-height:1.7;font-size:14.5px;color:#34495e;}
.tool-notes li strong{color:#2c3e50;margin-right:6px;}

/* 装备清单 */
.gear-result{margin-top:16px;background:#eaf7ef;border-radius:8px;padding:16px;}
.gear-result h3{color:#27ae60;margin-bottom:10px;}
.gear-items{list-style:none;}
.gear-items li{padding:6px 0 6px 24px;position:relative;font-size:14px;color:#34495e;border-bottom:1px dashed #d5dbdb;}
.gear-items li::before{content:"✓";position:absolute;left:6px;color:#27ae60;}
.gear-note{margin-top:10px;font-size:12px;color:#7f8c8d;}
/* 装备清单分组 / 克重 / 总计（放在 .gear-items li 之后并提高特异性，避免被其覆盖） */
.gear-summary{font-size:13px;color:#5d6d7e;line-height:1.7;margin:-4px 0 8px;}
.gear-items li::before{content:"";}
.gear-items li.gear-group{display:flex;justify-content:space-between;align-items:center;margin:10px 0 2px;padding:0 0 5px;font-size:13px;font-weight:600;color:#2c3e50;border-bottom:1px solid #cfd8dc;}
.gear-items li.gear-group span{font-weight:400;color:#7f8c8d;font-size:12px;}
.gear-items li.gear-opt{color:#7f8c8d;}
.gear-check span em{font-style:normal;color:#95a5a6;font-size:12px;margin-left:6px;}
.gear-items li.gear-total{margin-top:14px;padding:10px 12px;background:#fff;border-radius:6px;font-size:14px;color:#2c3e50;}
.gear-total .gt-row{display:block;font-weight:400;color:#95a5a6;font-size:13px;line-height:1.8;}
.gear-total .gt-row b{color:#2c3e50;font-weight:600;font-size:15px;}
.gear-total .gt-sep{color:#cfd8dc;}
.gear-total .gt-hint{display:block;margin-top:6px;font-size:12px;color:#a6b1b9;line-height:1.65;}
.gear-load-link{margin-top:12px;}
/* 工具页内容层：等级判据表 / 分组原则 / 打印复制 */
.grade-table{width:100%;border-collapse:collapse;margin-top:12px;background:#fff;}
.grade-table th,.grade-table td{padding:8px 10px;border:1px solid #e5e7eb;font-size:13.5px;text-align:left;line-height:1.6;}
.grade-table th{background:#f4f8fb;color:#2c3e50;}
.gear-principles{list-style:none;padding-left:0;margin-top:8px;}
.gear-principles li{padding:8px 0 8px 26px;position:relative;font-size:14px;color:#566573;line-height:1.7;border-bottom:1px dashed #e8eaed;}
.gear-principles li::before{content:"✓";position:absolute;left:4px;color:#27ae60;font-weight:600;}
.gear-principles b{color:#2c3e50;}
.gear-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.gear-actions button{padding:9px 16px;background:#fff;border:1px solid #bdc3c7;border-radius:8px;font-size:13.5px;color:#2c3e50;cursor:pointer;}
.gear-actions button:hover{border-color:#27ae60;color:#27ae60;}
/* 装备页 body 带 tool-gear：用户自行 Ctrl+P 时清单不会打成白纸（见下方 @media print） */
@media print{
  .site-header,.site-footer,.breadcrumb,.cps-block,.gear-actions,.tool-tip,.tool-form,
  .detail-header,#gear-guide,#faq,#grade-guide,.gear-load-link,.field-hint,#to-top,.calc-anchor,
  .gear-done-count,.gear-total .gt-hint{display:none!important;}
  body{background:#fff;}
  .container{max-width:100%;padding:0;}
  .gear-result{background:#fff;border-radius:0;padding:0;box-shadow:none;}
  .gear-items li{break-inside:avoid;}
  .gear-check input[type="checkbox"]{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  /* gear 页的清单在 .tool-form 内部：打印时保留容器、只藏表单控件，否则会打出白纸 */
  .tool-gear .tool-form{display:block!important;background:none;box-shadow:none;padding:0;border-radius:0;}
  .tool-gear .tool-form > *:not(.gear-result){display:none!important;}
}

/* 季节专题 */
.season-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.season-links .prov-chip{font-size:14px;padding:8px 18px;}
.season-tip{color:#7f8c8d;font-size:13px;margin-bottom:8px;}
.season-list li span{color:#7f8c8d;font-size:13px;}
/* ===== 我的足迹页 ===== */
.my-hero{text-align:left;}
.my-total{font-size:26px;font-weight:600;color:#27ae60;margin:10px 0 6px;}
.my-bar{height:14px;background:#eef2f5;border-radius:7px;overflow:hidden;max-width:520px;}
.my-bar-fill{height:100%;background:#27ae60;border-radius:7px;transition:width .6s;}
/* 双轨口径：5A 用绿色主轨，热门景点用橙色次轨，两者分母独立 */
.my-hot{margin:14px 0 6px;font-size:15px;color:#b9770e;}
.my-bar-hot{height:10px;}
.my-bar-fill-hot{background:#e67e22;}
/* 已打卡列表里的「热门」标记，与 5A 区分 */
.cp-item .cp-tag-hot{background:#fdf0e3;color:#b9770e;border-radius:3px;padding:0 4px;font-size:11px;margin-left:4px;}
.my-note{font-size:13px;color:#7f8c8d;line-height:1.7;margin-top:8px;}
.my-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.btn-share{display:inline-block;padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;text-decoration:none;}
.btn-share:hover{background:#219a52;}
.btn-plain{background:#eaf7ef;color:#1e8449;}
.btn-plain:hover{background:#d5f5e3;}
.share-out{margin-top:14px;}
.share-out img{border-radius:10px;border:1px solid #e8eaed;display:block;margin-bottom:8px;}
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:12px;}
.badge-card{background:#f7f9fa;border:1px solid #e8eaed;border-radius:10px;padding:14px 10px;text-align:center;opacity:.55;}
.badge-card.got{background:#eaf7ef;border-color:#27ae60;opacity:1;}
.bc-icon{font-size:28px;line-height:1.2;}
.bc-name{font-weight:600;color:#2c3e50;font-size:14px;margin-top:4px;}
.bc-desc{font-size:12px;color:#7f8c8d;margin-top:2px;}
.prov-progress{margin-top:10px;}
.prov-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed #e8eaed;}
.prov-row:last-child{border-bottom:none;}
.prov-row.full .pp-name{color:#b8860b;}
.pp-name{width:64px;font-size:14px;color:#2c3e50;flex-shrink:0;}
.pp-bar{flex:1;height:10px;background:#eef2f5;border-radius:5px;overflow:hidden;}
.pp-fill{height:100%;background:#5dade2;border-radius:5px;}
.prov-row.full .pp-fill{background:#f1c40f;}
.pp-num{width:56px;text-align:right;font-size:13px;color:#7f8c8d;flex-shrink:0;}
.checkin-list-page .cp-item{display:inline-flex;flex-direction:column;}
.checkin-list-page .cp-item em{font-style:normal;font-size:11px;color:#95a5a6;}
.cp-more{display:inline-block;margin-top:12px;font-size:13px;color:#27ae60;text-decoration:none;}
.cp-more:hover{text-decoration:underline;}

/* ===== 最近浏览横条 ===== */
.recent-strip{margin-bottom:18px;}
.recent-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.recent-item{display:inline-block;padding:6px 14px;background:#eef5fb;color:#2471a3;border:1px solid #d4e6f1;border-radius:16px;font-size:13px;text-decoration:none;}
.recent-item:hover{background:#d4e6f1;}

/* ===== 打卡挑战页 ===== */
.challenge-card{margin-bottom:18px;}
.challenge-card.complete{border-color:#f1c40f;background:#fef9e7;}
.ch-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.ch-head h2{margin:0;}
.ch-progress{font-weight:600;color:#27ae60;font-size:15px;}
.ch-bar{height:10px;background:#eef2f5;border-radius:5px;overflow:hidden;margin:10px 0;}
.ch-bar-fill{height:100%;background:#27ae60;border-radius:5px;}
.ch-items{display:flex;gap:8px;flex-wrap:wrap;}
.ch-item{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#f7f9fa;border:1px solid #e8eaed;border-radius:18px;font-size:13px;color:#2c3e50;text-decoration:none;}
.ch-item em{font-style:normal;font-size:11px;color:#95a5a6;}
.ch-item:hover{border-color:#27ae60;}
.ch-item.got{background:#eaf7ef;border-color:#27ae60;color:#1e8449;}

/* ===== 更新日志 ===== */
.chlog-item{padding:14px 0;border-bottom:1px solid #e8eaed;}
.chlog-item:last-child{border-bottom:none;}
.chlog-item h2{font-size:16px;color:#2c3e50;margin-bottom:8px;}
.chlog-item ul{padding-left:20px;}
.chlog-item li{font-size:14px;color:#566573;line-height:1.8;}

/* ===== 装备清单勾选 ===== */
.gear-check label{display:flex;align-items:center;gap:8px;cursor:pointer;}
.gear-check input[type="checkbox"]{width:16px;height:16px;accent-color:#27ae60;cursor:pointer;}
.gear-done-count{display:block;margin-top:8px;font-size:13px;color:#27ae60;font-weight:600;}

/* ===== 足迹码导出/导入 ===== */
.btn-io{display:inline-block;padding:10px 20px;background:#eef5fb;color:#2471a3;border:1px solid #d4e6f1;border-radius:8px;font-size:14px;cursor:pointer;}
.btn-io:hover{background:#d4e6f1;}
.fp-io{margin-top:12px;background:#f7f9fa;border:1px solid #e8eaed;border-radius:10px;padding:14px;}
.fp-code{width:100%;box-sizing:border-box;font-family:monospace;font-size:12px;color:#2c3e50;border:1px solid #d5dbdb;border-radius:6px;padding:10px;margin-top:6px;resize:vertical;word-break:break-all;}
.fp-msg{font-size:14px;color:#1e8449;font-weight:600;margin-top:8px;min-height:1em;word-break:break-all;}

/* ===== 打赏模块（自愿·非经营性） ===== */
.tip-block{background:#fff;border:1px solid #f0e4d0;border-radius:10px;padding:18px 20px;margin:20px 0;text-align:center;}
.tip-block .tip-title{font-size:15px;color:#8a6d3b;font-weight:600;margin-bottom:6px;}
.tip-block .tip-desc{font-size:13px;color:#9c8c78;line-height:1.7;margin-bottom:14px;}
.tip-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:#f6a623;color:#fff;border:none;border-radius:22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;}
.tip-btn:hover{background:#e0951a;}
.tip-note{font-size:12px;color:#b3a795;margin-top:10px;}

/* 打赏弹窗 */
.tip-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.tip-mask[hidden]{display:none !important;}  /* 防止 display:flex 覆盖 hidden 属性（同 scenic-list 的坑） */
.tip-modal{background:#fff;border-radius:14px;padding:24px 22px;max-width:340px;width:100%;text-align:center;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.2);}
.tip-modal h3{font-size:17px;color:#2c3e50;margin:0 0 4px;}
.tip-modal .tip-sub{font-size:13px;color:#7f8c8d;margin-bottom:16px;line-height:1.6;}
.tip-qr{display:flex;gap:14px;justify-content:center;}
.tip-qr figure{margin:0;flex:1;}
.tip-qr img{width:100%;max-width:130px;height:auto;border:1px solid #eee;border-radius:8px;display:block;margin:0 auto;}
.tip-qr figcaption{font-size:12px;color:#7f8c8d;margin-top:6px;}
.tip-qr .tip-qr-ph{width:100%;max-width:130px;aspect-ratio:1;margin:0 auto;border:1px dashed #d5dbdb;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#b3a795;text-align:center;padding:8px;box-sizing:border-box;}
/* 只剩微信一个收款码时适当放大，避免弹窗里显得空旷 */
.tip-qr figure:only-child img,
.tip-qr figure:only-child .tip-qr-ph{max-width:170px;}
.tip-close{position:absolute;top:10px;right:14px;font-size:22px;color:#b3a795;cursor:pointer;line-height:1;background:none;border:none;padding:0;}
.tip-close:hover{color:#7f8c8d;}
.tip-modal .tip-legal{font-size:11px;color:#c0b8ac;margin-top:14px;line-height:1.6;}
@media (max-width:480px){
  .tip-qr{gap:10px;}
  .tip-modal{padding:20px 16px;}
}

/* 离线便签（详情页 · 前端生成） */
.note-btn{padding:8px 16px;background:#f0f4f8;border:1px solid #d5dbdb;border-radius:20px;font-size:14px;color:#2c3e50;cursor:pointer;transition:all .2s;}  /* 独立样式：不与 .checkin-btn 混用，避免被打卡状态改写 */
.note-btn:hover{border-color:#2980b9;color:#2980b9;}
.note-btn:disabled{opacity:.5;cursor:not-allowed;}
.note-btn:disabled:hover{border-color:#d5dbdb;color:#2c3e50;}
.note-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;}
.note-mask[hidden]{display:none !important;}  /* 同 tip-mask：防 display:flex 覆盖 hidden */
/* 分享组件（main.js 注入）：按钮叠在 .to-top 上方，避免重叠 */
#share-fab{position:fixed;right:20px;bottom:78px;z-index:30;background:#27ae60;color:#fff;border:none;border-radius:50%;width:46px;height:46px;font-size:20px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25);}
#share-fab:hover{background:#2ecc71;}
/* 移动端缩小分享按钮，避免常驻遮挡内容（显隐由 main.js 滚动阈值控制） */
@media(max-width:560px){
  #share-fab{ width:40px; height:40px; font-size:17px; right:14px; bottom:68px; }
}
.share-modal{background:#fff;border-radius:12px;padding:20px;max-width:340px;width:100%;text-align:center;}
.share-modal h3{margin:0 0 8px;font-size:17px;}
.share-url{font-size:12px;color:#7f8c8d;word-break:break-all;margin:0 0 12px;}
.share-actions{display:flex;gap:10px;justify-content:center;margin-bottom:12px;}
.share-actions button{padding:8px 14px;border:1px solid #d5dbdb;background:#f8f9f9;border-radius:8px;cursor:pointer;font-size:14px;}
.share-actions button:hover{background:#eef5fb;}
.share-qr svg{width:200px;height:200px;}
.share-qr{min-height:200px;display:flex;align-items:center;justify-content:center;}
.share-tip{font-size:12px;color:#95a5a6;margin:6px 0 12px;}
.share-close{padding:6px 18px;border:none;background:#2c3e50;color:#fff;border-radius:8px;cursor:pointer;font-size:14px;}
.note-card{background:#fff;border-radius:14px;width:100%;max-width:360px;max-height:92vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.25);font-size:12.5px;color:#2c3e50;}
.note-head{padding:14px 18px 10px;border-bottom:1px dashed #e5e7eb;}
.note-head h3{font-size:15px;margin:0 0 3px;line-height:1.4;}
.note-head p{font-size:11.5px;color:#7f8c8d;margin:0;}
.note-body{padding:4px 18px;}
.note-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid #f4f6f7;line-height:1.6;}
.note-row:last-child{border-bottom:none;}
.note-k{color:#7f8c8d;font-size:11.5px;white-space:nowrap;}
.note-v{word-break:break-word;}
.note-empty{color:#95a5a6;font-size:13px;text-align:center;padding:16px 0;}
.note-foot{padding:10px 18px 14px;text-align:center;border-top:1px dashed #e5e7eb;}
.note-hint{font-size:11.5px;color:#27ae60;margin:0 0 9px;}
.note-close{padding:8px 24px;background:#2c3e50;color:#fff;border:none;border-radius:20px;font-size:13px;cursor:pointer;}
.note-close:hover{background:#1c2833;}

/* ===== v50 · 选线对比（add_route_compare.py） ===== */
.diff-中高级 { background:#fdebd0; color:#b9770e; }
.diff-高级 { background:#fadbd8; color:#c0392b; }
.route-cmp { border:1px solid #f0d9a8; background:#fffaf0; border-radius:8px; padding:12px 14px; margin-bottom:14px; }
.rc-title { font-weight:700; font-size:14px; color:#9c6500; margin-bottom:8px; }
.rc-row { padding:7px 0; border-bottom:1px dashed #f0e6c8; }
.rc-row:last-of-type { border-bottom:none; }
.rc-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:3px; }
.rc-name { font-weight:600; font-size:14px; color:#2c3e50; }
.rc-pick { font-size:13px; color:#5d6d7e; line-height:1.65; }
.rc-pick b { color:#b9770e; }
.rc-verdict { margin-top:8px; font-size:13px; color:#2c3e50; background:#fdf2e3; border-radius:6px; padding:7px 10px; line-height:1.6; }
.rc-note { margin-top:6px; font-size:11.5px; color:#b3a795; }

/* ===== v50 · 去过才懂 · 实操干货（add_insider.py） ===== */
#insider .ins-intro { font-size:13px; color:#7f8c8d; margin:-4px 0 12px; }
.ins-item { padding:9px 12px; border-left:3px solid #f0b27a; background:#fffdf7; border-radius:0 8px 8px 0; margin-bottom:9px; }
.ins-t { font-weight:600; font-size:14px; color:#b9770e; margin-bottom:3px; }
.ins-d { font-size:13.5px; color:#4a5a6a; line-height:1.7; }
.ins-foot { font-size:11.5px; color:#b3a795; margin-top:10px; line-height:1.6; }

/* ===== v50 · 徒步强度筛选（add_diff_filter.py） ===== */
.lvl { display:inline-block; padding:1px 8px; border-radius:9px; font-size:11px; font-weight:600; }
.lvl-中高级 { background:#fdebd0; color:#b9770e; }
.lvl-强级 { background:#fdecea; color:#c0392b; }
.lvl-休闲 { background:#f4f6f7; color:#95a5a6; }
.lvl-初级 { background:#e9f7ef; color:#27ae60; }
.lvl-中级 { background:#d6eaf8; color:#2980b9; }
.chip-hard { background:#fdecea; color:#c0392b; border:1px solid #f5b7b1; }
.chip-hard:hover { background:#fadbd8; }
