/* home/css/sections.css — 内容区块: 指南/吃什么/在地声音(折叠+封面)/乡街子/四季/行前/落脚 */

/* ══ 在地声音：淡雾绿 feature 面板（roadbook .color-green 复刻 → --sage）══ */
.section.green{color:var(--ink)}
.section.green .kicker{color:var(--slate)}
.section.green .kicker .hash{color:var(--ink);opacity:.6}
.section.green .sec-head h2{color:var(--ink)}
.section.green .sec-head .sec-sub{color:var(--slate)}
/* ══ 四季：淡雾蓝 feature 面板（roadbook 第二 feature 色 #c9d8e1，与绿面板同明度同饱和）══ */
.section.blue{background:var(--mist);color:var(--ink)}
.section.blue .kicker{color:var(--slate)}
.section.blue .kicker .hash{color:var(--ink);opacity:.6}
.section.blue .sec-head .sec-sub{color:var(--slate)}
.section.blue .season{background:transparent;border-top-color:rgba(37,41,43,.16)}
.section.blue .season:hover{border-top-color:var(--ink)}
.section.blue .season h3{color:var(--ink)}
.section.blue .season p{color:var(--muted)}
.sec-head{max-width:760px;margin-bottom:46px}
.sec-head h2{font-size:clamp(30px,4.4vw,46px);font-weight:300;margin-bottom:12px}
.sec-head .sec-sub{color:var(--muted);font-size:15.5px;line-height:1.8;max-width:640px}
.issue{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted-2);margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:inline-block}
/* ══ 栏目一：昆明指南 · 编号权威清单 01–10（roadbook 模式③）══ */
.guides{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 10px}
.guide{display:flex;flex-direction:column;overflow:hidden}
.guide:hover .gi img{transform:scale(1.05)}
.guide .gi{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--paper-3)}
.guide .gi img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s ease-in-out}
.guide .gb{padding:10px 0 0;display:flex;flex-direction:column;flex:1}
.guide h3{font-size:20px;line-height:1.35;margin-bottom:10px;color:var(--ink);font-weight:300}
.guide p{font-size:12px;color:var(--muted);line-height:1.75;margin-bottom:16px;flex:1}
.guide .gtags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.guide .gtag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);background:#fff;border:0;padding:4px 12px;border-radius:999px}
/* ══ 栏目一附：昆明吃什么 · 全宽 Featured 带（主题攻略，独立于地理线路）══ */
.eat{background:var(--paper)}
.eat-inner{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:38px;align-items:center;border-top:2px solid var(--line-2);padding-top:34px}
.eat-media{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--paper-3)}
.eat-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease-in-out}
.eat-media:hover img{transform:scale(1.05)}
.eat-kicker{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.eat h2{font-family:var(--serif-display);font-weight:300;font-size:clamp(30px,4.4vw,46px);line-height:1.22;letter-spacing:.01em;color:var(--ink);margin-bottom:12px}
.eat h2 em{font-style:italic}
.eat-sub{font-size:15px;color:var(--muted);line-height:1.85;max-width:48ch;margin-bottom:18px}
.eat-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.eat-tags .gtag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);background:#fff;border:0;padding:4px 12px;border-radius:999px}
.eat-cta{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:3px;transition:opacity .2s ease}
.eat-cta:hover{opacity:.7}
/* ══ 栏目二：在地声音 · 第一人称随笔（roadbook 模式④ · 折叠+编号）══ */
/* ══ 章节折叠：满宽 roadbook 式（文本 +/− + 单开 + 默认折叠）══ */
/* 逐块分层青灰背景，对齐 roadbook .info-block:nth-of-type(1..4) */
.vband{margin:0}
.vband-inner{max-width:100%;margin:0 auto;padding:0}
.vchap{margin:0}
.vchap:nth-of-type(1){background:#c6d2ce}
.vchap:nth-of-type(2){background:rgba(198,210,206,.8)}
.vchap:nth-of-type(3){background:rgba(198,210,206,.6)}
.vchap:nth-of-type(4){background:rgba(198,210,206,.4)}
.vchap-h{display:flex;align-items:center;gap:14px;width:100%;max-width:820px;margin:0 auto;background:none;border:0;cursor:pointer;padding:24px 26px;text-align:left;color:var(--ink);font-family:inherit}
.vnum{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.14em;color:#8f8a7c;flex-shrink:0}
.vtitle{font-family:var(--serif-display);font-weight:300;font-size:clamp(22px,3vw,30px);line-height:1.25;color:var(--ink);flex:1}
.vchap-h:hover .vtitle{color:var(--slate)}
/* 白圆钮：SVG 细线 +/−（55px 圆、1.75px 描边、opacity 80→100），展开时竖线淡出变 −，对齐 roadbook .plusminus */
.vbtn{
  flex-shrink:0; width:55px; height:55px; border-radius:50%;
  background:#fff; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  opacity:.8; transition:opacity .3s ease-out; user-select:none; padding:0;
}
.vbtn .vico{display:block;width:22px;height:22px}
.vbtn .vico line{stroke:var(--ink);stroke-width:1.75;stroke-linecap:round}
.vbtn .v-vert{transition:opacity .3s ease}
.vchap.is-open .vbtn .v-vert{opacity:0}
.vchap-h:hover .vbtn{opacity:1}

.vchap-h:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.vchap-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease;max-width:820px;margin:0 auto}
.vchap-body.is-collapsed{grid-template-rows:0fr}
.vchap-body>.vwrap{overflow:hidden;min-height:0;min-width:0;padding:0 26px 26px 50px;max-width:820px;margin:0 auto;transition:padding .3s ease}
.vchap-body.is-collapsed>.vwrap{padding:0 26px 0 50px}
.vchap-body p{margin:0 0 22px;font-family:var(--serif-body);font-size:17px;font-weight:300;line-height:1.85;color:#2b2f33}
.vchap-body p:last-child{margin-bottom:0}
.vchap-body p b{color:var(--ink);font-weight:700}
.vchap-body p.vsub{font-family:var(--serif-display);font-weight:700;font-size:17px;line-height:1.4;color:var(--ink);margin:24px 0 8px}
/* 响应式（roadbook @max-width:991.98px 实测断点） */
@media (max-width:991.98px){
  .vchap-h{padding:18px 16px}
  .vtitle{font-size:20px}
  .vbtn{width:44px;height:44px;padding:0;margin:0 0 0 14px}
  .vbtn .vico{width:18px;height:18px}
  .vchap-body>.vwrap{padding:0 16px 20px}
  .vchap-body.is-collapsed>.vwrap{padding:0 16px 0}
}
@media (prefers-reduced-motion:reduce){.vchap-body{transition:none}.vchap-body>.vwrap{transition:none}}
/* ══ 在地声音 · 图片封面 + 导语 + 尾声（与青灰渐变带一体化）══ */
.section.green.voice-has-cover{padding-top:0}
.voice-cover{position:relative;width:100%;min-height:clamp(320px,42vh,460px);display:flex;align-items:flex-end;overflow:hidden;background:var(--slate)}
.voice-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.voice-cover-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(37,41,43,.30) 0%,rgba(37,41,43,.10) 40%,rgba(37,41,43,.55) 100%)}
.voice-cover-inner{position:relative;z-index:2;width:100%;padding:0 40px 46px}
.section.green .voice-cover .kicker{color:rgba(255,255,255,.92);display:block;margin-bottom:14px}
.section.green .voice-cover .kicker .hash{color:#fff;opacity:.7}
.voice-cover-title{font-family:var(--serif-display);font-weight:300;font-size:clamp(34px,5.5vw,58px);line-height:1.12;letter-spacing:.01em;color:#fff;margin:0;text-shadow:0 12px 36px rgba(37,41,43,.4);max-width:15ch}
.voice-cover-fade{position:absolute;left:0;right:0;bottom:0;height:96px;z-index:2;background:linear-gradient(180deg,rgba(198,210,206,0) 0%,#cdd8d4 100%);pointer-events:none}
/* 导语：坐在首档青灰 #c6d2ce 上，与折叠带连片 */
.voice-lede{background:#cdd8d4;padding:44px 0 30px}
.voice-lede-inner{max-width:820px;margin:0 auto;padding:0 26px}
.voice-lede p{font-family:var(--serif-body);font-size:16.5px;font-weight:300;line-height:1.85;color:var(--ink);margin:0;text-align:left}
.voice-outro{max-width:760px;margin:34px auto 0;padding:26px 26px 0;border-top:1px solid rgba(37,41,43,.14)}
.voice-outro p{font-size:19px;font-weight:300;line-height:1.9;color:#2b2f33;margin:0 0 16px}
.voice-outro p:last-child{margin-bottom:0}
@media (max-width:991.98px){
  .voice-cover{min-height:clamp(280px,38vh,380px)}
  .voice-cover-inner{padding:0 22px 34px}
  .voice-cover-title{font-size:clamp(28px,7vw,40px);max-width:18ch}
  .voice-lede{padding:34px 0 24px}
  .voice-lede-inner{padding:0 20px}
  .voice-outro p{font-size:16px}
}
.vlist{list-style:none;margin:0 0 18px;padding:0}
.vlist li{margin-bottom:12px;line-height:1.8;font-size:19px;color:#2b2f33}
.vlist li b{color:var(--ink);font-weight:700}
.voice-outro p{font-size:19px;font-weight:300;line-height:1.9;color:#2b2f33;margin-bottom:16px}
/* 展开/收起全文 总控（复用 market-toggle mono 范式） */
.voice-all{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12.5px;color:var(--slate);font-weight:500;cursor:pointer;background:none;border:0;padding:18px 0 0;letter-spacing:.04em}
.voice-all:hover{color:var(--ink)}
.voice-all .va-arrow{transition:transform .2s ease}
/* ══ 栏目三：乡街子 · 赶集日历（monochrome）══ */
.market-sub{color:var(--muted);max-width:640px;margin-bottom:28px;font-size:15px;line-height:1.8}
.market-today{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--radius);padding:15px 18px;margin-bottom:12px}
.market-today .mt-label{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.market-today .mt-chips{display:flex;flex-wrap:wrap;gap:8px}
.market-today .mt-chip{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.02em;font-weight:400;color:var(--ink);background:#fff;border:0;border-radius:999px;padding:4px 12px}
.market-today .mt-empty{font-size:14px;color:var(--muted)}
.market-toggle{font-family:var(--mono);font-size:12.5px;color:var(--slate);font-weight:500;cursor:pointer;background:none;border:none;padding:4px 0;display:inline-flex;align-items:center;gap:5px;letter-spacing:.04em}
.market-toggle:hover{color:var(--ink)}
.market-full{margin-top:18px}
.market-full[hidden]{display:none}
.market-groups{display:grid;gap:30px;margin-top:6px}
.market-group-h{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:15px}
.markets{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.market{position:relative;border-top:1px solid var(--line);padding:14px 0 0;background:transparent}
/* market 为纯信息卡（非链接），v2 零装饰语言：不保留 hover 填充 */
.market .mk-day{display:block;font-family:var(--serif-display);font-size:15px;font-weight:400;color:var(--ink);margin-bottom:9px}
.market ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.market li{font-size:13px;color:var(--muted);line-height:1.55}
.markets[data-group="week"]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.markets[data-group="week"] .market{padding:14px 0 0}
.markets[data-group="week"] .market .mk-day{font-size:13px;margin-bottom:6px}
.markets[data-group="week"] .market li{font-size:12.5px;line-height:1.5}
.market.is-today{background:var(--paper-2);padding:12px 14px;border-radius:var(--radius);border-top:2px solid var(--ink)}
.market.is-today .mk-day{color:var(--ink)}
/* ══ 栏目四：四季 · 春夏秋冬（light monochrome）══ */
.seasons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.season{border-top:1px solid var(--line);padding:20px 0;background:transparent}
.season:hover{border-top-color:var(--ink)}
.season .s-emoji{margin-bottom:14px;color:var(--ink)}
.season .s-emoji svg{display:block;width:26px;height:26px}
.season h3{font-family:var(--serif-display);font-size:20px;margin-bottom:8px;color:var(--ink);font-weight:400}
.season p{font-size:14px;color:var(--muted);line-height:1.75}
.season .stag{display:inline-block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);background:#fff;border:0;padding:4px 12px;border-radius:999px;margin-top:14px}
/* ══ 小栏：行前 · 温馨提示 ══ */
.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tip-item{display:flex;gap:13px;align-items:flex-start}
.tip-item .icon{flex-shrink:0;color:var(--ink);display:flex;align-items:flex-start}
.tip-item .icon svg{display:block;width:22px;height:22px}
.s-emoji svg,.tip-item .icon svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tip-item h3{font-family:var(--serif-display);font-size:15px;margin-bottom:4px;color:var(--ink);font-weight:400}
.tip-item p{font-size:13.5px;color:var(--muted);line-height:1.6}
/* ══ 栏目五：落脚 · 大象民宿（light monochrome）══ */
.stay-hero{width:100%;max-height:380px;overflow:hidden;border-radius:var(--radius);margin-bottom:30px}
.stay-hero img{width:100%;height:auto;object-fit:cover;display:block}
.tie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tie .item{display:flex;gap:14px;align-items:flex-start}
.tie .item .n{font-family:var(--serif-display);font-size:24px;color:var(--ink);line-height:1;min-width:32px}
.tie .item h3{font-family:var(--serif-display);font-size:17px;margin-bottom:5px;color:var(--ink);font-weight:400}
.tie .item p{font-size:14px;color:var(--muted);line-height:1.7}
/* ══ 手机端响应式（置于文件末尾，确保覆盖上方所有基础规则）══ */
/* 官方线路卡片单列、昆明吃什么图文上下——避免窄屏/横屏/WebView 仍两栏挤文案 */
@media (max-width:768px){
  .guides{grid-template-columns:1fr;gap:14px}
  .eat-inner{grid-template-columns:1fr;gap:20px}
  .eat-media{aspect-ratio:16/10}
}
