/* Biblioteca Literaria Simple - frontend */
.bls-section,
.bls-single-book{
    box-sizing:border-box;
    max-width:100%;
    color:inherit;
    background:transparent;
    padding-left:30px;
    padding-right:30px;
    margin:0 0 42px;
}

.bls-section *,
.bls-single-book *{box-sizing:border-box;}

.bls-section h2,
.bls-single-book h1,
.bls-single-book h2{
    color:inherit;
    margin:0 0 22px;
}

.bls-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:34px 28px;
    max-width:100%;
}

.bls-book-card{min-width:0;}
.bls-cover-link{
    height:330px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    text-decoration:none;
    overflow:hidden;
}
.bls-cover-img{
    width:auto !important;
    height:330px !important;
    max-width:100% !important;
    object-fit:contain !important;
    display:block;
}
.bls-cover-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:330px;
    border:1px solid currentColor;
    opacity:.75;
}
.bls-book-title{
    font-size:1rem;
    line-height:1.25;
    margin:14px 0 6px;
    color:inherit;
}
.bls-book-title a,
.bls-cronologia-item a,
.bls-last-info h2 a{
    color:inherit;
    text-decoration:none;
}
.bls-book-title a:hover,
.bls-cronologia-item a:hover,
.bls-last-info h2 a:hover{text-decoration:underline;}
.bls-book-year,
.bls-featured-text{
    color:inherit;
    opacity:.85;
    font-size:.92rem;
    line-height:1.45;
}
.bls-featured-text{margin-top:8px;}

.bls-pagination ul{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    list-style:none;
    padding:0;
    margin:30px 0 0;
}
.bls-pagination a,
.bls-pagination span{
    display:inline-flex;
    min-width:36px;
    min-height:36px;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border:1px solid currentColor;
    color:inherit;
    text-decoration:none;
}

.bls-cronologia-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px 34px;
}
.bls-cronologia-item{
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid rgba(128,128,128,.25);
    min-width:0;
}
.bls-cronologia-year{opacity:.85;}

.bls-last-book,
.bls-single-top{
    display:grid;
    grid-template-columns:minmax(220px,360px) minmax(0,1fr);
    gap:42px;
    align-items:center;
}
.bls-last-cover,
.bls-single-cover{
    display:flex;
    align-items:flex-end;
    justify-content:center;
}
.bls-single-cover-img{
    width:auto !important;
    height:520px !important;
    max-width:100% !important;
    object-fit:contain !important;
    display:block;
}
.bls-short-desc{font-size:1.05rem;line-height:1.7;opacity:.9;}
.bls-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;}
.bls-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border:1px solid currentColor;
    color:inherit;
    background:transparent;
    text-decoration:none;
    line-height:1.2;
}
.bls-btn:hover{color:inherit;background:transparent;text-decoration:none;}
.bls-legal{font-size:.86rem;opacity:.8;line-height:1.5;}
.bls-descatalogado{font-weight:700;}
.bls-ficha-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 28px;
}
.bls-field{
    padding:14px 0;
    border-bottom:1px solid rgba(128,128,128,.25);
}
.bls-field strong{display:block;margin-bottom:4px;}
.bls-field span{display:block;opacity:.9;}
.bls-empty{color:inherit;opacity:.85;}

@media (max-width:1024px){
    .bls-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .bls-cronologia-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .bls-section,.bls-single-book{padding-left:15px;padding-right:15px;}
}
@media (max-width:767px){
    .bls-cover-link{height:240px;}
    .bls-cover-img{height:240px !important;}
    .bls-single-cover-img{height:380px !important;}
    .bls-last-book,.bls-single-top{grid-template-columns:1fr;gap:24px;}
    .bls-ficha-grid{grid-template-columns:1fr;}
    .bls-cronologia-grid{grid-template-columns:1fr;}
}


/* v1.0.1 - identidad visual y limpieza single */
:root{
    --bls-primary:#B7AB98;
    --bls-dark:#08111A;
}

/* Oculta el título nativo del tema en la ficha del libro para evitar duplicados */
body.single-bls_libro .entry-title,
body.single-bls_libro .page-title,
body.single-bls_libro .post-title,
body.single-bls_libro h1.entry-title{
    display:none !important;
}

/* Todo el contenido generado por el plugin usa el color principal */
.bls-section,
.bls-section *,
.bls-single-book,
.bls-single-book *,
.bls-pagination,
.bls-pagination *,
.bls-cronologia,
.bls-cronologia *{
    color:var(--bls-primary) !important;
}

