/* =========================================================================
   PÁGINAS INTERIORES — PRL Bomberos
   Sección "Quiénes somos": landing, Objetivos, Nuestro equipo, FAQ.
   Misma estética que la portada (estilo Apple): aire, tipografía grande,
   gradientes sutiles, formas redondeadas y micro-animaciones al hacer scroll.
   Reutiliza los tokens de style.css.
   ========================================================================= */

/* --- Páginas de sección a todo el ancho ---------------------------------
   Desactivamos el contenedor de GeneratePress (max-width + paddings) para
   que las bandas de color lleguen a los bordes. El contenido se vuelve a
   centrar con .prlb-wrap. Conservamos el padding superior (cabecera fija). */
body.prlb-seccion #page,
body.prlb-seccion #content,
body.prlb-seccion .site-content {
    max-width: 100vw;
    padding-left: 0;
    padding-right: 0;
    overflow-x: clip;
}
body.prlb-seccion #primary {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
}
/* Las vistas que usan la plantilla de GeneratePress (PMPro y WooCommerce)
   heredan un margen superior de .site-main que dejaba una franja blanca
   entre la cabecera y nuestro hero. Nuestras plantillas propias no pasan
   por aquí (montan su propio <main>), así que esto solo afecta a esas. */
body.prlb-seccion .site-main {
    margin-top: 0;
    margin-bottom: 0;
}

/* --- Compartidos (también viven en home.css, aquí para páginas) --------- */
.prlb-page { overflow-x: clip; }
.prlb-page .prlb-wrap {
    width: min(1120px, 100vw - 2.5rem);
    margin-inline: auto;
}
.prlb-page .prlb-eyebrow {
    display: inline-block;
    font-size: var(--prlb-fs-pequeno);
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--prlb-acento);
    margin-bottom: var(--prlb-space-2);
}
.prlb-page .prlb-section-head {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.prlb-page .prlb-section-head p {
    color: var(--prlb-texto-secundario);
    font-size: var(--prlb-fs-grande);
    margin-top: var(--prlb-space-2);
}

/* Reveal al hacer scroll (igual que en la portada) */
html.prlb-js .prlb-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--prlb-reveal-delay, 0ms);
    will-change: opacity, transform;
}
html.prlb-js .prlb-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    html.prlb-js .prlb-reveal { opacity: 1 !important; transform: none !important; }
}

/* =========================================================================
   1. CABECERA DE PÁGINA (hero compacto con gradiente corporativo)
   ========================================================================= */
.prlb-page-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 6vw, 4.25rem) 0;
    text-align: center;
    color: #fff;
    /* Aurora elegante: base carbón con destellos rojos muy suaves (poco
       saturados) para no fatigar la vista. Dan un toque de color al cristal. */
    background:
        radial-gradient(70% 65% at 15% 8%,  rgba(224, 0, 16, 0.16) 0%, rgba(224, 0, 16, 0) 55%),
        radial-gradient(60% 55% at 88% 20%, rgba(224, 0, 16, 0.11) 0%, rgba(224, 0, 16, 0) 60%),
        radial-gradient(55% 60% at 50% 50%, rgba(224, 0, 16, 0.08) 0%, rgba(224, 0, 16, 0) 62%),
        radial-gradient(85% 90% at 60% 120%, rgba(150, 24, 34, 0.26) 0%, rgba(150, 24, 34, 0) 62%),
        linear-gradient(160deg, #1b1b20 0%, #221a1d 55%, #29161a 100%);
}
.prlb-page-hero::after {
    /* Halo cálido superior, muy sutil, para dar profundidad */
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(120% 75% at 50% -15%, rgba(255, 150, 158, 0.08) 0%, rgba(255, 150, 158, 0) 60%);
}
.prlb-page-hero .prlb-wrap { position: relative; z-index: 1; }

/* --- Panel "liquid glass" con el título --- */
.prlb-page-hero__panel {
    position: relative;
    overflow: hidden;
    max-width: 900px;
    margin-inline: auto;
    padding: clamp(2.25rem, 5vw, 3.75rem) clamp(1.5rem, 5vw, 3.5rem);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.05) 100%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.40),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
}
/* Brillo especular superior (sheen) tipo liquid glass */
.prlb-page-hero__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(140% 90% at 50% -25%, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0) 55%);
}
/* El contenido por encima del brillo */
.prlb-page-hero__panel > * { position: relative; z-index: 1; }

