

/* --- 全局样式 (原 base.css) --- */
body {
    padding-top: 56px; 
    scroll-behavior: smooth;
    background-color: #f8f9fa;
}

/* --- 通用页面内容区 --- */
.page-content {
    background-color: #ffffff;
    padding: 4rem 0;
}

/* --- About页面成员列表 --- */
.member-list .list-inline-item { margin: 0.3rem; }
.member-list .badge { padding: 0.6em 1em; font-size: 0.9rem; }

/* --- 通用活动卡片样式 --- */
.event-card {
    border-radius: 0.5rem; overflow: hidden; border: 1px solid #dee2e6;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 320px; display: flex; flex-direction: column;
    justify-content: flex-end; position: relative;
}
.event-card:hover { transform: translateY(-8px); box-shadow: 0 1rem 2rem rgba(0,0,0,.1); }
.event-card.card-event-blank {
    color: #212529; background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32' 32' width='32' height='32' fill='none' stroke='%23f1f3f5'%3e%3cpath d='M0 .5L32 .5M.5 0v32'/%3e%3c/svg%3e");
}
.event-card.card-event-blank .event-card-content { background: none; color: #212529; padding: 1.5rem; }
.event-card.card-event-blank .btn-outline-light { border-color: #6c757d; color: #6c757d; }
.event-card.card-event-blank .btn-outline-light:hover { background-color: #6c757d; color: #fff; }
.event-card.card-event-bg { background-size: cover; background-position: center; border: none; }
.event-card-content { padding: 1rem 1.5rem; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0) 100%); color: #fff; }
.event-card-status {
    position: absolute; top: 15px; right: -30px;
    padding: 5px 0; width: 120px; text-align: center;
    font-size: 0.8rem; font-weight: bold; color: white; transform: rotate(45deg);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.event-card-status.status-confirmed { background-color: #28a745; }
.event-card-status.status-pending { background-color: #ffc107; color: #212529; }
.event-card-status.status-cancelled { background-color: #dc3545; }
.free-entry-badge { padding: 0.4em 0.8em; font-size: 0.85rem; }
.modal-event-details { background-color: #f8f9fa; border-radius: 0.25rem; padding: 1rem; margin-bottom: 1.5rem; }

/* --- 通用区块样式 --- */
#events-list-section, #main-content, .community-section, .friend-links {
    padding: 4rem 0;
}
#events-list-section, .friend-links { background-color: #ffffff; }
#main-content, .community-section { background-color: #f8f9fa; }
#events-list-section { border-bottom: 1px solid #dee2e6; }

#main-content .card { background-color: #ffffff; border: 2px solid #dee2e6; }
.alert { max-width: 800px; margin: 0 auto 2rem auto; }

/* --- 社群区块样式 --- */
.community-card {
    background-color: #fff; border-radius: 0.5rem; border: 1px solid #dee2e6;
    padding: 2rem; text-align: center; height: 100%;
    text-decoration: none; color: #212529; display: block;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
a.community-card:hover { transform: translateY(-8px); box-shadow: 0 1rem 2rem rgba(0,0,0,.1); color: #0d6efd; }
.community-card h4 { font-weight: bold; }
.community-card p { color: #6c757d; margin-bottom: 1.5rem; }
.community-card img { max-width: 180px; height: auto; border-radius: 0.25rem; border: 1px solid #dee2e6; margin-bottom: 1rem; }
.qr-placeholder { width: 180px; height: 180px; background-color: #e9ecef; border-radius: 0.25rem; display: flex; justify-content: center; align-items: center; color: #6c757d; font-style: italic; margin: 0 auto 1rem auto; }

/* --- 友情链接区块样式 --- */
.friend-link-card {
    display: flex; align-items: center; padding: 1.5rem;
    border-radius: 0.5rem; background-color: #f8f9fa; border: 1px solid #dee2e6;
    text-decoration: none; color: #212529;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.friend-link-card:hover { transform: translateY(-8px); box-shadow: 0 1rem 2rem rgba(0,0,0,.1); color: #0d6efd; }
.friend-link-card img { width: 60px; height: 60px; border-radius: 50%; margin-right: 1.5rem; object-fit: cover; border: 2px solid #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.friend-link-info h5 { margin-bottom: 0.25rem; font-weight: bold; }
.friend-link-info p { margin-bottom: 0; font-size: 0.8rem; color: #6c757d; word-break: break-all; }

/* --- 页脚样式 --- */
footer { background-color: #343a40; color: #adb5bd; }

/* --- 内联SVG图标样式 --- */
.icon-inline { margin-right: 0.4rem; vertical-align: -0.15em; font-size: 1em; }
.btn .icon-inline, .badge .icon-inline { margin-right: 0.5rem; }
.event-details .icon-inline { vertical-align: -0.1em; opacity: 0.7; }
