/* ============================================================
   V2.8-B 资源聚合页专用样式（景点/住宿/体验三页共用）
   全部 .resource-v28-* 命名空间
   ============================================================ */
.resource-v28-page { clear: both; }
.resource-v28-hero { clear: both; padding: 26px 0 18px; }
.resource-v28-hero h1 { font-size: 26px; color: #1f2d3d; margin: 0 0 8px; }
.resource-v28-hero p { font-size: 14px; color: #6b7684; margin: 0; }
.resource-v28-citytab { clear: both; background: #fff; border: 1px solid #eef0f3; border-radius: 10px; padding: 14px 18px; margin-bottom: 18px; }
.resource-v28-citytab-label { font-size: 14px; color: #4a5568; margin-right: 8px; }
.resource-v28-citytab-item { display: inline-block; font-size: 14px; color: #4a5568; padding: 6px 16px; border-radius: 16px; margin: 0 6px 4px 0; text-decoration: none; background: #f5f7fa; }
.resource-v28-citytab-item.active { background: #1a66c4; color: #fff; }
.resource-v28-citytab-item:hover { color: #1a66c4; }
.resource-v28-citytab-item.active:hover { color: #fff; }
.resource-v28-zones { clear: both; display: flex; flex-wrap: wrap; margin: 0 -6px 18px; }
.resource-v28-zone { width: 20%; box-sizing: border-box; padding: 6px; }
.resource-v28-zone > div, .resource-v28-zone { background: #fff; }
.resource-v28-zone b { display: block; font-size: 15px; color: #1f2d3d; margin-bottom: 3px; }
.resource-v28-zone { background: #f8fafc; border: 1px solid #e6eaf0; border-radius: 8px; padding: 12px 14px; }
.resource-v28-zone span { display: block; font-size: 12px; color: #6b7684; line-height: 1.5; }
.resource-v28-grid { display: flex; flex-wrap: wrap; margin: 0 -8px; }
.resource-v28-card { width: 25%; box-sizing: border-box; padding: 8px; }
.resource-v28-card > * { }
.resource-v28-card { display: flex; flex-direction: column; }
.resource-v28-card-inner, .resource-v28-card { }
.resource-v28-card { }
.resource-v28-card { background: #fff; }
.resource-v28-card { }
/* 用内部结构化 */
.resource-v28-grid .resource-v28-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 14px; min-height: 120px; box-sizing: border-box; }
.resource-v28-card-name { font-size: 15px; font-weight: 600; color: #2b2b2b; line-height: 1.4; margin-bottom: 6px; word-break: break-all; }
.resource-v28-level { display: inline-block; background: #e6f2ff; color: #1a66c4; font-size: 12px; padding: 2px 6px; border-radius: 4px; margin-left: 6px; vertical-align: 2px; font-weight: 400; }
.resource-v28-card-meta { font-size: 13px; color: #666; line-height: 1.5; margin-bottom: 4px; }
.resource-v28-card-fee { font-size: 13px; color: #d96c1f; line-height: 1.5; margin-bottom: 4px; }
.resource-v28-card-tags span { display: inline-block; font-size: 11px; background: #fdeede; color: #b0651a; padding: 2px 6px; border-radius: 3px; margin: 0 4px 3px 0; }
.resource-v28-card-scene { display: inline-block; font-size: 12px; background: #e6f2ff; color: #1a66c4; padding: 3px 8px; border-radius: 4px; margin-bottom: 6px; }
.resource-v28-empty { width: 100%; text-align: center; color: #98a2b3; font-size: 14px; padding: 30px 0; }
.resource-v28-sect { clear: both; margin-bottom: 24px; }
.resource-v28-h2 { font-size: 18px; color: #1f2d3d; margin: 0 0 14px; padding-left: 10px; border-left: 4px solid #1a66c4; line-height: 24px; }
.resource-v28-note { font-size: 12px; color: #98a2b3; margin: 10px 0 0; line-height: 1.6; }
.resource-v28-cta { clear: both; margin: 26px 0; background: linear-gradient(90deg, #1a66c4, #3b8ae0); border-radius: 10px; padding: 22px 26px; display: flex; align-items: center; justify-content: space-between; }
.resource-v28-cta-txt b { display: block; color: #fff; font-size: 18px; margin-bottom: 4px; }
.resource-v28-cta-txt span { display: block; color: rgba(255,255,255,.88); font-size: 13px; }
.resource-v28-cta-btn { white-space: nowrap; }
.resource-v28-btn-primary { display: inline-block; background: #fff; color: #1a66c4; border-radius: 20px; padding: 11px 24px; font-size: 15px; text-decoration: none; margin-left: 12px; }
.resource-v28-btn-primary:hover { background: #f2f7ff; }
.resource-v28-btn-ghost { display: inline-block; border: 1px solid rgba(255,255,255,.7); color: #fff; border-radius: 20px; padding: 10px 22px; font-size: 15px; text-decoration: none; margin-left: 12px; }
.resource-v28-btn-ghost:hover { background: rgba(255,255,255,.12); }
@media (max-width: 1024px) {
  .resource-v28-card { width: 33.33%; }
  .resource-v28-zone { width: 33.33%; }
}
@media (max-width: 768px) {
  .resource-v28-card { width: 50%; }
  .resource-v28-zone { width: 50%; }
  .resource-v28-cta { flex-direction: column; text-align: center; }
  .resource-v28-cta-btn { margin-top: 12px; }
}
