/* SSF site-wide footer */
.ssf-footer {
    background: #000D26;
    padding: 40px 20px 0;
}
.ssf-footer-inner {
    max-width: 1300px;
    margin: 0 auto;
}

/* Contact bar */
.ssf-footer-contact {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 26px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 50px;
}
.ssf-contact-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.ssf-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 20px;
    border-inline-end: 1px solid #E5E7EB;
    font-family: 'Alexandria', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #1F2937;
    white-space: nowrap;
}
.ssf-contact-item:last-child { border-inline-end: none; padding-inline-end: 0; }
.ssf-contact-item:first-child { padding-inline-start: 0; }
.ssf-contact-item svg { width: 20px; height: 20px; flex: 0 0 auto; color: #07296C; }
.ssf-contact-cta {
    display: flex;
    align-items: center;
    gap: 22px;
}
.ssf-contact-cta-text h3 {
    margin: 0;
    font-family: 'Alexandria', sans-serif;
    font-weight: 800;
    font-size: 21px;
    color: #07296C;
}
.ssf-contact-cta-text p {
    margin: 4px 0 0;
    font-family: 'Alexandria', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #6B7280;
}
.ssf-contact-cta-btn {
    display: inline-block;
    background: #10BEF0;
    color: #07296C;
    font-family: 'Alexandria', sans-serif;
    font-weight: 700;
    font-size: 15px;
    padding: 16px 30px;
    border-radius: 999px;
    text-decoration: none;
    white-space: nowrap;
    flex: 0 0 auto;
}

/* Columns row */
.ssf-footer-columns {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 40px;
    flex-wrap: wrap;
}
.ssf-footer-divider-v {
    width: 1px;
    align-self: stretch;
    background: rgba(255,255,255,0.15);
    flex: 0 0 auto;
}
.ssf-footer-col { display: flex; flex-direction: column; }
.ssf-footer-col-site {
    align-items: flex-start;
    gap: 18px;
}
.ssf-footer-site-url {
    font-family: 'Alexandria', sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: #FFFFFF;
}
.ssf-footer-social {
    display: flex;
    gap: 12px;
}
.ssf-social-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    transition: background .2s ease, border-color .2s ease;
}
.ssf-social-btn:hover { background: #10BEF0; border-color: #10BEF0; color: #07296C; }
.ssf-social-btn svg { width: 18px; height: 18px; }
.ssf-footer-col-links { align-items: center; gap: 20px; }
.ssf-footer-links-title {
    font-family: 'Alexandria', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #10BEF0;
}
.ssf-footer-links-grid {
    display: grid;
    grid-template-columns: repeat(3, auto);
    column-gap: 34px;
    row-gap: 16px;
}
.ssf-footer-links-grid a {
    font-family: 'Alexandria', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #E5E7EB;
    text-decoration: none;
    white-space: nowrap;
}
.ssf-footer-links-grid a:hover { color: #10BEF0; }
.ssf-footer-col-logo { align-items: flex-end; justify-content: center; }
.ssf-footer-logo { max-height: 90px; width: auto; display: block; }

/* Bottom bar */
.ssf-footer-bottom-line {
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, rgba(16,190,240,0.05), rgba(16,190,240,0.55) 50%, rgba(16,190,240,0.05));
}
.ssf-footer-copyright {
    text-align: left;
    font-family: 'Alexandria', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #9CA3AF;
    padding: 20px 0;
    margin: 0;
}

@media (max-width: 900px) {
    .ssf-footer-contact { flex-direction: column; align-items: stretch; padding: 24px; }
    .ssf-contact-cta { flex-direction: row-reverse; justify-content: flex-start; }
    .ssf-contact-info { justify-content: center; }
    .ssf-footer-columns { flex-direction: column; align-items: center; text-align: center; gap: 34px; }
    .ssf-footer-divider-v { display: none; }
    .ssf-footer-col-site { align-items: center; }
    .ssf-footer-col-logo { align-items: center; }
    .ssf-footer-copyright { text-align: center; }
}
@media (max-width: 600px) {
    .ssf-contact-info { flex-direction: column; align-items: flex-start; gap: 10px; }
    .ssf-contact-item { border-inline-end: none; padding: 0; }
    .ssf-contact-cta { flex-direction: column; text-align: center; gap: 14px; }
    .ssf-footer-links-grid { grid-template-columns: repeat(2, auto); }
}
