@import url('all.css');

/* ===== 全局重置 & 基础 ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: #f9fafb;
  color: #374151;
  line-height: 1.6;
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}

/* ===== 颜色变量 ===== */
:root {
  --red-50: #fef2f2;
  --red-100: #fee2e2;
  --red-200: #fecaca;
  --red-400: #f87171;
  --red-500: #ef4444;
  --red-600: #dc2626;
  --red-700: #c41e3a;
  --red-800: #991b1b;
  --red-900: #7f1d1d;
  --blue-50: #eff6ff;
  --blue-100: #dbeafe;
  --blue-200: #bfdbfe;
  --blue-400: #60a5fa;
  --blue-600: #2563eb;
  --blue-700: #1a56db;
  --blue-800: #1e40af;
  --blue-900: #1e3a8a;
  --green-50: #f0fdf4;
  --green-100: #dcfce7;
  --green-200: #bbf7d0;
  --green-400: #4ade80;
  --green-600: #16a34a;
  --green-700: #059669;
  --amber-50: #fffbeb;
  --amber-100: #fef3c7;
  --amber-200: #fde68a;
  --amber-400: #fbbf24;
  --amber-600: #d97706;
  --amber-700: #b45309;
  --amber-800: #92400e;
  --teal-600: #0d9488;
  --teal-700: #0f766e;
  --teal-800: #115e59;
  --indigo-700: #4338ca;
  --indigo-800: #3730a3;
  --indigo-900: #312e81;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --white: #fff;
  --black: #000;
}

