.filmflix-footer {
    background: #05090f;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.filmflix-footer-top {
    padding: 44px 0 24px;
    background:
        radial-gradient(circle at 12% 10%, rgba(229, 9, 20, 0.07), transparent 24%),
        radial-gradient(circle at 86% 0%, rgba(37, 91, 132, 0.08), transparent 28%),
        linear-gradient(180deg, #060b12 0%, #04070c 100%);
}

.filmflix-footer-container {
    padding-inline: clamp(24px, 4vw, 72px);
}

.filmflix-footer-logo {
    margin-bottom: 16px;
}

.filmflix-footer-description {
    max-width: 320px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.88rem;
    line-height: 1.65;
}

.filmflix-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 18px;
}

.filmflix-footer-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.82rem;
    text-decoration: none;
    transition: color 180ms ease;
}

.filmflix-footer-contact-link:hover,
.filmflix-footer-contact-link:focus-visible {
    color: #fff;
}

.filmflix-footer-social {
    margin-top: 22px;
}

.filmflix-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.025);
    color: rgba(255, 255, 255, 0.72);
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.filmflix-footer-social a:hover,
.filmflix-footer-social a:focus-visible {
    border-color: rgba(229, 9, 20, 0.55);
    background: rgba(229, 9, 20, 0.1);
    color: #fff;
    transform: translateY(-2px);
}

.filmflix-footer-title {
    margin: 0 0 18px;
    color: #fff;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.25;
}

.filmflix-footer-menu {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filmflix-footer-menu li {
    margin: 0 !important;
}

.filmflix-footer-menu a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.84rem;
    line-height: 1.45;
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}

.filmflix-footer-menu a:hover,
.filmflix-footer-menu a:focus-visible {
    color: #fff;
}

.filmflix-footer-app-copy {
    max-width: 300px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.84rem;
    line-height: 1.55;
}

.filmflix-footer-apps {
    margin-top: 18px !important;
}

.filmflix-footer-apps img {
    max-height: 42px;
    width: auto;
}

.filmflix-footer-divider {
    height: 1px;
    margin: 34px 0 18px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.11) 12%, rgba(255, 255, 255, 0.11) 88%, transparent 100%);
}

.filmflix-footer-lower {
    color: rgba(255, 255, 255, 0.48);
}

.filmflix-footer-legal {
    flex-direction: row;
    gap: 8px 18px;
}

.filmflix-footer-legal li {
    position: relative;
}

.filmflix-footer-legal li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.13);
    transform: translateY(-50%);
}

.filmflix-footer-copyright {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.78rem;
}

.filmflix-cinematic-bridge {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background:
        radial-gradient(ellipse at 20% 120%, rgba(122, 28, 20, 0.42), transparent 44%),
        radial-gradient(ellipse at 78% 110%, rgba(27, 70, 108, 0.42), transparent 42%),
        linear-gradient(180deg, #07101a 0%, #0a1420 46%, #05090f 100%);
}

.filmflix-cinematic-bridge::before,
.filmflix-cinematic-bridge::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    pointer-events: none;
}

.filmflix-cinematic-bridge::before {
    bottom: 0;
    height: 72%;
    opacity: 0.7;
    background:
        linear-gradient(156deg, transparent 0 17%, rgba(23, 34, 48, 0.75) 17.4% 23%, transparent 23.4% 100%),
        linear-gradient(204deg, transparent 0 23%, rgba(19, 31, 45, 0.82) 23.4% 30%, transparent 30.4% 100%),
        linear-gradient(166deg, transparent 0 35%, rgba(11, 24, 36, 0.95) 35.4% 44%, transparent 44.4% 100%),
        linear-gradient(194deg, transparent 0 43%, rgba(10, 22, 33, 0.95) 43.4% 52%, transparent 52.4% 100%);
}

.filmflix-cinematic-bridge::after {
    inset: 0;
    background: linear-gradient(180deg, rgba(4, 8, 13, 0.12), rgba(4, 8, 13, 0.46));
}

.filmflix-cinematic-bridge__content {
    position: relative;
    z-index: 2;
    max-width: 820px;
    text-align: center;
}

.filmflix-cinematic-bridge__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.08rem, 1.55vw, 1.45rem);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.filmflix-cinematic-bridge__brand-film,
.filmflix-cinematic-bridge__title-suffix {
    color: #fff;
}

.filmflix-cinematic-bridge__brand-flix {
    color: #e50914;
}

.filmflix-cinematic-bridge__subtitle {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(0.82rem, 1vw, 0.98rem);
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.filmflix-cinematic-bridge__accent {
    width: 56px;
    height: 3px;
    margin: 16px auto 0;
    border-radius: 999px;
    background: #e50914;
    box-shadow: 0 0 18px rgba(229, 9, 20, 0.38);
}

@media (max-width: 1199.98px) {
    .filmflix-footer-top {
        padding-top: 38px;
    }

    .filmflix-footer-container {
        padding-inline: 28px;
    }
}

@media (max-width: 767.98px) {
    .filmflix-footer-top {
        padding: 32px 0 88px;
    }

    .filmflix-footer-container {
        padding-inline: 20px;
    }

    .filmflix-footer-divider {
        margin-top: 26px;
    }

    .filmflix-footer-legal li::after {
        display: none;
    }

    .filmflix-cinematic-bridge {
        min-height: 128px;
        padding: 26px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .filmflix-footer-social a,
    .filmflix-footer-contact-link,
    .filmflix-footer-menu a {
        transition: none;
    }
}
