/* ============================================
   主页样式 - 统一设计系统
   ============================================ */

@import url('variables.css');

/* ========== 首页专用背景色 ========== */
body {
    background-color: #E8F5E9 !important;
}

/* ========== 自定义鼠标跟随圆点 ========== */
.custom-cursor {
    position: fixed;
    width: 20px;
    height: 20px;
    background-color: rgba(255, 167, 38, 0.7);
    border-radius: var(--radius-full);
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: var(--z-cursor);
    transition: width var(--transition-fast), height var(--transition-fast), background-color var(--transition-fast);
}

body {
    cursor: none;
}

/* ========== 顶部工具栏 ========== */
.main-header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
    color: white;
    flex-wrap: wrap;
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-light) 100%);
    box-shadow: var(--shadow-md);
}

.top-bar-left,
.top-bar-right {
    background: transparent;
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    align-items: center;
    color: white;
}

.top-bar-left {
    flex-grow: 1;
    min-width: 250px;
}

.top-bar-right {
    flex-grow: 2;
    min-width: 400px;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.search-bar {
    display: flex;
    border-radius: 20px;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.9);
}

.search-bar input {
    border: none;
    padding: var(--spacing-sm) var(--spacing-md);
    outline: none;
    font-size: var(--font-size-sm);
    background: transparent;
    color: var(--text-primary);
}

.search-bar input::placeholder {
    color: var(--text-muted);
}

.search-bar button {
    background-color: rgba(0, 0, 0, 0.1);
    border: none;
    padding: var(--spacing-sm) var(--spacing-md);
    cursor: pointer;
    color: white;
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-base);
}

.search-bar button:hover {
    background-color: rgba(0, 0, 0, 0.2);
}

.main-header button {
    background-color: rgba(0, 0, 0, 0.1);
    color: white;
    border: none;
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: 20px;
    cursor: pointer;
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-base);
}

.main-header button:hover {
    background-color: rgba(0, 0, 0, 0.2);
}

.language-switcher button,
.font-size-switcher button {
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-md);
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-xs);
    color: white;
    border: none;
    cursor: pointer;
    transition: all var(--transition-base);
}

.language-switcher button.active,
.font-size-switcher button.active {
    background-color: white;
    font-weight: var(--font-weight-bold);
    color: var(--primary-green);
}

/* ========== 页面头部 ========== */
.page-header {
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-light) 50%, var(--primary-orange-lighter) 100%);
    color: white;
    padding: var(--spacing-lg) 0;
    text-align: center;
    margin-bottom: var(--spacing-lg);
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.05;
    background: radial-gradient(circle, transparent 20%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, transparent 80%, transparent);
    background-size: 50px 50px;
}

.header-content {
    position: relative;
    z-index: 1;
}

.header-content h1 {
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing-sm);
    color: white;
}

.header-content p {
    font-size: var(--font-size-base);
    opacity: 0.9;
}

/* ========== 轮播图区域 ========== */
.slider-wrapper {
    width: 100%;
    padding: var(--spacing-2xl) var(--spacing-lg);
    background: transparent;
}

.hero-slider {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: var(--radius-2xl);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.hero-slider .slider-container {
    display: flex;
    transition: transform var(--transition-slow);
}

.hero-slider .slider-container img {
    min-width: 100%;
    height: 450px;
    object-fit: cover;
    filter: brightness(0.95);
}

.slider-prev,
.slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: var(--spacing-md) var(--spacing-lg);
    cursor: pointer;
    font-size: var(--font-size-2xl);
    z-index: 10;
    border-radius: var(--radius-md);
    transition: background-color var(--transition-base);
}

.slider-prev:hover,
.slider-next:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

.slider-prev {
    left: var(--spacing-xl);
}

.slider-next {
    right: var(--spacing-xl);
}

.slider-dots {
    position: absolute;
    bottom: var(--spacing-xl);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--spacing-sm);
}

.slider-dot {
    width: 12px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: background-color var(--transition-base);
}

.slider-dot.active {
    background-color: var(--accent-orange);
}

/* ========== 服务内容区域 ========== */
.services-wrapper {
    width: 100%;
    padding: var(--spacing-3xl) 0;
    background: transparent;
}

.services-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    position: relative;
}

