/* 自定义动画 */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.8s ease-out forwards;
}

/* 导航栏滚动效果 */
.nav-scrolled {
    @apply bg-white shadow-md;
}

/* 按钮悬停效果 */
.btn-hover {
    @apply transition-all duration-300 transform hover:-translate-y-1 hover:shadow-lg;
}

/* 卡片悬停效果 */
.card-hover {
    @apply transition-all duration-300 hover:shadow-xl hover:-translate-y-1;
}

/* 自定义颜色 */
:root {
    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --secondary: #10b981;
    --secondary-dark: #059669;
    --accent: #8b5cf6;
    --accent-dark: #7c3aed;
    --light: #f3f4f6;
    --dark: #1f2937;
}

/* 自定义滚动条 */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--light);
}

::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* 平滑滚动 */
html {
    scroll-behavior: smooth;
}

/* 导航栏链接样式 */
.nav-link {
    @apply relative px-3 py-2 text-gray-700 hover:text-blue-600 transition-colors;
}

.nav-link::after {
    content: '';
    @apply absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 transition-all duration-300;
}

.nav-link:hover::after {
    @apply w-full;
}

/* 自定义按钮 */
.btn-primary {
    @apply bg-blue-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-blue-700 transition-colors duration-300 shadow-md hover:shadow-lg transform hover:-translate-y-1;
}

.btn-secondary {
    @apply bg-transparent border-2 border-blue-600 text-blue-600 px-6 py-3 rounded-lg font-medium hover:bg-blue-50 transition-colors duration-300;
}

/* 卡片样式 */
.card {
    @apply bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300 hover:shadow-xl;
}

/* 标题样式 */
.title {
    @apply text-3xl md:text-4xl font-bold text-gray-900 mb-4;
}

.subtitle {
    @apply text-xl font-bold text-gray-800 mb-3;
}

/* 分隔线 */
.divider {
    @apply h-1 w-20 bg-blue-600 mx-auto my-6;
}

/* 响应式调整 */
@media (max-width: 768px) {
    .title {
        @apply text-2xl md:text-3xl;
    }
    .subtitle {
        @apply text-xl;
    }
}

/* 表单样式 */
.form-input {
    @apply w-full px-4 py-3 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-600 focus:border-transparent transition-colors duration-300;
}

/* 合作伙伴标志容器 */
.partner-logo {
    @apply bg-gray-50 rounded-lg p-6 flex items-center justify-center h-32 hover:shadow-md transition-shadow duration-300;
}

/* 案例卡片样式 */
.case-card {
    @apply bg-white rounded-xl overflow-hidden shadow-lg hover:shadow-xl transition-shadow duration-300;
}

/* 联系信息项 */
.contact-item {
    @apply flex items-start mb-6;
}

.contact-icon {
    @apply w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mr-4 shrink-0;
}

/* 页脚链接 */
.footer-link {
    @apply text-gray-400 hover:text-white transition-colors duration-300;
}

/* 社交媒体图标 */
.social-icon {
    @apply text-gray-400 hover:text-white transition-colors duration-300;
}

/* 背景渐变 */
.bg-gradient-primary {
    @apply bg-gradient-to-br from-blue-600 to-blue-800;
}

/* 服务卡片 */
.service-card {
    @apply bg-white rounded-xl shadow-lg p-8 hover:shadow-xl transition-shadow duration-300 transform hover:-translate-y-1;
}

.service-icon {
    @apply w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mb-6;
}

/* 时间线样式 */
.timeline-item {
    @apply flex items-start mb-8;
}

.timeline-dot {
    @apply w-8 h-8 bg-blue-600 rounded-full flex items-center justify-center text-white font-bold mr-4 mt-1 shrink-0;
}

/* 产教融合模式卡片 */
.model-card {
    @apply bg-blue-100 rounded-xl p-8 shadow-lg relative z-10;
}

.model-card::after {
    content: '';
    @apply absolute -right-4 -bottom-4 w-full h-full bg-blue-200 rounded-xl z-0;
}

/* 数字统计 */
.stat-number {
    @apply text-4xl font-bold text-blue-600 mb-2;
}

.stat-text {
    @apply text-gray-600;
}

/* 加载动画 */
.loader {
    @apply w-12 h-12 border-4 border-blue-100 border-t-blue-600 rounded-full animate-spin;
}

/* 标签样式 */
.tag {
    @apply inline-block px-3 py-1 bg-blue-100 text-blue-800 text-sm font-medium rounded-full mr-2 mb-2;
}

/* 引用样式 */
.quote {
    @apply border-l-4 border-blue-600 pl-4 italic text-gray-600;
}

/* 表格样式 */
.table {
    @apply min-w-full divide-y divide-gray-200;
}

.table-header {
    @apply bg-gray-50;
}

.table-cell {
    @apply px-6 py-4 whitespace-nowrap text-sm text-gray-600;
}

.table-header-cell {
    @apply px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
}

/* 自定义工具提示 */
.tooltip {
    @apply relative inline-block;
}

.tooltip .tooltip-text {
    @apply invisible absolute w-48 bg-gray-900 text-white text-xs rounded py-1 px-2 bottom-full left-1/2 transform -translate-x-1/2 mb-2 opacity-0 transition-opacity duration-300;
}

.tooltip:hover .tooltip-text {
    @apply visible opacity-100;
}

/* 导航栏移动端菜单 */
.mobile-menu {
    @apply md:hidden hidden bg-white shadow-lg absolute w-full;
}

/* 确保动画在滚动时应用 */
.scroll-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-animate.visible {
    opacity: 1;
    transform: translateY(0);
}