/* ==========================================================================
   景点详情页 · 独立页面样式模块（spot.css）
   --------------------------------------------------------------------------
   作用：为每个景点生成独立详情页（spot-<城市>-<序号>.html）提供专属样式。
   说明：只被景点详情页引入；沿用 gansu.css 的主题变量与既有类（.hero/.section/
        .container/.section-head/.heading-line/.card/.tip/.footer），
        保证与城市专题页视觉完全统一。配色沿用红橙大地色系。
   ========================================================================== */

/* ---------- 1. 面包屑（首屏顶部） ---------- */
.crumbs{
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: .4rem;
    font-size: .84rem; letter-spacing: .04em;
    color: rgba(255,255,255,.78);
    margin-bottom: 1.1rem;
    text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.crumbs a{ color: rgba(255,255,255,.9); transition: color .3s ease; }
.crumbs a:hover{ color: var(--accent); }
.crumbs i{ font-style: normal; opacity: .5; margin: 0 .15rem; }
.crumbs b{ color: #fff; font-weight: 500; }

/* 景点详情首屏：标题与导语之间留白略紧一点 */
.hero--spot .hero__title{ font-size: clamp(2.2rem, 6vw, 4rem); }
.hero--spot .hero__tagline{ max-width: 44rem; margin-left: auto; margin-right: auto; }

/* ---------- 2. 基础信息卡片组（5 张等宽圆角卡） ---------- */
.spot-info{
    display: grid; gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.spot-info__card{
    background: #fff; border: 1px solid var(--gray-200);
    border-radius: var(--radius-card);
    padding: 1.15rem 1.25rem;
    box-shadow: var(--shadow-card);
    display: flex; align-items: flex-start; gap: .7rem;
    transition: transform .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth);
}
.spot-info__card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.spot-info__card svg{
    width: 20px; height: 20px; flex: none; margin-top: .15rem;
    color: var(--primary);
}
.spot-info__label{ font-size: .78rem; color: var(--gray-400); margin-bottom: .25rem; letter-spacing: .04em; }
.spot-info__value{ font-size: .95rem; color: var(--dark); font-weight: 500; line-height: 1.6; }

/* ---------- 3. 景点介绍（左图右文） ---------- */
.spot-intro{ display: grid; gap: 2.6rem; align-items: start; }
@media (min-width: 900px){ .spot-intro{ grid-template-columns: 1fr 1.15fr; align-items: center; } }
.spot-intro__media{
    position: relative; border-radius: var(--radius-card); overflow: hidden;
    aspect-ratio: 4 / 3; box-shadow: 0 20px 40px -14px rgba(22,40,37,.34);
    background: var(--gray-100);
    display: flex; align-items: center; justify-content: center;
}
.spot-intro__media .placeholder{
    display: flex; flex-direction: column; align-items: center; gap: .5rem;
    color: var(--gray-400); font-size: .82rem; letter-spacing: .12em;
}
.spot-intro__media .placeholder svg{ width: 42px; height: 42px; opacity: .55; }
.spot-intro__media img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spot-intro__media::after{
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.16) 55%, rgba(0,0,0,.44) 100%);
}
.spot-intro__label{
    position: absolute; left: 1.1rem; bottom: .9rem; z-index: 2;
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-size: 1.25rem; color: #fff; letter-spacing: .12em;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.spot-intro__body h3{
    font-size: 1.4rem; font-weight: 600; color: var(--secondary); margin: 0 0 1rem;
}
.spot-intro__body p{ color: var(--gray-700); line-height: 2; margin-bottom: 1rem; }
.spot-intro__body p strong{ color: var(--primary); font-weight: 600; }