/* 移动端标题（默认隐藏） */
.services-mobile-title {
    display: none;
    text-align: center;
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--primary-orange);
    margin-bottom: var(--spacing-2xl);
    padding-bottom: var(--spacing-md);
    border-bottom: 3px solid var(--primary-orange-light);
}

.service-boxes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: var(--spacing-sm);
    width: 100%;
    position: relative;
}

/* 中心圆形"我们的服务" */
.service-boxes::before {
    content: '我們的服務';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-light) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: white;
    box-shadow: 0 10px 40px rgba(255, 167, 38, 0.4);
    z-index: 10;
    border: 5px solid white;
    text-align: center;
    line-height: 1.3;
}

.service-box {
    padding: var(--spacing-2xl);
    border-radius: var(--radius-2xl);
    text-align: center;
    transition: all var(--transition-base);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.03);
    aspect-ratio: 2.5 / 1;
}

/* 四种不同颜色 + 背景图片 */
.service-box-yellow {
    background: 
        linear-gradient(135deg, rgba(255, 253, 231, 0.85) 0%, rgba(255, 249, 196, 0.75) 100%),
        url('../images/activity/1.jpg') center/cover no-repeat;
}

.service-box-green {
    background: 
        linear-gradient(135deg, rgba(232, 245, 233, 0.85) 0%, rgba(200, 230, 201, 0.75) 100%),
        url('../images/activity/2.jpg') center/cover no-repeat;
}

.service-box-purple {
    background: 
        linear-gradient(135deg, rgba(243, 229, 245, 0.85) 0%, rgba(225, 190, 231, 0.75) 100%),
        url('../images/activity/3.jpg') center/cover no-repeat;
}

.service-box-blue {
    background: 
        linear-gradient(135deg, rgba(227, 242, 253, 0.85) 0%, rgba(187, 222, 251, 0.75) 100%),
        url('../images/activity/4.jpg') center/cover no-repeat;
}

.service-box h3 {
    color: #2C3E50;
    margin-bottom: 0;
    font-size: var(--font-size-2xl);
    position: relative;
    z-index: 2;
    transition: opacity var(--transition-base), transform var(--transition-base);
    font-weight: var(--font-weight-bold);
}

.service-box:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
    border-color: var(--primary-orange-light);
}

.service-box-yellow:hover {
    background: 
        linear-gradient(135deg, rgba(255, 245, 157, 0.70) 0%, rgba(255, 253, 231, 0.60) 100%),
        url('../images/activity/1.jpg') center/cover no-repeat;
}

.service-box-green:hover {
    background: 
        linear-gradient(135deg, rgba(165, 214, 167, 0.70) 0%, rgba(232, 245, 233, 0.60) 100%),
        url('../images/activity/2.jpg') center/cover no-repeat;
}

.service-box-purple:hover {
    background: 
        linear-gradient(135deg, rgba(206, 147, 216, 0.70) 0%, rgba(243, 229, 245, 0.60) 100%),
        url('../images/activity/3.jpg') center/cover no-repeat;
}

.service-box-blue:hover {
    background: 
        linear-gradient(135deg, rgba(144, 202, 249, 0.70) 0%, rgba(227, 242, 253, 0.60) 100%),
        url('../images/activity/4.jpg') center/cover no-repeat;
}

.service-box:hover h3 {
    opacity: 0;
    transform: translateY(-20px);
}

.service-description-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.95) 0%, rgba(255, 183, 77, 0.95) 100%);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--spacing-xl);
    transform: translateY(100%);
    transition: transform var(--transition-slow), opacity var(--transition-slow);
    border-radius: var(--radius-2xl);
    opacity: 0;
    pointer-events: none;
    text-align: center;
}

/* 不同卡片的overlay颜色 */
.service-box-yellow .service-description-overlay {
    background: linear-gradient(135deg, rgba(255, 235, 59, 0.95) 0%, rgba(255, 245, 157, 0.95) 100%);
}

.service-box-green .service-description-overlay {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.95) 0%, rgba(165, 214, 167, 0.95) 100%);
}

.service-box-purple .service-description-overlay {
    background: linear-gradient(135deg, rgba(156, 39, 176, 0.95) 0%, rgba(206, 147, 216, 0.95) 100%);
}

.service-box-blue .service-description-overlay {
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.95) 0%, rgba(144, 202, 249, 0.95) 100%);
}