/* ===== 文本颜色 ===== */
.text-white { color: #fff; }
.text-gray-200 { color: #e5e7eb; }
.text-gray-300 { color: #d1d5db; }
.text-gray-400 { color: #9ca3af; }
.text-gray-500 { color: #6b7280; }
.text-gray-600 { color: #4b5563; }
.text-gray-700 { color: #374151; }
.text-gray-800 { color: #1f2937; }
.text-red-400 { color: #f87171; }
.text-red-500 { color: #ef4444; }
.text-red-600 { color: #dc2626; }
.text-red-700 { color: #c41e3a; }
.text-blue-600 { color: #2563eb; }
.text-amber-600 { color: #d97706; }
.text-green-600 { color: #16a34a; }
.text-blue-gai{color:#1d4ed8;}
.text-green-gai{color: #047857;}

/* ===== 背景颜色 ===== */
.bg-white { background: #fff; }
.bg-gray-50 { background: #f9fafb; }
.bg-gray-100 { background: #f3f4f6; }
.bg-gray-800 { background: #1f2937; }
.bg-gray-900 { background: #111827; }
.bg-red-50 { background: #fef2f2; }
.bg-red-700 { background: #c41e3a; }
.bg-red-800 { background: #991b1b; }
.bg-blue-50 { background: #eff6ff; }
.bg-blue-700 { background: #1a56db; }
.bg-blue-800 { background: #1e40af; }
.bg-amber-700 { background: #b45309; }
.bg-amber-800 { background: #92400e; }
.bg-teal-700 { background: #0f766e; }
.bg-teal-800 { background: #115e59; }
.bg-indigo-700 { background: #4338ca; }
.bg-indigo-800 { background: #3730a3; }
.bg-gray-700 { background: #4b5563; }
.bg-gray-900 { background: #111827; }
.bg-black\/40 { background: rgba(0,0,0,0.4); }
.bg-black\/60 { background: rgba(0,0,0,0.6); }

/* ===== 悬停背景 ===== */
.hover\:bg-red-50:hover { background: #fef2f2; }
.hover\:bg-red-700:hover { background: #c41e3a; }
.hover\:bg-red-800:hover { background: #991b1b; }
.hover\:bg-blue-800:hover { background: #1e40af; }
.hover\:bg-amber-800:hover { background: #92400e; }
.hover\:bg-teal-800:hover { background: #115e59; }
.hover\:bg-indigo-800:hover { background: #3730a3; }
.hover\:bg-gray-100:hover { background: #f3f4f6; }
.hover\:bg-gray-900:hover { background: #111827; }
.hover\:bg-black\/60:hover { background: rgba(0,0,0,0.6); }

/* ===== 边框 ===== */
.border { border: 1px solid; }
.border-2 { border-width: 2px; }
.border-gray-200 { border-color: #e5e7eb; }
.border-gray-300 { border-color: #d1d5db; }
.border-red-700 { border-color: #c41e3a; }
.border-gray-700 { border-color: #4b5563; }
.border-t { border-top: 1px solid #e5e7eb; }
.border-t-gray-700 { border-top: 1px solid #4b5563; }

/* ===== Flexbox ===== */
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-1 { flex: 1; }
.shrink-0 { flex-shrink: 0; }
.gap-3 { gap: 12px; }
.gap-6 { gap: 24px; }
.gap-8 { gap: 32px; }
.gap-10 { gap: 40px; }

/* ===== Grid ===== */
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* ===== 间距 ===== */
.mx-auto { margin: 0 auto; }
.mx-2 { margin-left: 8px; margin-right: 8px; }
.mr-1 { margin-right: 4px; }
.mr-2 { margin-right: 8px; }
.ml-1 { margin-left: 4px; }
.ml-2 { margin-left: 8px; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-6 { margin-bottom: 24px; }
.mb-8 { margin-bottom: 32px; }
.mb-10 { margin-bottom: 40px; }
.mb-12 { margin-bottom: 48px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mt-4 { margin-top: 16px; }
.mt-8 { margin-top: 32px; }
.mt-10 { margin-top: 40px; }
.pt-3 { padding-top: 12px; }
.pt-8 { padding-top: 32px; }
.pb-2 { padding-bottom: 8px; }
.p-2 { padding: 8px; }
.p-5 { padding: 20px; }
.p-8 { padding: 32px; }
.px-2 { padding-left: 8px; padding-right: 8px; }
.px-4 { padding-left: 16px; padding-right: 16px; }
.px-5 { padding-left: 20px; padding-right: 20px; }
.px-8 { padding-left: 32px; padding-right: 32px; }
.py-1 { padding-top: 4px; padding-bottom: 4px; }
.py-2 { padding-top: 8px; padding-bottom: 8px; }
.py-3 { padding-top: 12px; padding-bottom: 12px; }
.py-8 { padding-top: 32px; padding-bottom: 32px; }
.py-12 { padding-top: 48px; padding-bottom: 48px; }
.py-16 { padding-top: 64px; padding-bottom: 64px; }

/* ===== 文本大小和对齐 ===== */
.text-center { text-align: center; }
.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.text-6xl { font-size: 3.75rem; }
@media (min-width: 768px) {
  .md\:text-2xl { font-size: 1.5rem; }
  .md\:text-4xl { font-size: 2.25rem; }
  .md\:text-6xl { font-size: 3.75rem; }
}

/* ===== 字重 ===== */
.font-medium { font-weight: 500; }
.font-bold { font-weight: 700; }

/* ===== 显示 ===== */
.block { display: block; }
.inline-block { display: inline-block; }
.hidden { display: none; }
@media (min-width: 640px) { .sm\:inline { display: inline; } }
@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:hidden { display: none; }
  .md\:block { display: block; }
}

/* ===== 定位 ===== */
.relative { position: relative; }
.absolute { position: absolute; }
.sticky { position: sticky; }
.fixed { position: fixed; }
.top-0 { top: 0; }
.top-full { top: 100%; }
.left-0 { left: 0; }
.left-4 { left: 16px; }
.right-4 { right: 16px; }
.bottom-6 { bottom: 24px; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.z-50 { z-index: 50; }

/* ===== 尺寸 ===== */
.w-4 { width: 16px; }
.w-10 { width: 40px; }
.w-16 { width: 64px; }
.w-48 { width: 192px; }
.w-full { width: 100%; }
.h-4 { height: 16px; }
.h-10 { height: 40px; }
.h-16 { height: 64px; }
.h-48 { height: 192px; }
.h-full { height: 100%; }

/* ===== 溢出 & 圆角 ===== */
.overflow-hidden { overflow: hidden; }
.rounded { border-radius: 4px; }
.rounded-lg { border-radius: 8px; }
.rounded-xl { border-radius: 12px; }
.rounded-full { border-radius: 9999px; }

/* ===== 阴影 ===== */
.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.shadow { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); }
.hover\:shadow-lg:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); }

/* ===== 光标、透明度、变换 ===== */
.cursor-pointer { cursor: pointer; }
.opacity-50 { opacity: 0.5; }
.opacity-90 { opacity: 0.9; }
.hover\:opacity-100:hover { opacity: 1; }

/* ===== 过渡动画 ===== */
.transition { transition: all 0.3s ease; }
.transition-all { transition: all 0.3s ease; }
.duration-300 { transition-duration: 0.3s; }
.hover\:translate-y-\[-3px\]:hover { transform: translateY(-3px); }

/* ===== 变换与旋转 ===== */
.transform { transform: translateX(-50%); }
.-translate-y-1\/2 { transform: translateY(-50%); }
.rotate-180 { transform: rotate(180deg); }

/* ===== 背景渐变 ===== */
.bg-gradient-to-r { background: linear-gradient(to right, var(--start), var(--end)); }
.bg-gradient-to-br { background: linear-gradient(to bottom right, var(--start), var(--end)); }
.bg-gradient-to-b { background: linear-gradient(to bottom, var(--start), var(--end)); }
.from-red-700 { --start: #c41e3a; }
.to-red-900 { --end: #7f1d1d; }
.from-red-100 { --start: #fee2e2; }
.to-red-200 { --end: #fecaca; }
.from-red-200 { --start: #fecaca; }
.to-red-300 { --end: #fca5a5; }
.from-blue-700 { --start: #1a56db; }
.to-blue-900 { --end: #1e3a8a; }
.from-blue-100 { --start: #dbeafe; }
.to-blue-200 { --end: #bfdbfe; }
.from-blue-200 { --start: #bfdbfe; }
.to-blue-300 { --end: #93c5fd; }
.from-green-100 { --start: #dcfce7; }
.to-green-200 { --end: #bbf7d0; }
.from-green-200 { --start: #bbf7d0; }
.to-green-300 { --end: #86efac; }
.from-amber-100 { --start: #fef3c7; }
.to-amber-200 { --end: #fde68a; }
.from-amber-200 { --start: #fde68a; }
.to-amber-300 { --end: #fcd34d; }
.from-black-60 { --start: rgba(0,0,0,0.6); }
.to-black-30 { --end: rgba(0,0,0,0.3); }
.from-black-60 { --start: rgba(0,0,0,0.6); }
.to-transparent { --end: transparent; }

/* ===== hover 效果 ===== */
.hover\:text-red-700:hover { color: #c41e3a; }
.hover\:text-red-400:hover { color: #f87171; }
.hover\:text-red-600:hover { color: #dc2626; }
.hover\:text-blue-600:hover { color: #2563eb; }
.hover\:text-green-600:hover { color: #16a34a; }
.hover\:text-amber-600:hover { color: #d97706; }
.hover\:text-white:hover { color: #fff; }
.hover\:text-gray-600:hover { color: #4b5563; }
.hover\:text-red-700:hover { color: #c41e3a; }
.hover\:bg-red-50:hover { background: #fef2f2; }
.hover\:bg-black\/60:hover { background: rgba(0,0,0,0.6); }
.hover\:bg-transparent:hover { background: transparent; }

/* ===== 行截断 ===== */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== 过渡与动画 ===== */
.transition-colors { transition: color 0.2s, background-color 0.2s, border-color 0.2s; }

/* ===== 间距补充 ===== */
.space-x-8 > * + * { margin-left: 32px; }
.gap-4 { gap: 16px; }
.py-16 { padding-top: 64px; padding-bottom: 64px; }
.py-8 { padding-top: 32px; padding-bottom: 32px; }
@media (max-width: 767px) {
  .py-16 { padding-top: 48px; padding-bottom: 48px; }
}
@media (max-width: 479px) {
  .py-16 { padding-top: 32px; padding-bottom: 32px; }
}

/* ===== 移动端菜单开关 ===== */
.menu-toggle { display: none; }
.menu-toggle.open { display: block; }

/* ===== 筛选区域 ===== */
.filter-section {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.filter-row {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}
.filter-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.filter-row:first-child {
  padding-top: 0;
}
.filter-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  min-width: 80px;
  flex-shrink: 0;
  padding-top: 6px;
}
.filter-options-wrap {
  flex: 1;
  min-width: 0;
  position: relative;
  padding-right: 90px;
}
.filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.filter-tag {
  padding: 6px 16px;
  font-size: 0.8125rem;
  color: #6b7280;
  background: #f3f4f6;
  border: 1px solid transparent;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}
.filter-tag:hover {
  color: #c41e3a;
  background: #fef2f2;
}
.filter-tag.active {
  color: #fff;
  background: #c41e3a;
  border-color: #c41e3a;
}

/* PC端收起状态 - 显示更多标签 */
.filter-options.collapsed {
  overflow: hidden;
  max-height: 34px;
}
.filter-options.collapsed .filter-tag {
  display: none;
}
.filter-options.collapsed .filter-tag:nth-child(-n+10) {
  display: inline-block;
}

/* PC端展开/收起按钮 */
.filter-toggle {
  position: absolute;
  right: 0;
  top: -8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: 0.75rem;
  color: #c41e3a;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
  z-index: 2;
  white-space: nowrap;
}
.filter-toggle:hover {
  border-color: #c41e3a;
}
.filter-toggle i {
  transition: transform 0.3s ease;
}
.filter-toggle.expanded i {
  transform: rotate(180deg);
}

/* 移动端 - 左侧标题和分类内容靠左，按钮靠右 */
@media (max-width: 767px) {
  .filter-section {
    padding: 16px;
  }
  .filter-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 12px 0;
  }
  .filter-label {
    padding: 0;
    min-width: auto;
    text-align: left;
  }
  .filter-options-wrap {
    width: 100%;
    padding-right: 0;
    padding-top: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
  }
  .filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    max-height: none;
    overflow: visible;
    white-space: normal;
    margin-top: 0;
  }
  .filter-options.collapsed {
    max-height: 36px;
    overflow: hidden;
    padding-bottom: 0;
  }
  .filter-options.collapsed .filter-tag {
    display: none !important;
  }
  .filter-options.collapsed .filter-tag:nth-child(-n+4) {
    display: inline-block !important;
  }
  .filter-options.expanded {
    max-height: none;
    overflow: visible;
  }
  .filter-options.expanded .filter-tag {
    display: inline-block !important;
  }
  .filter-toggle {
    position: static;
    align-self: flex-start;
    margin-left: auto;
    margin-top: 0;
    display: inline-flex;
    width: auto;
    flex-shrink: 0;
  }
}
.filter-reset {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  font-size: 0.8125rem;
  color: #9ca3af;
  background: none;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
}
.filter-reset:hover {
  color: #c41e3a;
  border-color: #c41e3a;
}
@media (max-width: 767px) {
  .filter-section { padding: 16px; }
  .filter-row { padding: 10px 0; }
  .filter-label { min-width: 60px; font-size: 0.8125rem; }
  .filter-tag { padding: 5px 12px; font-size: 0.75rem; }
}

/* ===== 列表页结果统计 ===== */
.result-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
.result-count {
  font-size: 0.875rem;
  color: #6b7280;
}
.result-count strong {
  color: #c41e3a;
  font-weight: 600;
}
.result-sort {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sort-label {
  font-size: 0.875rem;
  color: #6b7280;
}
.sort-select {
  padding: 6px 12px;
  font-size: 0.8125rem;
  color: #374151;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
}
.sort-select:focus {
  outline: none;
  border-color: #c41e3a;
}
@media (max-width: 479px) {
  .result-info { flex-direction: column; align-items: flex-start; }
}

/* ===== 分页 ===== */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
}
.page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  font-size: 0.875rem;
  color: #6b7280;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}
.page-btn:hover:not(.disabled):not(.active) {
  color: #c41e3a;
  border-color: #c41e3a;
}
.page-btn.active {
  color: #fff;
  background: #c41e3a;
  border-color: #c41e3a;
}
.page-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.page-ellipsis {
  padding: 0 8px;
  color: #9ca3af;
}
@media (max-width: 479px) {
  .page-btn {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    font-size: 0.8125rem;
  }
}

/* ===== 面包屑导航 ===== */
.breadcrumb {
  padding: 16px 0;
  font-size: 0.875rem;
  color: #9ca3af;
}
.breadcrumb a {
  color: #6b7280;
  transition: color 0.2s;
}
.breadcrumb a:hover {
  color: #c41e3a;
}
.breadcrumb span {
  margin: 0 8px;
}

/* ===== 导航栏 ===== */
.navbar {
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
  position: sticky;
  top: 0;
  z-index: 100;
}
.navbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 64px;
}
@media (max-width: 767px) {
  .navbar-inner { height: 56px; }
}
.navbar-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}
.navbar-logo i { font-size: 1.5rem; color: #991b1b; }
.navbar-logo .brand-name { font-size: 1.25rem; font-weight: 700; color: #1f2937; }
.navbar-logo .brand-name.short { display: none; }
@media (max-width: 639px) {
  .navbar-logo .brand-name { display: inline; }
  .navbar-logo .brand-name.short { display: none; }
}
@media (max-width: 479px) {
  .navbar-logo .brand-name { display: none; }
  .navbar-logo .brand-name.short { display: inline; }
}

.nav-links {
  display: none;
  gap: 24px;
}
@media (min-width: 768px) {
  .nav-links { display: flex; }
}
@media (max-width: 1023px) {
  .nav-links { gap: 16px; }
}
.nav-link {
  color: #374151;
  font-weight: 500;
  transition: color 0.2s;
  font-size: 0.9375rem;
  position: relative;
  padding-bottom: 4px;
}
.nav-link:hover { color: #c41e3a !important; }
.nav-link.active {
  color: #c41e3a !important;
}
.nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #c41e3a;
  border-radius: 2px;
}
@media (max-width: 1023px) {
  .nav-link { font-size: 0.875rem; }
}



/* ===== 汉堡菜单按钮 ===== */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  color: #374151;
  padding: 8px;
}
.hamburger:focus { outline: none; }
.hamburger i { font-size: 1.5rem; }
@media (max-width: 767px) {
  .hamburger { display: block; }
}

/* 汉堡菜单动画 */
.hamburger .bar {
  display: block;
  width: 24px;
  height: 2px;
  background: #374151;
  margin: 5px 0;
  transition: all 0.3s ease;
}
.hamburger.active .bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger.active .bar:nth-child(2) {
  opacity: 0;
}
.hamburger.active .bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* 移动端菜单 */
.mobile-menu {
  display: none;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.mobile-menu.open {
  display: block;
  max-height: 500px;
}
.mobile-menu-inner {
  padding: 8px 16px 16px;
}
.mobile-menu-inner a {
  display: block;
  color: #374151;
  padding: 12px 0;
  padding-left: 12px;
  border-bottom: 1px solid #f3f4f6;
  transition: color 0.2s;
  border-left: 3px solid transparent;
}
.mobile-menu-inner a.active {
  color: #c41e3a;
  border-left-color: #c41e3a;
  font-weight: 600;
}
.mobile-menu-inner a:last-child {
  border-bottom: none;
}
.mobile-menu-inner a:hover {
  color: #c41e3a;
}
@media (min-width: 768px) {
  .mobile-menu { display: none !important; }
}

/* ===== Banner Swiper ===== */
.banner-section { position: relative; overflow: hidden; }
.banner-section .swiper { width: 100%; }
.banner-slide {
  width: 100%;
  height: 520px;
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .banner-slide { height: 320px; }
}
@media (max-width: 479px) {
  .banner-slide { height: 280px; }
}
.banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.3));
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner-text { text-align: center; padding: 0 16px; max-width: 800px; }
.banner-text h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .banner-text h1 { font-size: 1.75rem; }
}
@media (max-width: 479px) {
  .banner-text h1 { font-size: 1.5rem; }
}
.banner-text p {
  font-size: 1.25rem;
  color: #e5e7eb;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .banner-text p { font-size: 1rem; }
}
.banner-text .btn-primary {
  display: inline-block;
  background: #c41e3a;
  color: #fff;
  padding: 12px 32px;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 500;
  transition: background 0.3s;
}
.banner-text .btn-primary:hover { background: #991b1b; }
@media (max-width: 479px) {
  .banner-text .btn-primary {
    padding: 10px 24px;
    font-size: 0.875rem;
  }
}

/* Swiper 导航箭头自定义 - 悬停显示 */
.banner-section .swiper-button-next,
.banner-section .swiper-button-prev {
  width: 44px;
  height: 44px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
}
.banner-section:hover .swiper-button-next,
.banner-section:hover .swiper-button-prev {
  opacity: 1;
  visibility: visible;
}
.banner-section .swiper-button-next:hover,
.banner-section .swiper-button-prev:hover {
  background: rgba(0,0,0,0.6);
}
.banner-section .swiper-button-next::after,
.banner-section .swiper-button-prev::after {
  font-size: 16px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .banner-section .swiper-button-next,
  .banner-section .swiper-button-prev {
    width: 36px;
    height: 36px;
  }
  .banner-section .swiper-button-next::after,
  .banner-section .swiper-button-prev::after {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .banner-section .swiper-button-next,
  .banner-section .swiper-button-prev {
    width: 32px;
    height: 32px;
  }
  .banner-section .swiper-button-next { right: 8px; }
  .banner-section .swiper-button-prev { left: 8px; }
}

/* Swiper 分页器 */
.banner-section .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #fff;
  opacity: 0.5;
  transition: all 0.3s;
}
.banner-section .swiper-pagination-bullet-active {
  opacity: 1;
  width: 28px;
  border-radius: 5px;
}
@media (max-width: 479px) {
  .banner-section .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
  .banner-section .swiper-pagination-bullet-active {
    width: 20px;
  }
}

/* ===== 板块标题 ===== */
.section-title {
  border-bottom: 3px solid #c41e3a;
  padding-bottom: 12px;
  color: #c41e3a;
  display: inline-block;
}

/* ===== 岗位标签 ===== */
.tag-red { background: #c41e3a; color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.75rem; }
.tag-blue { background: #1a56db; color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.75rem; }
.tag-green { background: #059669; color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.75rem; }

/* ===== 岗位卡片 ===== */
.job-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
.job-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.job-card-header {
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #c41e3a, #991b1b);
}
.job-card-header .job-title { color: #fff; font-weight: 700; font-size: 1.125rem; }
.job-card-body { padding: 20px; }
.job-meta {
  display: flex;
  align-items: center;
  color: #6b7280;
  font-size: 0.875rem;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.job-meta i { margin-right: 4px; color: #c41e3a; }
.job-meta .calendar-icon { color: #2563eb; margin-left: 8px; }
.job-meta .divider { margin: 0 8px; color: #d1d5db; }
@media (max-width: 479px) {
  .job-meta { font-size: 0.8125rem; }
  .job-meta .divider { display: none; }
  .job-meta .calendar-icon { margin-left: 0; }
}
.job-info { margin-bottom: 16px; }
.job-info-row { display: flex; align-items: flex-start; margin-bottom: 8px; }
.job-info-label { color: #9ca3af; font-size: 0.875rem; width: 64px; flex-shrink: 0; }
.job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.job-tag {
  display: inline-block;
  background: #f3f4f6;
  color: #374151;
  font-size: 0.8125rem;
  padding: 2px 10px;
  border-radius: 4px;
  transition: all 0.2s;
  text-decoration: none;
}
.job-tag:hover {
  background: #c41e3a;
  color: #fff;
}
.job-info-value { color: #374151; font-size: 0.875rem; }
.job-info-value.salary { color: #c41e3a; font-weight: 700; font-size: 1.125rem; }
.job-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
}
.job-views { font-size: 0.75rem; color: #9ca3af; }
.job-views i { margin-right: 4px; }
.job-apply-btn {
  display: inline-block;
  background: #c41e3a;
  color: #fff;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background 0.3s;
}
.job-apply-btn:hover { background: #991b1b; }
@media (max-width: 479px) {
  .job-card-body { padding: 16px; }
  .job-card-header { padding: 10px 16px; }
  .job-card-footer { flex-direction: column; gap: 12px; align-items: flex-start; }
  .job-apply-btn { width: 100%; text-align: center; }
}

/* ===== 新闻卡片图片 ===== */
.news-card-img {
  height: 180px;
  overflow: hidden;
}
.news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.news-card:hover .news-card-img img {
  transform: scale(1.05);
}

/* ===== 岗位筛选按钮 ===== */
.filter-btn {
  padding: 8px 20px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.filter-btn.active { background: #c41e3a; color: #fff; }
.filter-btn:not(.active) { background: #f3f4f6; color: #374151; }
.filter-btn:not(.active):hover { background: #fef2f2; color: #c41e3a; }

/* ===== 新闻卡片 ===== */
.news-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
.news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.news-card-icon {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.news-card-icon i { font-size: 3.75rem; }
.news-card-body { padding: 20px; }
.news-tag {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-block;
}
.news-tag-red { background: #fef2f2; color: #dc2626; }
.news-tag-blue { background: #eff6ff; color: #2563eb; }
.news-tag-green { background: #f0fdf4; color: #16a34a; }
.news-tag-amber { background: #fffbeb; color: #d97706; }
.news-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1f2937;
  margin-top: 12px;
  margin-bottom: 8px;
}
.news-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
.news-card-title a:hover {
  color: #c41e3a;
}
.news-card-desc {
  color: #6b7280;
  font-size: 0.875rem;
  margin-bottom: 12px;
}
.news-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  color: #9ca3af;
}
.news-card-footer i { margin-right: 4px; }
.news-read-more { transition: color 0.2s; }
.news-read-more:hover { text-decoration: underline; }
.news-read-more-red { color: #dc2626; }
.news-read-more-blue { color: #2563eb; }
.news-read-more-green { color: #16a34a; }
.news-read-more-amber { color: #d97706; }
@media (max-width: 767px) {
  .news-card-body { padding: 16px; }
  .news-card-icon { height: 160px; }
}

/* ===== 新闻详情页/资讯列表页辅助样式 ===== */
.news-card-img {
  height: 200px;
  overflow: hidden;
  background: #f3f4f6;
}
.news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.news-card:hover .news-card-img img {
  transform: scale(1.05);
}

/* ===== FAQ 页面 ===== */
.faq-list {
  display: grid;
  gap: 16px;
}
.faq-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 0 20px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.faq-question {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  color: #1f2937;
  padding: 18px 0;
  cursor: pointer;
}
.faq-question::-webkit-details-marker { display: none; }
.faq-question-icon {
  color: #c41e3a;
  transition: transform 0.2s ease;
}
.faq-item[open] .faq-question-icon {
  transform: rotate(45deg);
}
.faq-answer {
  padding: 0 0 18px;
  color: #6b7280;
  line-height: 1.8;
}
.faq-contact-bar {
  margin-top: 32px;
  padding: 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff5f5 0%, #fef2f2 100%);
  border: 1px solid #fecaca;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.faq-contact-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 8px;
}
.faq-contact-desc {
  color: #6b7280;
  font-size: 0.95rem;
}
.faq-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #c41e3a;
  color: #fff;
  padding: 12px 20px;
  border-radius: 9999px;
  font-weight: 600;
  white-space: nowrap;
}
.faq-contact-btn:hover {
  background: #991b1b;
}
@media (max-width: 767px) {
  .faq-item { padding: 0 16px; }
  .faq-question { padding: 16px 0; }
  .faq-answer { padding: 0 0 16px; }
  .faq-contact-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 16px;
  }
  .faq-contact-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ===== 文章详情页 ===== */
.article-page-card,
.single-page-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  padding: 32px;
}
.article-title,
.single-page-title {
  font-size: 1.75rem;
  font-weight: 800;
  color: #111827;
  margin-bottom: 12px;
  line-height: 1.4;
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  color: #6b7280;
  font-size: 0.95rem;
  margin-bottom: 24px;
}
.article-meta i { color: #c41e3a; margin-right: 4px; }
.article-image-wrap {
  margin: 24px 0 28px;
  background: #f3f4f6;
  border-radius: 12px;
  overflow: hidden;
}

.article-content {
  color: #374151;
  font-size: 1rem;
  line-height: 1.9;
}
.article-content p {
  margin-bottom: 16px;
}
.article-content img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.article-nav {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 28px 0 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.article-nav-link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  color: #374151;
  background: #fff;
  transition: all 0.2s ease;
}
.article-nav-link:hover {
  color: #c41e3a;
  border-color: #fecaca;
  background: #fff5f5;
}
.article-nav-link.prev-link { align-items: flex-start; }
.article-nav-link.next-link { align-items: flex-end; text-align: right; }
.nav-label {
  font-size: 0.75rem;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.nav-title {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.5;
}
.related-section {
  border-top: 1px solid #e5e7eb;
  padding-top: 24px;
}
.related-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 16px;
}
.related-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.related-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
  color: #374151;
}
.related-item:last-child { border-bottom: none; }
.related-item span {
  flex: 1;
  font-size: 0.95rem;
}
.related-item em {
  font-style: normal;
  color: #9ca3af;
  font-size: 0.875rem;
  white-space: nowrap;
}
.single-page-content {
  color: #4b5563;
  line-height: 1.9;
  font-size: 1rem;
}
.single-page-content p {
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .article-page-card,
  .single-page-card {
    padding: 20px 16px;
  }
  .article-title,
  .single-page-title {
    font-size: 1.35rem;
  }
  .article-image-wrap {
    margin: 20px 0 24px;
  }
  .article-nav {
    flex-direction: column;
  }
  .article-nav-link.next-link {
    align-items: flex-start;
    text-align: left;
  }
  .related-list {
    grid-template-columns: 1fr;
  }
  .related-item {
    flex-direction: column;
    align-items: flex-start;
  }
  .related-item em {
    margin-top: 4px;
  }
}

/* ===== 在线报名页面 ===== */
.guestbook-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.guestbook-sidebar {
  display: grid;
  gap: 16px;
}
.guestbook-card,
.guestbook-form-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.guestbook-card {
  padding: 24px;
}
.guestbook-notice .guestbook-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 16px;
}
.guestbook-list {
  display: grid;
  gap: 10px;
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 1.7;
}
.guestbook-list li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.guestbook-list i {
  color: #c41e3a;
  margin-top: 4px;
}
.required-mark {
  color: #c41e3a;
  font-weight: 700;
}
.guestbook-contact h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 12px;
}
.guestbook-contact p {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #4b5563;
  margin-bottom: 10px;
}
.guestbook-contact i {
  color: #c41e3a;
}
.guestbook-form-card {
  padding: 32px;
}
.guestbook-form-header h1 {
  font-size: 1.75rem;
  font-weight: 800;
  color: #111827;
  margin-bottom: 8px;
}
.guestbook-form-header p {
  color: #6b7280;
  margin-bottom: 24px;
}
.form-section {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  background: #fcfcfd;
}
.form-section h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 16px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.form-grid label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.95rem;
  color: #374151;
}
.form-grid span {
  font-weight: 600;
}
.form-grid em {
  color: #c41e3a;
  font-style: normal;
}
.form-grid input,
.form-grid select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.95rem;
  color: #111827;
  background: #fff;
}
.form-grid input:focus,
.form-grid select:focus {
  outline: none;
  border-color: #c41e3a;
  box-shadow: 0 0 0 3px rgba(196,30,58,0.12);
}
.verify-grid {
  grid-template-columns: 1fr;
}
.verify-field {
  width: 100%;
}
.verify-input-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}
.verify-input {
  flex: 0 1 180px;
  width: 180px;
  max-width: 100%;
  min-width: 0;
}
.verify-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  /* padding: 4px; */
  /* border-radius: 10px; */
  /* background: linear-gradient(135deg, #fff5f6, #fef2f2); */
  border: 1px solid #f3d7dc;
}
.verify-box img {
  display: block;
  width: 120px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
  background: #fff;
}
.form-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin-top: 24px;
}
.form-actions button {
  min-width: 120px;
  flex: 0 1 160px;
}
@media (max-width: 1023px) {
  .guestbook-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .guestbook-card,
  .guestbook-form-card {
    padding: 20px 16px;
  }
  .guestbook-form-header h1 {
    font-size: 1.4rem;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .verify-input-wrap {
    align-items: center;
    gap: 10px;
  }
  .verify-input {
    width: 150px;
    max-width: 100%;
  }
  .verify-box {
    width: fit-content;
  }
  .form-actions {
    flex-wrap: nowrap;
    gap: 8px;
  }
  .form-actions button {
    min-width: 0;
    flex: 1 1 0;
  }
}

/* ===== 信赖板块 ===== */
.trust-card {
  text-align: center;
  padding: 32px;
  background: #f9fafb;
  border-radius: 12px;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
  transition: all 0.3s;
}
.trust-card:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); }
.trust-card i { font-size: 3rem; margin-bottom: 16px; }
.trust-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 12px;
}
.trust-card p { color: #4b5563; }
@media (max-width: 767px) {
  .trust-card { padding: 24px 16px; }
  .trust-card i { font-size: 2.5rem; }
}

/* ===== 按钮 ===== */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 12px 28px;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: none;
  background: linear-gradient(135deg, #c41e3a 0%, #e53935 100%);
  box-shadow: 0 10px 20px rgba(196, 30, 58, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  cursor: pointer;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(196, 30, 58, 0.24);
  background: linear-gradient(135deg, #a61a2f 0%, #c41e3a 100%);
}
.btn-outline-red {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #f3c4cd;
  color: #c41e3a;
  padding: 12px 28px;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
  cursor: pointer;
}
.btn-outline-red:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 20px rgba(196, 30, 58, 0.12);
  background: linear-gradient(135deg, #c41e3a 0%, #e53935 100%);
  color: #fff;
  border-color: transparent;
}
.btn-outline-gray {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #d1d5db;
  color: #6b7280;
  padding: 12px 28px;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.btn-outline-gray:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06);
  border-color: #c41e3a;
  color: #c41e3a;
}
@media (max-width: 479px) {
  .btn-primary,
  .btn-outline-red,
  .btn-outline-gray {
    padding: 10px 20px;
    font-size: 0.875rem;
  }
  .verify-input-wrap {
    gap: 8px;
  }
  .verify-input {
    width: 126px;
  }
  .verify-box img {
    width: 108px;
    height: 40px;
  }
}

/* ===== 底部 ===== */
.footer {
  background: #111827;
  color: #fff;
  padding: 48px 0 24px;
}
@media (max-width: 767px) {
  .footer { padding: 32px 0 16px; }
}
.footer-link { color: #9ca3af; transition: color 0.2s; }
.footer-link:hover { color: #c41e3a; }

/* 二维码区域 - 两个并列靠左 */
.qrcode-group {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
}
.qrcode-item {
  text-align: center;
}
.qrcode-box {
  width: 110px;
  height: 110px;
  background: #fff;
  padding: 4px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
@media (max-width: 767px) {
  .qrcode-box {
    width: 100px;
    height: 100px;
  }
}
.qrcode-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.qrcode-label {
  font-size: 0.75rem;
  color: #d1d5db;
  margin-top: 6px;
}

/* ===== 响应式辅助 ===== */
@media (max-width: 767px) {
  .container { padding: 0 12px; }
}

/* ===== hover:underline ===== */
.hover\:underline:hover { text-decoration: underline; }

/* ===== 特殊背景渐变 ===== */
.bg-gradient-red { background: linear-gradient(to bottom right, #fee2e2, #fecaca); }
.bg-gradient-blue { background: linear-gradient(to bottom right, #dbeafe, #bfdbfe); }
.bg-gradient-green { background: linear-gradient(to bottom right, #dcfce7, #bbf7d0); }
.bg-gradient-amber { background: linear-gradient(to bottom right, #fef3c7, #fde68a); }

/* ===== 文字图标行内间隙 ===== */
.space-x-3 > * + * { margin-left: 12px; }
.space-y-2 > * + * { margin-top: 8px; }
.space-y-2 { display: flex; flex-direction: column; }

/* ===== 右侧悬浮报名按钮样式（竖向文字版） ===== */
.float-apply-btn {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    background: linear-gradient(135deg, #c41e3a 0%, #991b1b 100%);
    color: #ffffff;
    padding: 20px 15px;
    border-radius: 8px 0 0 8px;
    cursor: pointer;
    box-shadow: -4px 4px 12px rgba(196,30,58,.3);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none;
    min-height: 160px;
}

.float-apply-btn:hover {
    background: linear-gradient(135deg, #991b1b 0%, #7f1d1d 100%);
    box-shadow: -6px 6px 16px rgba(196,30,58,.4);
    padding-right: 18px;
}

.float-apply-btn i {
    font-size: 24px;
}

.float-apply-btn span {
    font-size: 16px;
    font-weight: 600;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 8px;
}

/*分页样式*/
.pglist{padding:20px 0;width:100%;text-align:center;clear:both;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:40px}
.pglist a{color:#666;padding:8px 15px;margin:0;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;background:#fff;border:1px solid #dfdfdf;border-radius:8px;text-decoration:none;transition:all .3s ease;font-size:14px;box-sizing:border-box;box-shadow:0 2px 5px rgba(0,0,0,.1)}
.pglist .active,.pglist .hover,.pglist a:hover{color:#fff!important;background:#0369a1;border-color:#0369a1;transform:translateY(-2px)}
.pglist a:first-child,.pglist a:last-child,.pglist a:nth-child(2),.pglist a:nth-last-child(2){padding:8px 12px;font-size:14px;color:#333;}
.pglist a:first-child:hover,.pglist a:last-child:hover,.pglist a:nth-child(2):hover,.pglist a:nth-last-child(2):hover{background:#0369a1;color:#fff;border-color:#0369a1}
.pglist a:not(:first-child):not(:last-child):not(:nth-child(2)):not(:nth-last-child(2)){font-weight:500}


@media (max-width: 480px) {
.pglist{gap:4px;flex-wrap:wrap}
.pglist a{padding:6px 10px;min-width:32px;height:32px;font-size:12px}
.pglist .active,.pglist .hover,.pglist a:hover{transform:translateY(-1px)}
.pglist a:not(.active):not(:first-child):not(:last-child):not(:nth-child(2)):not(:nth-last-child(2)){display:none}
.pglist a.active,.pglist a.active~a:first-child,.pglist a.active~a:not(:last-child):not(:nth-last-child(2)){display:flex}

}

/* 底部悬停导航栏 - 仅移动端显示 */
.bottom-nav {
    display: none;
}

@media (max-width: 768px) {
    .bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
        justify-content: space-around;
        align-items: center;
        padding: 6px 0 calc(6px + env(safe-area-inset-bottom));
        z-index: 999;
        border-top: 1px solid #e5e7eb;
    }

    .bottom-nav .nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        color: #6b7280;
        font-size: 12px;
        transition: all 0.25s ease;
        padding: 6px 14px;
        border-radius: 10px;
        min-width: 72px;
    }

    .bottom-nav .nav-item i {
        font-size: 18px;
        margin-bottom: 4px;
        color: #9ca3af;
    }

    .bottom-nav .nav-item:active,
    .bottom-nav .nav-item.active {
        color: #c41e3a;
        background: #fef2f2;
    }

    .bottom-nav .nav-item:active i,
    .bottom-nav .nav-item.active i {
        transform: scale(1.08);
        color: #c41e3a;
    }

    /* 底部导航固定时，给 footer 加底部间距避免被遮住 */
    .footer {
        padding-bottom: 70px;
    }
}