/*
Theme Name: 途友旅游网 Tuyou Travel
Theme URI: https://tuyou.cn
Description: 旅游目的地 SEO 主题：国家(country) → 省份(province) → 目的地(mudidi) → 景区(jingqu) → 景点(jingdian) 五层结构，拼音 URL，TouristAttraction / TouristDestination 结构化数据，内置分类渐变占位图，专为获取搜索引擎流量与良好体验设计。
Version: 2.0.0
Author: 途友
License: GPL-2.0-or-later
Text Domain: tuyou-travel
*/

/* ================= 设计令牌 ================= */
:root{
  --ink:#16232b; --ink-2:#4d5d66; --ink-3:#7b8a91;
  --line:#e7ecef; --bg:#fbfaf7; --surface:#fff; --soft:#f3f0ea;
  --brand:#0e7c6b; --brand-2:#0b5f52; --brand-soft:#e7f3ef;
  --accent:#ff6a4d; --accent-2:#e8543a;
  --radius:16px; --radius-lg:24px;
  --shadow:0 10px 30px rgba(16,40,50,.08);
  --shadow-sm:0 4px 14px rgba(16,40,50,.06);
  --font-sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,sans-serif;
  --font-serif:"Noto Serif SC","Songti SC","SimSun",Georgia,serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--bg);line-height:1.6;font-size:15px;}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.page-pad{padding:26px 0 64px;}

