/* ═══════════════════════════════════════════════════════════════
   REPORTAJE — CSS principal
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────── */
.pe-hero-immersive {
    min-height: 100vh;
}

.pe-hero-bg {
    will-change: transform;
}

/* ── Soporte para alineaciones anchas y completas nativas de Gutenberg ── */
/* Cualquier bloque alignwide/alignfull dentro del wrapper de contenido escapa al 100vw */
.pe-reportaje-body .max-w-3xl .alignwide,
.pe-reportaje-body .max-w-3xl>.alignwide {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.pe-reportaje-body .max-w-3xl .alignfull,
.pe-reportaje-body .max-w-3xl>.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── Scrollytelling (pe-scrolly / pe-scrolly-dark) ─────────────────────────── */
/* Usar selector descendente (sin >) para que funcione siempre */
.pe-reportaje-body .wp-block-media-text.is-style-pe-scrolly,
.pe-reportaje-body .wp-block-media-text.is-style-pe-scrolly-dark {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 150vh;
    align-items: flex-start;
    grid-template-columns: 50% 1fr !important;
}


.wp-block-media-text.is-style-pe-scrolly .wp-block-media-text__media,
.wp-block-media-text.is-style-pe-scrolly-dark .wp-block-media-text__media {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border-radius: 0 !important;
}

.wp-block-media-text.is-style-pe-scrolly .wp-block-media-text__media img,
.wp-block-media-text.is-style-pe-scrolly-dark .wp-block-media-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
    /* Eliminar bordes redondeados */
    max-width: none !important;
}

.wp-block-media-text.is-style-pe-scrolly .wp-block-media-text__content,
.wp-block-media-text.is-style-pe-scrolly-dark .wp-block-media-text__content {
    /* Dar espacio al contenido de texto para que el scroll dure más */
    padding: 10vh 5vw;
    min-height: 150vh;
    /* El texto dicta la altura real de scroll */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* --- Colores específicos para Scrollytelling Oscuro --- */
.wp-block-media-text.is-style-pe-scrolly-dark {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.wp-block-media-text.is-style-pe-scrolly-dark h1,
.wp-block-media-text.is-style-pe-scrolly-dark h2,
.wp-block-media-text.is-style-pe-scrolly-dark h3,
.wp-block-media-text.is-style-pe-scrolly-dark h4,
.wp-block-media-text.is-style-pe-scrolly-dark h5,
.wp-block-media-text.is-style-pe-scrolly-dark h6,
.wp-block-media-text.is-style-pe-scrolly-dark p {
    color: #ffffff !important;
}

/* Centramos el texto verticalmente relativo al bloque */

/* En móviles, desactivar el sticky horizontal porque WordPress apila las columnas nativamente */
@media (max-width: 600px) {

    .wp-block-media-text.is-style-pe-scrolly,
    .wp-block-media-text.is-style-pe-scrolly .wp-block-media-text__content {
        min-height: auto;
    }

    .wp-block-media-text.is-style-pe-scrolly .wp-block-media-text__media {
        position: relative;
        height: 50vh;
    }
}

/* ── Barra de progreso de lectura ─────────────────────────────── */
#pe-reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: #CEFF00;
    z-index: 9999;
    transition: width 0.1s linear;
    pointer-events: none;
}

/* ══════════════════════════════════════════════════════════════
   SCROLL REVEAL — estados iniciales (elementos invisibles)
   ══════════════════════════════════════════════════════════════ */

/* Estado base de todos los elementos reveal */
.pe-reveal,
.reveal {
    transition-property: opacity, transform;
    transition-duration: 0.75s;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

/* Base fade-in state for Block Patterns */
.reveal {
    opacity: 0;
    transform: translateY(36px);
}

/* Slide-up: sube desde abajo */
.pe-reveal--up {
    opacity: 0;
    transform: translateY(36px);
}

/* Slide desde la izquierda (H2) */
.pe-reveal--left {
    opacity: 0;
    transform: translateX(-40px);
}

/* Slide desde la derecha (blockquotes) */
.pe-reveal--right {
    opacity: 0;
    transform: translateX(40px);
}

/* Escala + fade (imágenes) */
.pe-reveal--scale {
    opacity: 0;
    transform: scale(0.95);
}

/* Estado VISIBLE: anulamos todas las transformaciones */
.pe-reveal--visible,
.reveal.pe-reveal--visible {
    opacity: 1 !important;
    transform: none !important;
}

/* ══════════════════════════════════════════════════════════════
   TIPOGRAFÍA DEL CUERPO DEL REPORTAJE
   ══════════════════════════════════════════════════════════════ */
.pe-reportaje-body h2 {
    font-family: 'Lexend', sans-serif;
    font-weight: 900;
    font-size: 1.75rem;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin-top: 3rem;
    margin-bottom: 1rem;
    line-height: 1.15;
    position: relative;
    padding-left: 1rem;
}

/* Acento amarillo a la izquierda en los H2 */
.pe-reportaje-body h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.1em;
    bottom: 0.1em;
    width: 4px;
    background: #f9f506;
    border-radius: 2px;
}

.pe-reportaje-body h3 {
    font-family: 'Lexend', sans-serif;
    font-weight: 700;
    font-size: 1.35rem;
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
}

.pe-reportaje-body p {
    margin-bottom: 1.5rem;
    line-height: 1.85;
}

/* WP Autop Fix para widgets insertados */
.pe-reportaje-body p:empty,
.article-content p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pe-reportaje-body a {
    color: #E11D48;
    text-decoration: underline;
    text-decoration-color: rgba(225, 29, 72, 0.4);
    text-underline-offset: 3px;
}

.pe-reportaje-body a:hover {
    text-decoration-color: #E11D48;
}

.pe-reportaje-body figure {
    margin: 2.5rem 0;
}

.pe-reportaje-body figure img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
}

