SocialBuddyMarketingWebsite/components/StatsCounter.module.css

125 lines
2.4 KiB
CSS

/* Section: Transparent/Clean */
.statsSection {
padding: 4rem 0 4rem;
background: transparent;
position: relative;
z-index: 10;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
/* Grid Container for separate cards */
.statsGrid {
background: transparent;
border-radius: 0;
box-shadow: none;
padding: 0;
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 2rem;
margin: 0;
top: auto;
}
@media (min-width: 768px) {
.statsGrid {
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
/* Distinct gap for separate cards */
padding: 0;
}
}
/* Individual Card Styling */
.statItem {
background: white;
border-radius: 24px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
padding: 2rem 1.5rem;
display: flex;
align-items: center;
gap: 1.5rem;
transition: transform 0.3s ease, box-shadow 0.3s ease;
border: 1px solid rgba(0, 0, 0, 0.02);
}
.statItem:hover {
transform: translateY(-5px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
/* Floating Icon Wrapper */
.iconWrapper {
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
flex-shrink: 0;
animation: floatIcon 3s ease-in-out infinite;
}
/* Icon Background Blob */
.iconBg {
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(236, 72, 153, 0.1), rgba(59, 130, 246, 0.1));
border-radius: 16px;
transform: rotate(10deg);
}
.statIcon {
font-size: 1.75rem;
position: relative;
z-index: 2;
}
/* Text Content */
.textContent {
display: flex;
flex-direction: column;
justify-content: center;
}
.numberWrapper {
font-size: 2rem;
font-weight: 800;
line-height: 1;
margin-bottom: 0.25rem;
color: var(--text-primary);
background: var(--gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: flex;
justify-content: flex-start;
align-items: baseline;
gap: 0.1ch;
}
.label {
font-size: 0.85rem;
color: var(--text-secondary);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
@keyframes floatIcon {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-8px);
}
}