/* ════════════════════════════════════════════════════════════
   FOOTER — light, compact, professional
   ════════════════════════════════════════════════════════════ */
.site-footer {
    background: #fff;
    color: #6b6b7c;
    border-top: 1px solid #ebe6ec;
    margin-top: 50px;
    font-size: 13px;
}

/* ── Trust ribbon (thin purple strip on top) ── */
.ftx-trust {
    background: linear-gradient(135deg, #99489d 0%, #7a3a7e 100%);
    padding: 10px 0; color: #fff;
}
.ftx-trust-row {
    display: flex; flex-wrap: wrap;
    justify-content: center; align-items: center;
    gap: 6px 22px;
    font-size: 12px; font-weight: 500;
}
.ftx-trust-item { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.ftx-trust-item i { color: #ffd6f8; font-size: 11px; }
.ftx-trust-item strong { color: #fff; font-weight: 700; }
.ftx-trust-sep { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.35); }
@media (max-width: 575px) {
    .ftx-trust-sep { display: none; }
    .ftx-trust-row { gap: 4px 14px; }
    /* Kill the white gap above the footer — purple trust strip blends
       straight into whatever section sits above it on mobile */
    .site-footer { margin-top: 0; }
}

/* ── Main footer body — tight, 4 columns ── */
.ftx-main { padding: 32px 0 24px; }
.ftx-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.3fr 1.2fr;
    gap: 28px;
}
@media (max-width: 991px) { .ftx-grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
@media (max-width: 575px) { .ftx-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Column heading */
.ftx-h {
    font-family: 'Poppins', sans-serif;
    font-size: 11px; font-weight: 700; color: #2b2330;
    letter-spacing: 1.5px; text-transform: uppercase;
    margin: 0 0 14px;
    display: flex; align-items: center; gap: 8px;
}
.ftx-h::before {
    content: ''; width: 18px; height: 2px;
    background: linear-gradient(90deg, #99489d, #b96dbd);
    border-radius: 2px;
}

/* Column 1: Brand */
.ftx-logo { max-height: 34px; width: auto; display: block; margin-bottom: 10px; }
.ftx-about {
    font-size: 12.5px; line-height: 1.65; color: #6b6b7c;
    margin: 0 0 12px; max-width: 300px;
}
.ftx-social { display: flex; gap: 8px; }
.ftx-social a {
    width: 30px; height: 30px; border-radius: 6px;
    display: inline-flex; align-items: center; justify-content: center;
    color: #6b6b7c; background: #faf6fb;
    border: 1px solid #ebe6ec;
    font-size: 12px; transition: all .2s;
    text-decoration: none;
}
.ftx-social a:hover { transform: translateY(-1px); color: #fff; border-color: transparent; }
.ftx-social a.is-fb:hover { background: #1877f2; }
.ftx-social a.is-ig:hover { background: linear-gradient(45deg, #f09433, #dc2743, #bc1888); }
.ftx-social a.is-wa:hover { background: #25D366; }
.ftx-social a.is-yt:hover { background: #FF0000; }
.ftx-social a.is-li:hover { background: #0a66c2; }
.ftx-social a.is-gb:hover { background: #4285F4; }

/* Quick links — 2 columns inside the column for compactness */
.ftx-links { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 16px; }
.ftx-links li { margin-bottom: 7px; break-inside: avoid; }
.ftx-links a {
    color: #6b6b7c; font-size: 12.5px; text-decoration: none;
    transition: color .15s;
}
.ftx-links a:hover { color: #99489d; text-decoration: none; }

/* Contact list */
.ftx-contact { list-style: none; padding: 0; margin: 0; }
.ftx-contact li {
    display: flex; align-items: flex-start; gap: 10px;
    margin-bottom: 10px;
    color: #6b6b7c; font-size: 12.5px; line-height: 1.5;
}
.ftx-contact-ico {
    width: 26px; height: 26px; border-radius: 6px;
    background: #faf6fb;
    color: #99489d; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 11px;
}
.ftx-contact a { color: #2b2330; text-decoration: none; transition: color .15s; }
.ftx-contact a:hover { color: #99489d; text-decoration: none; }

/* Map — compact */
.ftx-map {
    border-radius: 8px; overflow: hidden;
    border: 1px solid #ebe6ec; position: relative;
}
.ftx-map iframe { display: block; width: 100%; height: 150px; border: 0; filter: grayscale(.2); transition: filter .3s; }
.ftx-map:hover iframe { filter: grayscale(0); }
.ftx-map-overlay {
    position: absolute; bottom: 8px; left: 8px;
    background: rgba(255,255,255,.95); backdrop-filter: blur(6px);
    color: #99489d; font-size: 10.5px; font-weight: 600;
    padding: 4px 9px; border-radius: 5px;
    text-decoration: none; transition: all .15s;
    display: inline-flex; align-items: center; gap: 4px;
    border: 1px solid #ebe6ec;
}
.ftx-map-overlay:hover { background: #99489d; color: #fff; border-color: transparent; text-decoration: none; }

/* ── Bottom bar ── */
.ftx-bottom {
    border-top: 1px solid #ebe6ec;
    padding: 12px 0;
    font-size: 11.5px; color: #5d5762; /* darkened from #888 for WCAG 4.5:1 (a11y) */
}
.ftx-legal {
    display: flex; align-items: center; gap: 5px; flex-wrap: wrap;
    justify-content: center;
}
.ftx-legal a { color: #4a4651; text-decoration: none; transition: color .15s; } /* darkened from #6b6b7c */
.ftx-legal a:hover { color: #99489d; }
.ftx-legal-sep { color: #b0a8b3; } /* darkened from #ddd so separator is visible */
