NitinBot002's picture
Initial commit with all project files
f4854a1
/* ============================================
FOOTER STYLES
============================================ */
.footer {
position: relative;
margin-top: auto;
}
.footer__wave {
color: var(--color-neutral-900);
line-height: 0;
margin-bottom: -2px;
}
.footer__wave svg {
width: 100%;
height: 80px;
}
.footer__content {
background: var(--color-neutral-900);
color: #d1d5db;
padding: 4rem 0 0;
}
.footer__grid {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
gap: 3rem;
padding-bottom: 3rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
/* Brand */
.footer__logo {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1.25rem;
}
.footer__logo-img {
width: 48px;
height: 48px;
border-radius: 50%;
object-fit: cover;
}
.footer__logo-name {
font-family: var(--font-heading);
font-size: 1.15rem;
font-weight: 700;
color: white;
line-height: 1.2;
}
.footer__logo-tag {
font-size: 0.75rem;
color: var(--color-primary-400);
font-weight: 500;
}
.footer__description {
font-size: 0.9rem;
line-height: 1.7;
color: #9ca3af;
margin-bottom: 1.5rem;
}
.footer__social {
display: flex;
gap: 0.6rem;
}
.footer__social-link {
display: flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.06);
color: #9ca3af;
font-size: 0.9rem;
transition: all 0.3s ease;
}
.footer__social-link:hover {
background: var(--color-primary-500);
color: white;
transform: translateY(-3px);
}
/* Columns */
.footer__heading {
font-family: var(--font-heading);
font-size: 1rem;
font-weight: 600;
color: white;
margin-bottom: 1.25rem;
position: relative;
}
.footer__heading::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 30px;
height: 2px;
background: var(--color-primary-500);
border-radius: 2px;
}
.footer__col {
display: flex;
flex-direction: column;
}
.footer__link {
display: block;
padding: 0.4rem 0;
font-size: 0.88rem;
color: #9ca3af;
transition: all 0.25s ease;
}
.footer__link:hover {
color: var(--color-primary-400);
padding-left: 6px;
}
/* Contact */
.footer__contact {
display: flex;
align-items: flex-start;
gap: 0.65rem;
margin-bottom: 0.85rem;
font-size: 0.88rem;
}
.footer__contact a {
color: #9ca3af;
transition: color 0.25s ease;
}
.footer__contact a:hover {
color: var(--color-primary-400);
}
.footer__contact-icon {
color: var(--color-primary-400);
margin-top: 3px;
flex-shrink: 0;
}
.footer__cert {
display: flex;
gap: 0.5rem;
margin-top: 1rem;
flex-wrap: wrap;
}
/* Bottom */
.footer__bottom {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1.5rem 0;
flex-wrap: wrap;
gap: 1rem;
}
.footer__copyright {
font-size: 0.82rem;
color: #6b7280;
}
.footer__made {
font-size: 0.82rem;
color: #6b7280;
display: flex;
align-items: center;
gap: 0.3rem;
}
.footer__heart {
color: var(--color-accent-500);
animation: pulse 2s ease-in-out infinite;
}
.footer__legal {
display: flex;
gap: 1.5rem;
}
.footer__legal a {
font-size: 0.82rem;
color: #6b7280;
transition: color 0.25s ease;
}
.footer__legal a:hover {
color: var(--color-primary-400);
}
/* Responsive */
@media (max-width: 1024px) {
.footer__grid {
grid-template-columns: 1fr 1fr;
gap: 2rem;
}
}
@media (max-width: 640px) {
.footer__grid {
grid-template-columns: 1fr;
gap: 2rem;
}
.footer__bottom {
flex-direction: column;
text-align: center;
}
}