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