blob: 050935dfeb6cda3f8ece428a6bcd92459dc90145 [file]
/* Events Page CSS Module */
/* Upcoming Events Section */
.upcoming {
padding-top: var(--section-spacing-lg);
padding-bottom: var(--section-spacing-md);
}
.upcomingGrid {
display: grid;
grid-template-columns: 1fr;
gap: var(--ai-spacing-xl);
margin-top: var(--section-spacing-sm);
}
.upcomingCard {
display: flex;
gap: var(--ai-spacing-2xl);
padding: var(--ai-spacing-2xl);
}
.upcomingDate {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
min-width: 100px;
padding-top: var(--ai-spacing-sm);
}
.upcomingDay {
font-size: 4.8rem;
font-weight: 700;
line-height: 1;
color: var(--ai-blue);
}
.upcomingMonth {
font-size: 1.4rem;
font-weight: 600;
text-transform: uppercase;
margin-top: var(--ai-spacing-xs);
}
.upcomingYear {
font-size: 1.4rem;
color: var(--ai-text-tertiary);
margin-top: var(--ai-spacing-xs);
}
.upcomingContent {
flex: 1;
}
.upcomingType {
display: inline-block;
font-size: 1.2rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--ai-blue);
background: var(--ai-blue-lighter);
padding: 0.4rem 1rem;
border-radius: var(--ai-radius-sm);
margin-bottom: var(--ai-spacing-sm);
}
.upcomingMeta {
display: flex;
gap: var(--ai-spacing-xl);
margin-top: var(--ai-spacing-sm);
color: var(--ai-text-secondary);
font-size: 1.4rem;
}
.upcomingMeta span {
display: flex;
align-items: center;
gap: 0.5rem;
}
.upcomingDescription {
margin-top: var(--ai-spacing-md);
color: var(--ai-text-secondary);
line-height: 1.6;
max-width: 700px;
}
.upcomingCard .button {
margin-top: var(--ai-spacing-lg);
width: fit-content;
}
/* Summit Section */
.summit {
padding-top: var(--section-spacing-md);
padding-bottom: var(--section-spacing-lg);
background: var(--ai-bg-secondary);
}
.summitHeader {
align-items: center;
gap: var(--ai-spacing-2xl);
}
.summitLogo {
width: 180px;
flex-shrink: 0;
}
.summitLogo img {
display: block;
width: 100%;
height: auto;
}
.summitInfo {
flex: 1;
}
.summitGrid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--ai-spacing-lg);
margin-top: var(--section-spacing-sm);
}
.summitCard {
display: block;
position: relative;
border-radius: var(--ai-radius-md);
overflow: hidden;
transition: transform 0.2s, box-shadow 0.2s;
}
.summitCard:hover {
transform: translateY(-4px);
box-shadow: var(--ai-shadow-lg);
}
.summitCard img {
display: block;
width: 100%;
height: auto;
aspect-ratio: 16/9;
object-fit: cover;
}
.summitYear {
position: absolute;
bottom: var(--ai-spacing-sm);
left: var(--ai-spacing-sm);
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 0.4rem 0.8rem;
border-radius: var(--ai-radius-sm);
font-size: 1.2rem;
font-weight: 600;
}
/* Meetups Section */
.meetups {
padding-top: var(--section-spacing-lg);
padding-bottom: var(--section-spacing-lg);
background: var(--ai-bg-blue);
color: var(--ai-text-inverse);
}
.meetupsHeader {
align-items: center;
justify-content: space-between;
}
.meetupsContent {
max-width: 600px;
}
.meetupsContent h2,
.meetupsContent p {
color: var(--ai-text-inverse);
}
.meetupsActions {
margin-top: var(--ai-spacing-xl);
}
.meetupsActions :global(.button) {
background: var(--ai-text-inverse);
color: var(--ai-blue);
border-color: var(--ai-text-inverse);
}
.meetupsActions :global(.button):hover {
background: var(--ai-bg-secondary);
color: var(--ai-blue);
}
.meetupsImage {
width: 350px;
flex-shrink: 0;
}
.meetupsImage img {
display: block;
width: 100%;
height: auto;
}
/* Host Event Section */
.hostEvent {
padding-top: var(--section-spacing-lg);
padding-bottom: var(--section-spacing-md);
background: #e8f2fa;
}
.hostEventWrap {
align-items: center;
gap: var(--ai-spacing-2xl);
}
.hostEventMain {
flex: 1;
}
.hostEventPic {
width: 400px;
flex-shrink: 0;
}
.hostEventPic img {
display: block;
width: 100%;
height: auto;
}
.hostEventGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--ai-spacing-lg);
margin-top: var(--section-spacing-sm);
}
.hostEventCard {
padding: var(--ai-spacing-xl);
display: flex;
flex-direction: column;
}
.hostEventCard p {
flex: 1;
margin: var(--ai-spacing-sm) 0 var(--ai-spacing-lg);
color: var(--ai-text-secondary);
line-height: 1.6;
}
.hostEventCard .button {
width: fit-content;
}
/* Past Events Section */
.past {
padding-top: var(--section-spacing-md);
padding-bottom: var(--section-spacing-lg);
}
.pastDescription {
margin-top: var(--ai-spacing-md);
color: var(--ai-text-secondary);
}
.pastGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--ai-spacing-lg);
margin-top: var(--section-spacing-sm);
}
.pastCard {
padding: var(--ai-spacing-xl);
text-decoration: none;
color: inherit;
transition: transform 0.2s, box-shadow 0.2s;
}
.pastCard:hover {
transform: translateY(-4px);
text-decoration: none;
color: inherit;
}
.pastDate {
display: block;
font-size: 1.4rem;
color: var(--ai-text-tertiary);
margin-bottom: var(--ai-spacing-sm);
}
.pastCard h4 {
margin: 0;
}
.pastLocation {
display: block;
margin-top: var(--ai-spacing-sm);
font-size: 1.4rem;
color: var(--ai-text-secondary);
}
/* No Events State */
.noEvents {
text-align: center;
padding: var(--section-spacing-md) var(--ai-spacing-xl);
background: var(--ai-bg-secondary);
border-radius: var(--ai-radius-md);
margin-top: var(--section-spacing-sm);
}
.noEvents p {
margin-bottom: var(--ai-spacing-lg);
color: var(--ai-text-secondary);
}
/* CTA Section */
.cta {
background: var(--ai-bg-blue);
color: var(--ai-text-inverse);
}
.cta h2,
.cta p {
color: var(--ai-text-inverse);
}
.ctaWrap {
align-items: center;
justify-content: space-between;
gap: var(--ai-spacing-2xl);
}
.ctaMain {
max-width: 60%;
}
.ctaActions {
display: flex;
gap: var(--ai-spacing-md);
}
.ctaActions :global(.button) {
background: var(--ai-text-inverse);
color: var(--ai-blue);
border-color: var(--ai-text-inverse);
}
.ctaActions :global(.button):hover {
background: var(--ai-bg-secondary);
color: var(--ai-blue);
}
.ctaActions :global(.button--shadow) {
background: transparent;
color: var(--ai-text-inverse);
border-color: var(--ai-text-inverse);
}
.ctaActions :global(.button--shadow):hover {
background: rgba(255, 255, 255, 0.1);
color: var(--ai-text-inverse);
}
/* Responsive Styles */
@media (max-width: 1199px) {
.summitGrid {
grid-template-columns: repeat(2, 1fr);
}
.hostEventGrid {
grid-template-columns: repeat(2, 1fr);
}
.pastGrid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 992px) {
.upcomingCard {
flex-direction: column;
gap: var(--ai-spacing-lg);
}
.upcomingDate {
flex-direction: row;
gap: var(--ai-spacing-md);
min-width: auto;
padding-top: 0;
}
.upcomingDay {
font-size: 3.6rem;
}
.upcomingMonth,
.upcomingYear {
margin-top: 0;
}
.summitHeader {
flex-direction: column;
text-align: center;
}
.summitLogo {
width: 150px;
}
.meetupsHeader {
flex-direction: column;
text-align: center;
}
.meetupsContent {
max-width: 100%;
}
.meetupsImage {
width: 250px;
margin-top: var(--ai-spacing-xl);
}
.hostEventWrap {
flex-direction: column;
text-align: center;
}
.hostEventPic {
width: 300px;
margin-top: var(--ai-spacing-xl);
}
.hostEventGrid {
grid-template-columns: 1fr;
}
.hostEventCard {
text-align: left;
}
.ctaWrap {
flex-direction: column;
text-align: center;
}
.ctaMain {
max-width: 100%;
}
.ctaActions {
flex-direction: column;
width: 100%;
}
.ctaActions .button {
width: 100%;
}
}
@media (max-width: 767px) {
.upcomingMeta {
flex-direction: column;
gap: var(--ai-spacing-sm);
}
.summitGrid {
grid-template-columns: 1fr;
}
.pastGrid {
grid-template-columns: 1fr;
}
}