.sf-footer {
    position: relative;
    padding-block: 3rem 3rem;
    color: rgba(255, 255, 255, 0.8);
    z-index: 2;
    background: linear-gradient(180deg,
            rgba(10, 10, 10, 0.4) 0%,
            rgba(5, 5, 5, 0.4) 100%);
    backdrop-filter: blur(1000px);

    .container {
        position: relative;
        z-index: 1;
        max-width: 90rem;
        margin-inline: auto;
        padding-inline: 1.5rem;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

    .footer-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 1.5rem;
        text-align: left;

        h3 {
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.65);
            margin-bottom: 0.75rem;
            font-weight: 500;
        }

        ul {
            list-style: none;
            padding: 0;
            margin: 0;

            li {
                margin-bottom: 0.4rem;

                a {
                    text-decoration: none;
                    color: rgba(255, 255, 255, 0.75);
                    font-size: 0.95rem;
                    transition: color 0.15s ease;

                    &:hover {
                        color: #9cb6ff;
                    }
                }
            }
        }

        .socials li {}
    }

    .footer-line {
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        margin-top: 1rem;
    }

    .footer-utility {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem 2rem;
        justify-content: center;
        text-align: center;
        font-size: 0.9rem;

        p {
            margin: 0;
        }

        a {
            color: #9cb6ff;
            text-decoration: none;

            &:hover {
                text-decoration: underline;
            }
        }
    }

    .footer-extra {
        margin-top: 3rem;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.2rem;

        .newsletter {
            width: 100%;
            max-width: 380px;

            label {
                display: block;
                font-size: 0.9rem;
                opacity: 0.8;
                margin-bottom: 0.4rem;
            }

            .field {
                display: flex;
                align-items: center;
                gap: 0.5rem;

                input {
                    flex: 1;
                    border: 1px solid rgba(255, 255, 255, 0.12);
                    border-radius: 8px;
                    background: rgba(255, 255, 255, 0.05);
                    color: white;
                    padding: 0.5rem 0.7rem;
                    font-family: inherit;

                    &::placeholder {
                        color: rgba(255, 255, 255, 0.45);
                    }

                    &:focus {
                        outline: none;
                        border-color: rgba(127, 82, 255, 0.6);
                    }
                }

                button {
                    border: none;
                    border-radius: 8px;
                    background: ghostwhite;
                    color: black;
                    padding: 0.5rem 1rem;
                    cursor: pointer;
                    font-weight: 500;
                    transition: opacity 0.2s ease;

                    &:hover {
                        opacity: 0.85;
                    }
                }
            }
        }

        .version {
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.6);

            a {
                color: #9cb6ff;
                text-decoration: none;

                &:hover {
                    text-decoration: underline;
                }
            }
        }

        @media (max-width: 640px) {
            .newsletter {
                max-width: 100%;
            }
        }
    }

    @media (max-width: 640px) {
        .footer-grid {
            grid-template-columns: 1fr 1fr;
            text-align: left;
        }

        .footer-extra {
            flex-direction: column;
            align-items: flex-start;
            text-align: left;
        }

        .footer-utility {
            flex-direction: column;
            gap: 0.6rem;
        }
    }
}
