/* ==========================================================================
   Footer Component
   ========================================================================== */

.footer {
    padding: 80px 24px 0;
    margin-top: 0;
}

.footer__content {
    max-width: 1920px;
    margin: 0 auto 24px;
}

/* Links Section */
.footer__links {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 60px;
    margin-bottom: 135px;
}

.footer__column {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer__column--left {
    justify-self: start;
}

.footer__column--middle {
    justify-self: center;
}

.footer__column--right {
    justify-self: end;
    align-items: flex-end;
}

.footer__link {
    font-family: var(--a-font-mono);
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    color: var(--a-color-beige-700);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer__link:hover {
    color: var(--a-color-black-950);
}

/* Logo Section */
.footer__logo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 32px 60px;
}

.footer__logo {
    width: 1328px;
    height: 361px;
    transition: fill 1.5s ease-in-out;
}

.footer__logo path {
    transition: fill 1.5s ease-in-out;
}

#footerLogoUnderline {
    transition: opacity 0.5s ease-in-out, fill 1.5s ease-in-out;
}

/* Copyright Bar */
.footer__copyright {
    background-color: var(--a-color-green-400);
    border-radius: 80px;
    padding: 28px 48px;
    margin: 0 -24px;
    transition: background-color 1.5s ease-in-out;
}

.footer__copyright-text {
    font-family: var(--a-font-mono);
    font-size: 12px;
    font-weight: 400;
    line-height: 32px;
    color: var(--a-color-black-950);
    text-align: left;
    margin: 0;
    transition: color 1.5s ease-in-out;
}

/* Responsive Adjustments */
/* 4K and Ultra-Wide Displays */
@media (min-width: 3840px) {
    .footer {
        padding: 140px 48px 0;
    }

    .footer__content {
        margin-bottom: 48px;
    }

    .footer__links {
        gap: 100px;
        margin-bottom: 360px;
    }

    .footer__column {
        gap: 24px;
    }

    .footer__link {
        font-size: 22px;
        line-height: 32px;
    }

    .footer__logo-wrapper {
        padding: 0 86px 100px;
    }

    .footer__logo {
        width: 3540px;
        height: 963px;
    }

    .footer__copyright {
        padding: 44px 80px;
        margin: 0 -48px;
    }

    .footer__copyright-text {
        font-size: 20px;
        line-height: 28px;
    }
}

/* 2K Displays */
@media (min-width: 2560px) and (max-width: 3839px) {
    .footer {
        padding: 120px 36px 0;
    }

    .footer__content {
        margin-bottom: 36px;
    }

    .footer__links {
        gap: 80px;
        margin-bottom: 240px;
    }

    .footer__column {
        gap: 20px;
    }

    .footer__link {
        font-size: 18px;
        line-height: 26px;
    }

    .footer__logo-wrapper {
        padding: 0 57px 80px;
    }

    .footer__logo {
        width: 2360px;
        height: 642px;
    }

    .footer__copyright {
        padding: 36px 72px;
        margin: 0 -36px;
    }

    .footer__copyright-text {
        font-size: 16px;
        line-height: 24px;
    }
}

/* Full HD+ Displays */
@media (min-width: 1920px) and (max-width: 2559px) {
    .footer {
        padding: 100px 32px 0;
    }

    .footer__content {
        margin-bottom: 32px;
    }

    .footer__links {
        gap: 70px;
        margin-bottom: 180px;
    }

    .footer__column {
        gap: 18px;
    }

    .footer__link {
        font-size: 16px;
        line-height: 24px;
    }

    .footer__logo-wrapper {
        padding: 0 43px 70px;
    }

    .footer__logo {
        width: 1771px;
        height: 482px;
    }

    .footer__copyright {
        padding: 32px 64px;
        margin: 0 -32px;
    }

    .footer__copyright-text {
        font-size: 14px;
        line-height: 22px;
    }
}

