/* ============ Site Footer (shared across every base template) ============ */
footer.site-footer {
    background: linear-gradient(180deg, #111827 0%, #0b1220 100%);
    color: #cbd5e1;
    margin-top: 4rem;
    font-size: 0.9rem;
}

.footer-cta-bar {
    background: linear-gradient(135deg, var(--primary-color, #2563eb), #1d4ed8);
    padding: 1.1rem 0;
}
.footer-cta-bar .container {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem;
}
.footer-cta-bar p { color: #fff; margin: 0; font-size: .95rem; font-weight: 500; }
.footer-cta-bar .btn-footer-post {
    background: #fff; color: var(--primary-color, #2563eb); font-weight: 700; padding: .55rem 1.4rem;
    border-radius: 999px; text-decoration: none; font-size: .85rem; white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease;
}
.footer-cta-bar .btn-footer-post:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.25); color: var(--primary-color, #2563eb); }

/* Install App bar - mobile only, hidden until the browser confirms it's installable */
.footer-install-bar {
    background: #0f172a;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: .8rem 0;
}
.footer-install-bar .container {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
}
.footer-install-text { color: #e2e8f0; font-size: .85rem; font-weight: 500; }
.footer-install-text i { color: #60a5fa; }
.btn-footer-install {
    background: #2563eb; color: #fff; border: none; padding: .5rem 1.1rem; border-radius: 999px;
    font-weight: 700; font-size: .82rem; white-space: nowrap; cursor: pointer;
    transition: background .15s ease;
}
.btn-footer-install:hover { background: #1d4ed8; }

.footer-main { padding: 2.75rem 0 1.5rem; }

.footer-brand { display: flex; align-items: center; gap: .5rem; font-size: 1.4rem; font-weight: 800; color: #fff; margin-bottom: .75rem; }
.footer-brand i { color: var(--primary-color, #2563eb); }

.footer-tagline { color: #94a3b8; font-size: .85rem; line-height: 1.7; max-width: 640px; margin-bottom: 1.4rem; }

.footer-nav-row { display: flex; flex-wrap: wrap; row-gap: .5rem; margin-bottom: 1.4rem; }
.footer-nav-row a {
    color: #e2e8f0; text-decoration: none; font-size: .85rem; font-weight: 600;
    padding: 0 .9rem; border-right: 1px solid rgba(255,255,255,.15);
}
.footer-nav-row a:first-child { padding-left: 0; }
.footer-nav-row a:last-child { border-right: none; }
.footer-nav-row a:hover { color: #60a5fa; }
.footer-nav-row.footer-nav-row-secondary a { color: #94a3b8; font-weight: 500; font-size: .8rem; }
.footer-nav-row.footer-nav-row-secondary a:hover { color: #fff; }

.footer-heading {
    color: #fff; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    margin-bottom: .9rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(255,255,255,.1);
}

/* Feature grid - "everything on the platform" */
.footer-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .75rem; margin-bottom: 1.6rem; }
.footer-feature-grid a { display: flex; align-items: center; gap: .5rem; color: #cbd5e1; text-decoration: none; font-size: .8rem; transition: color .15s ease; }
.footer-feature-grid a:hover { color: #fff; }
.footer-feature-icon {
    flex-shrink: 0; width: 24px; height: 24px; border-radius: 7px; display: flex; align-items: center; justify-content: center;
    background: rgba(37,99,235,.18); color: #60a5fa; font-size: .68rem; transition: background .15s ease, color .15s ease;
}
.footer-feature-grid a:hover .footer-feature-icon { background: var(--primary-color, #2563eb); color: #fff; }

/* District grid */
.footer-district-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem .5rem; margin-bottom: 1.6rem; }
.footer-district-grid a { color: #94a3b8; text-decoration: none; font-size: .8rem; }
.footer-district-grid a:hover { color: #fff; }
.footer-all-districts { grid-column: 1 / -1; color: #60a5fa !important; font-weight: 600; margin-top: .2rem; }

/* Social row */
.footer-social-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.footer-social-row a {
    display: flex; align-items: center; gap: .4rem; color: #e2e8f0; text-decoration: none; font-size: .78rem; font-weight: 600;
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); padding: .4rem .75rem; border-radius: 999px;
    transition: background .15s ease, border-color .15s ease;
}
.footer-social-row a:hover { background: var(--primary-color, #2563eb); border-color: var(--primary-color, #2563eb); color: #fff; }

/* Bottom bar */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1); padding: 1.1rem 0; margin-top: .5rem;
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem;
}
.footer-bottom p { margin: 0; color: #94a3b8; font-size: .8rem; }
.footer-trust { display: flex; gap: 1.1rem; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.footer-trust li { color: #64748b; font-size: .76rem; display: flex; align-items: center; gap: .35rem; }
.footer-trust i { color: #22c55e; }

@media (max-width: 767px) {
    .footer-cta-bar .container { flex-direction: column; text-align: center; }
    .footer-install-bar .container { flex-direction: column; text-align: center; }
    .footer-nav-row { justify-content: center; text-align: center; }
    .footer-nav-row a { border-right: none; padding: .15rem .6rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .footer-trust { justify-content: center; }
}
