/* ============================================================
   CPR — Footer (compartido por todo el sitio propio)
   Ex <style> inline de Landing/10-Footer.html. En la home va
   dentro de bundle.css (cpr_encolar_assets_landing); en el resto
   de las páginas con la plantilla "CPR - Ancho completo" lo
   encola cpr_encolar_header_footer() (inc/theme/assets-loader.php).
   Las reglas de ".cpr-footer-col li a" cubren por igual las
   columnas Navegación, Legal y Contacto.
   ============================================================ */

.cpr-footer {
    background: var(--green-800);
    color: rgba(255, 255, 255, 0.85);
    padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 6vw, 6rem) 1.5rem;
    font-family: var(--font-sans);
}

.cpr-footer *,
.cpr-footer *::before,
.cpr-footer *::after {
    box-sizing: border-box;
    font-family: inherit;
}

.cpr-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    padding-bottom: var(--space-6);
    max-width: 1000px;
    margin: 0 auto;
}

.cpr-footer-brand {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.cpr-footer-brand-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.cpr-footer-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.cpr-footer-brand-text strong {
    font-size: var(--fs-body);
    font-weight: var(--fw-semibold);
    color: var(--white);
    line-height: 1.3rem;
}

.cpr-footer-brand-text span {
    font-size: 0.8rem;
    font-weight: var(--fw-regular);
    font-style: italic;
    color: rgba(255, 255, 255, 0.7);
}

.cpr-footer-logo {
    height: 40px !important;
    width: auto !important;
    max-width: none;
    flex-shrink: 0;
}

.cpr-footer-tagline {
    font-size: 0.9rem;
    font-weight: var(--fw-medium);
    line-height: 1.6;
    letter-spacing: var(--ls-normal);
    max-width: 37ch;
    color: rgba(255, 255, 255, 0.7);
}

.cpr-footer-col h4 {
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--grey-050);
    margin: 0 0 0.85rem;
}

.cpr-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.cpr-footer-col li a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    font-weight: var(--fw-semibold);
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: color var(--dur-fast) ease;
}

.cpr-footer-col li a:hover {
    color: var(--white);
}

.cpr-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 1.25rem;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.6);
}

@media (min-width: 640px) {
    .cpr-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cpr-footer-bottom {
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media (min-width: 1025px) {
    .cpr-footer-grid {
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
    }
}
