167 lines
2.9 KiB
CSS

.footer {
background: linear-gradient(135deg, #a855f7, #ec4899);
/* Purple/Pink gradient per user image */
color: white;
padding: 6rem 0 3rem;
/* Increase top padding */
position: relative;
margin-top: 0;
}
.footer::before {
content: '';
position: absolute;
top: -100px;
left: 0;
right: 0;
height: 100px;
background: linear-gradient(to bottom, transparent, var(--background));
pointer-events: none;
}
.footerContent {
display: grid;
grid-template-columns: 1fr;
gap: 3rem;
margin-bottom: 3rem;
}
@media (min-width: 768px) {
.footerContent {
grid-template-columns: 1.5fr 2fr;
}
}
.brandSection {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.logo {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 1.5rem;
font-weight: 700;
font-family: var(--font-display);
text-decoration: none;
color: white;
width: fit-content;
}
.logoIcon {
font-size: 2rem;
}
.logoText {
color: white;
}
.brandDescription {
color: rgba(255, 255, 255, 0.9);
line-height: 1.6;
max-width: 350px;
}
.socialLinks {
display: flex;
gap: 1rem;
}
.socialLink {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.1);
border-radius: var(--radius-lg);
text-decoration: none;
font-size: 1.25rem;
transition: all 0.3s ease;
backdrop-filter: blur(10px);
}
.socialLink:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateY(-3px);
}
.linksGrid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 2rem;
}
@media (min-width: 640px) {
.linksGrid {
grid-template-columns: repeat(4, 1fr);
}
}
.linkColumn {
display: flex;
flex-direction: column;
gap: 1rem;
}
.columnTitle {
font-size: 1rem;
font-weight: 700;
color: white;
margin-bottom: 0.5rem;
font-family: var(--font-display);
}
.footerLink {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-size: 0.9rem;
transition: all 0.3s ease;
width: fit-content;
}
.footerLink:hover {
color: white;
transform: translateX(5px);
}
.bottomBar {
display: flex;
flex-direction: column;
gap: 1rem;
align-items: center;
justify-content: center;
/* Centered */
padding-top: 2rem;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
@media (min-width: 768px) {
.bottomBar {
flex-direction: row;
}
}
.copyright {
color: rgba(255, 255, 255, 0.8);
font-size: 0.9rem;
}
.badges {
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
.badge {
display: flex;
align-items: center;
gap: 0.25rem;
padding: 0.5rem 1rem;
background: rgba(255, 255, 255, 0.1);
border-radius: var(--radius-lg);
font-size: 0.85rem;
backdrop-filter: blur(10px);
}