281 lines
4.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

page {
height: 100%;
background: #f5f6f8;
}
.page-home {
box-sizing: border-box;
height: 100%;
padding: 0 16rpx;
padding-top: 16rpx;
background: #f5f6f8;
}
/* 单页滚动容器:内部 sticky 吸顶(基础库 2.10.3+) */
.home-scroll {
height: 100%;
box-sizing: border-box;
/* padding-bottom: calc( env(safe-area-inset-bottom)); */
}
.banner {
width: 100%;
height: 300rpx;
border-radius: 20rpx;
overflow: hidden;
background: #e8e8e8;
}
.banner-item {
width: 100%;
height: 300rpx;
}
.banner-image {
width: 100%;
height: 100%;
}
.sticky-header {
position: sticky;
top: 0;
z-index: 100;
margin-top: 20rpx;
padding-bottom: 16rpx;
background: #f5f6f8;
box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.06);
}
.search-wrap {
display: flex;
align-items: stretch;
gap: 16rpx;
}
.search-input {
flex: 1;
height: 76rpx;
line-height: 76rpx;
padding: 0 24rpx;
background: #ffffff;
border-radius: 38rpx;
font-size: 28rpx;
color: #323233;
}
.search-ph {
color: #c8c9cc;
}
.search-btn {
flex-shrink: 0;
min-width: 144rpx;
height: 76rpx;
line-height: 76rpx;
padding: 0 28rpx;
text-align: center;
font-size: 28rpx;
font-weight: 600;
color: #ffffff;
background: linear-gradient(135deg, #3d8dff 0%, #1677ff 100%);
border-radius: 38rpx;
box-shadow: 0 6rpx 16rpx rgba(22, 119, 255, 0.35);
}
.section-tabs {
margin-top: 28rpx;
display: flex;
justify-content: center;
gap: 80rpx;
}
.section-tab {
position: relative;
padding-bottom: 12rpx;
}
.section-tab-text {
font-size: 34rpx;
color: #969799;
font-weight: 500;
}
.section-tab.is-active .section-tab-text {
color: #111;
font-weight: 700;
}
.section-tab-line {
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
width: 88rpx;
height: 10rpx;
border-radius: 8rpx;
background: linear-gradient(
90deg,
rgba(61, 141, 255, 0.15) 0%,
#1677ff 45%,
#1677ff 55%,
rgba(61, 141, 255, 0.15) 100%
);
box-shadow: 0 2rpx 8rpx rgba(22, 119, 255, 0.35);
}
.status-filters {
margin-top: 22rpx;
display: flex;
gap: 16rpx;
}
.status-pill {
flex: 1;
text-align: center;
padding: 18rpx 0;
font-size: 26rpx;
color: #646566;
background: #ffffff;
border: 2rpx solid #e1e3e6;
border-radius: 999rpx;
}
.status-pill.is-on {
color: #ffffff;
font-weight: 600;
background: linear-gradient(135deg, #3d8dff 0%, #1677ff 100%);
border-color: transparent;
box-shadow: 0 4rpx 12rpx rgba(22, 119, 255, 0.28);
}
.list-section {
margin-top: 20rpx;
padding-bottom: 120rpx;
}
.login-hint {
margin: 80rpx 8rpx;
padding: 48rpx 32rpx;
background: #ffffff;
border-radius: 20rpx;
text-align: center;
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.04);
}
.login-hint-text {
display: block;
color: #646566;
font-size: 28rpx;
margin-bottom: 28rpx;
}
.login-hint-btn {
width: 280rpx !important;
background: linear-gradient(135deg, #3d8dff 0%, #1677ff 100%) !important;
border: none !important;
color: #fff !important;
border-radius: 999rpx !important;
}
.empty {
padding: 80rpx 0;
text-align: center;
color: #969799;
font-size: 28rpx;
}
.event-card {
margin-bottom: 24rpx;
background: #ffffff;
border-radius: 20rpx;
overflow: hidden;
box-shadow: 0 8rpx 28rpx rgba(0, 0, 0, 0.06);
}
.event-card-media {
position: relative;
width: 100%;
height: 320rpx;
background: #eee;
}
.event-card-cover {
width: 100%;
height: 100%;
display: block;
}
.addr-pill {
position: absolute;
top: 16rpx;
left: 16rpx;
max-width: calc(100% - 160rpx);
padding: 10rpx 18rpx;
font-size: 22rpx;
color: #323233;
background: rgba(255, 255, 255, 0.92);
border-radius: 999rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06);
}
.status-pill-top {
position: absolute;
top: 16rpx;
right: 16rpx;
padding: 8rpx 20rpx;
font-size: 22rpx;
font-weight: 600;
color: #1677ff;
background: rgba(255, 255, 255, 0.95);
border-radius: 999rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06);
}
.event-card-body {
padding: 22rpx 20rpx 26rpx;
}
.title-row {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: 12rpx;
margin-bottom: 16rpx;
}
.event-title {
flex: 1;
min-width: 0;
font-size: 32rpx;
font-weight: 800;
color: #111;
line-height: 1.45;
}
.format-tag {
flex-shrink: 0;
padding: 4rpx 14rpx;
font-size: 22rpx;
font-weight: 600;
color: #ffffff;
background: linear-gradient(135deg, #3d8dff 0%, #1677ff 100%);
border-radius: 8rpx;
}
.meta-line {
font-size: 24rpx;
color: #969799;
line-height: 1.55;
margin-top: 6rpx;
}
.loading {
text-align: center;
color: #969799;
font-size: 26rpx;
padding: 32rpx 0 48rpx;
}