/* 全局样式 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 毛玻璃效果 */
.glass-effect {
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* 导航按钮默认样式：白色 */
.nav-btn {
    color: #ffffff !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    border-radius: 10px !important;
}

/* 悬浮：红色背景，无边框，圆角10 */
.nav-btn:hover {
    background-color: #D92121 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
}

/* 点击高亮样式：删除军绿椭圆（全部统一悬浮红底） */
/* 标题渐变文字 */
.text-red-green {
    color: #D92121;
}

/* 轮播遮罩 */
.carousel-mask {
    background: linear-gradient(to bottom, rgba(42,70,58,0) 0%, rgba(42,70,58,0.8) 100%);
}

/* 卡片悬浮效果 */
.card-hover {
    /* 只过渡 transform 和阴影，边框不参与过渡 => 悬停直接切到 2px 粗红框，不经过 1px 细红框中间态 */
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* 白底悬浮（列表页/详情页）：红框+阴影，不移动；边框瞬间切换避免叠影 */
.card-hover:hover {
    border-color: #D92121 !important;
    border-width: 2px !important;
    box-shadow: 0 12px 24px -8px rgba(217, 33, 33, 0.12) !important;
}

/* 套系轮播内的卡片：悬停红框+阴影，不移动 */
.pkg-carousel-active > .card-hover:hover {
    transform: none;
}

/* 图片保持容器中心裁剪 */
.object-cover {
    object-position: center;
}

/* 滚动平滑 */
html {
    scroll-behavior: smooth;
}
/* 文章正文 - 支持 wangEditor 输出的样式 */
.article-body { line-height: 1.8; font-size: 15px; }
.article-body p { margin-bottom: 1em; }
.article-body img { max-width: 100%; height: auto; display: inline-block; border-radius: 8px; margin: 0 auto; }
.article-body p img { display: inline-block; }
.article-body ul, .article-body ol { padding-left: 2em; margin-bottom: 1em; }
.article-body blockquote { border-left: 4px solid #D92121; padding-left: 1em; margin: 1em 0; color: #666; }
.article-body table { width: 100%; border-collapse: collapse; margin-bottom: 1em; }
.article-body th, .article-body td { border: 1px solid #ddd; padding: 8px; }
.article-body th { background: #f5f5f5; font-weight: 600; }

/* ===== 活动详情页专属样式(自activity-detail.php抽取, 2026-08-09) ===== */
        /* 文章详情页白色内容框 */
        .detail-card {
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(0,0,0,0.05);
            overflow: hidden;
        }

        .detail-card .cover-hero {
            position: relative;
            overflow: hidden;
            height: 240px;
        }
        .detail-card .cover-hero img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .detail-card .cover-hero .overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%);
        }
        .detail-card .cover-hero .hero-content {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 24px 32px;
            color: #fff;
        }
        .detail-card .cover-hero .hero-content h1 {
            font-size: 28px;
            font-weight: 700;
            margin-bottom: 6px;
            text-shadow: 0 2px 8px rgba(0,0,0,0.3);
            text-align: left;
        }
        .detail-card .cover-hero .hero-content .hero-meta {
            font-size: 14px;
            opacity: 0.9;
            text-shadow: 0 1px 4px rgba(0,0,0,0.3);
        }

        .detail-body {
            padding: 32px;
        }
        .detail-body .info-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
            gap: 16px;
            margin-bottom: 28px;
            padding: 20px;
            background: #faf8f5;
            border-radius: 12px;
        }
        .detail-body .info-grid .info-item {
            text-align: center;
        }
        .detail-body .info-grid .info-item i {
            font-size: 20px;
            color: #D92121;
            margin-bottom: 6px;
        }
        .detail-body .info-grid .info-item .info-label {
            font-size: 12px;
            color: #aaa;
        }
        .detail-body .info-grid .info-item .info-value {
            font-size: 15px;
            font-weight: 600;
            color: #333;
            margin-top: 2px;
        }

        .detail-body .content-body {
            line-height: 1.8;
            color: #555;
        }
        .detail-body .content-body img {
            max-width: 100%;
            border-radius: 8px;
            margin: 16px 0;
        }



        /* 手机版 */
        .mobile-detail .mobile-cover {
            position: relative;
            height: 220px;
            overflow: hidden;
        }
        .mobile-detail .mobile-cover img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .mobile-detail .mobile-cover .overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 50%);
        }
        .mobile-detail .mobile-cover .hero-text {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 16px 16px 14px;
            color: #fff;
        }
        .mobile-detail .mobile-cover .hero-text h1 {
            font-size: 20px;
            font-weight: 700;
            text-shadow: 0 2px 6px rgba(0,0,0,0.4);
        }
        .mobile-detail .mobile-cover .hero-text .hero-meta {
            font-size: 12px;
            opacity: 0.85;
            margin-top: 2px;
            text-shadow: 0 1px 3px rgba(0,0,0,0.3);
        }

        .mobile-detail .mobile-body {
            padding: 16px;
        }
        .mobile-detail .mobile-body .info-strip {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            padding: 14px 12px;
            background: #faf8f5;
            border-radius: 12px;
            margin-bottom: 20px;
        }
        .mobile-detail .mobile-body .info-strip .strip-item {
            flex: 1;
            min-width: 80px;
            text-align: center;
        }
        .mobile-detail .mobile-body .info-strip .strip-item i {
            font-size: 16px;
            color: #D92121;
        }
        .mobile-detail .mobile-body .info-strip .strip-item .strip-label {
            font-size: 11px;
            color: #aaa;
        }
        .mobile-detail .mobile-body .info-strip .strip-item .strip-value {
            font-size: 14px;
            font-weight: 600;
            color: #333;
        }

        .mobile-detail .mobile-body .content-body {
            line-height: 1.7;
            color: #555;
            font-size: 14px;
        }
        .mobile-detail .mobile-body .content-body img {
            max-width: 100%;
            border-radius: 8px;
            margin: 12px 0;
        }

        .mobile-detail .mobile-nav {
            display: flex;
            justify-content: space-between;
            gap: 8px;
            margin-top: 24px;
            padding-top: 16px;
            border-top: 1px solid #eee;
        }
        .mobile-detail .mobile-nav a {
            flex: 1;
            text-align: center;
            padding: 10px 0;
            border-radius: 8px;
            background: #D92121;
            color: #fff;
            font-size: 13px;
            text-decoration: none;
            transition: background 0.2s;
        }
        .mobile-detail .mobile-nav a:active { background: #b91c1c; }
        .mobile-detail .mobile-nav a.disabled {
            background: #eee;
            color: #ccc;
            pointer-events: none;
        }

        @media (max-width: 767px) {
            .detail-card .cover-hero { height: 220px; }
            .detail-card .cover-hero .hero-content { padding: 16px; }
            .detail-card .cover-hero .hero-content h1 { font-size: 20px; }
            .detail-body { padding: 16px; }
        }
