/* ==========================================================================
   app.css —— 前台站点公用样式
   由 templates/zh-cn/layout.twig 与 templates/en/layout.twig 中原本内联的
   <style> 抽离而来（两处内容完全一致）。Tailwind 编译产物见 tailwind.min.css。
   引用方式：{{ asset('/assets/css/app.css') }}（自动附带 mtime 版本号）
   ========================================================================== */

/* 自定义滚动条 */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #FF6B35; border-radius: 3px; }

/* 渐变背景 */
.hero-gradient { background: linear-gradient(135deg, rgba(255,107,53,0.85) 0%, rgba(229,90,36,0.90) 100%); }
.orange-gradient { background: linear-gradient(135deg, #FF6B35 0%, #F5C842 100%); }

/* 卡片悬浮效果 */
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(255,107,53,0.15); }

/* 数字跳动动效 */
@keyframes countUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.count-animate { animation: countUp 0.5s ease-out; }

/* 导航激活状态 */
.nav-active { color: #FF6B35; border-bottom: 2px solid #FF6B35; }

/* 轮播 */
.carousel-container { overflow: hidden; }
.carousel-slide { transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

/* 图片覆盖效果 */
.img-overlay { position: relative; overflow: hidden; }
.img-overlay::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%); }
.img-overlay img { transition: transform 0.5s ease; }
.img-overlay:hover img { transform: scale(1.05); }

/* 移动端底部Tab */
.bottom-tab-bar { box-shadow: 0 -2px 20px rgba(0,0,0,0.1); }

/* 文字截断 */
.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; }