.prlb-page-hero .prlb-eyebrow { color: #ff7a82; }
.prlb-page-hero h1 {
    color: #fff;
    max-width: 16ch;
    margin-inline: auto;
}
.prlb-page-hero__sub {
    color: rgba(255, 255, 255, 0.86);
    font-size: var(--prlb-fs-grande);
    line-height: 1.55;
    max-width: 56ch;
    margin: var(--prlb-space-3) auto 0;
}
.prlb-page-hero__cta { margin-top: var(--prlb-space-4); }
.prlb-page-hero__cta-nota {
    margin: var(--prlb-space-2) 0 0;
    font-size: var(--prlb-fs-pequeno);
    color: rgba(255, 255, 255, 0.7);
}

/* =========================================================================
   2. SUB-NAVEGACIÓN DE SECCIÓN (píldoras, pegajosa bajo la cabecera)
   ========================================================================= */
.prlb-subnav {
    position: sticky;
    top: var(--prlb-header-h);
    z-index: 500;
    background-color: rgba(255, 255, 255, 0.82);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid var(--prlb-borde);
}
.admin-bar .prlb-subnav { top: calc(var(--prlb-header-h) + 32px); }
@media (max-width: 782px) { .admin-bar .prlb-subnav { top: calc(var(--prlb-header-h) + 46px); } }

.prlb-subnav__inner {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding-block: 0.6rem;
    overflow-x: auto;
    scrollbar-width: none;
}
.prlb-subnav__inner::-webkit-scrollbar { display: none; }

.prlb-subnav__home {
    font-weight: 600;
    color: var(--prlb-texto);
    font-size: var(--prlb-fs-pequeno);
    white-space: nowrap;
    padding: 0.45rem 0.2rem;
}
.prlb-subnav__home:hover { color: var(--prlb-acento); }
.prlb-subnav__sep {
    width: 1px;
    height: 18px;
    background: var(--prlb-borde);
    margin: 0 0.4rem;
    flex: none;
}
.prlb-subnav__link {
    white-space: nowrap;
    font-size: var(--prlb-fs-pequeno);
    font-weight: 500;
    color: var(--prlb-texto-secundario);
    padding: 0.45rem 0.95rem;
    border-radius: var(--prlb-radius-pill);
    transition: background-color var(--prlb-transition), color var(--prlb-transition);
}
.prlb-subnav__link:hover { color: var(--prlb-texto); background-color: var(--prlb-fondo-alt); }
.prlb-subnav__link.is-active {
    color: #fff;
    background-color: var(--prlb-acento);
}

/* =========================================================================
   3. BLOQUES DE CONTENIDO COMUNES
   ========================================================================= */
.prlb-page section { padding-block: clamp(3rem, 6vw, 5.5rem); }
.prlb-section--alt { background-color: var(--prlb-fondo-alt); }

.prlb-lead {
    font-size: var(--prlb-fs-grande);
    line-height: 1.6;
    color: var(--prlb-texto-secundario);
    max-width: 64ch;
}

/* =========================================================================
   4. OBJETIVOS Y SERVICIOS
   ========================================================================= */
.prlb-goals__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--prlb-space-3);
    margin-top: clamp(2rem, 4vw, 3rem);
}
.prlb-goal {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.35rem 1.1rem;
    padding: var(--prlb-space-4);
}
.prlb-goal::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--prlb-acento), #ff7a82);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.prlb-goal:hover::before { transform: scaleX(1); }
.prlb-goal:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(224, 0, 16, 0.14);
}
.prlb-goal__num {
    grid-column: 1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid rgba(224, 0, 16, 0.22);
    box-shadow: 0 0 0 6px rgba(224, 0, 16, 0.05);
    color: var(--prlb-acento);
    font-weight: 700;
    font-size: 1.15rem;
    transition: background var(--prlb-transition), color var(--prlb-transition),
                box-shadow var(--prlb-transition), border-color var(--prlb-transition);
}
.prlb-goal:hover .prlb-goal__num {
    background: linear-gradient(150deg, #ff2b3b, var(--prlb-acento));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 10px 22px rgba(224, 0, 16, 0.32);
}
.prlb-goal p { grid-column: 1 / -1; color: var(--prlb-texto-secundario); line-height: 1.55; margin: 0.6rem 0 0; }

/* Lista de acciones (servicios) */
.prlb-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--prlb-space-2) var(--prlb-space-4);
    margin-top: clamp(2rem, 4vw, 3rem);
    list-style: none;
    padding: 0;
}
.prlb-actions li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: var(--prlb-fs-base);
    line-height: 1.5;
}
.prlb-actions svg { flex: none; width: 22px; height: 22px; color: var(--prlb-acento); margin-top: 1px; }

/* Tarjeta de descarga (estatutos) */
.prlb-download {
    display: flex;
    align-items: center;
    gap: var(--prlb-space-3);
    flex-wrap: wrap;
    margin-top: clamp(2.5rem, 5vw, 3.5rem);
    padding: var(--prlb-space-3);
    background-color: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius-lg);
    box-shadow: var(--prlb-shadow);
}
.prlb-download__icon {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--prlb-radius);
    background-color: rgba(224, 0, 16, 0.10);
    color: var(--prlb-acento);
}
.prlb-download__icon svg { width: 28px; height: 28px; }
.prlb-download__text { flex: 1 1 220px; }
.prlb-download__text strong { display: block; font-size: var(--prlb-fs-grande); }
.prlb-download__text span { color: var(--prlb-texto-secundario); font-size: var(--prlb-fs-pequeno); }

/* =========================================================================
   5. NUESTRO EQUIPO
   ========================================================================= */
.prlb-team__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--prlb-space-3);
    margin-top: clamp(2rem, 4vw, 3rem);
}
.prlb-member {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--prlb-space-4) var(--prlb-space-3) var(--prlb-space-3);
}
.prlb-member__photo {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: var(--prlb-space-2);
    border: 3px solid #fff;
    box-shadow: 0 0 0 1px var(--prlb-borde), var(--prlb-shadow);
    background-color: var(--prlb-fondo-alt);
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}
.prlb-member__name { font-size: var(--prlb-fs-h3); margin: 0; }
/* Nombre en línea 1 y apellidos en línea 2: bloque siempre de 2 líneas
   para que el cargo (línea 3) quede a la misma altura en todas las tarjetas. */
.prlb-member__first,
.prlb-member__last { display: block; line-height: 1.12; }
.prlb-member__last { font-weight: 600; }
.prlb-member__role {
    display: inline-block;
    margin-top: 0.55rem;
    padding: 0.25rem 0.8rem;
    border-radius: var(--prlb-radius-pill);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--prlb-acento);
    background-color: rgba(224, 0, 16, 0.10);
}
.prlb-member__role[data-rol="Vocal"] {
    color: var(--prlb-texto-secundario);
    background-color: var(--prlb-fondo-alt);
}
.prlb-member__bio {
    list-style: none;
    margin: var(--prlb-space-2) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.prlb-member__bio li {
    font-size: var(--prlb-fs-pequeno);
    color: var(--prlb-texto-secundario);
    line-height: 1.45;
}
.prlb-member__mail {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: var(--prlb-space-2);
    font-size: var(--prlb-fs-pequeno);
    font-weight: 500;
}
.prlb-member__mail svg { width: 16px; height: 16px; }

/* =========================================================================
   6. FAQ — acordeón accesible (details/summary nativo)
   ========================================================================= */
.prlb-faq {
    max-width: 820px;
    margin-inline: auto;
    margin-top: clamp(2rem, 4vw, 3rem);
    display: grid;
    gap: var(--prlb-space-2);
}
.prlb-faq__item {
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    background-color: var(--prlb-fondo);
    overflow: hidden;
    transition: box-shadow var(--prlb-transition), border-color var(--prlb-transition);
}
.prlb-faq__item[open] {
    box-shadow: var(--prlb-shadow);
    border-color: rgba(224, 0, 16, 0.35);
}
.prlb-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--prlb-space-2);
    padding: var(--prlb-space-3);
    cursor: pointer;
    font-weight: 600;
    font-size: var(--prlb-fs-grande);
    line-height: 1.4;
    list-style: none;
    color: var(--prlb-texto);
}
.prlb-faq__q::-webkit-details-marker { display: none; }
.prlb-faq__q:hover { color: var(--prlb-acento); }
.prlb-faq__icon {
    flex: none;
    width: 26px;
    height: 26px;
    position: relative;
    transition: transform var(--prlb-transition);
}
.prlb-faq__icon::before,
.prlb-faq__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background-color: var(--prlb-acento);
    transform: translate(-50%, -50%);
    transition: transform var(--prlb-transition);
}
.prlb-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.prlb-faq__item[open] .prlb-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.prlb-faq__a {
    padding: 0 var(--prlb-space-3) var(--prlb-space-3);
    color: var(--prlb-texto-secundario);
    line-height: 1.65;
}
.prlb-faq__a p { color: inherit; margin: 0; }