.service-box:hover .service-description-overlay {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.service-description-overlay p {
    margin-bottom: var(--spacing-md);
    font-size: var(--font-size-base);
}

.service-description-overlay .read-more {
    font-weight: var(--font-weight-bold);
    color: white;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* ========== 关于我们区块 ========== */
.about-us-section .about-us-content {
    display: flex;
    gap: var(--spacing-xl);
    align-items: center;
    flex-wrap: wrap;
}

.about-us-image {
    flex: 1;
    min-width: 300px;
}

.about-us-image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-lg);
    transition: transform var(--transition-base);
}

.about-us-image img:hover {
    transform: scale(1.02);
}

.about-us-text {
    flex: 2;
    min-width: 300px;
}

.about-us-section .about-us-text h2 {
    color: var(--primary-orange);
    margin-bottom: var(--spacing-lg);
    font-size: var(--font-size-3xl);
    border-bottom: 3px solid var(--primary-orange-light);
    padding-bottom: var(--spacing-md);
    display: inline-block;
    font-weight: var(--font-weight-bold);
}

.about-us-section .about-us-text p {
    margin-bottom: var(--spacing-md);
    font-size: var(--font-size-lg);
    color: var(--text-secondary);
    line-height: var(--line-height-relaxed);
}

.about-us-section .read-more-button {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-light) 100%);
    color: white;
    padding: var(--spacing-md) var(--spacing-2xl);
    border-radius: var(--radius-xl);
    margin-top: var(--spacing-lg);
    transition: all var(--transition-base);
    font-weight: var(--font-weight-semibold);
    box-shadow: var(--shadow-md);
}

.about-us-section .read-more-button:hover {
    background: linear-gradient(135deg, var(--primary-orange-dark) 0%, var(--primary-orange) 100%);
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover);
}

/* ========== 活动列表与活动配对 ========== */
.fundraising-and-matching {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--spacing-2xl);
}

.event-list-section,
.event-matching-section {
    background: linear-gradient(145deg, #FEFEFE 0%, var(--bg-light-orange) 100%);
    padding: var(--spacing-2xl);
    border-radius: var(--radius-2xl);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(255, 167, 38, 0.08);
}

.event-list-section h2,
.event-matching-section h2 {
    color: var(--primary-orange);
    margin-bottom: var(--spacing-xl);
    font-size: var(--font-size-3xl);
    border-bottom: 3px solid var(--primary-orange-light);
    padding-bottom: var(--spacing-md);
    font-weight: var(--font-weight-bold);
}

.event-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
}

.event-list-section .event-card {
    background: linear-gradient(135deg, #FEFEFE 0%, #FCFCFC 100%);
    padding: var(--spacing-xl);
    border-radius: var(--radius-xl);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    transition: all var(--transition-base);
    border: 1px solid rgba(0, 0, 0, 0.03);
}

.event-list-section .event-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(255, 167, 38, 0.2);
}

.event-list-section .event-card img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--radius-md);
    flex-shrink: 0;
}

.event-list-section .event-info {
    flex-grow: 1;
    text-align: left;
}

.event-list-section .event-info h3 {
    color: var(--primary-orange);
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-xs);
    font-weight: var(--font-weight-bold);
}

.event-list-section .event-info p {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin-bottom: var(--spacing-xs);
}

.event-list-section .event-info a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    display: inline-block;
    margin-top: var(--spacing-xs);
}

/* 活动配对筛选器 */
.matching-options {
    margin-bottom: var(--spacing-lg);
    font-size: var(--font-size-base);
}

.matching-options label {
    margin-right: var(--spacing-md);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
}

.matching-filters .filter-group {
    margin-bottom: var(--spacing-md);
}

