.footer-logo {
    max-width: 165.152px;
    width: 100%;
    height: 50px;
    object-fit: contain;
    object-position: center;
}
footer.footer {
    display: flex;
    padding: 50px 64px 30px 64px;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    border-top: 2px solid var(--Primary-Purple, #595378);
    background: var(--White, #FFF);

    @media (max-width: 1024px) {
        padding: 48px 20px 28px 20px;
        gap: 48px;
    }

    .title {
        color: var(--Primary-Purple, #595378);
        font-size: 1rem; /* 16px converted to rem - allows browser font size scaling */
        font-weight: 700;
        line-height: 150%;
        text-transform: uppercase;
    }

    small {
        color: var(--Black, #212529);
        font-size: 0.875rem; /* 14px converted to rem - allows browser font size scaling */
        font-weight: 400;
        line-height: 150%;
        padding: 8px 0px;
    }

    p {
        color: var(--Black, #212529);
        font-size: 1rem; /* 16px converted to rem - allows browser font size scaling */
        font-weight: 400;
        line-height: 150%;
    }

    form {
        max-width: 534px;

        @media (max-width: 1440px) {
            max-width: 100%;

            .flex-column {
                width: 100%;
            }
        }
    }

    .col:has(form) {
        max-width: 534px;
    }

    .links-wrapper {
        display: flex;
        flex-direction: column;
        gap: 16px;

        .links {
            color: var(--Black, #212529);
            font-size: 0.875rem; /* 14px converted to rem - allows browser font size scaling */
            font-weight: 400;
            line-height: 150%;
        }
    }

    /* Footer navigation lists - remove default list styling */
    .footer-nav-list,
    .footer-legal-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .footer-nav-list {
        /* Match the gap from links-wrapper */
        gap: 16px;
    }

    .footer-legal-list {
        /* Remove gap for legal links - spacing handled by Bootstrap classes */
        gap: 0;
        /* Bootstrap classes handle responsive layout */
    }

    .footer-legal-list li {
        /* Ensure list items don't break the layout */
        margin: 0;
        padding: 0;
    }

    /* Ensure h2 headings maintain original title styling */
    .links-wrapper h2.title {
        margin: 0;
        padding: 0;
        display: block;
    }

    .links {
        min-width: 198px;
    }

    .links-row {
        display: flex;
        gap: 40px;
    }

    .form-inline {
        align-items: start;
        height: fit-content;

        .title {
            margin-bottom: 16px;
        }

        .join {
            margin-bottom: 24px;
        }

        .form-group {
            display: flex;
            align-items: center;
            gap: 16px;
            justify-content: space-between;
            flex-wrap: inherit;
            margin-bottom: 16px;
        }

        .form-group div:first-child {
            width: 100%;
        }

        .form-control {
            padding: 12px;
            color: var(--Color-Neutral-neutral, #666);
            font-size: 1rem; /* 16px converted to rem - allows browser font size scaling */
            font-weight: 400;
            line-height: 150%;
            color: #666;
            height: 50px;
            width: 100%;
            border-radius: 0px;
            border: 1px solid var(--Black, #212529);
            background: var(--Color-Neutral-white, #FFF);
        }

        .btn-primary {
            display: flex;
            padding: 12px 24px;
            justify-content: center;
            align-items: center;
            gap: 8px;
            color: var(--White, #FFF);
            font-size: 1rem; /* 16px converted to rem - allows browser font size scaling */
            font-weight: 700;
            line-height: 150%;
            text-transform: uppercase;
            background: var(--Primary-Purple, #595378);
            height: 50px;
        }

        .small {
            color: var(--Black, #212529);
            font-size: 0.75rem; /* 12px converted to rem - allows browser font size scaling */
            font-weight: 400;
            line-height: 150%;
        }

        @media (max-width: 1024px) {
            .title {
                margin-bottom: 14px;
            }
            
            .join {
                font-size: 0.875rem; /* 14px converted to rem - allows browser font size scaling */
                margin-bottom: 16px;
            }

            .form-group {
                flex-direction: column;
                align-items: baseline;
    
                button {
                    width: 100%;
                }
            }

            .small {
                text-align: justify;
            }
        }
    }
    
    .hr {
        border-top: 1px solid var(--Primary-Purple, #595378);
        background: var(--Primary-Purple, #595378);
        height: 1px;
        align-self: stretch;
        width: 100%;
    }

    .legal-links {
        color: var(--Black, #212529);
        font-size: 0.875rem; /* 14px converted to rem - allows browser font size scaling */
        font-weight: 400;
        line-height: 150%;
    }

    .legal-links.link-underline-secondary {
        text-decoration: underline;
    }

    .footer-base {
        padding-top: 32px;
        border-top: 2px solid #595378;
    }
}

.footer > div.row {
    width: 100%;
    
    @media (min-width: 1440px) {
        height: 248px;
    }
}