Files
aperonight/app/assets/stylesheets/components/hero.css
Kevin BATAILLE 30f3ecc6ad refactor(events): replace parties concept with events throughout the application
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

This commit refactors the entire application to replace the 'parties' concept with 'events'. All controllers, models, views, and related files have been updated to reflect this change. The parties table has been replaced with an events table, and all related functionality has been updated accordingly.
2025-08-28 13:20:51 +02:00

238 lines
4.7 KiB
CSS
Executable File

.hero {
background: linear-gradient(135deg,
rgba(168, 85, 247, 0.08) 0%,
rgba(236, 72, 153, 0.08) 50%,
rgba(168, 85, 247, 0.08) 100%);
padding: var(--space-12) 0 var(--space-8);
text-align: center;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(circle at 20% 80%, rgba(168, 85, 247, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(236, 72, 153, 0.1) 0%, transparent 50%);
pointer-events: none;
}
.hero-content {
position: relative;
z-index: 1;
}
.hero h1 {
font-family: var(--font-display);
font-size: clamp(2rem, 5vw, 3.5rem);
font-weight: 900;
margin-bottom: var(--space-4);
background: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-accent-500) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
line-height: 1.1;
letter-spacing: -0.02em;
}
.hero .subtitle {
font-size: var(--text-lg);
color: var(--color-neutral-600);
margin-bottom: var(--space-6);
max-width: 700px;
margin-left: auto;
margin-right: auto;
font-weight: 500;
}
.cta-group {
display: flex;
gap: var(--space-4);
justify-content: center;
flex-wrap: wrap;
margin-bottom: var(--space-8);
}
.hero-stats {
display: flex;
justify-content: center;
gap: var(--space-6);
flex-wrap: wrap;
}
.hero-stat {
text-align: center;
}
.hero-stat-number {
font-family: var(--font-display);
font-size: var(--text-xl);
font-weight: 800;
color: var(--color-primary-600);
display: block;
}
.hero-stat-label {
font-size: var(--text-xs);
color: var(--color-neutral-500);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.section {
padding: var(--space-12) 0;
}
.section-header {
text-align: center;
margin-bottom: var(--space-8);
}
.section-title {
font-family: var(--font-display);
font-size: clamp(1.5rem, 3vw, 2.5rem);
font-weight: 800;
margin-bottom: var(--space-3);
color: var(--color-neutral-900);
line-height: 1.2;
}
.section-description {
font-size: var(--text-lg);
color: var(--color-neutral-600);
max-width: 600px;
margin: 0 auto;
}
.features-section {
background: linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-accent-50) 100%);
}
.features-grid {
display: grid;
gap: var(--space-6);
}
@media (min-width: 768px) {
.features-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.features-grid {
grid-template-columns: repeat(4, 1fr);
}
}
.feature-card {
background: white;
padding: var(--space-6);
border-radius: var(--radius-xl);
text-align: center;
box-shadow: var(--shadow-sm);
border: 1px solid var(--color-neutral-200);
transition: all var(--duration-normal) var(--ease-out);
}
.feature-card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}
.feature-icon {
width: 56px;
height: 56px;
background: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-accent-400) 100%);
color: white;
border-radius: var(--radius-xl);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto var(--space-3);
box-shadow: var(--shadow-purple-sm);
}
.feature-title {
font-family: var(--font-display);
font-size: var(--text-lg);
font-weight: 700;
margin-bottom: var(--space-2);
color: var(--color-neutral-900);
}
.feature-description {
color: var(--color-neutral-600);
line-height: 1.6;
font-size: var(--text-sm);
}
.stats-section {
background: var(--color-neutral-900);
color: white;
}
.stats-grid {
display: grid;
gap: var(--space-6);
text-align: center;
}
@media (min-width: 768px) {
.stats-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.stats-grid {
grid-template-columns: repeat(4, 1fr);
}
}
.stat-item {
padding: var(--space-4);
}
.stat-number {
font-family: var(--font-display);
font-size: clamp(1.5rem, 4vw, 2.5rem);
font-weight: 900;
color: var(--color-accent-400);
display: block;
margin-bottom: var(--space-1);
}
.stat-label {
color: var(--color-neutral-300);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
font-size: var(--text-xs);
}
.cta-section {
background: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-accent-500) 100%);
color: white;
text-align: center;
padding: var(--space-12) 0;
}
.cta-content h2 {
font-family: var(--font-display);
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 800;
margin-bottom: var(--space-3);
}
.cta-content p {
font-size: var(--text-lg);
margin-bottom: var(--space-6);
opacity: 0.9;
}