/* ============== 嗨写.超级考研仿制 - 公共样式 ============== */

body {
  font-family: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

/* 滚动条隐藏 */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* 渐变背景 */
.gradient-hero { background: linear-gradient(135deg, #FFF7F0 0%, #FFE8D4 100%); }
.gradient-mentor { background: linear-gradient(180deg, #FFF1E5 0%, #FFFFFF 100%); }
.gradient-page-banner { background: linear-gradient(135deg, #FFF7F0 0%, #FFE0C4 50%, #FFD0A8 100%); }

/* 文本平衡 */
.text-balance { text-wrap: balance; }

/* 裁切角 */
.clip-corner { clip-path: polygon(0 0, 100% 0, 100% 100%, 8px 100%, 0 calc(100% - 8px)); }

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

/* 导航下拉菜单 */
.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 100;
}
.nav-item:hover .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown.mega-dropdown {
  width: 680px;
  max-width: calc(100vw - 48px);
}

/* 搜索框聚焦 */
.search-box:focus-within { box-shadow: 0 0 0 2px #FFB37A; }

/* 页面 banner 动画 */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.animate-float { animation: float 3s ease-in-out infinite; }

/* 淡入动画 */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fadeIn 0.4s ease-out; }

/* 页面内容最小高度 */
.page-content { min-height: 60vh; }

/* 面包屑 */
.breadcrumb a:hover { color: #FF6B1A; }

/* 课程标签 */
.tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.tag-orange { background: #FFF7F0; color: #FF6B1A; }
.tag-blue { background: #EFF6FF; color: #3B82F6; }
.tag-green { background: #ECFDF5; color: #10B981; }
.tag-purple { background: #F5F3FF; color: #8B5CF6; }
.tag-red { background: #FEF2F2; color: #EF4444; }