.matching-filters label {
    display: block;
    margin-bottom: var(--spacing-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
}

.matching-filters select {
    width: 100%;
    padding: var(--spacing-md);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    font-size: var(--font-size-base);
    background-color: var(--bg-secondary);
    appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234CAF50%22%20d%3D%22M287%2C197.9L159.2%2C68.2c-4.4-4.5-10.7-7-17.1-7s-12.7%2C2.5-17.1%2C7L5.4%2C197.9c-9.1%2C9.3-9.1%2C24.4%2C0%2C33.7c9.1%2C9.3%2C23.9%2C9.3%2C33.1%2C0l120.3-122.9l120.3%2C122.9c9.2%2C9.3%2C23.9%2C9.3%2C33.1%2C0C296.1%2C222.3%2C296.1%2C207.2%2C287%2C197.9z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right var(--spacing-md) top 50%;
    background-size: 12px auto;
    transition: all var(--transition-base);
}

.matching-filters select:focus {
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 3px rgba(255, 167, 38, 0.1);
    outline: none;
}

.matching-filters .filter-button {
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-light) 100%);
    color: white;
    border: none;
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--radius-xl);
    cursor: pointer;
    font-size: var(--font-size-base);
    margin-top: var(--spacing-md);
    width: 100%;
    transition: all var(--transition-base);
    font-weight: var(--font-weight-semibold);
    box-shadow: var(--shadow-sm);
}

.matching-filters .filter-button:hover {
    background: linear-gradient(135deg, var(--primary-orange-dark) 0%, var(--primary-orange) 100%);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.matching-results {
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md);
    background-color: var(--bg-cream);
    border: 1px dashed var(--accent-orange);
    border-radius: var(--radius-md);
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-style: italic;
}

/* ========== 最新事件 ========== */
.latest-events {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--spacing-2xl);
}

.latest-events h2 {
    grid-column: 1 / -1;
    color: var(--primary-orange);
    margin-bottom: var(--spacing-xl);
    font-size: var(--font-size-3xl);
    border-bottom: 3px solid var(--primary-orange-light);
    padding-bottom: var(--spacing-md);
    font-weight: var(--font-weight-bold);
}

.timeline-container {
    grid-column: 1 / -1;
    background: linear-gradient(145deg, #FEFEFE 0%, var(--bg-light-orange) 100%);
    padding: var(--spacing-2xl);
    border-radius: var(--radius-2xl);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(255, 167, 38, 0.08);
    max-height: 600px;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
}

.timeline-container::-webkit-scrollbar {
    width: 8px;
}

.timeline-container::-webkit-scrollbar-track {
    background: rgba(255, 167, 38, 0.05);
    border-radius: var(--radius-lg);
}

.timeline-container::-webkit-scrollbar-thumb {
    background: var(--primary-orange-light);
    border-radius: var(--radius-lg);
    transition: background var(--transition-base);
}

.timeline-container::-webkit-scrollbar-thumb:hover {
    background: var(--primary-orange);
}

.timeline-scroll-area {
    position: relative;
    padding-left: var(--spacing-md);
    width: 100%;
}

.timeline-item {
    position: relative;
    padding-left: 50px;
    margin-bottom: var(--spacing-2xl);
    padding-bottom: var(--spacing-xl);
    border-left: 2px solid var(--primary-orange-lighter);
    transition: all var(--transition-base);
    width: 100%;
    box-sizing: border-box;
}

.timeline-item:hover {
    border-left-color: var(--primary-orange);
}

.timeline-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.timeline-date {
    position: absolute;
    left: -10px;
    top: 0;
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-light) 100%);
    color: white;
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--radius-lg);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    box-shadow: 0 2px 8px rgba(255, 167, 38, 0.3);
    white-space: nowrap;
    z-index: 2;
    transition: all var(--transition-base);
}

.timeline-item:hover .timeline-date {
    transform: translateX(-3px);
    box-shadow: 0 4px 12px rgba(255, 167, 38, 0.4);
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -7px;
    top: 40px;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, var(--primary-orange-light) 0%, var(--accent-yellow) 100%);
    border-radius: var(--radius-full);
    border: 2px solid #FEFEFE;
    z-index: 1;
    box-shadow: 0 2px 6px rgba(255, 167, 38, 0.25);
    transition: all var(--transition-base);
}

.timeline-item:hover::before {
    transform: scale(1.3);
    box-shadow: 0 3px 10px rgba(255, 167, 38, 0.4);
}

.timeline-content {
    background: linear-gradient(135deg, #FFFFFF 0%, #FEFEFE 100%);
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.03);
    transition: all var(--transition-base);
    margin-top: var(--spacing-md);
    width: 100%;
    box-sizing: border-box;
}

.timeline-item:hover .timeline-content {
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: rgba(255, 167, 38, 0.15);
}

