| /* 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; |
| } |
| } |