/* Standard Large Displays (1440px) */
@media (min-width: 1440px) and (max-width: 1919px) {
    .footer {
        padding: 160px 24px 32px;
    }

    .footer__content {
        background-color: var(--a-color-beige-50);
        border-radius: clamp(24px, 2.22vw, 32px);
        padding: clamp(24px, 2.78vw, 40px) clamp(20px, 2.22vw, 32px);
        margin-bottom: clamp(16px, 1.11vw, 16px);
    }

    .footer__links {
        gap: 60px;
        /* margin-bottom: 135px; */
        margin-bottom: 40px;
    }

    .footer__column {
        gap: 4px;
    }

    .footer__link {
        font-size: 16px;
    }

    .footer__logo-wrapper {
        /* padding: 0 32px 60px; */
        padding: 0 0 8px;
    }

    .footer__logo {
        width: 1328px;
        height: 361px;
    }

    .footer__copyright {
        padding: 28px 48px;
        margin: 0;
    }

    .footer__copyright-text {
        font-size: 12px;
        line-height: 18px;
    }
}

@media (max-width: 1200px) {
    .footer {
        padding: 70px 24px 0;
    }

    .footer__content {
        margin-bottom: 24px;
    }

    .footer__links {
        gap: 50px;
        margin-bottom: 120px;
    }

    .footer__column {
        gap: 14px;
    }

    .footer__link {
        font-size: 13px;
        line-height: 19px;
    }

    .footer__logo-wrapper {
        padding: 0 28px 50px;
    }

    .footer__logo {
        width: 1105px;
        height: 300px;
    }

    .footer__copyright {
        padding: 26px 48px;
        margin: 0 -24px;
    }

    .footer__copyright-text {
        font-size: 11px;
        line-height: 17px;
    }
}

@media (max-width: 991px) {
    .footer {
        padding: 60px 24px 0;
    }

    .footer__content {
        margin-bottom: 20px;
    }

    .footer__links {
        gap: 40px;
        margin-bottom: 90px;
    }

    .footer__column {
        gap: 12px;
    }

    .footer__link {
        font-size: 12px;
        line-height: 18px;
    }

    .footer__logo-wrapper {
        padding: 0 22px 40px;
    }

    .footer__logo {
        width: 915px;
        height: 249px;
    }

    .footer__copyright {
        padding: 24px 24px;
        margin: 0 -24px;
        border-radius: 60px;
    }

    .footer__copyright-text {
        font-size: 10px;
        line-height: 16px;
    }
}

@media (max-width: 768px) {
    .footer {
        padding: 50px 24px 0;
    }

    .footer__content {
        margin-bottom: 20px;
    }

    .footer__links {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 70px;
    }

    .footer__column--left,
    .footer__column--middle,
    .footer__column--right {
        justify-self: start;
        align-items: flex-start;
    }

    .footer__column {
        gap: 10px;
    }

    .footer__link {
        font-size: 12px;
        line-height: 18px;
    }

    .footer__logo-wrapper {
        padding: 0 17px 32px;
    }

    .footer__logo {
        width: 710px;
        height: 193px;
    }

    .footer__copyright {
        padding: 20px 20px;
        margin: 0 -24px;
        border-radius: 50px;
    }

    .footer__copyright-text {
        font-size: 9px;
        line-height: 14px;
    }
}

@media (max-width: 600px) {
    .footer {
        padding: 40px 20px 0;
    }

    .footer__content {
        margin-bottom: 16px;
    }

    .footer__links {
        gap: 28px;
        margin-bottom: 56px;
    }

    .footer__column {
        gap: 8px;
    }

    .footer__link {
        font-size: 11px;
        line-height: 16px;
    }

    .footer__logo-wrapper {
        padding: 0 13px 28px;
    }

    .footer__logo {
        width: 553px;
        height: 150px;
    }

    .footer__copyright {
        padding: 18px 18px;
        margin: 0 -20px;
        border-radius: 40px;
    }

    .footer__copyright-text {
        font-size: 8px;
        line-height: 13px;
    }
}

@media (max-width: 480px) {
    .footer {
        padding: 32px 16px 0;
    }

    .footer__content {
        margin-bottom: 12px;
    }

    .footer__links {
        gap: 24px;
        margin-bottom: 45px;
    }

    .footer__column {
        gap: 6px;
    }

    .footer__link {
        font-size: 10px;
        line-height: 15px;
    }

    .footer__logo-wrapper {
        padding: 0 11px 24px;
    }

    .footer__logo {
        width: 443px;
        height: 120px;
    }

    .footer__copyright {
        padding: 16px 16px;
        margin: 0 -16px;
        border-radius: 32px;
    }

    .footer__copyright-text {
        font-size: 7px;
        line-height: 12px;
    }
}