/* =========================================================================
   7. LANDING "QUIÉNES SOMOS" — tarjetas de acceso a subpáginas
   ========================================================================= */
.prlb-about__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--prlb-space-3);
    margin-top: clamp(2rem, 4vw, 3rem);
}
.prlb-about__card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.35rem 1.1rem;
    padding: var(--prlb-space-4);
    text-decoration: none;
    color: inherit;
}
.prlb-about__card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--prlb-acento), #ff7a82);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.prlb-about__card:hover::before { transform: scaleX(1); }
.prlb-about__card:hover {
    color: inherit;
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(224, 0, 16, 0.14);
}
.prlb-about__card .prlb-about__icon {
    grid-column: 1;
    grid-row: 1;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid rgba(224, 0, 16, 0.22);
    box-shadow: 0 0 0 6px rgba(224, 0, 16, 0.05);
    color: var(--prlb-acento);
    transition: background var(--prlb-transition), color var(--prlb-transition),
                box-shadow var(--prlb-transition), transform var(--prlb-transition),
                border-color var(--prlb-transition);
}
.prlb-about__card:hover .prlb-about__icon {
    background: linear-gradient(150deg, #ff2b3b, var(--prlb-acento));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 10px 22px rgba(224, 0, 16, 0.32);
    transform: translateY(-1px);
}
.prlb-about__icon svg { width: 26px; height: 26px; }
.prlb-about__card h3 { grid-column: 2; grid-row: 1; margin: 0; }
.prlb-about__card p { grid-column: 1 / -1; color: var(--prlb-texto-secundario); margin: 0.6rem 0 0; line-height: 1.55; }
.prlb-about__more {
    grid-column: 1 / -1;
    margin-top: var(--prlb-space-2);
    font-weight: 600;
    color: var(--prlb-acento);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: gap var(--prlb-transition);
}
.prlb-about__more svg { width: 18px; height: 18px; flex: none; }
.prlb-about__card:hover .prlb-about__more { gap: 0.6rem; }

/* Cifras destacadas */
.prlb-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--prlb-space-3);
    margin-top: clamp(2rem, 4vw, 3rem);
    text-align: center;
}
.prlb-stat strong {
    display: block;
    font-size: clamp(2.25rem, 5vw, 3rem);
    font-weight: 700;
    line-height: 1;
    color: var(--prlb-acento);
    letter-spacing: var(--prlb-ls-titulo);
}
.prlb-stat span { color: var(--prlb-texto-secundario); font-size: var(--prlb-fs-pequeno); }

/* =========================================================================
   8. BANDA "ÚNETE"
   El estilo de .prlb-cta es global (style.css). Aquí solo garantizamos que
   el "eyebrow" mantenga el rosa sobre fondo oscuro (gana a .prlb-page .prlb-eyebrow).
   ========================================================================= */
.prlb-cta .prlb-eyebrow { color: #ff7a82; }

/* =========================================================================
   8b. FORMACIÓN — áreas de conocimiento (chips) y frase destacada
   ========================================================================= */
.prlb-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: clamp(2rem, 4vw, 3rem);
}
.prlb-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 1.15rem;
    border-radius: var(--prlb-radius-pill);
    background: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    font-size: var(--prlb-fs-pequeno);
    font-weight: 500;
    box-shadow: var(--prlb-shadow-sm);
    transition: transform var(--prlb-transition), border-color var(--prlb-transition), box-shadow var(--prlb-transition);
}
.prlb-chip::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--prlb-acento);
    flex: none;
}
.prlb-chip:hover {
    transform: translateY(-2px);
    border-color: rgba(224, 0, 16, 0.40);
    box-shadow: var(--prlb-shadow);
}

/* Frase destacada (cita del modelo de la asociación) */
.prlb-quote {
    max-width: 880px;
    margin-inline: auto;
    text-align: center;
    position: relative;
}
.prlb-quote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: clamp(1.4rem, 3vw, 2rem);
    line-height: 1.4;
    font-weight: 600;
    font-style: italic;
    letter-spacing: var(--prlb-ls-titulo);
    color: var(--prlb-texto);
}
.prlb-quote blockquote b { color: var(--prlb-acento); font-weight: 600; }

/* =========================================================================
   8c. CONGRESOS — edición destacada (spotlight) + ediciones (acordeón)
   ========================================================================= */
.prlb-spotlight {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
    margin-top: clamp(2rem, 4vw, 3rem);
}
.prlb-spotlight__poster { margin: 0; }
.prlb-spotlight__poster img {
    display: block;
    width: 100%;
    max-width: 340px;
    margin-inline: auto;
    border-radius: var(--prlb-radius-lg);
    box-shadow: var(--prlb-shadow-lg);
}
.prlb-spotlight__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.9rem;
    border-radius: var(--prlb-radius-pill);
    background: rgba(224, 0, 16, 0.10);
    color: var(--prlb-acento);
    font-size: var(--prlb-fs-pequeno);
    font-weight: 600;
}
.prlb-spotlight__content h2 { margin: var(--prlb-space-2) 0 0; }
.prlb-spotlight__meta {
    color: var(--prlb-texto-secundario);
    font-weight: 600;
    margin: 0.4rem 0 var(--prlb-space-2);
}
.prlb-spotlight__content p { color: var(--prlb-texto-secundario); line-height: 1.6; }
@media (max-width: 800px) {
    .prlb-spotlight { grid-template-columns: 1fr; }
    .prlb-spotlight__poster { order: -1; }
}

/* Acordeón de ediciones (reutiliza la mecánica de .prlb-faq__item) */
.prlb-editions {
    max-width: 940px;
    margin: clamp(2rem, 4vw, 3rem) auto 0;
    display: grid;
    gap: var(--prlb-space-2);
}
.prlb-edition__head { gap: var(--prlb-space-2); align-items: center; }
.prlb-edition__titlewrap {
    display: flex;
    align-items: center;
    gap: var(--prlb-space-2);
    text-align: left;
    min-width: 0;
}
.prlb-edition__num {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(224, 0, 16, 0.10);
    color: var(--prlb-acento);
    font-weight: 700;
    font-size: 1.05rem;
}
.prlb-edition__name {
    display: block;
    font-size: var(--prlb-fs-grande);
    font-weight: 600;
    line-height: 1.2;
    color: var(--prlb-texto);
}
.prlb-edition__meta {
    display: block;
    font-size: var(--prlb-fs-pequeno);
    color: var(--prlb-texto-secundario);
    font-weight: 500;
}
.prlb-edition__body { padding: 0 var(--prlb-space-3) var(--prlb-space-3); }
.prlb-edition__group + .prlb-edition__group { margin-top: var(--prlb-space-3); }
.prlb-edition__group h4 {
    font-size: var(--prlb-fs-pequeno);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--prlb-acento);
    margin: 0 0 var(--prlb-space-2);
}
.prlb-edition__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.6rem;
}
.prlb-edition__list li {
    position: relative;
    padding-left: 1.1rem;
    line-height: 1.45;
}
.prlb-edition__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--prlb-acento);
}
.prlb-edition__list b { font-weight: 600; }
.prlb-edition__list .autor { color: var(--prlb-texto-secundario); }
.prlb-edition__sponsors { color: var(--prlb-texto-secundario); line-height: 1.6; margin: 0; }

