/* -----------------------------------------------------------
   基础设置 & 字体
   ----------------------------------------------------------- */
body {
    margin: 0;
    padding: 0;
    padding-top: 70px; /* 为固定的 header 留出空间 */
    /* 根据设计需求，使用 Roboto 或类似的无衬线字体 */
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    color: #333333; /* 浅色背景上的深灰文字 */
}


* {
    box-sizing: border-box;
}

/* -----------------------------------------------------------
   颜色主题 (基于设计描述)
   ----------------------------------------------------------- */
/* 深蓝色背景 (Header, History, Stories) */
.darkBg {
    background-color: #2c3e50; /* 设计描述中的深蓝 */
    color: #eaf2f8 !important;
}

/* 浅蓝色/灰色背景 (Intro, Events) */
.lightBg {
    background-color: rgb(226, 240, 254);
    color: #2c3e50;
}

/* 浅色背景下的文字颜色调整 */
.lightBg h1,
.lightBg h2,
.lightBg h3,
.lightBg h4,
.lightBg p,
.lightBg span {
    color: #2c3e50 !important; /* 深色文字 */
}

/* 链接与按钮颜色 */
a {
    text-decoration: none;
    color: #2c3e50;
    transition: all 0.3s;
}

.darkBg a {
    color: #eaf2f8;
}

/* -----------------------------------------------------------
   通用排版
   ----------------------------------------------------------- */
p {
    font-size: 1rem;
    line-height: 1.6em;
    margin-bottom: 1em;
}

h1, h2, h3, h4 {
    font-family: Impact, "Arial Black", sans-serif; /* 标题使用 Impact 字体 */
    font-weight: 700;
    margin-bottom: 0.5em;
    line-height: 1.2;
}

h2 { font-size: clamp(28px, 3vw, 42px); }
h3 { font-size: clamp(22px, 2.5vw, 32px); }
h4 { font-size: clamp(18px, 2vw, 24px); }

.ctr { text-align: center; }
.right { text-align: right; }

/* 垂直居中辅助类 */
.align-items-center {
    align-items: center;
}

/* -----------------------------------------------------------
   网格系统 (The Grid System) - 保留原核心逻辑
   ----------------------------------------------------------- */
.grid, .edgeGrid, .smlGrid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 20px; /* 稍微增加间距让布局更透气 */
}

.grid {
    margin: 0 auto;
    max-width: 1200px; /* 限制最大宽度 */
    padding: 0 20px;
}

.edgeGrid {
    width: 100%;
    margin: 0;
}

.zeroGridGap { gap: 0 !important; }

/* 单元格与列宽定义 */
.cell { padding: 10px; }

/* 默认移动端：所有列占满 12 格 */
[class*="col"], .twothirds {
    grid-column-end: span 12;
}

/* 桌面端/平板端 (min-width: 768px) */
@media only screen and (min-width: 768px) {
    .col1 { grid-column-end: span 12; }  /* 100% */
    .twothirds { grid-column-end: span 8; } /* 66% */
    .col2 { grid-column-end: span 6; }   /* 50% */
    .col3 { grid-column-end: span 4; }   /* 33.3% */
    .col4 { grid-column-end: span 3; }   /* 25% */
}

/* -----------------------------------------------------------
   组件样式
   ----------------------------------------------------------- */

/* 1. Header */
.header {
    position: fixed; /* 固定定位 */
    top: 0; /* 固定在顶部 */
    left: 0;
    right: 0;
    width: 100%; /* 全宽 */
    padding: 10px 20px;
    margin-bottom: 0 !important;
    border-bottom: 1px solid #95a5a6; /* 浅灰色分割线 */
    z-index: 1000; /* 确保在其他内容之上 */
}

/* 深色 header 背景 */
.header.darkBg {
    background-color: #2c3e50; /* 深色背景 */
}

/* 浅色 header 背景 */
.header.lightBg {
    background-color: rgb(226, 240, 254); /* 浅色背景 */
}

.logo {
    max-width: 40px;
    vertical-align: middle;
    margin-right: 10px;
    border-radius: 50%;
}

.club span {
    font-family: Impact, "Arial Black", sans-serif; /* Logo 文字使用 Impact */
    font-weight: 700;
    font-size: 1.2rem;
    color: #fff;
    vertical-align: middle;
}

/* 浅色 header 下的 logo 文字颜色 */
.lightBg .club span {
    color: #2c3e50 !important; /* 深色文字 */
}

/* Navigation */
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}