.timeline-content h3 {
    color: var(--primary-orange);
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-sm);
    font-weight: var(--font-weight-bold);
}

.timeline-content p {
    font-size: var(--font-size-base);
    color: var(--text-secondary);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-sm);
}

.timeline-content a {
    color: var(--primary-orange);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    transition: all var(--transition-base);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--radius-md);
    background: rgba(255, 167, 38, 0.05);
}

.timeline-content a:hover {
    background: var(--primary-orange);
    color: white;
    transform: translateX(3px);
}

.timeline-content a::after {
    content: '→';
    transition: transform var(--transition-base);
}

.timeline-content a:hover::after {
    transform: translateX(3px);
}

/* ========== 页脚 ========== */
.main-footer {
    background: linear-gradient(135deg, #F5F5F5 0%, #E8E8E8 100%);
    color: #666;
    padding: var(--spacing-2xl) var(--spacing-lg);
    text-align: center;
    margin-top: var(--spacing-3xl);
    width: 100%;
    position: relative;
    clear: both;
}

.footer-links {
    margin-bottom: var(--spacing-lg);
}

.footer-links a {
    color: #666;
    margin: 0 var(--spacing-md);
    font-size: var(--font-size-base);
    transition: color var(--transition-base);
    font-weight: var(--font-weight-medium);
}

.footer-links a:hover {
    color: var(--primary-orange);
}

.contact-info {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.contact-info h3 {
    color: var(--primary-orange);
    margin-bottom: var(--spacing-md);
    font-size: var(--font-size-xl);
}

.contact-info p {
    margin-bottom: var(--spacing-sm);
    font-size: var(--font-size-base);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-md);
    color: #666;
}

.contact-info i {
    color: var(--primary-orange);
    font-size: var(--font-size-lg);
}

.copyright p {
    font-size: var(--font-size-sm);
    color: #999;
}

.footer-link {
    color: #666;
    text-decoration: underline;
}

.footer-link:hover {
    color: var(--primary-orange);
}

/* ========== 响应式设计 ========== */
@media (max-width: 1024px) {
    .fundraising-and-matching,
    .latest-events {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .timeline-item {
        padding-left: 40px;
    }
    
    .timeline-date {
        font-size: var(--font-size-xs);
        padding: var(--spacing-2xs) var(--spacing-sm);
        left: -5px;
    }
    
    .timeline-content {
        padding: var(--spacing-md);
    }
    
    .timeline-content h3 {
        font-size: var(--font-size-base);
    }
    
    .timeline-container {
        padding: var(--spacing-lg);
    }

    .main-header {
        flex-direction: column;
        align-items: stretch;
    }

    .top-bar-left,
    .top-bar-right {
        width: 100%;
        padding: var(--spacing-md) var(--spacing-lg);
        justify-content: center;
        flex-grow: 1;
        min-width: auto;
    }

    .top-bar-right {
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-md);
    }

    .search-bar,
    .home-button,
    .language-switcher,
    .font-size-switcher {
        width: 100%;
        justify-content: center;
    }

    .hero-slider .slider-container img {
        height: 300px;
    }

    .slider-prev,
    .slider-next {
        left: var(--spacing-md);
        right: var(--spacing-md);
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-lg);
    }

    .slider-dots {
        bottom: var(--spacing-md);
    }

    .slider-wrapper {
        padding: var(--spacing-lg) var(--spacing-md);
    }

    .services-wrapper {
        padding: var(--spacing-2xl) 0;
    }

    .services-container {
        padding: 0 var(--spacing-md);
    }

    /* 移动端显示标题 */
    .services-mobile-title {
        display: block;
    }

    .service-boxes {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: var(--spacing-lg);
    }

    /* 移动端隐藏中心圆形 */
    .service-boxes::before {
        display: none;
    }

    .about-us-content {
        flex-direction: column;
    }

    .about-us-text h2 {
        font-size: var(--font-size-2xl);
    }

    .event-list-section .event-card {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .timeline-item {
        padding-left: var(--spacing-lg);
    }

    .timeline-date {
        position: static;
        text-align: left;
        margin-bottom: var(--spacing-xs);
    }

    .timeline-item::before {
        left: -10px;
    }

    .footer-links a {
        display: block;
        margin: var(--spacing-md) 0;
    }
}
