/* Jesus Choice Matrimonial — site footer.
   Split out of the layout so it does not have to be parsed before the page
   above it can paint. Loaded asynchronously on every page. */
/* ══════════════════════════════════════════════
       FOOTER
    ══════════════════════════════════════════════ */
    footer.site-footer {
        background: var(--navy-deep); color: rgba(255,255,255,0.72);
        position: relative; z-index: 1; overflow: hidden;
    }
    footer.site-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
    .footer-dove { position: absolute; right: -60px; bottom: -40px; width: 420px; opacity: .06; pointer-events: none; }
    .footer-grid {
        max-width: 1320px; margin: 0 auto; padding: 72px 24px 48px;
        display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.3fr; gap: 48px;
        position: relative;
    }
    @media (max-width: 960px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; padding-top: 56px; } }
    @media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }

    .footer-brand img { height: 44px; width: auto; margin-bottom: 20px; }
    .footer-brand p { font-size: 14px; line-height: 1.8; color: rgba(255,255,255,0.62); max-width: 300px; }
    .footer-social { display: flex; gap: 10px; margin-top: 22px; }
    .footer-social a {
        width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.16);
        display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.75);
        text-decoration: none; font-size: 14px; transition: all .2s;
    }
    .footer-social a:hover { background: var(--gold); border-color: var(--gold); color: #fff; transform: translateY(-2px); }
    .app-badges { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
    .app-badge {
        display: inline-flex; align-items: center; gap: 12px; max-width: 200px;
        background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: 10px;
        padding: 9px 16px; text-decoration: none; color: #fff; transition: all .2s;
    }
    .app-badge:hover { background: rgba(255,255,255,0.12); transform: translateY(-2px); }
    .app-badge i { font-size: 22px; }
    .app-badge-text small { display: block; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
    .app-badge-text strong { display: block; font-size: 14px; font-weight: 700; }

    .footer-col h4 { font-family: var(--font-display); font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 18px; letter-spacing: .01em; }
    .footer-col ul { list-style: none; }
    .footer-col ul li { margin-bottom: 11px; }
    .footer-col ul li a { color: rgba(255,255,255,0.68); text-decoration: none; font-size: 14px; display: inline-flex; align-items: center; gap: 10px; transition: color .2s, padding-left .2s; }
    .footer-col ul li a:hover { color: #fff; padding-left: 4px; }
    .footer-col ul li a i { width: 14px; color: var(--gold-light); font-size: 12px; }

    /* Site-wide links to the rite / diocese landing pages (internal linking for SEO). */
    .footer-seo { max-width: 1320px; margin: 0 auto; padding: 0 24px 34px; position: relative; display: flex; flex-direction: column; gap: 10px; }
    .footer-seo p { font-size: 12.5px; line-height: 1.9; color: rgba(255,255,255,0.5); margin: 0; }
    .footer-seo strong { color: rgba(255,255,255,0.78); font-weight: 700; margin-right: 6px; }
    .footer-seo a { color: rgba(255,255,255,0.62); text-decoration: none; white-space: nowrap; }
    .footer-seo a:hover { color: #fff; text-decoration: underline; }
    .footer-seo a + a::before { content: '·'; margin: 0 8px; color: rgba(255,255,255,0.28); display: inline-block; text-decoration: none; }

    .footer-bottom {
        border-top: 1px solid rgba(255,255,255,0.10);
        position: relative;
    }
    .footer-bottom-inner {
        max-width: 1320px; margin: 0 auto; padding: 22px 24px;
        display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
        font-size: 13px; color: rgba(255,255,255,0.5);
    }
    .footer-bottom a { color: rgba(255,255,255,0.68); text-decoration: none; }
    .footer-bottom a:hover { color: #fff; }
    .footer-legal a + a::before { content: '·'; margin: 0 10px; color: rgba(255,255,255,0.3); }
    .footer-credit { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .03em; }
    .footer-credit img { height: 20px; width: auto; opacity: .85; }