/* ---------- 4. 游玩推荐（打卡点位网格） ---------- */
.rec-grid{ display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.rec-card{
    background: #fff; border-radius: var(--radius-card);
    border: 1px solid var(--gray-200);
    box-shadow: var(--shadow-card);
    padding: 1.3rem 1.35rem;
    transition: transform .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth);
}
.rec-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.rec-card__top{ display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; }
.rec-card__no{
    flex: none; width: 30px; height: 30px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(25,59,56,.08); color: var(--primary);
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-weight: 700; font-size: .95rem;
}
.rec-card__title{ font-size: 1rem; font-weight: 600; color: var(--dark); margin: 0; }
.rec-card p{ font-size: .9rem; color: var(--gray-600); line-height: 1.85; margin: 0; }

/* ---------- 5. 游玩贴士（圆角卡片） ---------- */
.spot-tips{ display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.spot-tip{
    background: #fff; border-radius: var(--radius-card);
    border: 1px solid var(--gray-200); box-shadow: var(--shadow-card);
    padding: 1.4rem 1.5rem;
}
.spot-tip__head{ display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; }
.spot-tip__head svg{ width: 20px; height: 20px; color: var(--primary); flex: none; }
.spot-tip__head h4{ margin: 0; font-size: 1.02rem; font-weight: 600; color: var(--dark); }
.spot-tip p{ margin: 0; color: var(--gray-600); font-size: .9rem; line-height: 1.95; }

/* ---------- 6. 首屏图片占位（占位框样式见 gansu.css 的 .img-placeholder） ---------- */
/* 首屏无实拍图时的占位：整块压暗（保证白色标题可读）+ 右上角小角标 */
.hero__bg--empty{ filter: brightness(.42) saturate(.85); }
.hero__bg .img-flag{
    position: absolute; right: 1.2rem; top: 1.2rem; z-index: 3;
    font-size: .74rem; letter-spacing: .12em; color: rgba(255,255,255,.78);
    border: 1px dashed rgba(255,255,255,.42); border-radius: 6px;
    padding: .3rem .65rem; background: rgba(0,0,0,.18);
}


/* ==========================================================================
   三套景点详情模板的差异化组件
   A 人文古迹 / B 自然风光 / C 红色研学 —— 仅中间正文板块不同，头尾完全一致
   ========================================================================== */

/* ---------- 通用：左图右文 / 右图左文 图文模块 ---------- */
.spot-split{ display: grid; gap: 2.4rem; align-items: center; }
@media (min-width: 900px){ .spot-split{ grid-template-columns: 1fr 1.12fr; } }
.spot-split--reverse .spot-media{ order: 2; }          /* 图文左右互换，避免版式雷同 */
.spot-split h3{ font-size: 1.35rem; font-weight: 600; color: var(--secondary); margin: 0 0 1rem; }
.spot-split p{ color: var(--gray-700); line-height: 2; margin-bottom: 1rem; }
.spot-split p:last-child{ margin-bottom: 0; }
.spot-split strong{ color: var(--primary); font-weight: 600; }

.spot-media{
    position: relative; border-radius: var(--radius-card); overflow: hidden;
    aspect-ratio: 4 / 3; background: var(--gray-100);
    box-shadow: 0 18px 38px -14px rgba(22,40,37,.32);
}
.spot-media--wide{ aspect-ratio: 21 / 9; box-shadow: 0 22px 44px -16px rgba(22,40,37,.34); }
.spot-media img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spot-media::after{
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.14) 55%, rgba(0,0,0,.42) 100%);
}
.spot-media__cap{
    position: absolute; left: 1.1rem; bottom: .9rem; z-index: 2;
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-size: 1.2rem; color: #fff; letter-spacing: .12em;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.spot-wide{ display: grid; gap: 1.8rem; }
.spot-wide .spot-media--wide{ margin-bottom: .2rem; }

/* ---------- A 模板：看点列表（建筑形制 / 碑刻 / 文物） ---------- */
.spot-points{ display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: .4rem; }
.spot-point{
    background: #fff; border: 1px solid var(--gray-200); border-radius: .7rem;
    padding: 1.15rem 1.25rem; box-shadow: var(--shadow-card);
    transition: transform .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth);
}
.spot-point:hover{ transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.spot-point__no{
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 6px; margin-bottom: .6rem;
    background: rgba(25,59,56,.08); color: var(--primary);
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-weight: 700; font-size: .82rem;
}
.spot-point p{ margin: 0; font-size: .9rem; color: var(--gray-600); line-height: 1.9; }

/* ---------- A 模板：文化价值（引用式强调块） ---------- */
.spot-quote{
    border-left: 3px solid var(--primary);
    background: linear-gradient(90deg, rgba(25,59,56,.05), rgba(251,191,36,.04));
    border-radius: 0 .7rem .7rem 0;
    padding: 1.2rem 1.4rem; margin-top: 1.4rem;
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; color: var(--secondary); line-height: 2;
}

/* ---------- B 模板：观景点位（带图占位的多图网格） ---------- */
.view-grid{ display: grid; gap: 1.3rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.view-card{
    background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-card);
    overflow: hidden; box-shadow: var(--shadow-card);
    transition: transform .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth);
}
.view-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.view-card__media{ position: relative; height: 132px; background: var(--gray-100); }
.view-card__media img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.view-card__body{ padding: .95rem 1.1rem 1.15rem; }
.view-card__title{ font-size: .98rem; font-weight: 600; color: var(--dark); margin: 0 0 .4rem; }
.view-card__body p{ margin: 0; font-size: .86rem; color: var(--gray-600); line-height: 1.85; }
.view-card__tag{
    position: absolute; left: .7rem; top: .7rem; z-index: 2;
    background: rgba(22,40,37,.72); color: #fff; font-size: .68rem;
    padding: .18rem .5rem; border-radius: 9999px; letter-spacing: .04em;
}

