/* =========================================================================
   STICKY FOOTER — siempre pegado abajo aunque haya poco contenido
   Aplica a TODO el sitio. El body se convierte en flex-column y el main
   crece para empujar al footer al final.
   ========================================================================= */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}
body > .site-main,
body > main#content {
    flex: 1 0 auto;
}
body > .rd-footer {
    flex-shrink: 0;
    margin-top: auto;
}

/* Compensar admin bar de WordPress (32px en >782px, 46px en móvil) */
body.admin-bar {
    min-height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        min-height: calc(100vh - 46px);
    }
}

/* =========================================================================
   FOOTER
   ========================================================================= */
.rd-footer {
    background: var(--rd-color-primary);
    color: #fff;
    font-family: var(--rd-font-body);
}

.rd-footer__inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 50px 24px 0;
}

/* --- Columnas --- */
.rd-footer__cols {
    display: grid;
    grid-template-columns: 33% 22% 22% 22%;
    gap: 16px;
    align-items: start;
    padding-bottom: 36px;
}

.rd-footer__col { padding-right: 24px; }
.rd-footer__col--brand { padding-right: 24px; }

/* --- Logo del footer (SVG inline o IMG fallback) --- */
.rd-footer__logo-link {
    display: inline-block;
    margin: 0 0 16px 0;
    line-height: 1;
    color: #fff;
}
.rd-footer__logo-svg {
    display: block;
    height: 60px;
    width: auto;
    color: #fff;
}
.rd-footer__logo {
    display: block;
    max-width: 220px;
    width: 100%;
    height: auto;
}

/* --- Marca (col 1) --- */
.rd-footer__brand-title {
    font-family: var(--rd-font-display);
    font-size: 34px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 11px 0;
    line-height: 1;
    -webkit-text-stroke: 1.5px #000;
    paint-order: stroke fill;
}
.rd-footer__brand-subtitle {
    font-family: var(--rd-font-body);
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 11px 0;
    letter-spacing: .04em;
}
.rd-footer__brand-tagline {
    font-family: var(--rd-font-body);
    font-weight: 400;
    color: #fff;
    margin: 0;
    line-height: 1.5;
}

/* --- Títulos de columnas --- */
.rd-footer__col-title {
    font-family: var(--rd-font-display);
    font-weight: 600;
    color: #fff;
    margin: 0 0 11px 0;
    font-size: 18px;
    line-height: 1.2;
}

/* --- Menús del footer --- */
.rd-footer__menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.rd-footer__menu li {
    margin: 0 0 11px 0;
}
.rd-footer__menu a {
    font-family: var(--rd-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 14px;
    color: #fff;
    text-decoration: none;
    transition: opacity .2s ease;
}
.rd-footer__menu a:hover,
.rd-footer__menu a:focus {
    opacity: 0.7;
    color: #fff;
    text-decoration: none;
}

/* --- Divider --- */
.rd-footer__divider {
    border: 0;
    border-top: 0.5px solid rgba(255, 255, 255, 0.72);
    margin: 15px 0;
}

/* --- Bottom (copyright + legales) --- */
.rd-footer__bottom {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
    padding: 0 0 24px 0;
}

.rd-footer__copyright {
    font-family: var(--rd-font-body);
    font-size: 14px;
    font-weight: 300;
    line-height: 14px;
    color: #fff;
    margin: 0;
}

.rd-footer__legal-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    gap: 24px;
    flex-wrap: wrap;
}
.rd-footer__legal-menu li { margin: 0; }
.rd-footer__legal-menu a {
    font-family: var(--rd-font-body);
    font-weight: 300;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    transition: opacity .2s ease;
}
.rd-footer__legal-menu a:hover,
.rd-footer__legal-menu a:focus {
    opacity: 0.7;
    color: #fff;
}

/* --- Responsive footer --- */
@media (max-width: 1024px) {
    .rd-footer__cols {
        grid-template-columns: 1fr 1fr;
        gap: 32px 16px;
    }
    .rd-footer__col--brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .rd-footer__inner {
        padding: 50px 24px 24px;
    }
    .rd-footer__cols {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .rd-footer__col,
    .rd-footer__col--brand { padding-right: 0; }

    .rd-footer__brand-title       { font-size: 42px; }
    .rd-footer__brand-subtitle    { font-size: 15px; }
    .rd-footer__brand-tagline     { font-size: 16px; }

    .rd-footer__bottom {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: center;
    }
    .rd-footer__copyright { text-align: center; }
    .rd-footer__legal-menu {
        justify-content: center;
        gap: 12px;
        text-align: center;
    }
}