/* =====================================================
       PP FOOTER — IDENTIDAD VISUAL V1
       Tokens PP · BEM · focus-visible · reduced-motion
       ===================================================== */

    .pp-footer,
    .pp-footer * {
        box-sizing: border-box;
    }

    .pp-footer {
        width: 100%;
        margin-top: 64px;
        border-top: 1px solid var(--pp-color-border, #E2E8F0);
        background: var(--pp-color-surface, #FFFFFF);
    }

    .pp-footer__partners .ppam-slot {display:block!important;}
    /* Partners stays visible inside the footer, independently of paid placements. */
    .pp-footer__partners .ppam-partners {display:block!important;width:100%;margin:0;padding:24px;border:1px solid var(--pp-color-border,#dbe3ee);border-radius:16px;background:var(--pp-color-surface,#fff);}
    .pp-footer__partners .ppam-invite {display:flex;align-items:center;justify-content:space-between;gap:24px;}
    .pp-footer__partners h2 {margin:0 0 8px;font-size:24px;line-height:1.25;color:var(--pp-color-text,#172033);}
    .pp-footer__partners p {margin:0;color:var(--pp-color-text-muted,#475569);}
    .pp-footer__partners .ppam-button {display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border-radius:9px;background:#1d4ed8;color:#fff!important;text-decoration:none;font-size:15px;font-weight:700;flex-shrink:0;}
    .pp-footer__partners .ppam-button:focus-visible {outline:3px solid #2563eb;outline-offset:4px;}
    @media(max-width:600px){.pp-footer__partners .ppam-invite{flex-direction:column;align-items:stretch;gap:18px;}.pp-footer__partners .ppam-button{width:100%;}}

    /* En el dashboard el contenido corto ocupa al menos una pantalla completa. */
    body.author-dashboard > .flex-wrap {
        min-height: calc(100vh - 109px);
        min-height: calc(100svh - 109px);
    }

    @media (max-width: 1024px) {
        body.author-dashboard > .flex-wrap {
            min-height: calc(100vh - 89px);
            min-height: calc(100svh - 89px);
        }
    }

    /* ——— Inner (max-width centrado) ——— */
    .pp-footer__inner {
        display: flex;
        flex-direction: column;
        gap: 40px;
        width: 100%;
        max-width: var(--pp-content-max-width, 1120px);
        margin: 0 auto;
        padding: 56px clamp(16px, 4vw, 48px) 40px;
    }

    /* ——— Brand / Logo ——— */
    .pp-footer__brand {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .pp-footer__logo {
        display: inline-flex;
        text-decoration: none;
    }

    .pp-footer__logo img {
        display: block;
        width: auto;
        height: 24px;
        object-fit: contain;
    }

    .pp-footer__logo:focus-visible {
        outline: var(--pp-focus-ring, 3px solid rgba(59,123,255,.36));
        outline-offset: var(--pp-focus-offset, 3px);
        border-radius: 4px;
    }

    .pp-footer__tagline {
        margin: 0;
        color: var(--pp-color-text-muted, #475569);
        font-size: 13px;
        font-weight: 600;
        line-height: 1.4;
    }

    /* ——— Navegación ——— */
    .pp-footer__nav {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }

    .pp-footer__nav-col {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .pp-footer__nav-title {
        margin: 0;
        color: var(--pp-color-text, #111827);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .pp-footer__nav-list {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .pp-footer__nav-list li {
        margin: 0;
        padding: 0;
    }

    .pp-footer__nav-list a {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
        color: var(--pp-color-text-muted, #475569);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.3;
        text-decoration: none;
        transition: color var(--pp-duration-fast, .18s) var(--pp-easing-default, ease);
    }

    .pp-footer__nav-list a:focus-visible {
        outline: var(--pp-focus-ring, 3px solid rgba(59,123,255,.36));
        outline-offset: var(--pp-focus-offset, 3px);
        border-radius: 4px;
    }

    /* ——— Divisor ——— */
    .pp-footer__divider {
        margin: 0;
        border: none;
        border-top: 1px solid var(--pp-color-border, #E2E8F0);
    }

    /* ——— Bottom bar ——— */
    .pp-footer__bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
    }

    /* ——— Redes sociales ——— */
    .pp-footer__social {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .pp-footer__social-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border: 1px solid var(--pp-color-border, #E2E8F0);
        border-radius: var(--pp-radius-md, 12px);
        background: transparent;
        color: var(--pp-color-text-muted, #475569);
        text-decoration: none;
        transition: background var(--pp-duration-fast, .18s) ease,
                    border-color var(--pp-duration-fast, .18s) ease,
                    color var(--pp-duration-fast, .18s) ease;
    }

    .pp-footer__social-link:focus-visible {
        outline: var(--pp-focus-ring, 3px solid rgba(59,123,255,.36));
        outline-offset: var(--pp-focus-offset, 3px);
    }

    /* ——— Copyright ——— */
    .pp-footer__copy {
        margin: 0;
        color: var(--pp-color-text-muted, #475569);
        font-size: 13px;
        font-weight: 500;
        line-height: 1.4;
    }

    /* ——— Hover (dispositivos con hover real) ——— */
    @media (hover: hover) {
        .pp-footer__nav-list a:hover {
            color: var(--pp-color-brand, #2563EB);
        }

        .pp-footer__social-link:hover {
            border-color: var(--pp-color-brand, #2563EB);
            background: var(--pp-color-brand-soft, rgba(1,80,245,.12));
            color: var(--pp-color-brand, #2563EB);
        }
    }

    /* ——— Responsive: tablet ——— */
    @media (max-width: 860px) {
        .pp-footer__nav {
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
        }

        .pp-footer__bottom {
            flex-direction: column;
            align-items: flex-start;
            gap: 20px;
        }
    }

    /* ——— Responsive: mobile ——— */
    @media (max-width: 540px) {
        .pp-footer__inner {
            gap: 32px;
            padding-top: 40px;
        }

        .pp-footer__nav {
            grid-template-columns: 1fr;
            gap: 28px;
        }

        .pp-footer__bottom {
            align-items: center;
            text-align: center;
        }

        .pp-footer__copy {
            text-align: center;
            width: 100%;
        }
    }

    /* ——— Reduced motion ——— */
    @media (prefers-reduced-motion: reduce) {
        .pp-footer__nav-list a,
        .pp-footer__social-link {
            transition: none !important;
        }
    }
