/* 8684.com.cn — POI 模块样式 */

/* Type Grid */
.type-grid { padding:24px 0; }
.type-grid h2 { font-size:18px; margin-bottom:16px; }
.type-grid .grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(100px, 1fr)); gap:10px; }
.type-card { display:flex; flex-direction:column; align-items:center; padding:14px 6px; background:#fff; border:1px solid #e0e0e0; border-radius:6px; text-align:center; transition:border-color .2s; }
.type-card:hover { border-color:#e65100; text-decoration:none; }
.type-icon { font-size:28px; }
.type-name { font-size:13px; color:#333; margin-top:4px; }
.type-count { font-size:11px; color:#888; }

/* POI Table */
.poi-table { background:#fff; border:1px solid #e0e0e0; border-radius:6px; overflow:hidden; }
.poi-row { display:flex; justify-content:space-between; padding:12px 14px; border-bottom:1px solid #f0f0f0; }
.poi-row:last-child { border-bottom:none; }
.poi-row:hover { background:#fafafa; }
.poi-main { flex:1; min-width:0; }
.poi-title { font-size:14px; font-weight:500; margin-right:6px; }
.poi-brand { color:#e65100; font-size:12px; margin-right:6px; }
.poi-tags { color:#888; font-size:12px; }
.poi-meta { flex-shrink:0; margin-left:14px; text-align:right; }
.poi-addr, .poi-tel { display:block; font-size:12px; color:#888; }
.poi-dist { color:#e65100; font-size:12px; font-weight:600; margin-left:6px; }
.type-badge { display:inline-block; background:#e8eaf6; color:#3949ab; padding:1px 6px; border-radius:4px; font-size:11px; margin-left:6px; }

/* POI Detail */
.poi-detail h1 { font-size:22px; margin-bottom:14px; }
.info-table { width:100%; background:#fff; border:1px solid #e0e0e0; border-radius:6px; }
.info-table tr { border-bottom:1px solid #f0f0f0; }
.info-table tr:last-child { border-bottom:none; }
.info-table td { padding:10px 14px; }
.info-table .label { width:70px; color:#888; font-size:13px; white-space:nowrap; }

/* Near sections */
.near-section { margin:20px 0; }
.near-section h2 { font-size:16px; margin-bottom:10px; }
.station-grid { display:flex; flex-wrap:wrap; gap:6px; }
.station-card { display:inline-flex; align-items:center; gap:4px; padding:6px 12px; background:#fff; border:1px solid #e0e0e0; border-radius:6px; font-size:13px; }
.station-card:hover { border-color:#e65100; text-decoration:none; }
.station-dist { color:#e65100; font-weight:600; }

/* Type filter */
.type-filter { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.filter-chip { padding:4px 12px; background:#fff; border:1px solid #e0e0e0; border-radius:16px; font-size:13px; }
.filter-chip em { margin-left:3px; color:#888; font-size:11px; }
.filter-chip.active { background:#fff3e0; border-color:#e65100; color:#e65100; }

/* Brand */
.brand-detail h1 { font-size:22px; margin-bottom:6px; }
.brand-remark { color:#888; margin-bottom:6px; }
.brand-meta { color:#888; font-size:13px; margin-bottom:14px; }
.brand-list, .other-cities, .city-group, .search-brands { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.brand-item, .other-cities a, .city-group a, .search-brands a { padding:4px 10px; background:#fff; border:1px solid #e0e0e0; border-radius:6px; font-size:13px; }
.brand-item small, .other-cities a small, .city-group a small { color:#888; font-size:11px; margin-left:3px; }

/* POI List */
.poi-list { list-style:none; background:#fff; border:1px solid #e0e0e0; border-radius:6px; }
.poi-list li { border-bottom:1px solid #f0f0f0; }
.poi-list li:last-child { border-bottom:none; }
.poi-list a { display:block; padding:10px 14px; }
.poi-list small { display:block; color:#888; font-size:12px; }

/* Pagination */
.pagination { display:flex; align-items:center; justify-content:center; gap:14px; padding:20px 0; }
.pagination a { padding:6px 14px; background:#fff; border:1px solid #e0e0e0; border-radius:6px; font-size:13px; }
.page-info { color:#888; font-size:13px; }

/* Hero search (POI) */
.hero-search-poi { display:flex; max-width:480px; margin:16px auto; }
.hero-search-poi input { flex:1; padding:10px 14px; border:2px solid #e65100; border-radius:6px 0 0 6px; font-size:15px; outline:none; }
.hero-search-poi button { padding:10px 20px; background:#e65100; color:#fff; border:none; border-radius:0 6px 6px 0; font-size:15px; cursor:pointer; }

/* Misc */
.badge-offline { background:#fce4e4; color:#c62828; padding:1px 6px; border-radius:4px; font-size:11px; margin-left:6px; }
.radius-form select { padding:4px 6px; border:1px solid #e0e0e0; border-radius:4px; font-size:13px; }

/* ===== Subway ===== */
.subway-line-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.subway-line-card { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; border: 1px solid #eee; border-radius: 8px; text-decoration: none; color: #333; transition: box-shadow .2s; }
.subway-line-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.subway-line-dot { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 13px; line-height: 1; }
.subway-line-info { flex: 1; min-width: 0; }
.subway-line-name { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.subway-line-meta { font-size: 12px; color: #999; margin-top: 2px; }
.subway-line-arrow { color: #ccc; font-size: 18px; }
.subway-line-header { padding: 16px 20px; background: #fafafa; border-radius: 8px; margin-bottom: 16px; }
.subway-stops li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f5f5f5; }
.subway-stops li:last-child { border-bottom: none; }
.stop-time { margin-left: auto; font-size: 12px; color: #999; }
.exit-list { list-style: none; padding: 0; }
.exit-item { padding: 10px; margin-bottom: 8px; background: #f5f5f5; border-radius: 6px; }
/* ===== Subway ===== */
.subway-line-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.subway-line-card { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; border: 1px solid #eee; border-radius: 8px; text-decoration: none; color: #333; transition: box-shadow .2s; }
.subway-line-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.subway-line-dot { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 13px; line-height: 1; }
.subway-line-info { flex: 1; min-width: 0; }
.subway-line-name { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.subway-line-meta { font-size: 12px; color: #999; margin-top: 2px; }
.subway-line-arrow { color: #ccc; font-size: 18px; }
.subway-line-header { padding: 16px 20px; background: #fafafa; border-radius: 8px; margin-bottom: 16px; }
.subway-stops li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f5f5f5; }
.subway-stops li:last-child { border-bottom: none; }
.stop-time { margin-left: auto; font-size: 12px; color: #999; }
