/* ==========================================================================
   地市专题页（cities.html）专用样式  cities-page.css
   --------------------------------------------------------------------------
   包含：页头层级、搜索框与建议、地图卡片（左图右列表）、城市面板、卡片区小标题。
   依赖：gansu.css 的设计变量（--primary / --accent / --dark / --gray-* / --ease-smooth）。
   不影响其他页面（仅 cities.html 引入）。
   ========================================================================== */

/* ===== 首屏与页头 ===== */
body.cities-page { position:relative;isolation:isolate;background:#fbefce; }
body.cities-page::before { content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#fbefce url('../img/cities-paper.png') center/cover no-repeat; }
body.cities-page #cities { padding-top: calc(var(--cities-nav-height, 58px) - 8px) !important; }

/* ===== 专题头图（低调横幅，不用大块纯色渐变） ===== */
.cities-hero { position: relative; overflow: hidden; border-radius: 1.05rem; min-height: 310px;
    display: flex; align-items: flex-end; border: 1px solid rgba(216,180,116,.28);
    box-shadow: 0 12px 30px rgba(38,61,56,.07); margin-bottom: 1.4rem; }
.cities-hero__bg { position: absolute; inset: 0; background: url('../hot/嘉峪关关城.jpg') center 42% / cover no-repeat; }
.cities-hero::after { content: ''; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(243,237,224,.97) 0%, rgba(243,237,224,.93) 36%, rgba(243,237,224,.55) 66%, rgba(243,237,224,.06) 100%); }
.cities-hero__body { position: relative; z-index: 1; padding: 2.3rem 2.2rem; max-width: 35rem; }
.cities-eyebrow { margin: 0 0 .55rem; font-size: 11px; letter-spacing: .26em; color: #A9853F; font-weight: 600; }
.cities-hero__title { margin: 0 0 .55rem; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.9rem, 3.4vw, 2.5rem);
    font-weight: 700; letter-spacing: .04em; color: var(--dark); line-height: 1.2; }
.cities-hero__lede { margin: 0 0 .7rem; font-size: 15px; line-height: 1.85; color: #4A4A44; max-width: 30rem; }
.cities-hero__meta { margin: 0; font-size: 12px; letter-spacing: .06em; color: #8A7355; }

/* ===== 地市页导航：固定为首页滚动后的深色云纹导航 ===== */
body.cities-page .navbar,
body.cities-page .navbar.scrolled {
    background: rgba(22, 40, 37, .88) !important;
    background-image: none !important;
    box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .8) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}
body.cities-page .navbar::after { opacity: .95 !important; }
body.cities-page .navbar .brand__name,
body.cities-page .navbar .nav__link,
body.cities-page .navbar .menu-toggle { color: #fff !important; text-shadow: 0 1px 10px rgba(0, 0, 0, .45) !important; }
body.cities-page .navbar .brand__logo { color: #e8cf9c !important; }
body.cities-page .navbar .nav__link:hover,
body.cities-page .navbar .nav__link.active,
body.cities-page .navbar .nav__link[aria-current="page"] { color: #e8cf9c !important; }
body.cities-page .navbar .nav__link::after { background: #e8cf9c !important; }
body.cities-page .navbar .nav__cta { color: #e8cf9c !important; border-color: rgba(232, 207, 156, .55) !important; }
body.cities-page .navbar .gs-avatar__name { color: #fff !important; }

/* ===== 地图 + 城市面板：比正文容器再宽一点 ===== */
@media (min-width: 981px) {
    #cities .silk--wide {
        width: min(1360px, calc(100vw - 2rem));
        margin-left: 50%;
        transform: translateX(-50%);
    }
    #cities .silk--wide > .container {
        max-width: none;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

/* 地图区整体上提，靠近顶部云纹带 */
#cities .silk--wide { padding-top: clamp(1.4rem, 2.6vw, 2.2rem); }
#cities .silk--wide .silk__stage { margin-top: 1rem; }

/* ===== 地图图片区与城市图片区之间的云纹过渡 ===== */
.spot-band--bleed {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    /* 收回花纹底部的透明留白，让标题和轮播整体上移。 */
    margin: 0 0 calc(-12px - 6vw - 1.8cm);
}
.spot-band--bleed img {
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 2;
    object-fit: fill;
    object-position: center;
}
@media (max-width: 900px) {
    .spot-band--bleed img { height: auto; }
    #cities { padding-top: 58px !important; }
}

/* ===== 搜索 + 分类 ===== */
.cities-tools { margin: 0 auto 1.9rem; max-width: 760px; }
.cities-tools .cf-search { margin: 0 auto .95rem; max-width: 480px; }
.cities-tools .cf-tags { justify-content: center; }

/* ===== 发现甘肃 ===== */
.themes { margin: 0 0 2.4rem; }
.themes__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .9rem; }
.theme-card { display: flex; flex-direction: column; background: none; border: 0; padding: 0;
    text-decoration: none; color: inherit; cursor: pointer; }
.theme-card__media { aspect-ratio: 4 / 3; overflow: hidden; border-radius: .7rem; background: var(--gray-100);
    box-shadow: 0 6px 16px rgba(38,61,56,.07); }
.theme-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s var(--ease-smooth); }
.theme-card:hover .theme-card__media img, .theme-card:focus-visible .theme-card__media img { transform: scale(1.05); }
.theme-card:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; border-radius: .7rem; }
.theme-card__body { padding: .8rem .1rem 0; display: flex; flex-direction: column; gap: .3rem; flex: 1; }
.theme-card__no { font-size: 10.5px; letter-spacing: .2em; color: #B08B45; }
.theme-card h4 { margin: 0; font-family: "Noto Serif SC", "Songti SC", serif; font-size: .97rem; line-height: 1.45; color: var(--dark); }
.theme-card p { margin: 0; font-size: 12.5px; line-height: 1.7; color: var(--gray-500); }
.theme-card__go { margin-top: auto; padding-top: .35rem; font-size: 12.5px; font-weight: 600; color: var(--primary);
    display: inline-flex; align-items: center; gap: .3rem; }
.theme-card__go svg { width: 13px; height: 13px; }

/* ===== 关键词搜索 ===== */
.cf-search { position: relative; max-width: 470px; margin: 1.2rem auto 1.1rem; }
.cf-search > svg { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--gray-400); pointer-events: none; }
.cf-search input { width: 100%; padding: .72rem 2.6rem; border: 1px solid var(--gray-200); border-radius: 9999px;
    background: #fff; font-size: 14px; color: var(--dark); transition: border-color .26s var(--ease-smooth), box-shadow .26s var(--ease-smooth); }
.cf-search input::-webkit-search-cancel-button { display: none; }
.cf-search input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(25,59,56,.12); }
.cf-search input::placeholder { color: var(--gray-400); }
.cf-search__clear { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); width: 22px; height: 22px;
    border-radius: 50%; border: 0; background: var(--gray-100); color: var(--gray-500); font-size: 16px; line-height: 1;
    cursor: pointer; display: grid; place-items: center; transition: all .2s; }
.cf-search__clear:hover { background: var(--primary); color: #fff; }
.cf-search__clear[hidden] { display: none; }

.cf-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; background: #fff;
    border: 1px solid var(--gray-200); border-radius: .8rem; box-shadow: 0 16px 36px rgba(38,61,56,.14);
    padding: .35rem; max-height: 264px; overflow-y: auto; text-align: left; }
.cf-suggest[hidden] { display: none; }
.cf-suggest__item { display: flex; align-items: center; gap: .55rem; width: 100%; padding: .55rem .7rem; border: 0;
    background: none; border-radius: .5rem; font: inherit; font-size: 13.5px; color: var(--dark); cursor: pointer; text-align: left; }
.cf-suggest__item em { font-style: normal; font-weight: 700; }
.cf-suggest__item span { color: var(--gray-400); font-size: 12px; margin-left: auto; }
.cf-suggest__item:hover, .cf-suggest__item.is-active { background: rgba(25,59,56,.07); color: var(--primary); }
.cf-suggest__none { padding: .7rem; font-size: 13px; color: var(--gray-400); text-align: center; }

.cf-empty { text-align: center; padding: 2.6rem 0 1rem; color: var(--gray-500); font-size: 14px; }
.cf-empty[hidden] { display: none; }

/* ===== 地图卡片 ===== */
.map-card { background: #fff; border: 1px solid var(--gray-200); border-radius: 1.05rem;
    padding: 1.25rem 1.35rem .9rem; box-shadow: 0 10px 30px rgba(38,61,56,.06); margin: 0 0 2.2rem; }
.map-card__hd { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .85rem; }
.map-card__title { font-family: "Noto Serif SC", "Songti SC", serif; font-size: 1.08rem; color: var(--dark); margin: 0 0 .22rem; }
.map-card__sub { margin: 0; font-size: 12.5px; color: var(--gray-500); }
.map-card__badge { flex: none; font-size: 12px; letter-spacing: .04em; color: var(--primary);
    background: rgba(25,59,56,.06); border: 1px solid rgba(25,59,56,.18); padding: .3rem .72rem; border-radius: 9999px; }
.map-card__body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, 1fr); gap: 1.2rem; align-items: stretch; }
.map-card__ft { margin: .55rem 0 0; font-size: 11.5px; color: var(--gray-400); line-height: 1.7; text-align: center; }

.map-pane { position: relative; border: 1px solid rgba(216,180,116,.32); border-radius: .85rem; overflow: hidden;
    background:
        radial-gradient(circle at 50% 46%, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 62%),
        radial-gradient(rgba(201,164,92,.16) 1px, transparent 1px),
        linear-gradient(180deg, #FCF7EE 0%, #F6EFE1 100%);
    background-size: auto, 18px 18px, auto; }
.map-pane::after { content: ''; position: absolute; inset: 9px; border: 1px solid rgba(201,164,92,.26);
    border-radius: .55rem; pointer-events: none; z-index: 1; }
.map-pane__compass { position: absolute; right: 18px; bottom: 16px; width: 46px; height: 46px; z-index: 2;
    color: rgba(150,120,70,.42); pointer-events: none; user-select: none; }
.map-pane__compass svg { width: 100%; height: 100%; }
.map-pane__mark { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); z-index: 2;
    writing-mode: vertical-rl; font-family: "Noto Serif SC", "Songti SC", serif; font-size: 11.5px;
    letter-spacing: .42em; color: rgba(150,120,70,.42); pointer-events: none; user-select: none; }
@media (max-width: 640px) { .map-pane__mark, .map-pane__compass { display: none; } }
#gansuMap { width: 100%; height: 472px; }

/* 三态：loading / error / 成功（隐藏遮罩） */
.map-state { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: .7rem; padding: 1.4rem; text-align: center; font-size: 13px; color: var(--gray-500);
    background: linear-gradient(180deg, #FCF7EE 0%, #F6EFE1 100%); transition: opacity .3s var(--ease-smooth); }
.map-state[hidden] { display: none; }
.map-state--error { color: #8A5A3B; }
.map-state__text { max-width: 21rem; line-height: 1.85; }
.map-state__icon { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(25,59,56,.08); color: var(--primary); }
.map-state__icon svg { width: 22px; height: 22px; }
.map-spinner { width: 26px; height: 26px; border-radius: 50%; border: 2px solid rgba(25,59,56,.16);
    border-top-color: var(--primary); animation: mapspin .85s linear infinite; }
@keyframes mapspin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .map-spinner { animation: none; } }
.map-retry { margin-top: .15rem; padding: .48rem 1.15rem; border-radius: 9999px; border: 1px solid var(--primary);
    background: #fff; color: var(--primary); font-size: 13px; cursor: pointer; transition: all .24s var(--ease-smooth); }
.map-retry:hover { background: var(--primary); color: #fff; }
.map-retry[hidden] { display: none; }

/* ===== 右侧地市列表 + 选中城市介绍 ===== */
.map-side { display: flex; flex-direction: column; min-width: 0; }
.map-side__chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.map-chip { border: 1px solid var(--gray-200); background: #fff; color: var(--gray-600); font-family: inherit;
    font-size: 13px; padding: .44rem .2rem; border-radius: .55rem; cursor: pointer; text-align: center;
    transition: all .2s var(--ease-smooth); }
.map-chip:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-1px); }
.map-chip:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.map-chip.is-extra { color: #8A6A3A; border-style: dashed; border-color: rgba(201,164,92,.7); background: #FFFDF8; }
.map-chip.is-active,
.map-chip.is-extra.is-active { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: #fff;
    border-style: solid; border-color: transparent; box-shadow: 0 6px 14px rgba(25,59,56,.24); }
.map-chip[hidden] { display: none; }

.city-panel { margin-top: .85rem; padding-top: .85rem; border-top: 1px dashed var(--gray-200);
    flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.city-panel__media { margin: 0 0 .7rem; border-radius: .7rem; overflow: hidden; aspect-ratio: 16 / 7; background: var(--gray-100); }
.city-panel__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.city-panel__top { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.city-panel__name { font-family: "Noto Serif SC", "Songti SC", serif; font-size: 1.24rem; font-weight: 700; color: var(--dark); }
.city-panel__tag { font-size: 12px; color: var(--primary); background: rgba(25,59,56,.06);
    border: 1px solid rgba(25,59,56,.14); padding: .16rem .52rem; border-radius: 9999px; }
.city-panel__desc { margin: .55rem 0 .6rem; font-size: 13px; line-height: 1.85; color: var(--gray-600); }
.city-panel__meta { margin: 0 0 .6rem; font-size: 12px; color: #8A7355; letter-spacing: .02em; }
.city-panel__food { margin: 0 0 .9rem; font-size: 12.5px; color: var(--gray-600); }
.city-panel__food em { font-style: normal; color: var(--primary); margin-right: .35rem; }
.city-panel__spots { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 .9rem; padding: 0; }
.city-panel__spots li { font-size: 12px; color: #6E5A38; background: #F9F3E6;
    border: 1px solid rgba(216,180,116,.38); padding: .2rem .55rem; border-radius: 5px; }
.city-panel__go { margin-top: .35rem; align-self: flex-start; display: inline-flex; align-items: center; gap: .35rem;
    font-size: 13.5px; font-weight: 600; color: var(--primary); text-decoration: none; }
.city-panel__go svg { width: 14px; height: 14px; transition: transform .24s var(--ease-smooth); }
.city-panel__go:hover svg { transform: translateX(3px); }
.city-panel__empty { color: var(--gray-400); font-size: 13px; }

/* ===== 卡片区小标题 ===== */
.cities-sub { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 0 0 1.1rem; }
.cities-sub h3 { font-family: "Noto Serif SC", "Songti SC", serif; font-size: 1.18rem; color: var(--dark);
    margin: 0; padding-left: .7rem; border-left: 3px solid var(--primary); line-height: 1.25; }
.cities-sub p { margin: 0; font-size: 13px; color: var(--gray-500); }

.city-card.is-flash { outline: 2px solid var(--primary); outline-offset: 5px; border-radius: .9rem; }

/* ===== 响应式 ===== */
@media (max-width: 1040px) {
    .map-card__body { grid-template-columns: minmax(0, 1.5fr) minmax(258px, 1fr); }
}
@media (max-width: 1080px) {
    .themes__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .map-card__body { grid-template-columns: 1fr; }
    .cities-hero { min-height: 270px; }
    .cities-hero__body { padding: 1.9rem 1.4rem; }
    .themes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #gansuMap { height: 400px; }
    .map-side__chips { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 640px) {
    .cities-hero { min-height: 260px; border-radius: .9rem; align-items: flex-end; }
    .cities-hero::after { background: linear-gradient(180deg,
        rgba(243,237,224,.30) 0%, rgba(243,237,224,.78) 32%, rgba(243,237,224,.96) 58%, #F3EDE0 100%); }
    .cities-eyebrow { color: #7A5A2E; }
    .cities-hero__body { padding: 1.4rem 1.2rem 1.5rem; max-width: none; }
    .cities-hero__title { font-size: 1.75rem; }
    .cities-hero__lede { font-size: 13.5px; margin-bottom: .5rem; }
    .themes__grid { grid-template-columns: 1fr; }
    .map-card { padding: 1rem .9rem .8rem; }
    #gansuMap { height: 330px; }
    .map-side__chips { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .map-chip { min-height: 40px; font-size: 13.5px; }
    .cities-sub { flex-direction: column; gap: .3rem; }
    .city-panel__desc { font-size: 12.5px; }
}

/* ===== 甘肃地貌图鉴（2026-10）===== */
.geo-atlas { margin: 3rem 0 1.2rem; }
.geo-atlas__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.geo-atlas__head h3 { font-family: 'Noto Serif SC', serif; font-size: clamp(1.3rem, 2.4vw, 1.7rem); margin: 0; color: var(--dark); }
.geo-atlas__head p { margin: 0; font-size: .86rem; color: #6B6459; max-width: 42rem; line-height: 1.85; }
.geo-atlas__fig { margin: 0; position: relative; border-radius: 14px; overflow: hidden; border: 1px solid rgba(169,95,69,.18); background: #E8DCC6; }
.geo-atlas__fig img { width: 100%; display: block; aspect-ratio: 16 / 9; object-fit: cover; }
.geo-atlas__fig figcaption {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 2.4rem 1rem .7rem;
    font-size: .72rem; color: rgba(255,255,255,.92); letter-spacing: .02em;
    background: linear-gradient(180deg, transparent 0%, rgba(20,26,24,.74) 100%);
}
.geo-atlas__tags { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; margin: 1.1rem 0 0; padding: 0; }
.geo-atlas__tags a {
    display: flex; flex-direction: column; gap: .15rem; text-decoration: none;
    padding-top: .6rem; border-top: 2px solid rgba(169,95,69,.25);
    transition: border-color .2s ease, transform .2s ease;
}
.geo-atlas__tags a:hover { border-color: var(--accent); transform: translateY(-1px); }
.geo-atlas__tags span { font-size: .72rem; letter-spacing: .1em; color: #8A7C68; }
.geo-atlas__tags b { font-size: .9rem; color: var(--dark); font-weight: 600; }
@media (max-width: 760px) {
    .geo-atlas__fig img { aspect-ratio: 3 / 2; }   /* 手机上多留竖向，避免拼贴被裁太狠 */
    .geo-atlas__tags { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .geo-atlas__fig figcaption { font-size: .66rem; padding: 1.8rem .7rem .55rem; }
}

/* 主题卡作为筛选入口时的选中态（搜索/分类工具条已移除） */
.city-grid { scroll-margin-top: 96px; }
.theme-card.is-active { outline: 2px solid var(--accent); outline-offset: 3px; }
.theme-card.is-active .theme-card__no { color: var(--primary); }
.cities-intro { text-align: center; padding: .2rem 0 0; color: var(--primary); }
body.cities-page #cityHero { padding-top: 12px; }
.cities-intro__eyebrow { font-size: .72rem; letter-spacing: .24em; color: #87673b; }
.cities-intro h1 { margin: .8rem 0 .7rem; font-family: var(--font-serif, serif); font-size: clamp(1.65rem, 3vw, 2.6rem); font-weight: 600; line-height: 1.5; letter-spacing: .1em; }
.cities-intro p { margin: 0 auto; max-width: 44rem; font-size: clamp(.85rem, 1.2vw, .98rem); line-height: 1.95; color: var(--gray-600); }
.cities-intro__note { display: block; margin-top: .9rem; font-size: .73rem; letter-spacing: .16em; color: #87673b; }
@media (max-width: 600px) {
    .cities-intro { padding: .2rem .5rem .5rem; }
    .cities-intro h1 { letter-spacing: .04em; }
    .cities-intro__break { display: none; }
}
.cities-page #silkroad { scroll-margin-top: calc(var(--cities-nav-height, 58px) + 20px); }
body.cities-page #cities .silk--wide { padding-top: calc(var(--cities-nav-height, 58px) + 20px); }
body.cities-page .silk__mapwrap {
    background-image: linear-gradient(rgba(251, 247, 238, .76), rgba(251, 247, 238, .68)), url('../../_source/地图背景.png');
}
body.cities-page .silk__photo { aspect-ratio: 20 / 9; flex-shrink: 0; }
body.cities-page .silk__body { padding: 1.15rem 1.25rem; gap: .85rem; }
body.cities-page .silk__tagline { font-size: 1rem; color: #263D38; }
body.cities-page .silk__intro { font-size: .9rem; }
body.cities-page .silk__facts, body.cities-page .silk__spots a, body.cities-page .silk__spots span { font-size: .85rem; }
body.cities-page .silk__chips span, body.cities-page .silk__links { font-size: .82rem; }
body.cities-page .silk__note { color: #6A6257; font-size: .78rem; }
.silk__details { margin-top: .45rem; font-size: .78rem; line-height: 1.85; color: #6A6257; }
.silk__details summary { cursor: pointer; color: var(--primary); width: fit-content; }
.silk__details summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.silk__details p { max-width: 65rem; margin: .5rem 0 0; }
@media (min-width: 641px) and (max-width: 980px) {
    body.cities-page .silk__photo { aspect-ratio: auto; }
}

/* 三页式浏览：第一页轮播收紧，第二页地图区间距收紧 */
@media (min-width: 981px) {
    #cityHero .ch__frame {
        height: clamp(330px, 33vw, 480px);
    }
    body.cities-page #cities .silk--wide {
        padding-top: calc(var(--cities-nav-height, 58px) + 4px);
        padding-bottom: .7rem;
    }
    #cities .silk__map {
        height: clamp(320px, 30vw, 420px) !important;
    }
}

/* 较矮的桌面屏：第二页压缩图片与内边距，保证内容整页可见 */
@media (min-width: 981px) and (max-height: 950px) {
    #cities .silk__photo { aspect-ratio: 16 / 7 !important; }
    #cities .silk__body { gap: .35rem !important; padding: .65rem .9rem .8rem !important; }
    body.cities-page #cities .silk--wide { padding-bottom: .3rem; }
}

/* 第二页标题区：增高 1.5cm，并在页面中间居中 */
#cities .silk .home-head {
    min-height: calc(86px + 1.5cm);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-bottom: 0;
    text-align: center;
}
#cities .silk .home-head__main { width: 100%; }
#cities .silk .home-head .subtitle {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
#cities .silk .home-head__meta { padding-bottom: 0; }
#cities .silk .silk__stage { margin-top: .4rem; }

/* 第二页：独占一屏，标题区在页面中居中，第三页不会提前露出 */
@media (min-width: 981px) {
    body.cities-page #silkroad {
        min-height: 100vh;
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    body.cities-page #silkroad > .container { width: 100%; }
}

/* 第二页：地图加高，右侧简介取消截断，文字完整显示 */
#cities .silk__intro {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
}
@media (min-width: 981px) {
    #cities .silk__map {
        height: clamp(380px, 34vw, 500px) !important;
    }
    #cities .silk__panel { min-height: 620px; }
}
