/* 通用样式 - 可在多个页面使用 */

/* 基础样式 */
body {
    /*font-family: 'Noto Sans TC', sans-serif;*/
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

/* Hero 标题样式 */
.hero-title {
    font-family: 'Noto Serif TC', serif;
    background: linear-gradient(135deg, #2D5A27, #7FB069);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 功能卡片样式 */
.feature-card {
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.feature-card:hover {
    transform: translateY(-8px) rotateX(5deg);
    box-shadow: 0 20px 40px rgba(45, 90, 39, 0.2);
}

/* 宠物卡片样式 */
.pet-card {
    transition: all 0.3s ease;
    display: block;
}

.pet-card:hover {
    transform: scale(1.05);
}

/* 渐变文字样式 */
.gradient-text {
    background: linear-gradient(135deg, #2D5A27, #7FB069);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 装饰元素样式 */
.decorative-element {
    position: absolute;
    opacity: 0.15;
    pointer-events: none;
    z-index: 0;
}

.paw-print {
    width: 70px;
    height: 70px;
    animation: float 8s ease-in-out infinite;
}

.cat-icon {
    width: 90px;
    height: 90px;
    animation: float 10s ease-in-out infinite;
}

.dog-icon {
    width: 85px;
    height: 85px;
    animation: float 9s ease-in-out infinite;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-15px) rotate(3deg);
    }
}

/* 移动端装饰元素样式 */
@media (max-width: 768px) {
    .decorative-element {
        opacity: 0.08;
    }
    
    .cat-icon, .dog-icon {
        width: 60px;
        height: 60px;
    }
    
    .paw-print {
        width: 50px;
        height: 50px;
    }
}

/* 确保内容在装饰元素之上 */

/* 自定义颜色定义 */
.bg-warm-orange {
    background-color: #FF6B35 !important;
}

.text-warm-orange {
    color: #FF6B35 !important;
}

.text-forest-green {
    color: #2D5A27 !important;
}

.text-light-green {
    color: #7FB069 !important;
}

.bg-forest-green {
    background-color: #2D5A27 !important;
}

.bg-light-green {
    background-color: #7FB069 !important;
}

/* 渐变颜色类 */
.to-light-green {
    --tw-gradient-to: #7FB069 var(--tw-gradient-to-position);
}

/* 确保按钮默认可见 */
button.bg-warm-orange {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    background-color: #FF6B35 !important;
    color: white !important;
}

button.bg-warm-orange:hover {
    background-color: #E55A2B !important;
    opacity: 1 !important;
}

section {
    position: relative;
    z-index: 1;
}

/* 通用容器 */
.site-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Tailwind 扩展：max-w-8xl (1440px) */
.max-w-8xl {
    max-width: 95rem;
}

.section-padding {
    padding: 4rem 0;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}

.stack-on-mobile {
    display: flex;
    gap: 1.5rem;
}

/* 渐变背景 */
.hero-gradient {
    background: linear-gradient(135deg, #2D5A27 0%, #7FB069 100%);
}

/* 通用响应式 */
@media (max-width: 1024px) {
    .site-container {
        padding: 0 1.25rem;
    }

    .section-padding {
        padding: 3.5rem 0;
    }
}

@media (max-width: 768px) {
    body {
        background: linear-gradient(135deg, #fdfdfd 0%, #f3f4f6 100%);
    }

    .site-container {
        padding: 0 1rem;
    }

    .section-padding {
        padding: 3rem 0;
    }

    .stack-on-mobile {
        flex-direction: column;
        gap: 1rem;
    }
}

@media (max-width: 640px) {
    .site-container {
        padding: 0 0.75rem;
    }

    .section-padding {
        padding: 2.5rem 0;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }
}