/* Cartel (miniatura) dentro de cada edición + cabida en dos columnas */
.prlb-edition__layout {
    display: flex;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: flex-start;
}
.prlb-edition__poster { flex: none; width: 150px; }
.prlb-edition__main { flex: 1 1 auto; min-width: 0; }
@media (max-width: 640px) {
    .prlb-edition__layout { flex-direction: column; }
    .prlb-edition__poster { width: 130px; }
}

.prlb-poster-thumb {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    overflow: hidden;
    background: none;
    cursor: zoom-in;
    box-shadow: var(--prlb-shadow);
    transition: transform var(--prlb-transition), box-shadow var(--prlb-transition);
}
.prlb-poster-thumb img { display: block; width: 100%; height: auto; }
.prlb-poster-thumb:hover { transform: translateY(-2px); box-shadow: var(--prlb-shadow-lg); }
.prlb-poster-thumb__zoom {
    position: absolute;
    right: 8px;
    bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.prlb-poster-thumb__zoom svg { width: 16px; height: 16px; }

/* Lightbox (visor a tamaño completo) */
.prlb-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 4vw, 3rem);
    background: rgba(10, 10, 12, 0.88);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    cursor: zoom-out;
}
.prlb-lightbox.is-open { display: flex; }
.prlb-lightbox img {
    max-width: 100%;
    max-height: 100%;
    border-radius: var(--prlb-radius);
    box-shadow: var(--prlb-shadow-lg);
}
.prlb-lightbox__close {
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    transition: background-color var(--prlb-transition);
}
.prlb-lightbox__close:hover { background: rgba(255, 255, 255, 0.26); }

/* =========================================================================
   8d. CONTACTO — datos + formulario
   ========================================================================= */
.prlb-contact {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: start;
    margin-top: clamp(2rem, 4vw, 3rem);
}
@media (max-width: 820px) {
    .prlb-contact { grid-template-columns: 1fr; }
}

.prlb-contact__info h2 { margin: 0 0 var(--prlb-space-2); }
.prlb-contact__info p { color: var(--prlb-texto-secundario); line-height: 1.6; }
.prlb-contact__list {
    list-style: none;
    margin: var(--prlb-space-3) 0 0;
    padding: 0;
    display: grid;
    gap: var(--prlb-space-3);
}
.prlb-contact__item { display: flex; align-items: flex-start; gap: var(--prlb-space-2); }
.prlb-contact__icon {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--prlb-radius);
    background: rgba(224, 0, 16, 0.10);
    color: var(--prlb-acento);
}
.prlb-contact__icon svg { width: 22px; height: 22px; }
.prlb-contact__item strong { display: block; font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); font-weight: 600; }
.prlb-contact__item a { font-weight: 500; }
.prlb-contact__social { margin-top: var(--prlb-space-4); }
.prlb-contact__social .prlb-social { justify-content: flex-start; }

/* Formulario */
.prlb-form {
    background: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius-lg);
    box-shadow: var(--prlb-shadow);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    display: grid;
    gap: var(--prlb-space-3);
}
.prlb-field { display: grid; gap: 0.45rem; }
.prlb-field label,
.prlb-field__legend {
    font-size: var(--prlb-fs-pequeno);
    font-weight: 600;
    color: var(--prlb-texto);
}
.prlb-field label .req { color: var(--prlb-acento); }
.prlb-field input,
.prlb-field select,
.prlb-field textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    font: inherit;
    color: var(--prlb-texto);
    background: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    transition: border-color var(--prlb-transition), box-shadow var(--prlb-transition);
}
/* Select con flecha propia (aspecto coherente entre navegadores) */
.prlb-field select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.6rem;
    cursor: pointer;
}
.prlb-field textarea { min-height: 110px; resize: vertical; }
.prlb-field input::placeholder,
.prlb-field textarea::placeholder { color: var(--prlb-texto-secundario); opacity: 0.7; }
.prlb-field input:focus,
.prlb-field select:focus,
.prlb-field textarea:focus {
    outline: none;
    border-color: var(--prlb-acento);
    box-shadow: 0 0 0 3px rgba(224, 0, 16, 0.14);
}
/* Grupo de opciones tipo "pastilla" (Categoría) */
.prlb-radiogroup { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.prlb-radiopill { position: relative; }
.prlb-radiopill input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
}
.prlb-radiopill span {
    display: inline-block;
    padding: 0.55rem 1.05rem;
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius-pill);
    font-size: var(--prlb-fs-pequeno);
    font-weight: 600;
    color: var(--prlb-texto-secundario);
    background: var(--prlb-fondo);
    transition: all var(--prlb-transition);
}
.prlb-radiopill input:checked + span {
    color: #fff;
    background: var(--prlb-acento);
    border-color: var(--prlb-acento);
}
.prlb-radiopill input:focus-visible + span {
    box-shadow: 0 0 0 3px rgba(224, 0, 16, 0.18);
}
.prlb-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--prlb-space-3);
}
@media (max-width: 540px) { .prlb-form__row { grid-template-columns: 1fr; } }

/* (La trampa antispam .prlb-hp vive en style.css: es global porque la
   newsletter del pie aparece en toda la web, no solo en páginas interiores.) */

.prlb-form button[type="submit"] { justify-self: start; }
.prlb-form__hint { font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); margin: 0; }

/* Aviso de resultado (éxito / error) */
.prlb-notice {
    border-radius: var(--prlb-radius);
    padding: var(--prlb-space-2) var(--prlb-space-3);
    margin-bottom: var(--prlb-space-3);
    font-weight: 500;
    border: 1px solid transparent;
}
.prlb-notice--ok {
    background: #e9f7ef;
    border-color: #b7e4c7;
    color: #1b6b3a;
}
.prlb-notice--error {
    background: #fdecec;
    border-color: #f5c2c2;
    color: #a3000c;
}

/* =========================================================================
   8e. HAZTE SOCIO — precio destacado y pasos
   ========================================================================= */