/* ---------- B 模板：推荐游览路线（步骤 + 箭头） ---------- */
.route{ display: grid; gap: .9rem; }
.route__row{
    display: flex; flex-wrap: wrap; align-items: center; gap: .55rem;
    background: #fff; border: 1px solid var(--gray-200); border-radius: .7rem;
    padding: .95rem 1.15rem; box-shadow: var(--shadow-card);
}
.route__label{
    flex: none; font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-weight: 700; font-size: .84rem;
    color: #fff; background: var(--primary); border-radius: 9999px; padding: .2rem .7rem;
}
.route__row--alt .route__label{ background: var(--secondary); }
.route__step{ font-size: .87rem; color: var(--gray-700); }
.route__arrow{ color: var(--gray-300); font-size: .9rem; }

/* ---------- C 模板：庄重图文（红色研学） ---------- */
.solemn{ border-top: 3px solid var(--primary); }
.solemn .spot-media::after{
    background: linear-gradient(180deg, rgba(22,40,37,.10) 0%, rgba(22,40,37,.30) 60%, rgba(22,40,37,.62) 100%);
}
.red-quote{
    border-left: 3px solid var(--primary);
    background: linear-gradient(90deg, rgba(25,59,56,.07), rgba(25,59,56,.01));
    border-radius: 0 .7rem .7rem 0;
    padding: 1.25rem 1.5rem; margin-top: 1.4rem;
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-size: 1.05rem; color: var(--primary-dark);
    line-height: 2.05; letter-spacing: .02em;
}