nav li { display: inline-block; margin-left: 20px; }

.header nav a {
    font-family: Impact, "Arial Black", sans-serif; /* 导航链接使用 Impact */
    color: #fff;
    font-weight: 500;
    padding-bottom: 5px;
}

/* 浅色 header 下的导航链接颜色 */
.lightBg.header nav a {
    color: #2c3e50 !important; /* 深色文字 */
}

.header nav a:hover, .header nav a.active {
    border-bottom: 2px solid #fff;
}

/* 浅色 header 下的导航链接 hover 和 active */
.lightBg.header nav a:hover, .lightBg.header nav a.active {
    border-bottom: 2px solid #2c3e50; /* 深色边框 */
}

/* 2. Hero Section (.featured) */
.featured {
    width: 100%;
    min-height: auto; /* 移除最小高度限制，让内容决定高度 */
    display: flex;
    flex-direction: column;
    padding: 0;
}

/* 文字区域 - 占上部 1/5 */
.hero-text-section {
    height: 20%; /* 上部 1/5 */
    display: flex;
    align-items: center;
    padding: 0 40px;
    justify-content: space-between;
}

/* 居中文字区域 */
.hero-text-center {
    width: 100%;
    text-align: center;
}

.hero-text-center h1 {
    font-size: clamp(48px, 6vw, 72px); /* 和其他标题一样大 */
    font-weight: 700;
    color: #fff;
    margin: 20px 0; /* 上下留出边距 */
}

.hero-text-left h1 {
    font-size: clamp(48px, 6vw, 72px); /* 增大字体 */
    font-weight: 700;
    color: #fff;
    margin: 20px 0; /* 上下留出边距 */
}

.hero-text-right p {
    font-family: Impact, "Arial Black", sans-serif; /* embrace your passion for cars 使用 Impact */
    font-size: clamp(14px, 1.5vw, 20px);
    font-weight: 300;
    color: #eaf2f8;
    margin: 0;
    text-align: right;
}

/* 图片区域 - 占下部 4/5 */
.hero-image-section {
    flex: 0 0 auto; /* 不自动填充，根据内容调整 */
    padding: 0; /* 移除 padding */
    display: flex;
    align-items: center;
    justify-content: flex-start; /* 左对齐 */
}

.hero-img {
    width: calc(100% - 40px); /* 图片宽度恢复从左到右减去左右边距 */
    max-height: 450px; /* 增加高度的 1/2：300px + 150px = 450px */
    height: auto; /* 高度自适应 */
    object-fit: cover;
    border-radius: 8px; /* 圆角让图片更精致 */
    margin: 0 20px 0 20px; /* 去掉底部边距，让 div 底部和图片对齐 */
}

/* Hero 描述文字区域 */
.hero-description {
    padding: 40px 20% 60px 20%; /* 增加底部边距防止重叠 */
    text-align: center;
    color: #eaf2f8;
    line-height: 1.8;
}

.hero-description p {
    margin-bottom: 1em;
    font-size: 1rem;
}

/* 3. Buttons */
.button {
    display: inline-block;
    padding: 12px 30px;
    border: 1px solid #2c3e50;
    border-radius: 25px; /* 增大圆角，变成圆角矩形 */
    color: #2c3e50;
    font-family: Impact, "Arial Black", sans-serif; /* 按钮文字使用 Impact */
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    margin-top: 10px;
}

.button:hover, .button.solid {
    background-color: #2c3e50;
    color: #fff;
}

/* 反色按钮 (用于深色背景) */
.button.invert {
    border-color: #fff;
    color: #fff;
}
.button.invert:hover {
    background-color: #fff;
    color: #2c3e50;
}