.prlb-price {
    text-align: center;
    max-width: 560px;
    margin: clamp(2rem, 4vw, 3rem) auto 0;
    background: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius-lg);
    box-shadow: var(--prlb-shadow);
    padding: clamp(2rem, 5vw, 3rem);
}
.prlb-price__amount {
    font-size: clamp(3rem, 8vw, 4.5rem);
    font-weight: 700;
    line-height: 1;
    color: var(--prlb-acento);
    letter-spacing: var(--prlb-ls-titulo);
}
.prlb-price__amount span {
    font-size: 1.25rem;
    color: var(--prlb-texto-secundario);
    font-weight: 600;
    letter-spacing: 0;
}
.prlb-price__lead { font-size: var(--prlb-fs-grande); margin: 0 0 var(--prlb-space-2); }
.prlb-price__note { color: var(--prlb-texto-secundario); font-size: var(--prlb-fs-pequeno); margin: var(--prlb-space-2) 0 0; }
.prlb-price .prlb-btn { margin-top: var(--prlb-space-3); }

/* Pasos del alta (reutiliza .prlb-goal con título) */
.prlb-goal h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: var(--prlb-fs-h3); align-self: center; }

/* Landing de socio: resumen de cuota + cómo funciona */
.prlb-join2 {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(2rem, 5vw, 3.5rem);
    align-items: start;
}
@media (max-width: 900px) { .prlb-join2 { grid-template-columns: 1fr; } }
.prlb-join2__card { padding: clamp(1.5rem, 3vw, 2rem); position: sticky; top: calc(var(--prlb-header-h) + 1rem); }
@media (max-width: 900px) { .prlb-join2__card { position: static; } }
.prlb-join2__body h2 { margin: 0 0 var(--prlb-space-3); }

/* Pasos numerados del alta */
.prlb-pasos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--prlb-space-3); }
.prlb-pasos li { display: flex; align-items: flex-start; gap: var(--prlb-space-2); }
.prlb-pasos__num {
    flex: none;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid rgba(224, 0, 16, 0.22);
    box-shadow: 0 0 0 5px rgba(224, 0, 16, 0.05);
    color: var(--prlb-acento);
    font-weight: 700;
}
.prlb-pasos h3 { margin: 0 0 0.2rem; font-size: var(--prlb-fs-grande); }
.prlb-pasos p { margin: 0; color: var(--prlb-texto-secundario); }

/* Gestión / cancelación de la suscripción */
.prlb-manage {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    padding: clamp(1.75rem, 4vw, 2.75rem);
}
.prlb-manage h2 { margin: 0 0 var(--prlb-space-2); }
.prlb-manage p { color: var(--prlb-texto-secundario); margin: 0 0 var(--prlb-space-2); }
.prlb-manage__list {
    list-style: none;
    margin: var(--prlb-space-2) 0 var(--prlb-space-3);
    padding: 0;
    display: grid;
    gap: 0.7rem;
}
.prlb-manage__list li { display: flex; align-items: flex-start; gap: 0.6rem; }
.prlb-manage__list svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--prlb-acento); margin-top: 2px; }
.prlb-manage__list span { color: var(--prlb-texto); }
.prlb-manage__note { font-size: var(--prlb-fs-pequeno); }
.prlb-manage code {
    font-size: 0.9em;
    padding: 0.1em 0.4em;
    border-radius: var(--prlb-radius-sm);
    background: var(--prlb-fondo-alt);
    color: var(--prlb-texto);
}
.prlb-manage__aside {
    text-align: center;
    padding: var(--prlb-space-3);
    background: var(--prlb-fondo-alt);
    border-radius: var(--prlb-radius-lg);
}
.prlb-manage__aside .prlb-btn { width: 100%; justify-content: center; }
.prlb-manage__hint { font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); margin: var(--prlb-space-2) 0 0; }
@media (max-width: 720px) {
    .prlb-manage { grid-template-columns: 1fr; }
}

/* Formas de pago */
.prlb-pay {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--prlb-space-3);
    max-width: 760px;
    margin: clamp(2rem, 4vw, 3rem) auto 0;
}
.prlb-pay__method {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--prlb-space-2);
    padding: var(--prlb-space-4);
}
.prlb-pay__method h3 { margin: 0; }
.prlb-pay__method p { color: var(--prlb-texto-secundario); margin: 0; line-height: 1.55; flex: 1; }
.prlb-pay__method .prlb-btn { margin-top: var(--prlb-space-2); }
.prlb-pay__badges { font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); }

/* --- Alta de socio (formato checkout: resumen + formulario) --- */
.prlb-join {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
@media (max-width: 860px) { .prlb-join { grid-template-columns: 1fr; } }

.prlb-join__summary { position: sticky; top: calc(var(--prlb-header-h) + 1rem); }
@media (max-width: 860px) { .prlb-join__summary { position: static; } }
.prlb-join__price {
    font-size: clamp(2.25rem, 6vw, 3rem);
    font-weight: 700;
    line-height: 1;
    color: var(--prlb-acento);
    letter-spacing: var(--prlb-ls-titulo);
    margin: 0.4rem 0 var(--prlb-space-3);
}
.prlb-join__price span { font-size: 1.05rem; color: var(--prlb-texto-secundario); font-weight: 600; letter-spacing: 0; }
.prlb-join__list { list-style: none; margin: 0 0 var(--prlb-space-3); padding: 0; display: grid; gap: 0.6rem; }
.prlb-join__list li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: var(--prlb-fs-pequeno); line-height: 1.4; }
.prlb-join__check { flex: none; display: inline-flex; color: var(--prlb-acento); }
.prlb-join__check svg { width: 16px; height: 16px; margin-top: 1px; }
.prlb-join__cond { border-top: 1px solid var(--prlb-borde); padding-top: var(--prlb-space-3); }
.prlb-join__cond p { margin: 0 0 0.4rem; font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); line-height: 1.5; }

.prlb-join__form .prlb-form { margin-top: 0; }
.prlb-join__h { font-size: var(--prlb-fs-base); margin: 0.2rem 0 0; }
.prlb-join__form .prlb-form__row + .prlb-field,
.prlb-join__form .prlb-field + .prlb-join__h { margin-top: 0; }

.prlb-payopts { display: grid; gap: 0.6rem; }
.prlb-payopt {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    cursor: pointer;
    transition: border-color var(--prlb-transition), background-color var(--prlb-transition);
}
.prlb-payopt:hover { border-color: var(--prlb-texto-secundario); }
.prlb-payopt:has(input:checked) { border-color: var(--prlb-acento); background: rgba(224, 0, 16, 0.04); }
.prlb-payopt input { flex: none; accent-color: var(--prlb-acento); }
.prlb-payopt__body { display: grid; gap: 0.15rem; }
.prlb-payopt__body strong { font-size: var(--prlb-fs-base); }
.prlb-payopt__body span { font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); line-height: 1.35; }

