/* Footer. Tema clínica — teal oscuro con texto claro. */
.site-footer {
    background:
        linear-gradient(180deg, #0e2a27 0%, #0a201d 100%);
    border-top: 3px solid var(--primary);
    padding: 2.2rem 1.5rem;
    text-align: center;
    font-family: 'Montserrat', system-ui, sans-serif;
}

.footer-line { margin: 0; line-height: 1.7; }

/* ---------- Redes sociales ---------- */
.footer-social {
    display: flex;
    justify-content: center;
    gap: .85rem;
    margin: 1.2rem 0 .4rem;
}
.footer-social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #cfece5;
    border: 1px solid rgba(15, 181, 164, 0.5);
    background: rgba(15, 181, 164, 0.08);
    transition: color .2s ease, background-color .2s ease,
                border-color .2s ease, transform .2s ease;
}
.footer-social__link svg { width: 21px; height: 21px; display: block; }
.footer-social__link:hover,
.footer-social__link:focus-visible {
    color: #ffffff;
    background: var(--primary);
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(15, 181, 164, 0.4);
}

.footer-brand { color: #f3fbf9; font-weight: 600; letter-spacing: .02em; }
.footer-address { color: #a9c4be; font-size: .95rem; }
.footer-credit { color: #7e988f; font-size: .85rem; letter-spacing: .03em; }
.footer-credit a {
    color: #59d6c6;
    text-decoration: none;
    font-weight: 600;
    transition: color .2s ease;
}
.footer-credit a:hover { color: #ffffff; text-decoration: underline; }