/* Las imágenes dentro de bloques Media & Text immersivos NO deben tener border-radius */
.pe-reportaje-body .wp-block-media-text.is-style-pe-scrolly figure img,
.pe-reportaje-body .wp-block-media-text.is-style-pe-scrolly-dark figure img,
.pe-reportaje-body .wp-block-media-text.is-style-pe-scrolly .wp-block-media-text__media img,
.pe-reportaje-body .wp-block-media-text.is-style-pe-scrolly-dark .wp-block-media-text__media img {
    border-radius: 0 !important;
}

.pe-reportaje-body figcaption {
    text-align: center;
    font-size: 0.85rem;
    color: #888;
    margin-top: 0.5rem;
}

.pe-reportaje-body blockquote {
    border-left: 4px solid #f9f506;
    padding-left: 1.5rem;
    margin: 2.5rem 0;
    font-style: italic;
    color: #555;
    font-size: 1.1rem;
    line-height: 1.7;
}

.pe-reportaje-body strong {
    font-weight: 700;
}

/* ══════════════════════════════════════════════════════════════
   TIPOGRAFÍA ARTÍCULOS ESTÁNDAR (.article-content en single.php)
   ══════════════════════════════════════════════════════════════ */

.article-content h2 {
    font-size: 1.65rem;
    font-weight: 800 !important;
    line-height: 1.2;
    margin-top: 2.8rem;
    margin-bottom: 0.9rem;
    color: #0f1117;
    letter-spacing: -0.02em;
    padding-left: 1rem;
    position: relative;
}

/* Barra naranja a la izquierda — marca Planeta Endurance */
.article-content h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.1em;
    bottom: 0.1em;
    width: 4px;
    background: #ff5c00;
    border-radius: 2px;
}

.article-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 2.2rem;
    margin-bottom: 0.7rem;
    color: #0f1117;
    letter-spacing: -0.01em;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {

    .article-content h2,
    .article-content h3 {
        color: #f1f5f9;
    }
}

.dark .article-content h2,
.dark .article-content h3 {
    color: #f1f5f9;
}