/* ===================================
     Footer
=================================== */
.footer-wrapper {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: space-between;
     gap: var(--spacing-lg);
     margin-bottom: var(--spacing-lg);
}

.footer-logo-wrapper {
     align-self: center;
     align-items: center;
     width: 100%;
     max-width: 25rem;
     min-width: 20rem;
}

.footer-logo {
     flex-shrink: 0;
}

.footer-logo img {
     width: 8rem;
     height: auto;
}

.footer-links {
     list-style: none;
     width: 100%;
}

.footer a {
     transition: all var(--transition-base);
}

.footer a:hover {
     text-decoration: underline;
     text-underline-offset: 2px;
}

.footer-contact {
     width: 100%;
}

.footer-contact-item {
     display: flex;
     align-items: flex-start;
     gap: var(--spacing-xs);
}

.footer-contact-icon {
     flex-shrink: 0;
     margin-top: 0.125rem;
}

.footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.2);
     padding-top: var(--spacing-lg);
     display: flex;
     flex-direction: column;
     gap: var(--spacing-md);
     align-items: center;
     text-align: center;
}

.social-links {
     display: flex;
     gap: var(--spacing-xs);
     align-items: center;
}

.social-links a {
     width: 2.4rem;
     height: 2.4rem;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all var(--transition-base);
}

.social-links a:hover {
     color: var(--color-button);
     transform: translateY(-3px);
}

.social-links a svg {
     width: 1.6rem;
     height: auto;
}

.copyright {
     font-size: var(--font-size-sm);
}

@media (min-width: 990px) {
     .footer-bottom {
          flex-direction: row;
          justify-content: end;
     }

     .footer-wrapper {
          flex-direction: row;
          flex-wrap: wrap;
          align-items: start;
     }

     .footer-links {
          max-width: max-content;
          min-width: min-content;
     }

     .footer-contact {
          max-width: 22rem;
          min-width: min-content;
     }
}