/* =========================================================================
   8f. BLOG — listado (buscador/filtros/orden), tarjetas y paginación
   ========================================================================= */
/* Menos hueco entre la cabecera y la barra de búsqueda */
.prlb-page section.prlb-blog-section { padding-top: clamp(1.25rem, 2.5vw, 2rem); }

/* Barra: búsqueda + filtro + orden + botón, todo en una línea.
   Bordes cuadrados con esquinas redondeadas (no pastilla). */
.prlb-blog__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--prlb-space-2);
    align-items: stretch;
}
.prlb-blog__search {
    flex: 1 1 240px;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0 1rem;
    background: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    transition: border-color var(--prlb-transition), box-shadow var(--prlb-transition);
}
.prlb-blog__search:focus-within { border-color: var(--prlb-acento); box-shadow: 0 0 0 3px rgba(224, 0, 16, 0.14); }
.prlb-blog__search-icon { flex: none; display: flex; color: var(--prlb-texto-secundario); }
.prlb-blog__search-icon svg { width: 18px; height: 18px; }
.prlb-blog__search input {
    flex: 1;
    min-width: 0;
    border: 0;
    background: none;
    outline: none;
    padding: 0.7rem 0;
    font: inherit;
    color: var(--prlb-texto);
}
.prlb-blog__search input::placeholder { color: var(--prlb-texto-secundario); }

.prlb-blog__toolbar select {
    appearance: none;
    -webkit-appearance: none;
    padding: 0.7rem 2.4rem 0.7rem 1rem;
    font: inherit;
    color: var(--prlb-texto);
    background-color: var(--prlb-fondo);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%236E6E73" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');
    background-repeat: no-repeat;
    background-position: right 0.95rem center;
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    cursor: pointer;
}
.prlb-blog__toolbar select:focus { outline: none; border-color: var(--prlb-acento); box-shadow: 0 0 0 3px rgba(224, 0, 16, 0.14); }
.prlb-blog__toolbar .prlb-btn { border-radius: var(--prlb-radius); }

@media (max-width: 620px) {
    .prlb-blog__search { flex-basis: 100%; }
    .prlb-blog__toolbar select { flex: 1 1 auto; }
}

.prlb-blog__results {
    display: flex;
    flex-wrap: wrap;
    gap: var(--prlb-space-2);
    align-items: center;
    justify-content: space-between;
    margin: var(--prlb-space-3) 0 0;
    color: var(--prlb-texto-secundario);
    font-size: var(--prlb-fs-pequeno);
}
.prlb-blog__reset { font-weight: 600; color: var(--prlb-acento); }

.prlb-posts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--prlb-space-3);
    margin-top: var(--prlb-space-3);
}

.prlb-post-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.prlb-post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--prlb-fondo-alt); }
.prlb-post-card__media > img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--prlb-transition); }
.prlb-post-card:hover .prlb-post-card__media > img { transform: scale(1.04); }
.prlb-post-card__ph {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #29161a 0%, #1b1b20 100%);
}
.prlb-post-card__ph img { width: 72px; height: auto; opacity: 0.92; filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.45)); }
.prlb-post-card__body { padding: var(--prlb-space-3); display: flex; flex-direction: column; gap: 0.6rem; flex: 1; }
.prlb-post-card__cat {
    align-self: flex-start;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--prlb-acento);
    background: rgba(224, 0, 16, 0.10);
    padding: 0.25rem 0.7rem;
    border-radius: var(--prlb-radius-pill);
}
.prlb-post-card__cat:hover { color: #fff; background: var(--prlb-acento); }
.prlb-post-card__title { font-size: var(--prlb-fs-h3); margin: 0; line-height: 1.25; }
.prlb-post-card__title a { color: var(--prlb-texto); }
.prlb-post-card__title a:hover { color: var(--prlb-acento); }
.prlb-post-card__excerpt { color: var(--prlb-texto-secundario); line-height: 1.55; margin: 0; flex: 1; }
.prlb-post-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--prlb-space-2);
    margin-top: var(--prlb-space-2);
    padding-top: var(--prlb-space-2);
    border-top: 1px solid var(--prlb-borde);
    font-size: var(--prlb-fs-pequeno);
    color: var(--prlb-texto-secundario);
}
.prlb-post-card__more { font-weight: 600; color: var(--prlb-acento); white-space: nowrap; }

.prlb-blog__empty { text-align: center; padding: clamp(2.5rem, 6vw, 4rem) 0; color: var(--prlb-texto-secundario); }

.prlb-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: clamp(2.5rem, 5vw, 4rem);
}
.prlb-pagination a,
.prlb-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 0.8rem;
    border-radius: var(--prlb-radius);
    border: 1px solid var(--prlb-borde);
    font-weight: 500;
    color: var(--prlb-texto);
    background: var(--prlb-fondo);
    transition: border-color var(--prlb-transition), color var(--prlb-transition), background-color var(--prlb-transition);
}
.prlb-pagination a:hover { border-color: var(--prlb-acento); color: var(--prlb-acento); }
.prlb-pagination .is-current { background: var(--prlb-acento); border-color: var(--prlb-acento); color: #fff; }
.prlb-pagination .is-disabled { opacity: 0.4; pointer-events: none; }

/* =========================================================================
   8g. BLOG — entrada individual
   ========================================================================= */
.prlb-post-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2.75rem, 6vw, 4.75rem) 0;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(70% 65% at 15% 8%,  rgba(224, 0, 16, 0.16) 0%, rgba(224, 0, 16, 0) 55%),
        radial-gradient(60% 55% at 88% 20%, rgba(224, 0, 16, 0.11) 0%, rgba(224, 0, 16, 0) 60%),
        radial-gradient(85% 90% at 60% 120%, rgba(150, 24, 34, 0.26) 0%, rgba(150, 24, 34, 0) 62%),
        linear-gradient(160deg, #1b1b20 0%, #221a1d 55%, #29161a 100%);
}
.prlb-post-hero .prlb-wrap { position: relative; z-index: 1; }
.prlb-post-hero__cat {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    padding: 0.3rem 0.85rem;
    border-radius: var(--prlb-radius-pill);
}
.prlb-post-hero__cat:hover { color: #fff; background: var(--prlb-acento); border-color: var(--prlb-acento); }
.prlb-post-hero h1 { color: #fff; max-width: 22ch; margin: var(--prlb-space-3) auto 0; }
.prlb-post-hero__meta { color: rgba(255, 255, 255, 0.72); font-size: var(--prlb-fs-pequeno); margin: var(--prlb-space-2) 0 0; }

.prlb-article {
    width: min(760px, 100vw - 2.5rem);
    margin-inline: auto;
    padding-block: clamp(2.5rem, 5vw, 4rem);
}
.prlb-article__cover {
    margin: 0 0 var(--prlb-space-4);
    border-radius: var(--prlb-radius-lg);
    overflow: hidden;
    box-shadow: var(--prlb-shadow);
}
.prlb-article__cover img { width: 100%; height: auto; display: block; }
.prlb-article__foot { margin-top: var(--prlb-space-5); padding-top: var(--prlb-space-3); border-top: 1px solid var(--prlb-borde); }

/* Tipografía del contenido de la entrada */
.prlb-prose { font-size: 1.0625rem; line-height: 1.7; color: var(--prlb-texto); }
.prlb-prose > *:first-child { margin-top: 0; }
.prlb-prose p { margin: 0 0 1.3em; }
.prlb-prose h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); margin: 1.6em 0 0.5em; }
.prlb-prose h3 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); margin: 1.4em 0 0.5em; }
.prlb-prose ul, .prlb-prose ol { margin: 0 0 1.3em 1.25em; }
.prlb-prose li { margin-bottom: 0.4em; }
.prlb-prose a { color: var(--prlb-acento); text-decoration: underline; text-underline-offset: 2px; }
.prlb-prose blockquote {
    margin: 1.5em 0;
    padding: 0.2em 0 0.2em 1.2em;
    border-left: 3px solid var(--prlb-acento);
    color: var(--prlb-texto-secundario);
    font-style: italic;
}
.prlb-prose img { max-width: 100%; height: auto; border-radius: var(--prlb-radius); }
.prlb-prose strong { font-weight: 600; }