/* Portadas: si hay fondo visible detrás de la imagen, usar #2C2C2C, nunca negro */
.bls-cover-link,
.bls-cover-link:hover,
.bls-last-cover,
.bls-single-cover{
    background:#2C2C2C !important;
    box-shadow:none !important;
}

/* La tarjeta y el layout general no fuerzan fondo */
.bls-book-card,
.bls-single-top{
    background:transparent !important;
    box-shadow:none !important;
}

.bls-cover-img,
.bls-single-cover-img,
.bls-last-cover img,
.bls-single-cover img{
    background:transparent !important;
    box-shadow:none !important;
}

/* Botones */
.bls-btn,
.bls-pagination a,
.bls-pagination span{
    background:transparent !important;
    border:1px solid var(--bls-primary) !important;
    color:var(--bls-primary) !important;
    text-decoration:none !important;
}

.bls-btn:hover,
.bls-pagination a:hover,
.bls-pagination .current{
    background:var(--bls-primary) !important;
    border-color:var(--bls-primary) !important;
    color:var(--bls-dark) !important;
    text-decoration:none !important;
}

.bls-book-title a,
.bls-cronologia-item a,
.bls-last-info h2 a{
    color:var(--bls-primary) !important;
}


/* v1.0.2 - color solicitado y fondo de portadas */
:root{ --bls-primary:#B7AB98; }

.bls-section,
.bls-section *,
.bls-single-book,
.bls-single-book *,
.bls-pagination,
.bls-pagination *,
.bls-cronologia,
.bls-cronologia *{
    color:#B7AB98 !important;
}

.bls-btn,
.bls-pagination a,
.bls-pagination span{
    border-color:#B7AB98 !important;
    color:#B7AB98 !important;
}

.bls-btn:hover,
.bls-pagination a:hover,
.bls-pagination .current{
    background:#B7AB98 !important;
    border-color:#B7AB98 !important;
    color:#08111A !important;
}

.bls-cover-link,
.bls-last-cover,
.bls-single-cover,
.bls-cover-placeholder{
    background:#2C2C2C !important;
}


/* v1.0.3 - categorías y etiquetas: color del plugin también en títulos nativos del tema */
body.category .page-title,
body.category .entry-title,
body.category .archive-title,
body.category .elementor-heading-title,
body.tag .page-title,
body.tag .entry-title,
body.tag .archive-title,
body.tag .elementor-heading-title,
.bls-archive-title,
.bls-archive-description,
.bls-archive-description *{
    color:#B7AB98 !important;
}

.bls-categoria-shortcode > .bls-section,
.bls-etiqueta-shortcode > .bls-section{
    padding-left:0 !important;
    padding-right:0 !important;
}


/* v1.0.4 - categorías exclusivas y tarjetas visuales solo portada */
:root{ --bls-primary:#B7AB98; --bls-cover-bg:#2C2C2C; --bls-dark:#08111A; }

.bls-section,
.bls-section *,
.bls-single-book,
.bls-single-book *,
.bls-cronologia,
.bls-cronologia *{
    color:var(--bls-primary) !important;
}

.bls-books-grid .bls-book-card-cover-only .bls-book-title,
.bls-books-grid .bls-book-card-cover-only .bls-book-year,
.bls-books-grid .bls-book-card-cover-only .bls-book-short-desc,
.bls-books-grid .bls-book-card-cover-only .bls-featured-text{
    display:none !important;
}

.bls-cover-link,
.bls-last-cover,
.bls-single-cover,
.bls-cover-placeholder{
    background:var(--bls-cover-bg) !important;
}

.bls-book-title a,
.bls-book-year,
.bls-featured-text,
.bls-book-short-desc,
.bls-cronologia-item a,
.bls-cronologia-year{
    color:var(--bls-primary) !important;
}

.bls-btn,
.bls-pagination a,
.bls-pagination span{
    border-color:var(--bls-primary) !important;
    color:var(--bls-primary) !important;
    background:transparent !important;
}

.bls-btn:hover,
.bls-pagination a:hover,
.bls-pagination .current{
    background:var(--bls-primary) !important;
    color:var(--bls-dark) !important;
    border-color:var(--bls-primary) !important;
}

body.tax-bls_categoria_libro .page-title,
body.tax-bls_categoria_libro .entry-title,
body.tax-bls_categoria_libro .archive-title,
body.tax-bls_etiqueta_libro .page-title,
body.tax-bls_etiqueta_libro .entry-title,
body.tax-bls_etiqueta_libro .archive-title{
    color:var(--bls-primary) !important;
}


/* v1.0.5 - archivos de categorías/etiquetas exclusivas de libros */
.bls-taxonomy-page{
    color:var(--bls-primary) !important;
    background:transparent !important;
    max-width:100% !important;
    padding-left:30px !important;
    padding-right:30px !important;
}
.bls-taxonomy-page *{
    color:var(--bls-primary) !important;
    box-sizing:border-box;
}
.bls-taxonomy-header{
    margin:0 0 34px;
}
.bls-taxonomy-header .bls-archive-title{
    color:var(--bls-primary) !important;
    margin:0 0 14px;
}
.bls-taxonomy-books .bls-grid,
.bls-libros-shortcode .bls-grid,
.bls-categoria-shortcode .bls-grid,
.bls-etiqueta-shortcode .bls-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
.bls-book-card-cover-only .bls-book-title,
.bls-book-card-cover-only .bls-book-year,
.bls-book-card-cover-only .bls-book-short-desc,
.bls-book-card-cover-only .bls-featured-text{
    display:none !important;
}
.bls-taxonomy-page .bls-cronologia-grid,
.bls-cronologia .bls-cronologia-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
@media (max-width:1024px){
    .bls-taxonomy-page{padding-left:15px !important;padding-right:15px !important;}
    .bls-taxonomy-books .bls-grid,
    .bls-libros-shortcode .bls-grid,
    .bls-categoria-shortcode .bls-grid,
    .bls-etiqueta-shortcode .bls-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .bls-taxonomy-page .bls-cronologia-grid,
    .bls-cronologia .bls-cronologia-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media (max-width:767px){
    .bls-taxonomy-books .bls-grid,
    .bls-libros-shortcode .bls-grid,
    .bls-categoria-shortcode .bls-grid,
    .bls-etiqueta-shortcode .bls-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .bls-taxonomy-page .bls-cronologia-grid,
    .bls-cronologia .bls-cronologia-grid{
        grid-template-columns:1fr !important;
    }
}


/* v1.0.8 - separación real para categorías/etiquetas de libros con menú fijo */
body.tax-bls_categoria_libro .bls-taxonomy-page,
body.tax-bls_etiqueta_libro .bls-taxonomy-page{
    padding-top:100px !important;
}

/* El título intermedio "Libros" queda eliminado en PHP; si algún cache lo conserva, se oculta */
body.tax-bls_categoria_libro .bls-taxonomy-books > h2,
body.tax-bls_etiqueta_libro .bls-taxonomy-books > h2{
    display:none !important;
}

@media (max-width:768px){
    body.tax-bls_categoria_libro .bls-taxonomy-page,
    body.tax-bls_etiqueta_libro .bls-taxonomy-page{
        padding-top:70px !important;
    }
}


/* v1.0.9 - composición opcional para shortcode de último libro */
.bls-last-book-composed{
    display:grid;
    grid-template-columns:minmax(180px,320px) minmax(220px,360px) minmax(0,1fr);
    gap:42px;
    align-items:center;
}
.bls-last-book-composed.no-extra-images{
    grid-template-columns:minmax(220px,360px) minmax(0,1fr);
}
.bls-last-extra-images{
    display:flex;
    flex-direction:column;
    gap:22px;
    align-items:center;
    justify-content:center;
}
.bls-last-extra-images img{
    width:100%;
    max-width:320px;
    aspect-ratio:1/1;
    object-fit:cover;
    display:block;
    border-radius:8px;
    background:#2C2C2C;
}
.bls-last-label{
    color:var(--bls-primary) !important;
    font-size:.92rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin:0 0 28px;
    font-weight:700;
}
.bls-last-info .bls-btn{
    margin-top:18px;
}
@media (max-width:1024px){
    .bls-last-book-composed,
    .bls-last-book-composed.no-extra-images{
        grid-template-columns:1fr;
        gap:28px;
    }
    .bls-last-extra-images{
        flex-direction:row;
        flex-wrap:wrap;
    }
    .bls-last-extra-images img{
        max-width:260px;
    }
}
@media (max-width:767px){
    .bls-last-extra-images{
        gap:14px;
    }
    .bls-last-extra-images img{
        max-width:calc(50% - 8px);
    }
}

/* v1.1.1 - últimos 6 libros escalonados: solo portadas */
.bls-staggered-latest{
    width:100%;
    max-width:100%;
    overflow:hidden;
}
.bls-staggered-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:28px;
    align-items:end;
    max-width:100%;
}
.bls-staggered-card{
    min-width:0;
    display:flex;
    justify-content:center;
}
.bls-staggered-cover{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    width:100%;
    height:380px;
    background:transparent !important;
    text-decoration:none !important;
    overflow:visible;
}
.bls-staggered-img{
    width:auto !important;
    height:360px !important;
    max-width:100% !important;
    object-fit:contain !important;
    display:block;
    background:transparent !important;
    box-shadow:none !important;
}
.bls-staggered-card:nth-child(1){transform:translateY(-42px);}
.bls-staggered-card:nth-child(2){transform:translateY(8px);}
.bls-staggered-card:nth-child(3){transform:translateY(-24px);}
.bls-staggered-card:nth-child(4){transform:translateY(28px);}
.bls-staggered-card:nth-child(5){transform:translateY(-10px);}
.bls-staggered-card:nth-child(6){transform:translateY(18px);}
@media (max-width:1024px){
    .bls-staggered-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
    .bls-staggered-cover{height:320px;}
    .bls-staggered-img{height:300px !important;}
}
@media (max-width:767px){
    .bls-staggered-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}
    .bls-staggered-card{transform:none !important;}
    .bls-staggered-cover{height:250px;}
    .bls-staggered-img{height:240px !important;}
}


/* v1.1.2 - tipografía global responsive del plugin */
.bls-section,
.bls-section *,
.bls-single-book,
.bls-single-book *,
.bls-pagination,
.bls-pagination *,
.bls-cronologia,
.bls-cronologia *,
.bls-staggered-latest,
.bls-staggered-latest *{
    font-family:'Syne', sans-serif !important;
}

/* Evita que textos largos rompan el responsive */
.bls-section,
.bls-single-book,
.bls-cronologia-item,
.bls-last-info,
.bls-field{
    overflow-wrap:anywhere;
}

/* v1.1.4 - categorías clicables bajo portadas en biblioteca y últimos libros */
.bls-book-categories{
    margin-top:12px;
    text-align:center;
    font-family:'Syne', sans-serif !important;
    font-size:.92rem;
    line-height:1.35;
    color:var(--bls-primary, #B7AB98) !important;
}
.bls-book-categories a{
    color:var(--bls-primary, #B7AB98) !important;
    text-decoration:none !important;
}
.bls-book-categories a:hover{
    color:var(--bls-primary, #B7AB98) !important;
    text-decoration:underline !important;
}
.bls-cat-separator{
    color:var(--bls-primary, #B7AB98) !important;
    opacity:.75;
}
.bls-staggered-card{
    flex-direction:column;
    align-items:center;
}
.bls-staggered-card .bls-book-categories{
    margin-top:10px;
}


/* v1.1.5 - corrige categorías bajo portadas en últimos libros escalonados */
.bls-staggered-latest{
    overflow:visible !important;
    padding-bottom:56px !important;
}
.bls-staggered-grid{
    align-items:start !important;
}
.bls-staggered-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:0 !important;
}
.bls-staggered-card .bls-book-categories{
    width:100% !important;
    max-width:220px !important;
    min-height:2.8em !important;
    margin:14px auto 0 !important;
    padding:0 4px !important;
    text-align:center !important;
    font-size:.86rem !important;
    line-height:1.35 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:auto !important;
}
.bls-staggered-card .bls-book-categories a{
    display:inline !important;
}
@media (max-width:1024px){
    .bls-staggered-latest{padding-bottom:34px !important;}
    .bls-staggered-card .bls-book-categories{max-width:260px !important;font-size:.86rem !important;}
}
@media (max-width:767px){
    .bls-staggered-latest{padding-bottom:20px !important;}
    .bls-staggered-card .bls-book-categories{min-height:2.6em !important;font-size:.82rem !important;}
}

/* =====================================================
   v1.1.8 - Elevación 3D de portadas
   Solo escritorio: no afecta a móvil ni tablet táctil
   ===================================================== */
@media (hover:hover) and (pointer:fine) and (min-width:1025px){

    .bls-book-card,
    .bls-staggered-card,
    .bls-last-cover{
        transition:
            transform .35s ease,
            box-shadow .35s ease !important;
        will-change:transform;
    }

    .bls-cover-link,
    .bls-last-cover,
    .bls-staggered-cover,
    .bls-single-cover{
        overflow:visible !important;
    }

    .bls-book-card:hover,
    .bls-staggered-card:hover,
    .bls-last-cover:hover{
        transform:translateY(-12px);
        box-shadow:
            0 25px 50px rgba(0,0,0,.40),
            0 0 0 1px rgba(183,171,152,.20);
        z-index:10;
        position:relative;
    }

    .bls-cover-img,
    .bls-staggered-img,
    .bls-single-cover-img,
    .bls-single-cover img{
        transition:none !important;
        transform:none !important;
        filter:none !important;
    }

    .bls-last-cover img{
        transition:none !important;
        transform:none !important;
        filter:none !important;
    }
}