/* ================= 页头 ================= */
.site-head{position:sticky;top:0;z-index:60;background:rgba(251,250,247,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.head-inner{display:flex;align-items:center;gap:26px;height:70px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#12a58a);color:#fff;display:grid;place-items:center;font-family:var(--font-serif);font-size:20px;font-weight:700;box-shadow:0 6px 16px rgba(14,124,107,.28);}
.brand-text{display:flex;flex-direction:column;font-weight:700;font-size:17px;line-height:1.15;}
.brand-text small{font-size:9px;letter-spacing:2.5px;color:var(--ink-3);font-weight:600;margin-top:2px;}
.main-nav{display:flex;gap:22px;}
.main-nav a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:15px;padding:6px 0;border-bottom:2px solid transparent;}
.main-nav a:hover{color:var(--brand);border-color:var(--brand);}
.head-search{margin-left:auto;display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 4px 4px 16px;}
.head-search input{border:0;outline:0;background:transparent;width:170px;font-size:14px;color:var(--ink);font-family:inherit;}
.head-search button{width:34px;height:34px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer;}
.head-search button:hover{background:var(--brand-2);}

/* ================= 面包屑 ================= */
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 20px;font-size:13px;color:var(--ink-3);}
.crumbs a{color:var(--ink-2);text-decoration:none;}
.crumbs a:hover{color:var(--brand);}
.crumbs .cur{color:var(--ink);font-weight:500;}
.crumbs .sep{color:#c3ccd0;margin-left:6px;}

/* ================= 首页 Hero ================= */
.hero{position:relative;overflow:hidden;border-radius:28px;padding:58px 48px;color:#fff;
  background:
   radial-gradient(900px 380px at 82% -20%,rgba(23,165,140,.55),transparent 70%),
   radial-gradient(700px 340px at 0% 120%,rgba(255,106,77,.30),transparent 70%),
   linear-gradient(135deg,#0e5f52 0%,#0b3f49 100%);}
.hero::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 60L60 0' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1'/%3E%3C/svg%3E");pointer-events:none;}
.hero-inner{position:relative;z-index:1;}
.hero .kicker{display:inline-block;font-size:12px;letter-spacing:3px;color:#a9d8cd;margin-bottom:14px;}
.hero h1{font-family:var(--font-serif);font-size:clamp(30px,4vw,46px);line-height:1.2;margin:0 0 14px;font-weight:700;}
.hero p{color:#d6e6e2;font-size:16px;max-width:580px;margin:0;}
.hero-search{display:flex;gap:6px;background:#fff;border-radius:14px;padding:6px;max-width:540px;margin-top:26px;box-shadow:0 14px 34px rgba(0,0,0,.18);}
.hero-search input{flex:1;border:0;outline:0;padding:12px 16px;font-size:15px;border-radius:10px;font-family:inherit;color:var(--ink);}
.hero-search button{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:0 24px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;}
.hero-search button:hover{background:var(--accent-2);}
.hero-stats{display:flex;gap:42px;margin-top:32px;position:relative;z-index:1;}
.hero-stats b{display:block;font-family:var(--font-serif);font-size:28px;line-height:1;}
.hero-stats span{font-size:13px;color:#a9c8c2;}

/* ================= 区块标题 ================= */
.section{margin-top:46px;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px;}
.section-title{font-family:var(--font-serif);font-size:26px;margin:0;font-weight:700;}
.section-title .num{color:var(--brand);font-size:15px;font-family:var(--font-sans);margin-left:8px;font-weight:600;}
.section-more{color:var(--ink-2);text-decoration:none;font-size:14px;}
.section-more:hover{color:var(--brand);}

/* ================= 媒体 / 占位图 ================= */
.media{position:relative;width:100%;background-size:cover;background-position:center;background-color:#e6ebec;overflow:hidden;}
.media.ph{display:flex;align-items:flex-end;}
.media.ph::after{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.10) 0 2px,transparent 2px 14px);
  mix-blend-mode:overlay;}
/* 分类风景插画（渐变 + SVG 剪影，无图时保证有画面） */
.ph-shan{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><circle cx='322' cy='66' r='38' fill='rgba(255,255,255,.20)'/><circle cx='322' cy='66' r='20' fill='rgba(255,255,255,.30)'/><path d='M0 196L64 138L122 178L198 104L276 172L338 132L400 176V300H0Z' fill='rgba(255,255,255,.16)'/><path d='M176 124L198 104L221 126L210 130L198 118L187 130Z' fill='rgba(255,255,255,.62)'/><path d='M64 138L80 154L52 154Z' fill='rgba(255,255,255,.45)'/><path d='M0 240L86 184L152 224L232 166L310 226L400 188V300H0Z' fill='rgba(255,255,255,.10)'/><path d='M0 300L74 246L146 276L226 214L306 268L400 232V300Z' fill='rgba(0,0,0,.16)'/><path d='M0 272q100-14 200 0t200-8v36H0Z' fill='rgba(255,255,255,.12)'/></svg>"),linear-gradient(160deg,#22564c 0%,#3d7e6b 42%,#8fbfa8 76%,#d8e9dc 100%);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-hu{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><circle cx='308' cy='70' r='30' fill='rgba(255,255,255,.22)'/><path d='M0 178L70 138L128 166L206 112L286 164L356 134L400 160V196H0Z' fill='rgba(255,255,255,.20)'/><path d='M186 130L206 112L228 132L216 136L206 124L196 136Z' fill='rgba(255,255,255,.55)'/><rect y='196' width='400' height='104' fill='rgba(255,255,255,.10)'/><g stroke='rgba(255,255,255,.34)' stroke-width='3' stroke-linecap='round'><path d='M32 218h92M150 218h128M304 218h64'/><path d='M62 244h146M236 244h104'/><path d='M96 270h178'/></g></svg>"),linear-gradient(160deg,#1a6382 0%,#3f97b4 40%,#8fc9d9 72%,#dff1f5 100%);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-guzhen{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><circle cx='316' cy='64' r='30' fill='rgba(255,255,255,.24)'/><path d='M0 176l38-26 38 26v20H0Z' fill='rgba(255,255,255,.14)'/><path d='M96 168l42-28 42 28v22H96Z' fill='rgba(255,255,255,.14)'/><path d='M212 172l36-24 36 24v20h-72Z' fill='rgba(255,255,255,.14)'/><path d='M300 166l40-27 40 27v24h-80Z' fill='rgba(255,255,255,.14)'/><path d='M18 214h74v-30l26-20 26 20v30h58v-42l32-24 32 24v42h58v-32l26-20 26 20v32h32v86H18Z' fill='rgba(255,255,255,.17)'/><rect x='18' y='214' width='382' height='86' fill='rgba(0,0,0,.14)'/><g fill='rgba(0,0,0,.16)'><rect x='52' y='238' width='14' height='20'/><rect x='96' y='238' width='14' height='20'/><rect x='176' y='238' width='14' height='20'/><rect x='220' y='238' width='14' height='20'/><rect x='300' y='238' width='14' height='20'/><rect x='344' y='238' width='14' height='20'/></g></svg>"),linear-gradient(160deg,#5d4432 0%,#8f6d4c 44%,#c4a179 76%,#e9d7b8 100%);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-yizhi{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><g fill='rgba(255,255,255,.17)'><rect x='56' y='152' width='24' height='124'/><rect x='124' y='152' width='24' height='124'/><rect x='192' y='152' width='24' height='124'/><rect x='260' y='152' width='24' height='124'/><rect x='328' y='152' width='24' height='124'/><rect x='34' y='128' width='340' height='22'/></g><rect x='40' y='276' width='330' height='24' fill='rgba(0,0,0,.11)'/></svg>"),linear-gradient(135deg,#7a2f2f,#b4573f 58%,#e7b08f);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-haibin{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><circle cx='302' cy='92' r='40' fill='rgba(255,255,255,.30)'/><path d='M0 226q50-20 100 0t100 0 100 0 100 0V300H0Z' fill='rgba(255,255,255,.17)'/><path d='M0 262q50-16 100 0t100 0 100 0 100 0V300H0Z' fill='rgba(0,0,0,.11)'/></svg>"),linear-gradient(135deg,#0f7f9c,#35b3c9 58%,#d6f2f6);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-leyuan{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><g stroke='rgba(255,255,255,.34)' stroke-width='4' fill='none'><circle cx='200' cy='132' r='68'/><path d='M200 64v136M132 132h136M152 84l96 96M248 84l-96 96'/><path d='M200 200v62M168 262h64'/></g></svg>"),linear-gradient(135deg,#8a3b8f,#c05fb0 58%,#f0c1e6);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-caoyuan{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><ellipse cx='96' cy='74' rx='52' ry='20' fill='rgba(255,255,255,.30)'/><ellipse cx='128' cy='82' rx='40' ry='16' fill='rgba(255,255,255,.30)'/><path d='M0 216q100-42 200 0t200-22V300H0Z' fill='rgba(255,255,255,.17)'/><path d='M0 258q100-30 200 0t200-12V300H0Z' fill='rgba(0,0,0,.11)'/></svg>"),linear-gradient(135deg,#4c7a2f,#86b34d 58%,#dcebc0);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-senlin{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><g fill='rgba(255,255,255,.17)'><path d='M66 262l44-108 44 108z'/><path d='M156 262l54-134 54 134z'/><path d='M268 262l38-96 38 96z'/></g><rect y='262' width='400' height='38' fill='rgba(0,0,0,.11)'/></svg>"),linear-gradient(135deg,#215c3f,#3f8f63 58%,#bfe0c9);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-shiku{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><path d='M112 300V196a88 88 0 0 1 176 0v104z' fill='rgba(255,255,255,.17)'/><path d='M168 300V216a32 32 0 0 1 64 0v84z' fill='rgba(0,0,0,.11)'/></svg>"),linear-gradient(135deg,#5b4b3a,#8a6f4f 58%,#d8c3a2);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-dongzhi{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><g fill='rgba(255,255,255,.17)'><path d='M200 300c0-92 62-152 154-152-10 92-72 152-154 152z'/><path d='M200 300c0-72-46-122-118-122 8 72 56 122 118 122z'/></g></svg>"),linear-gradient(135deg,#2f6b3a,#5aa05a 58%,#cfe8c8);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-zonghe{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'><path d='M0 300L96 180L172 240L262 148L352 232L400 196V300Z' fill='rgba(255,255,255,.17)'/><path d='M0 300L118 250L206 276L300 230L400 264V300Z' fill='rgba(0,0,0,.11)'/></svg>"),linear-gradient(135deg,#33566b,#5b8aa3 58%,#c9dde8);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;}
.ph-cat{position:relative;z-index:1;margin:12px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;font-size:12px;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35);}

/* ================= 卡片网格 ================= */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:22px;}
.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%;}
.card .media{aspect-ratio:3/2;}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.card-body h3{font-family:var(--font-serif);font-size:18px;margin:0;line-height:1.3;}
.card-body p{margin:0;color:var(--ink-2);font-size:13px;line-height:1.6;}
.card-meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:12px;color:var(--ink-3);}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-2);font-size:12px;font-weight:600;}
.badge.accent{background:#ffeee9;color:var(--accent-2);}
.dot{width:4px;height:4px;border-radius:50%;background:#c3ccd0;}

/* 景点卡：分类角标 */
.card .type-tag{position:absolute;top:12px;left:12px;z-index:2;padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--ink);font-size:12px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.card .media{position:relative;}

/* ================= 分类 chips ================= */
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{padding:9px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2);text-decoration:none;font-size:14px;transition:.2s;}
.chip:hover,.chip.active{background:var(--brand);color:#fff;border-color:var(--brand);}

/* ================= 目的地详情 ================= */
.dest-cover{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);}
.dest-cover .media{aspect-ratio:21/8;}
.dest-cover .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:34px 38px;color:#fff;background:linear-gradient(to top,rgba(6,20,24,.66),rgba(6,20,24,.05) 55%,transparent);}
.dest-cover h1{font-family:var(--font-serif);font-size:clamp(28px,3.4vw,42px);margin:0 0 8px;text-shadow:0 2px 14px rgba(0,0,0,.25);}
.dest-cover .sub{color:#dfeae6;font-size:15px;}
.dest-cover .badges{display:flex;gap:10px;margin-top:14px;}
.dest-cover .badges span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:4px 12px;border-radius:999px;font-size:13px;backdrop-filter:blur(4px);}

.dest-layout{display:grid;grid-template-columns:1fr 330px;gap:34px;align-items:start;margin-top:30px;}
.dest-main{min-width:0;}
.dest-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px;}

.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px 24px;}
.panel h2{font-family:var(--font-serif);font-size:21px;margin:0 0 14px;}
.panel h3{font-size:15px;margin:0 0 12px;color:var(--ink);}
.entry-content p{line-height:1.9;color:#33434c;margin:0 0 14px;}
.entry-content h2{font-family:var(--font-serif);font-size:22px;margin:26px 0 12px;}

.fact-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14px;}
.fact-row:last-child{border-bottom:0;}
.fact-row .k{width:66px;flex:none;color:var(--ink-3);}
.fact-row .v{color:var(--ink);line-height:1.6;}

/* 景点详情的图集 */
.hero-gallery{display:grid;grid-template-columns:1.65fr 1fr;gap:10px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);}
.hero-gallery .main .media{height:100%;min-height:300px;}
.hero-gallery .thumbs{display:grid;grid-template-rows:1fr 1fr;gap:10px;}
.hero-gallery .thumbs .media{height:100%;min-height:145px;}

