/* 基础样式 */
.grid { display: grid; }
.gap-4 { gap: 1rem; }
.text-sm { font-size: 0.875rem; }
.font-medium { font-weight: 500; }
.text-gray-700 { color: #374151; }
.text-gray-500 { color: #6b7280; }
.bg-gray-50 { background-color: #f9fafb; }
.border { border: 1px solid #e5e7eb; }
.rounded { border-radius: 0.375rem; }
.p-4 { padding: 1rem; }
.mb-4 { margin-bottom: 1rem; }
.transition-all { transition: all 0.3s; }

/* 响应式布局 */
.sm\:grid-cols-1 { grid-template-columns: 1fr; }
.md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* 触控友好链接 */
.footer-link {
  padding: 0.75rem 0;
  min-height: 44px;
  display: block;
  transition: all 0.2s;
}
.footer-link:active { transform: scale(0.98); }

/* 折叠面板 */
.footer-panel {
  margin-bottom: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.375rem;
}
.panel-header {
  padding: 1rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f9fafb;
}
.panel-content {
  padding: 1rem;
  display: none;
}
.panel-icon {
  transition: transform 0.3s;
}
.open .panel-icon {
  transform: rotate(180deg);
}
.open .panel-content {
  display: block;
}

/* 媒体查询 */
@media (max-width: 767px) {
  .footer-section { padding: 1rem 0; }
  .footer-title { font-size: 1.1rem; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .footer-links { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .footer-links { grid-template-columns: repeat(2, 1fr); }
}

