/* 首页 Hero + 搜索框 + 省份网格 + 详情页门禁 + 聚合页下钻,附加样式 */

/* Hero */
.hero{background:linear-gradient(160deg,#a98a60 0%,#6f5636 100%);color:#fff;padding:70px 0 80px;position:relative;overflow:visible;z-index:20}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-bg::after{content:"";position:absolute;right:-90px;top:-90px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.06)}
.hero-bg::before{content:"";position:absolute;left:-70px;bottom:-140px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.05)}
.hero .wrap{position:relative;z-index:2;text-align:center}
.hero h1{font-size:36px;letter-spacing:2px;font-weight:800}
.hero .slogan{font-size:15px;opacity:.9;margin-top:14px;letter-spacing:.5px}

/* 搜索框 */
.search{position:relative;z-index:30;max-width:680px;margin:32px auto 0}
.tabs{display:flex;gap:6px;justify-content:center;margin-bottom:12px}
.tabs .tb{padding:7px 18px;border-radius:999px;font-size:13.5px;cursor:pointer;color:#fff;background:rgba(255,255,255,.14)}
.tabs .tb.on{background:#fff;color:var(--brand-d);font-weight:700}
.sbox{display:flex;align-items:center;flex-wrap:nowrap;background:#fff;border-radius:14px;padding:7px 7px 7px 0;box-shadow:0 16px 48px rgba(60,40,20,.22);position:relative}
.city-sel{display:flex;align-items:center;gap:5px;padding:0 14px 0 20px;font-size:15px;font-weight:600;color:var(--ink);border-right:1px solid var(--line);cursor:pointer;white-space:nowrap;height:30px;flex:none}
.city-sel .ic{width:14px;height:14px;color:var(--muted)}
.sbox input{flex:1;min-width:0;border:none;outline:none;font-size:15.5px;padding:14px 16px;color:var(--ink);background:transparent}
.sbox input::placeholder{color:#c3b5a8}
.sbox .go{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:14px 30px;font-size:15.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;flex:none}
.sbox .go:hover{background:var(--brand-d)}
.sbox .go .ic{width:18px;height:18px}
.citymenu{position:absolute;top:56px;left:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(60,40,20,.28);display:none;z-index:100;width:560px;max-width:calc(100vw - 32px);overflow:hidden}
.citymenu.open{display:flex}
.cm-prov{width:150px;flex:none;max-height:340px;overflow-y:auto;border-right:1px solid var(--line);background:#faf6ef;padding:6px}
.cm-prov a{display:block;padding:9px 12px;border-radius:7px;font-size:13.5px;color:var(--sub);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-prov a:hover{background:#fff;color:var(--brand)}
.cm-prov a.on{background:var(--brand);color:#fff;font-weight:600}
.cm-city{flex:1;max-height:340px;overflow-y:auto;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-content:start}
.cm-city a{padding:8px 10px;border-radius:7px;font-size:13.5px;color:var(--sub);text-align:center;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-city a:hover{background:#faf5ef;color:var(--brand)}
.cm-city a.on{background:var(--brand);color:#fff}
.hotword{margin-top:16px;font-size:13px;opacity:.85;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hotword a:hover{text-decoration:underline}
.hint{font-size:12.5px;opacity:.8;margin-top:18px;display:inline-flex;align-items:center;gap:6px}
.hint .ic{width:14px;height:14px}

/* 热门城市 / 省份 */
.cities{display:flex;flex-wrap:wrap;gap:10px}
.cities a{padding:9px 20px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--sub);background:#fff}
.cities a:hover{border-color:var(--brand);color:var(--brand);background:#faf5ef}
.provs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.provs a{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 8px;text-align:center;font-size:14px;color:var(--sub);transition:.15s}
.provs a:hover{border-color:var(--brand);color:var(--brand);background:#faf5ef;transform:translateY(-2px)}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.feat .fi{width:44px;height:44px;border-radius:11px;background:#f3ece0;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.feat .fi .ic{width:23px;height:23px;color:var(--brand)}
.feat .ft{font-size:16px;font-weight:700;margin-bottom:6px}
.feat .fd{font-size:13px;color:var(--muted);line-height:1.8}

/* 聚合页地理下钻 */
.geo{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:4px 0;margin-bottom:16px}
.geo-row{display:flex;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14px}
.geo-row:last-child{border-bottom:none}
.geo-row .lab{color:var(--muted);width:58px;flex:none;padding-top:1px}
.geo-row .items{display:flex;flex-wrap:wrap;gap:6px 4px}
.geo-row .items a{padding:3px 12px;border-radius:6px}
.geo-row .items a:hover{background:#faf5ef;color:var(--brand-d)}
.geo-row .items a.on{background:var(--brand);color:#fff;font-weight:600}
.seo-tx{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:16px 0;font-size:13px;color:#6a5a4e;line-height:1.9}
.seo-tx h2{font-size:14px;color:var(--ink);margin-bottom:8px}

/* 详情页 */
.cols{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
.side{position:sticky;top:74px;display:flex;flex-direction:column;gap:16px}
.head{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.head h1{font-size:27px;letter-spacing:.5px}
.head .city{font-size:15px;color:var(--brand);font-weight:600;margin-top:8px;display:flex;align-items:center;gap:6px}
.head .city .ic{width:17px;height:17px}
.tags{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.tag{font-size:12px;padding:5px 13px;border-radius:999px;background:#f3ece0;color:var(--brand-d);display:flex;align-items:center;gap:5px}
.tag.lk{background:#efe7dd;color:#c3b5a8}
.tag .ic{width:13px;height:13px}
.blurwrap{position:relative;min-height:190px}
.blur{filter:blur(6px);user-select:none;pointer-events:none}
.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,rgba(255,253,249,.55),rgba(255,253,249,.94));text-align:center;padding:22px}
.overlay .lk{width:42px;height:42px;border-radius:50%;background:#f3ece0;display:flex;align-items:center;justify-content:center}
.overlay .lk .ic{width:22px;height:22px;color:var(--brand)}
.overlay .tx{font-size:15px;font-weight:700}
.overlay .sub{font-size:12.5px;color:var(--muted);max-width:290px}
.overlay.gold .lk{background:#faf4e4}
.overlay.gold .lk .ic{color:#b8860b}
.vip{font-size:12px;color:#9a7b1a;background:#fdf6e3;border:1px solid #efe1b0;padding:3px 11px;border-radius:999px;display:flex;align-items:center;gap:5px}
.vip .ic{width:13px;height:13px;color:#b8860b}
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line)}
.stat{background:var(--card);padding:18px 10px;text-align:center}
.stat .v{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
.stat .k{font-size:12px;color:var(--muted);margin-top:5px}
.info-tb{width:100%;border-collapse:collapse}
.info-tb td{padding:13px 18px;border-bottom:1px solid var(--line);font-size:14px}
.info-tb tr:last-child td{border-bottom:none}
.info-tb td.k{color:var(--muted);width:110px;background:#faf6ef}
#map{height:300px;width:100%}
.map-ph{height:240px;background:linear-gradient(135deg,#efe7db,#f7f2ea);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;gap:7px}
.simi a{display:block;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14px}
.simi a:last-child{border-bottom:none}
.simi a:hover{background:#faf5ef;color:var(--brand-d)}
.vipbox{padding:22px 18px;text-align:center}
.vipbox .t{font-size:15px;font-weight:700;margin-bottom:6px}
.vipbox .d{font-size:12.5px;color:var(--muted);margin-bottom:14px}

@media(max-width:860px){
  .hero h1{font-size:26px}.hero{padding:46px 0 56px}
  .sbox{padding:5px 5px 5px 0}
  .city-sel{padding:0 9px 0 13px;font-size:14px;gap:3px}
  .sbox input{font-size:14px;padding:12px 10px}
  .sbox .go{padding:12px 15px}
  .sbox .go span{display:none}
  .sbox .go .ic{width:20px;height:20px}
  .citymenu{grid-template-columns:repeat(3,1fr);left:8px;right:8px;width:auto}
  .cm-city{grid-template-columns:repeat(2,1fr)}
  .provs{grid-template-columns:repeat(3,1fr)}
  .feats{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr}
  .side{position:static}
  .head h1{font-size:22px}
  .stats{grid-template-columns:repeat(3,1fr)}
}
