.footer-page {
    overflow-x: hidden;
    background: var(--bg-dark);
    color: var(--text-light);
}

.footer-page #app-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.footer-page .screen.active {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    min-height: 0;
}

.footer-page .info-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    margin-top: 28px;
    margin-bottom: 34px;
    gap: var(--space-3);
    padding-inline: var(--space-2);
}

.footer-page .info-header > a {
    display: inline-block;
    margin-bottom: var(--space-4);
    line-height: 0;
}

.footer-page .info-header > a img {
    width: 100%;
    max-width: 240px;
    height: auto;
    filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.3));
}

.footer-page .title-gold {
    margin: 0;
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(1.9rem, 4.1vw, 3rem);
    line-height: 1.04;
    text-align: center;
    max-width: 14ch;
}

.footer-page .title-gold.footer-page-title--wide {
    max-width: none;
    white-space: nowrap;
}

.footer-page .subtitle-muted {
    margin: 0;
    color: var(--text-muted);
    font-size: clamp(0.98rem, 2vw, 1.25rem);
    line-height: 1.55;
    text-align: center;
    max-width: 42rem;
    text-wrap: balance;
}

.footer-page .footer-page-card {
    padding: 24px 20px;
    margin-bottom: 30px;
}

.footer-page .footer-page-card--faq {
    padding: 20px 25px 40px;
}

.footer-page .footer-page-card,
.footer-page .footer-page-card h2,
.footer-page .footer-page-card h3 {
    text-align: left;
}

.footer-page .footer-page-backlinks {
    gap: 20px;
    flex-wrap: wrap;
    padding: 50px 0;
}

.footer-page .footer-page-backlinks .btn-back {
    min-height: 24px;
}

.footer-page .legal-section--last {
    margin-bottom: 0;
}

.footer-page .footer-page-inline-link {
    color: var(--accent-gold);
}

@media (max-width: 768px) {
    .footer-page .info-header {
        margin-top: var(--space-6);
        margin-bottom: var(--space-7);
        gap: var(--space-2);
    }

    .footer-page .info-header > a {
        margin-bottom: var(--space-3);
    }

    .footer-page .info-header > a img {
        max-width: 210px;
    }

    .footer-page .title-gold {
        max-width: none;
    }

    .footer-page .title-gold.footer-page-title--wide {
        white-space: normal;
    }

    .footer-page .subtitle-muted {
        max-width: 30rem;
    }
}