/* ---------- 莫高窟专用：沉浸式洞窟 720° 全景（Pannellum） ---------- */
.pano-wrap{
    position: relative; width: 100%; height: 600px;      /* 需求：宽 100%、高 600px */
    background: #1a1410; overflow: hidden;
}
.pano-wrap #pano{ width: 100%; height: 100%; }
.pano-fallback{
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: .6rem;
    background:
        linear-gradient(135deg, rgba(25,59,56,.16), rgba(251,191,36,.10)),
        repeating-linear-gradient(45deg, #241a12 0 14px, #1e150f 14px 28px);
    color: rgba(255,255,255,.82); text-align: center; padding: 2rem;
}
.pano-fallback strong{ font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif; font-size: 1.15rem; letter-spacing: .06em; }
.pano-fallback span{ font-size: .84rem; color: rgba(255,255,255,.6); line-height: 1.9; }
.pano-fallback code{
    font-size: .78rem; background: rgba(255,255,255,.1); border-radius: 4px;
    padding: .12rem .4rem; color: var(--accent);
}
.pano-hint{
    position: absolute; left: 1rem; bottom: 1rem; z-index: 5;
    background: rgba(0,0,0,.5); color: rgba(255,255,255,.86);
    font-size: .76rem; padding: .3rem .7rem; border-radius: 9999px;
    backdrop-filter: blur(4px);
}
@media (max-width: 720px){ .pano-wrap{ height: 380px; } }


/* ---------- 板块3：文化 / 价值 / 意义（≤100 字，居中窄栏，适合朗读） ---------- */
.spot-value{ max-width: 44rem; margin: 0 auto; text-align: center; }
.spot-value > p{
    font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', STSong, SimSun, serif;
    font-size: clamp(1.05rem, 2.1vw, 1.28rem);
    line-height: 2.05; color: var(--secondary); margin: 0 0 1.6rem;
}
.spot-value strong{ color: var(--primary); font-weight: 700; }
.spot-value .spot-quote{ text-align: center; border-left: 0; border-top: 1px solid var(--gray-200);
    background: linear-gradient(180deg, rgba(25,59,56,.04), rgba(251,191,36,.03));
    border-radius: .7rem; padding: 1.1rem 1.3rem; }
.spot-value .red-quote{ text-align: center; border-left: 0; border-top: 3px solid var(--primary);
    border-radius: .7rem; padding: 1.1rem 1.3rem; }

/* ===== 类型专属模块：年代对照 / 事件时间轴 / 地貌成因（2026-10） ===== */
.spot-extra { background: var(--light); }

.spot-rows {
    max-width: 58rem;
    margin: 0 auto;
    border-top: 1px solid rgba(38, 61, 56, .16);
}

.spot-rows__item {
    display: grid;
    grid-template-columns: 11.5rem 1fr;
    gap: 2rem;
    align-items: baseline;
    padding: 1.15rem .25rem;
    border-bottom: 1px solid rgba(38, 61, 56, .1);
}

.spot-rows__k {
    font-family: var(--font-serif, "Noto Serif SC", serif);
    font-size: .95rem;
    letter-spacing: .04em;
    color: var(--ochre, #A95F45);
}

.spot-rows__v {
    font-size: .95rem;
    line-height: 1.85;
    color: var(--dark);
}

.spot-rows__v strong {
    font-weight: 600;
    color: var(--primary);
}

.spot-rows__note {
    max-width: 58rem;
    margin: 1.5rem auto 0;
    font-size: .86rem;
    line-height: 1.8;
    color: var(--secondary);
}

.spot-rows--timeline .spot-rows__k { color: var(--primary); font-weight: 600; }
.spot-rows--steps .spot-rows__k { color: var(--teal, #477D78); }
.spot-rows--parts .spot-rows__k { color: var(--earth, #8B5A2B); }
.spot-rows--craft .spot-rows__k { color: var(--ochre, #A95F45); }
.spot-rows--process .spot-rows__k { color: var(--secondary); }
.spot-rows--picks .spot-rows__k { color: var(--primary); font-weight: 600; }
.spot-rows--nodes .spot-rows__k { color: var(--teal, #477D78); }

@media (max-width: 700px) {
    .spot-rows__item { grid-template-columns: 1fr; gap: .35rem; padding: 1rem .1rem; }
    .spot-rows__k { font-size: .84rem; }
    .spot-rows__v { font-size: .92rem; }
}

@media (min-width: 701px) and (max-width: 1000px) {
    .spot-rows__item { grid-template-columns: 9rem 1fr; gap: 1.4rem; }
}

/* ---------- 景区页常驻返回条 ---------- */
.spot-subbar {
    position: sticky; top: 66px; z-index: 45;
    background: rgba(20, 33, 30, .93);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(216, 180, 116, .22);
}
.spot-subbar__inner {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    min-height: 44px; padding-top: .4rem; padding-bottom: .4rem;
}
.spot-subbar__crumb { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .8rem; color: rgba(255,255,255,.6); }
.spot-subbar__crumb a { color: rgba(255,255,255,.82); text-decoration: none; }
.spot-subbar__crumb a:hover { color: #e2c58c; }
.spot-subbar__crumb i { font-style: normal; color: rgba(216,180,116,.55); }
.spot-subbar__crumb [aria-current] { color: #e2c58c; }
.spot-subbar__back {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: .35rem;
    padding: .3rem .85rem; border-radius: 9999px; text-decoration: none;
    border: 1px solid rgba(216, 180, 116, .38); color: #ead6ab; font-size: .78rem;
    transition: background .2s ease, border-color .2s ease;
}
.spot-subbar__back:hover { background: rgba(216, 180, 116, .14); border-color: rgba(216, 180, 116, .7); }
@media (max-width: 760px) {
    .spot-subbar { top: 58px; }
    .spot-subbar__inner { min-height: 40px; }
    .spot-subbar__crumb { font-size: .74rem; }
    .spot-subbar__back { font-size: .72rem; padding: .26rem .7rem; }
}

/* 常驻返回条已承担面包屑，首屏内不再重复 */
.hero--spot .crumbs { display: none; }

/* 景点首屏底部：与首页同款，渐隐到暖米白，再接云纹带 */
body.spot-page .hero--spot::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: clamp(84px, 11vw, 160px);
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(243, 237, 224, 0) 0%,
        rgba(243, 237, 224, .42) 52%,
        rgba(243, 237, 224, .95) 100%
    );
}
body.spot-page .hero--spot .hero__scroll { color: rgba(72, 64, 52, .64); }

/* ==========================================================================
   景区页导航：首屏透明（只留文字与登录按钮），滚动 40px 后转深绿玻璃
   ========================================================================== */
body.spot-page .navbar {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    transition: background-color .35s ease, box-shadow .35s ease;
}
/* 与首页一致：首屏透明，滚动后深绿玻璃 + 云纹线稿 */
body.spot-page .navbar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: url('_source/导航栏纹样.png') center 38% / 100% auto no-repeat;
    opacity: 0;
    mix-blend-mode: screen;
    filter: brightness(1.12) contrast(1.06);
    transition: opacity .35s ease;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 24%, #000 76%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 24%, #000 76%, transparent 100%);
}
body.spot-page .navbar.scrolled {
    background-color: rgba(22, 40, 37, .9) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border-bottom-color: rgba(255, 255, 255, .08);
    box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .8) !important;
}
body.spot-page .navbar.scrolled::before { opacity: .95; }
body.spot-page .navbar .brand__logo { color: #e8cf9c; }
body.spot-page .navbar:not(.scrolled) .nav__link,
body.spot-page .navbar:not(.scrolled) .brand__name { text-shadow: 0 1px 10px rgba(0, 0, 0, .5); }
/* 首屏从导航下方开始，避免被压住 */
body.spot-page .hero--spot { padding-top: 0; }

/* 基础信息区顶部留给云纹带，滚动到 #info 时导航不会压住它 */
body.spot-page #info { padding-top: 66px; }
body.spot-page #info > .spot-band {
    height: clamp(96px, 9vw, 140px);
    overflow: hidden;
    margin: 0 auto clamp(.8rem, 1.4vw, 1.2rem);
}
@media (max-width: 900px) {
    body.spot-page #info { padding-top: 58px; }
}
body.spot-page .navbar::after {
    content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: -22px;
    background: linear-gradient(180deg, rgba(8, 14, 12, .6) 0%, rgba(8, 14, 12, .3) 62%, rgba(8, 14, 12, 0) 100%);
    pointer-events: none; z-index: -1; transition: opacity .3s ease;
}
body.spot-page .navbar.scrolled::after { opacity: 0; }

/* ---------- 游玩贴士并入基础信息卡（整行宽卡） ---------- */
.spot-info__card--tips {
    grid-column: 1 / -1;
    flex-direction: column; align-items: stretch; gap: .7rem;
}
.spot-info__card--tips .spot-info__label {
    display: flex; align-items: center; gap: .45rem; white-space: nowrap; margin-bottom: .9rem;
}
.spot-info__card--tips .spot-info__label svg { width: 18px; height: 18px; }
.spot-info__card--tips .spot-tips {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem;
}
.spot-info__card--tips .spot-tip {
    background: #FBF7EE; border: 1px solid rgba(31, 61, 54, .10);
    box-shadow: none; border-radius: .7rem; padding: 1rem 1.1rem;
}
.spot-info__card--tips .spot-tip__head { margin-bottom: .45rem; }
.spot-info__card--tips .spot-tip__head h4 { font-size: .96rem; }
.spot-info__card--tips .spot-tip p { font-size: .84rem; line-height: 1.85; }
.spot-info__card--tips .voice-btn { vertical-align: middle; margin-left: .5rem; }
@media (max-width: 640px) {
    .spot-info__card--tips .spot-tips { grid-template-columns: 1fr; }
}

/* ==========================================================================
   景区页页脚：高度减半（甘肃各地市两列）
   ========================================================================== */
body.spot-page .footer__main { padding-top: 1.5rem; padding-bottom: .4rem; }
body.spot-page .footer__grid {
    grid-template-columns: 1.15fr 1fr 1.15fr;
    gap: 1rem 1.6rem;
    align-items: start;
}
body.spot-page .footer__brand { margin-bottom: .5rem; }
body.spot-page .footer__desc { font-size: .8rem; line-height: 1.7; margin-bottom: .45rem; }
body.spot-page .footer h4 { margin-bottom: .4rem; font-size: .84rem; }
body.spot-page .footer__links li { margin-bottom: .2rem; }
body.spot-page .footer__links a { font-size: .8rem; line-height: 1.7; }
body.spot-page .footer__grid > div:last-child .footer__links {
    column-count: 2; column-gap: 1.2rem;
}
body.spot-page .footer__links li { break-inside: avoid; }
body.spot-page .socials { margin-top: .55rem; }
body.spot-page .footer__bottom {
    margin-top: 1rem; padding-top: .75rem;
    font-size: .74rem; line-height: 1.7;
}
@media (max-width: 900px) {
    body.spot-page .footer__grid { grid-template-columns: 1fr 1fr; }
    body.spot-page .footer__grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    body.spot-page .footer__grid { grid-template-columns: 1fr; }
    body.spot-page .footer__grid > div:last-child .footer__links { column-count: 2; }
}

/* 页脚容器与城市列表：真正的两列网格 */
body.spot-page .footer > .container { padding-top: 1.15rem; padding-bottom: .35rem; }
body.spot-page .footer__links--cities {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .12rem .9rem !important;
}

body.spot-page .footer__bottom { margin-top: .7rem; padding-top: .55rem; }
body.spot-page .footer__desc { margin-bottom: .35rem; }
body.spot-page .socials { margin-top: .4rem; }
body.spot-page .footer__grid { gap: .8rem 1.4rem; }

@media (max-width: 560px) {
    body.spot-page .footer__grid { gap: .55rem; }
    body.spot-page .footer__links li { line-height: 1.6; margin-bottom: .1rem; }
    body.spot-page .footer__grid > div:nth-child(2) .footer__links {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .1rem .8rem !important;
    }
    body.spot-page .footer__desc { font-size: .78rem; }
}

/* 景区页页脚纹样带：与城市页同款，压缩高度 */
body.spot-page .footer__deco {
    height: clamp(24px, 2.4vw, 34px);
    background: url('assets/img/footer-band.jpg') center 46% / cover no-repeat;
    opacity: .5;
    filter: saturate(.78);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 60%, rgba(0,0,0,.3) 85%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 60%, rgba(0,0,0,.3) 85%, transparent 100%);
}
body.spot-page .footer > .container { padding-top: .95rem; }

/* 景点页滚动后的实底导航：纹样由 .navbar::before 的线稿统一承担 */