/* 4. Images */
.fit {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.fill {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rnd-corner {
    border-radius: 8px;
}

/* 图片标题样式 */
.img-caption {
    margin-top: 10px;
    margin-bottom: 0;
    font-family: Impact, "Arial Black", sans-serif; /* 图片标题使用 Impact */
    font-size: 0.95rem;
    font-weight: 500;
    color: #2c3e50;
    text-align: left;
}

.cover-img {
    height: 200px; /* 强制画廊图片高度一致 */
    margin-bottom: 15px; /* 图片与文字之间的间距 */
}

/* 画廊网格样式 */
.gallery-grid .cell h4 {
    margin-top: 0;
    margin-bottom: 8px;
    font-family: Impact, "Arial Black", sans-serif; /* 画廊图片标题使用 Impact */
    font-size: 1.1rem;
    color: #eaf2f8;
}

.gallery-grid .cell p {
    margin: 0;
    font-size: 0.9rem;
    color: #bdc3c7;
    line-height: 1.4;
}

/* 历史区域图片样式 */
.history-img {
    max-width: 100%; /* 图片占满容器 */
    height: auto;
    display: block;
    aspect-ratio: 3 / 2; /* 宽高比 3:2（横向） */
    object-fit: cover; /* 保持比例裁剪 */
}

/* 成员故事图片样式 - 竖向 */
.member-story-img {
    max-width: 100%; /* 图片占满容器 */
    height: auto;
    display: block;
    aspect-ratio: 2 / 3; /* 宽高比 2:3（竖向） */
    object-fit: cover; /* 保持比例裁剪 */
}

/* 历史区域外层包裹 */
.history-wrapper {
    margin-bottom: 40px; /* 项目之间的间距 */
}

/* 历史区域内容居中 */
.history-content {
    max-width: 700px; /* 限制整体宽度 */
    margin: 0 auto; /* 居中显示 */
    display: flex;
    align-items: center;
    gap: 40px; /* 文字和图片之间的间距 */
}

/* 文字区域 */
.history-text {
    flex: 1; /* 占据剩余空间 */
}

/* 图片区域 */
.history-image {
    flex: 0 0 200px; /* 固定宽度200px */
}

.history-image img {
    width: 100%;
    height: auto;
}

/* 5. Cards (Events) */
.card {
    background: transparent; /* 透明背景 */
    padding: 30px;
    border-radius: 8px;
    box-shadow: none; /* 删除阴影 */
    height: 100%; /* 让卡片等高 */
    transition: transform 0.3s;
}

.card:hover {
    transform: translateY(-5px);
}

/* 深色卡片 */
.dark-card {
    background-color: #2c3e50; /* 深色背景 */
    color: #fff; /* 白色文字 */
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 10px; /* 卡片之间留一点距离 */
}

/* 深色卡片中的文字 */
.dark-card h4, .dark-card p {
    color: #fff !important;
    text-align: left;
}

/* 深色卡片中的按钮 */
.dark-card .button.invert {
    border-color: #fff;
    color: #fff;
    background-color: transparent;
}

.dark-card .button.invert:hover {
    background-color: #fff;
    color: #2c3e50;
}

/* 确保在小屏幕上也能正确显示四个卡片 */
@media only screen and (max-width: 767px) {
    .dark-card {
        margin-bottom: 20px;
    }
}

/* Card 左右布局 */
.card-content-flex {
    display: flex;
    align-items: flex-start;
    gap: 15px; /* 圆形图标和文字之间的间距 */
}

/* 文字区域 */
.card-text {
    flex: 1; /* 占据剩余空间 */
}

.card-text h4 {
    margin-bottom: 0.5em;
    font-family: Impact, "Arial Black", sans-serif; /* 卡片标题使用 Impact */
}

.card-text p {
    margin-bottom: 0;
}

.date-icon {
    flex-shrink: 0; /* 防止圆形图标被压缩 */
    width: 50px;
    height: 50px;
    background: #2c3e50;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 50px;
    font-size: 0.8rem;
    font-weight: 700;
}

/* 6. Spacing Helpers */
.innerSpace { padding: 80px 0; }
.lowerGap { margin-bottom: 40px; }
.smlLowerGap { margin-bottom: 20px; }
.nospace { padding: 0 !important; margin: 0 !important; }

/* 全高度容器 */
.fullHeight {
    height: 500px; /* 设置固定高度，确保两个区域一致 */
    display: flex;
    align-items: center;
}

/* 垂直居中内容 */
.vertCtr {
    width: 100%;
}

/* 分割线 */
.line {
    border-top: 1px solid rgba(255,255,255,0.2);
    margin: 40px 0;
}

/* Footer specific */
footer {
    padding: 60px 0;
    font-family: Impact, "Arial Black", sans-serif; /* 页脚文字使用 Impact */
    font-size: 0.9rem;
    color: #bdc3c7 !important;
}

footer .grid {
    max-width: 900px; /* 限制页脚宽度 */
    margin: 0 auto; /* 居中显示 */
}

footer a { 
    font-family: Impact, "Arial Black", sans-serif; /* 页脚链接使用 Impact */
    color: #bdc3c7 !important; 
}
footer a:hover { color: #fff !important; }

iframe {
    aspect-ratio:16/9;
 width: 100% !important;
}