/* 大象民宿 · 通用 section 与卡片网格层 */

/* ═══════════════════════════════════
   城市简介 · Overview
   ═══════════════════════════════════ */
.city-intro-outer{max-width:760px;margin:0 auto;padding:60px 22px 40px;text-align:left}
.city-intro p{font-family:'LXGW WenKai',"Kaiti SC","STKaiti","KaiTi","楷体","FangSong","仿宋","Songti SC","Noto Serif CJK SC",serif;font-size:clamp(1.05rem,1.4vw,1.18rem);line-height:1.95;color:#3a3a3a;letter-spacing:.02em;margin:0}
.city-intro p + p{margin-top:1.1em}

/* ═══════════════════════════════════
   章节通用
   ═══════════════════════════════════ */
.section{padding:60px 0}
.section-header{margin-bottom:32px}
.section-header .section-label{
  font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;
  color:#aaa;letter-spacing:.12em;margin-bottom:6px;
}
.section-header h2{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;margin-bottom:8px}
.section-header h2 em{font-style:italic}
.section-header p{font-size:clamp(.9rem,1.1vw,1rem);color:#777;line-height:1.7;max-width:56ch;font-weight:300}
.section .kicker{display:block;font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;color:#999;letter-spacing:.12em;margin-bottom:6px}
.section .kicker .hash{opacity:.5;margin-right:2px}
/* ═══════════════════════════════════
   卡片网格
   ═══════════════════════════════════ */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.grid-routes{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.grid-routes .card:nth-child(1),
.grid-routes .card:nth-child(2){grid-column:span 3}
.grid-routes .card:nth-child(n+3){grid-column:span 2}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)} .grid-routes{grid-template-columns:repeat(2,1fr)} .grid-routes .card{grid-column:span 1 !important}}
@media(max-width:640px){.grid-3,.grid-2,.grid-routes{grid-template-columns:1fr}}

.card{position:relative;overflow:hidden}
.card-img-wrap{aspect-ratio:4/5;overflow:hidden;background:#eee;margin-bottom:10px}
.card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-img-wrap img{transform:scale(1.04)}
.card .card-date{
  font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;
  color:#999;letter-spacing:.04em;margin-bottom:4px;
}
.card .card-title{font-size:clamp(.95rem,1.15vw,1.1rem);font-weight:300;line-height:1.35;color:#25292b;padding-right:5%}
.card .card-tags{margin-top:6px}
.card .card-tags span{
  display:inline-block;font-family:'Space Mono',monospace;font-size:9px;
  text-transform:uppercase;color:#9a968c;letter-spacing:.04em;
  margin-right:10px;position:relative;
}
.card .card-tags span:not(:last-child)::after{content:'·';margin-left:10px;color:#ccc}

/* ═══════════════════════════════════
   特色大卡片
   ═══════════════════════════════════ */
.featured-card{
  position:relative;overflow:hidden;border-radius:0;
  aspect-ratio:2.2/1;min-height:360px;display:flex;align-items:flex-end;
}
.featured-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.featured-card .feat-scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(37,41,43,0) 0%,rgba(37,41,43,.55) 100%);
}
.featured-card .feat-content{position:relative;z-index:2;padding:30px 28px;width:100%}
.featured-card .feat-content .card-date{color:rgba(255,255,255,.6)}
.featured-card .feat-content .card-title{font-size:clamp(1.3rem,2vw,1.8rem);color:#fff;padding-right:20%;font-weight:300;line-height:1.3}
.featured-card .feat-content .card-tags span{color:rgba(255,255,255,.5)}
.featured-card .feat-content .card-tags span:not(:last-child)::after{color:rgba(255,255,255,.3)}
@media(max-width:640px){.featured-card{aspect-ratio:3/4;min-height:auto}.featured-card .feat-content{padding:20px 18px}.featured-card .feat-content .card-title{padding-right:5%}}

/* ═══════════════════════════════════
   全宽推广卡片
   ═══════════════════════════════════ */
.promo-card{
  position:relative;overflow:hidden;
  aspect-ratio:3/1;min-height:320px;
  display:flex;align-items:center;justify-content:center;margin:20px 0;
}
.promo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.promo-card .promo-scrim{position:absolute;inset:0;z-index:1;background:rgba(37,41,43,.35)}
.promo-card .promo-content{position:relative;z-index:2;text-align:center;color:#fff;padding:30px 22px;max-width:600px}
.promo-card .promo-content h3{color:#fff;font-size:clamp(1.6rem,3.5vw,2.8rem);font-weight:300;margin-bottom:10px}
.promo-card .promo-content p{font-size:clamp(.9rem,1.1vw,1rem);color:rgba(255,255,255,.75);font-weight:300;line-height:1.7;margin-bottom:18px}
.promo-card .promo-content .promo-link{
  display:inline-block;font-family:'Space Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;color:#fff;
  border:1px solid rgba(255,255,255,.4);padding:8px 24px;
  border-radius:999px;transition:background .2s;
}
.promo-card .promo-content .promo-link:hover{background:rgba(255,255,255,.15)}
@media(max-width:640px){.promo-card{aspect-ratio:2/3;min-height:auto;align-items:flex-end}.promo-card .promo-content{padding:30px 22px 40px}}

/* ═══════════════════════════════════
   锚点滚动偏移
   ═══════════════════════════════════ */
#routes,#eat,#voice,#market,#seasons,#tips{scroll-margin-top:90px}

/* ═══════════════════════════════════
   响应式补充
   ═══════════════════════════════════ */
@media(max-width:991px){.section{padding:40px 0}.city-intro-outer{padding:40px 22px 30px}}