/* Navegación entre entradas */
.prlb-postnav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--prlb-space-2); }
.prlb-postnav a { font-weight: 500; color: var(--prlb-texto); }
.prlb-postnav a:hover { color: var(--prlb-acento); }
.prlb-postnav .next { margin-left: auto; text-align: right; }

/* =========================================================================
   8h. DOCUMENTACIÓN — lista de documentos descargables
   ========================================================================= */
.prlb-docs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: var(--prlb-space-3);
    margin-top: var(--prlb-space-3);
}
@media (min-width: 1040px) {
    .prlb-docs { grid-template-columns: repeat(4, 1fr); }
}
.prlb-doc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--prlb-space-2);
    padding: var(--prlb-space-3);
    height: 100%;
    position: relative;
}
/* Insignia "Solo socios" en la tarjeta de documento privado */
.prlb-doc.is-privado { border-color: rgba(224, 0, 16, 0.3); }
.prlb-doc__socios {
    position: absolute;
    top: var(--prlb-space-2);
    right: var(--prlb-space-2);
    padding: 0.2rem 0.55rem;
    border-radius: var(--prlb-radius-pill);
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--prlb-acento);
    background: rgba(224, 0, 16, 0.09);
    border: 1px solid rgba(224, 0, 16, 0.22);
}

/* Aviso a no socios: hay documentación reservada */
.prlb-doc-aviso {
    display: flex;
    align-items: flex-start;
    gap: var(--prlb-space-2);
    margin-bottom: var(--prlb-space-3);
    padding: var(--prlb-space-3);
    border-radius: var(--prlb-radius-lg);
    background: var(--prlb-fondo-alt);
    border: 1px solid var(--prlb-borde);
}
.prlb-doc-aviso__icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--prlb-acento);
    background: rgba(224, 0, 16, 0.08);
    border: 1px solid rgba(224, 0, 16, 0.18);
}
.prlb-doc-aviso__icon svg { width: 20px; height: 20px; }
.prlb-doc-aviso__text { font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); line-height: 1.55; }
.prlb-doc-aviso__text strong { color: var(--prlb-texto); display: block; margin-bottom: 0.15rem; }

/* Nota en el visor de un documento privado (socio con acceso) */
.prlb-doc-privado-nota {
    margin: 0 0 var(--prlb-space-3);
    padding: 0.7rem 1rem;
    border-radius: var(--prlb-radius);
    font-size: var(--prlb-fs-pequeno);
    font-weight: 600;
    color: var(--prlb-acento);
    background: rgba(224, 0, 16, 0.06);
    border: 1px solid rgba(224, 0, 16, 0.18);
}

/* Puerta de acceso: documento reservado, visitante sin permiso */
.prlb-doc-gate {
    max-width: 620px;
    margin: var(--prlb-space-3) auto var(--prlb-space-4);
    padding: clamp(1.75rem, 5vw, 3rem);
    text-align: center;
    background: var(--prlb-fondo);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius-lg);
    box-shadow: var(--prlb-shadow);
}
.prlb-doc-gate__icon {
    display: inline-grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: var(--prlb-space-3);
    border-radius: 50%;
    color: var(--prlb-acento);
    background: rgba(224, 0, 16, 0.07);
    border: 1px solid rgba(224, 0, 16, 0.15);
}
.prlb-doc-gate__icon svg { width: 30px; height: 30px; }
.prlb-doc-gate h2 { margin: 0 0 var(--prlb-space-2); font-size: var(--prlb-fs-h3); }
.prlb-doc-gate p { max-width: 46ch; margin: 0 auto var(--prlb-space-3); color: var(--prlb-texto-secundario); line-height: 1.6; }
.prlb-doc-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--prlb-space-2);
    justify-content: center;
    margin-bottom: var(--prlb-space-2);
}
.prlb-doc-gate__hint { font-size: var(--prlb-fs-pequeno); }
.prlb-doc__icon {
    flex: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: var(--prlb-radius);
    color: #fff;
}
.prlb-doc__icon svg { width: 24px; height: 24px; opacity: 0.95; }
.prlb-doc__ext {
    position: absolute;
    bottom: -7px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.06rem 0.38rem;
    border-radius: 999px;
    background: #fff;
    color: var(--prlb-texto);
    box-shadow: var(--prlb-shadow-sm);
}
.prlb-doc__body { width: 100%; flex: 1 1 auto; }
.prlb-doc__terms { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.4rem; }
.prlb-doc__term {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--prlb-acento);
    background: rgba(224, 0, 16, 0.10);
    padding: 0.16rem 0.5rem;
    border-radius: var(--prlb-radius-pill);
}
.prlb-doc__term:hover { color: #fff; background: var(--prlb-acento); }
.prlb-doc__title { font-size: var(--prlb-fs-base); font-weight: 600; margin: 0; line-height: 1.3; }
.prlb-doc__desc { color: var(--prlb-texto-secundario); margin: 0.35rem 0 0; line-height: 1.5; font-size: var(--prlb-fs-pequeno); }
.prlb-doc__meta {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--prlb-texto-secundario);
    font-size: 0.8rem;
    margin: 0.55rem 0 0;
}
.prlb-doc__lock { display: inline-flex; color: var(--prlb-texto-secundario); }
.prlb-doc__lock svg { width: 13px; height: 13px; }
.prlb-doc__action { width: 100%; margin-top: auto; padding-top: var(--prlb-space-2); }
.prlb-doc__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--prlb-fs-pequeno);
    font-weight: 600;
    color: var(--prlb-texto);
    transition: gap var(--prlb-transition), color var(--prlb-transition);
}
.prlb-doc__link svg { transition: transform var(--prlb-transition); }
.prlb-doc__link:hover { color: var(--prlb-acento); gap: 0.55rem; }
.prlb-doc__soon { font-size: var(--prlb-fs-pequeno); color: var(--prlb-texto-secundario); font-style: italic; }