/* ================= 归档 / 列表页 ================= */
.archive-hero{border-radius:var(--radius-lg);padding:38px 40px;color:#fff;margin-bottom:26px;
  background:radial-gradient(700px 300px at 85% -30%,rgba(23,165,140,.5),transparent 70%),linear-gradient(135deg,#0f6154,#0d4550);}
.archive-hero h1{font-family:var(--font-serif);font-size:clamp(26px,3.2vw,38px);margin:0 0 8px;}
.archive-hero p{color:#d6e6e2;margin:0;font-size:15px;}
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;}

/* 分页 */
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:36px 0 0;}
.pagination .page-numbers,.nav-links a,.nav-links span{padding:9px 15px;border-radius:10px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink-2);font-size:14px;}
.pagination .page-numbers.current,.nav-links .current{background:var(--brand);color:#fff;border-color:var(--brand);}

/* ================= 页脚 ================= */
.site-foot{margin-top:70px;background:#122029;color:#c7d2d6;padding:50px 0 24px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;}
.site-foot .brand{color:#fff;margin-bottom:14px;}
.site-foot .brand-text small{color:#7f9198;}
.foot-brand p{color:#94a4ab;font-size:14px;line-height:1.75;max-width:420px;margin:0;}
.site-foot h4{color:#fff;font-size:14px;margin:0 0 12px;letter-spacing:.5px;}
.site-foot .foot-col a{display:block;color:#aebbc0;text-decoration:none;font-size:14px;margin:9px 0;}
.site-foot .foot-col a:hover{color:#fff;}
.foot-base{border-top:1px solid rgba(255,255,255,.09);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#82949b;}

/* ================= 小卡片（兜底/杂项） ================= */
.mini-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
.mini-card a{text-decoration:none;color:inherit;display:block;}
.mini-card .media{aspect-ratio:3/2;}
.mini-card h3{font-family:var(--font-serif);font-size:16px;margin:12px 16px 16px;}

.page-title{font-family:var(--font-serif);font-size:clamp(26px,3vw,34px);margin:14px 0 6px;line-height:1.25;}

/* ================= 响应式 ================= */
@media (max-width:980px){
  .dest-layout{grid-template-columns:1fr;}
  .dest-side{position:static;}
  .hero-gallery{grid-template-columns:1fr;}
  .hero-gallery .thumbs{grid-template-rows:none;grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .head-inner{height:auto;flex-wrap:wrap;padding:12px 0;gap:12px;}
  .head-search{margin-left:0;order:3;width:100%;}
  .head-search input{width:auto;flex:1;}
  .main-nav{order:2;}
  .hero{padding:38px 24px;border-radius:20px;}
  .hero-stats{gap:26px;flex-wrap:wrap;}
  .dest-cover .overlay{padding:22px;}
  .dest-cover .media{aspect-ratio:4/3;}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;}
  .foot-grid{grid-template-columns:1fr;}
  .section-title{font-size:22px;}
  .hero-gallery .main .media{min-height:220px;}
}

/* =====================================================================
   v3 景区页 / 景点页（四层结构：省 > 目的地 > 景区 > 景点）
   ===================================================================== */

/* ---------- 通用补充 ---------- */
.card-title{font-family:var(--font-serif);font-size:18px;margin:0;line-height:1.3;}
.card-desc{margin:0;color:var(--ink-2);font-size:13px;line-height:1.6;}
.card-spots{color:var(--brand);font-weight:600;}
.card-grid.compact{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
.card-grid.compact .card-title{font-size:16px;}
.panel-title{font-family:var(--font-serif);font-size:21px;margin:0 0 14px;}
.section-hint{color:var(--ink-3);font-size:13px;}
.entry-content{color:var(--ink-2);font-size:15px;line-height:1.85;}
.entry-content h2,.entry-content h3{font-family:var(--font-serif);color:var(--ink);margin:22px 0 10px;}
.entry-content p{margin:0 0 12px;}
.entry-content ul{margin:0 0 12px;padding-left:20px;}
.page-head{margin:6px 0 22px;}
.page-sub{color:var(--ink-2);font-size:15px;max-width:760px;margin:8px 0 0;}
.page-sub b{color:var(--brand);}
.filter-label{font-size:13px;color:var(--ink-3);align-self:center;margin-right:2px;}
.chip-n{margin-left:7px;font-size:11px;color:var(--ink-3);}
.chip:hover .chip-n{color:rgba(255,255,255,.8);}
.empty-note{background:var(--soft);border-radius:var(--radius);padding:22px 24px;color:var(--ink-2);font-size:14px;}
.empty-note a{color:var(--brand);}
.pager{margin:34px 0 0;}
.pager ul{display:flex;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap;}
.pager a,.pager span{display:inline-flex;padding:8px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--ink-2);text-decoration:none;font-size:14px;}
.pager .current{background:var(--brand);color:#fff;border-color:var(--brand);}
.pager a:hover{border-color:var(--brand);color:var(--brand);}

/* ---------- 景区封面 ---------- */
.jq-cover{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:400px;
  display:flex;align-items:flex-end;background-size:cover;background-position:center;
  background-color:#0b4a53;box-shadow:var(--shadow);}
.jq-cover.ph::before{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 320px at 78% 0%,rgba(255,255,255,.12),transparent 70%),
  linear-gradient(150deg,rgba(8,52,46,.40),rgba(6,32,38,.62));}
.jq-cover-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,18,22,.82),rgba(5,18,22,.35) 45%,rgba(5,18,22,.12) 75%,rgba(5,18,22,.05));}
.jq-cover-inner{position:relative;z-index:2;padding:40px 44px 36px;color:#fff;width:100%;max-width:900px;}
.jq-badges{display:flex;gap:9px;margin-bottom:14px;flex-wrap:wrap;}
.badge.glass{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.38);backdrop-filter:blur(6px);}
.badge.accent{background:var(--accent);color:#fff;}
.jq-title{font-family:var(--font-serif);font-size:clamp(30px,4.4vw,52px);line-height:1.12;margin:0 0 10px;
  letter-spacing:.5px;text-shadow:0 3px 22px rgba(0,0,0,.35);}
.jq-where{color:#d7e6e1;font-size:14px;margin:0 0 12px;letter-spacing:.4px;}
.jq-lede{color:#e6f0ec;font-size:16px;line-height:1.7;margin:0;max-width:700px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- 关键信息条 ---------- */
.fact-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border-radius:var(--radius);overflow:hidden;margin:-34px auto 0;position:relative;z-index:5;
  max-width:1040px;box-shadow:var(--shadow);}
.fact{background:#fff;padding:18px 20px;display:flex;flex-direction:column;gap:5px;}
.fact-k{font-size:12px;color:var(--ink-3);letter-spacing:.5px;}
.fact-v{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- 景区页两栏 ---------- */
.jq-layout{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:34px;margin-top:38px;align-items:start;}
.jq-main{min-width:0;display:flex;flex-direction:column;gap:26px;}
.jq-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px;}
.sub-title{font-family:var(--font-serif);font-size:16px;margin:20px 0 8px;color:var(--ink);}
.jq-transport p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.75;}

/* ---------- 图集 ---------- */
.jq-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.jq-gallery .g-item{aspect-ratio:4/3;border-radius:12px;}

/* ---------- 必看景点（第四层卡片） ---------- */
.spot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;}
.spot-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease;
  display:flex;flex-direction:column;}
.spot-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.spot-media{position:relative;aspect-ratio:16/10;background-size:cover;background-position:center;
  background-color:#e6ebec;display:flex;align-items:flex-start;justify-content:space-between;}
.spot-media.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,52,46,.08),rgba(6,32,38,.26));}
.spot-idx{position:relative;z-index:2;margin:10px;padding:2px 8px;border-radius:6px;
  background:rgba(6,20,24,.55);color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;}
.spot-media.ph .spot-idx{background:rgba(255,255,255,.25);}
.spot-body{padding:13px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.spot-name{font-family:var(--font-serif);font-size:17px;margin:0;line-height:1.35;color:var(--ink);}
.spot-name a{color:inherit;text-decoration:none;}
.spot-name a:hover{color:var(--brand);}
.spot-desc{margin:0;color:var(--ink-2);font-size:13px;line-height:1.62;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.spot-link{margin-top:auto;padding-top:6px;color:var(--brand);font-size:13px;font-weight:600;
  text-decoration:none;display:inline-flex;gap:4px;align-items:center;}
.spot-link:hover{color:var(--brand-2);}

/* ---------- 景点独立页 ---------- */
.att-layout{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:34px;align-items:start;}
.att-main{min-width:0;display:flex;flex-direction:column;gap:24px;}
.att-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px;}
.att-head{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:300px;
  display:flex;align-items:flex-end;background-size:cover;background-position:center;box-shadow:var(--shadow);}
.att-head.ph::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(8,52,46,.35),rgba(6,32,38,.6));}
.att-head::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,18,22,.78),transparent 65%);}
.att-head-inner{position:relative;z-index:2;padding:32px 36px;color:#fff;}
.att-title{font-family:var(--font-serif);font-size:clamp(26px,3.6vw,42px);margin:10px 0 8px;text-shadow:0 2px 18px rgba(0,0,0,.3);}
.att-parent{margin:0;font-size:14px;color:#d7e6e1;}
.att-parent a{color:#fff;text-decoration:underline;text-underline-offset:3px;}

/* ---------- 侧栏卡片 ---------- */
.side-card{background:linear-gradient(160deg,#0e7c6b,#0b4a53);color:#fff;}
.side-kicker{font-size:11px;letter-spacing:2px;color:#a9d8cd;display:block;margin-bottom:8px;}
.side-dest{display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-family:var(--font-serif);font-size:22px;color:#fff;text-decoration:none;line-height:1.3;}
.side-dest-arrow{font-size:18px;transition:transform .2s;}
.side-dest:hover .side-dest-arrow{transform:translateX(4px);}
.side-desc{margin:10px 0 0;font-size:13px;line-height:1.65;color:#d3e6e1;}
.side-title{font-family:var(--font-serif);font-size:16px;margin:0 0 12px;}
.side-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
.side-list a{color:var(--ink-2);text-decoration:none;font-size:14px;display:block;padding-left:14px;position:relative;}
.side-list a::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--brand);}
.side-list a:hover{color:var(--brand);}
.tip-card{background:var(--soft);}
.tip-card p{margin:0;font-size:13px;line-height:1.75;color:var(--ink-2);}

/* ---------- 信息列表 ---------- */
.info-list{margin:0;display:flex;flex-direction:column;gap:0;}
.info-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px;}
.info-row:last-child{border-bottom:0;}
.info-row dt{color:var(--ink-3);flex:0 0 76px;}
.info-row dd{margin:0;color:var(--ink);flex:1;word-break:break-word;}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .jq-layout,.att-layout{grid-template-columns:minmax(0,1fr);}
  .jq-side,.att-side{position:static;}
  .fact-bar{grid-template-columns:repeat(2,1fr);margin-top:-20px;}
}
@media (max-width:640px){
  .jq-cover{min-height:320px;}
  .jq-cover-inner{padding:26px 22px 24px;}
  .jq-lede{font-size:14px;-webkit-line-clamp:2;}
  .fact-bar{margin-top:14px;}
  .fact{padding:14px 16px;}
  .fact-v{font-size:14px;}
  .spot-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
  .spot-name{font-size:15px;}
  .spot-desc{-webkit-line-clamp:2;font-size:12px;}
  .att-head-inner{padding:24px 22px;}
  .jq-gallery{grid-template-columns:repeat(2,1fr);}
}

/* 同一网格内相邻同类插画做轻微色调变化，避免大片同色 */
.spot-grid .spot-card:nth-child(3n+1) .spot-media.ph{filter:hue-rotate(-10deg) saturate(1.06);}
.spot-grid .spot-card:nth-child(3n+2) .spot-media.ph{filter:hue-rotate(12deg) brightness(1.02);}
.spot-grid .spot-card:nth-child(3n)   .spot-media.ph{filter:hue-rotate(-22deg) brightness(1.04);}
.card-grid .card:nth-child(3n+1) .media.ph{filter:hue-rotate(-8deg);}
.card-grid .card:nth-child(3n)   .media.ph{filter:hue-rotate(14deg);}

/* 内联景点标记 + 锚点滚动补偿（来自景区页 #spot-{slug} 跳转） */
.spot-tag{position:absolute;top:8px;left:8px;background:rgba(127,140,141,.92);color:#fff;
  font-size:11px;line-height:1;padding:3px 7px;border-radius:999px;letter-spacing:.04em;}
.spot-card{scroll-margin-top:90px;}
.type-tag.ghost{background:rgba(127,140,141,.16);color:#7f8c8d;border:1px solid rgba(127,140,141,.4);}

/* 首页快速导航：目的地/景区 类型小标 */
.card-title .card-kind{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:#fff;background:#2e8b8b;padding:2px 9px;border-radius:999px;vertical-align:middle;letter-spacing:.02em;}