/* =========================================================================
   8i. DOCUMENTO — ficha, visor y modal de descarga
   ========================================================================= */
.prlb-docview {
    display: grid;
    grid-template-columns: 1.55fr 0.9fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
    margin-top: var(--prlb-space-2);
}
@media (max-width: 900px) { .prlb-docview { grid-template-columns: 1fr; } }

.prlb-docview__viewer {
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius-lg);
    overflow: hidden;
    box-shadow: var(--prlb-shadow);
    background: var(--prlb-fondo-alt);
}
.prlb-docview__viewer iframe { width: 100%; height: min(80vh, 900px); border: 0; display: block; }
.prlb-docview__viewer img { width: 100%; height: auto; display: block; }
.prlb-docview__none { padding: clamp(2rem, 5vw, 3.5rem); text-align: center; color: var(--prlb-texto-secundario); }

/* Visor PDF.js (solo visualización): barra propia con zoom y pantalla completa */
.prlb-docview__viewer.is-pdfjs { overflow: visible; max-height: none; }
.prlb-pdfjs {
    display: flex;
    flex-direction: column;
    height: min(78vh, 900px);
    -webkit-user-select: none;
    user-select: none;
    background: var(--prlb-fondo-alt);
}
.prlb-pdfjs__bar {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.4rem;
    background: #1d1d1f;
}
.prlb-pdfjs__bar button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 30px;
    padding: 0 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--prlb-radius-sm);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color var(--prlb-transition);
}
.prlb-pdfjs__bar button:hover { background: rgba(255, 255, 255, 0.18); }
.prlb-pdfjs__zoom { color: #fff; font-size: 0.8rem; min-width: 46px; text-align: center; }
.prlb-pdfjs__fs { margin-left: 0.3rem; }
.prlb-pdfjs__pages {
    flex: 1;
    overflow: auto;
    padding: var(--prlb-space-2);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--prlb-space-2);
}
.prlb-pdfjs__loading { color: var(--prlb-texto-secundario); margin: auto; }
.prlb-pdfjs__page {
    display: block;
    height: auto;
    max-width: 100%;
    box-shadow: var(--prlb-shadow);
    background: #fff;
}
/* En pantalla completa el visor ocupa toda la pantalla */
.prlb-pdfjs:fullscreen { height: 100vh; background: #2a2a2e; }
.prlb-pdfjs:-webkit-full-screen { height: 100vh; background: #2a2a2e; }
.prlb-pdfjs:fullscreen .prlb-pdfjs__page { max-width: none; }

.prlb-ficha { align-self: start; }
.prlb-ficha__desc { color: var(--prlb-texto-secundario); font-size: var(--prlb-fs-pequeno); line-height: 1.6; margin-bottom: var(--prlb-space-3); }
.prlb-ficha__desc p { margin: 0 0 0.6em; }
.prlb-ficha h3 { font-size: var(--prlb-fs-base); margin: 0 0 var(--prlb-space-2); }
.prlb-ficha__list { margin: 0; display: grid; gap: 0.55rem; }
.prlb-ficha__row { display: grid; grid-template-columns: 8.5rem 1fr; gap: 0.5rem; align-items: baseline; }
.prlb-ficha__row dt { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--prlb-texto-secundario); font-weight: 600; }
.prlb-ficha__row dd { margin: 0; font-size: var(--prlb-fs-pequeno); font-weight: 500; line-height: 1.35; }
@media (max-width: 520px) { .prlb-ficha__row { grid-template-columns: 1fr; gap: 0.05rem; } }
.prlb-ficha__access { margin-top: var(--prlb-space-3); padding-top: var(--prlb-space-3); border-top: 1px solid var(--prlb-borde); }
.prlb-ficha__access .prlb-btn { gap: 0.5rem; }
.prlb-ficha__viewonly {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin: 0;
    color: var(--prlb-texto-secundario);
    font-size: var(--prlb-fs-pequeno);
    line-height: 1.5;
}
.prlb-ficha__viewonly svg { flex: none; width: 18px; height: 18px; margin-top: 1px; }

/* Modal genérico (aceptación de derechos) — "apaga" el fondo */
.prlb-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 4vw, 2rem);
}
.prlb-modal.is-open { display: flex; }
.prlb-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 12, 0.62);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.prlb-modal__card {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
    background: var(--prlb-fondo);
    border-radius: var(--prlb-radius-lg);
    box-shadow: var(--prlb-shadow-lg);
    padding: clamp(1.5rem, 4vw, 2.25rem);
}
.prlb-modal__card h3 { margin: 0 0 var(--prlb-space-2); }
.prlb-modal__rights {
    background: var(--prlb-fondo-alt);
    border: 1px solid var(--prlb-borde);
    border-radius: var(--prlb-radius);
    padding: var(--prlb-space-2) var(--prlb-space-3);
    font-size: var(--prlb-fs-pequeno);
    color: var(--prlb-texto-secundario);
    line-height: 1.55;
    max-height: 210px;
    overflow-y: auto;
    margin-bottom: var(--prlb-space-3);
}
.prlb-modal__rights p { margin: 0 0 0.5em; }
.prlb-modal__agree-row {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    margin-bottom: var(--prlb-space-3);
    font-size: var(--prlb-fs-pequeno);
    line-height: 1.5;
    cursor: pointer;
}
.prlb-modal__agree-row input { margin-top: 3px; flex: none; }
.prlb-modal__actions { display: flex; gap: var(--prlb-space-2); justify-content: flex-end; flex-wrap: wrap; }
.prlb-btn.is-disabled { opacity: 0.45; pointer-events: none; }

/* =========================================================================
   9. RESPONSIVE
   ========================================================================= */
@media (max-width: 600px) {
    .prlb-member__photo { width: 116px; height: 116px; }
    .prlb-faq__q { font-size: var(--prlb-fs-base); }
}
