
.tbbp-home-posts{width:100%}
.tbbp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tbbp-card{background:#121212;border:1px solid #292929;overflow:hidden;color:#fff}
.tbbp-card-image{display:block;aspect-ratio:4/3;background:#0c0c0c;overflow:hidden}
.tbbp-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.tbbp-card:hover .tbbp-card-image img{transform:scale(1.03)}
.tbbp-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.12em;color:#555}
.tbbp-card-body{padding:22px}
.tbbp-meta{color:#df1515;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.tbbp-card h3{font-size:1.35rem;line-height:1.15;margin:0 0 12px;text-transform:uppercase}
.tbbp-card h3 a{color:#fff;text-decoration:none}
.tbbp-card p{color:#bdbdbd;line-height:1.65;margin:0 0 18px}
.tbbp-readmore{color:#fff!important;text-decoration:none!important;font-weight:900;font-size:.8rem;letter-spacing:.06em}
.tbbp-post-cta{margin:48px 0;padding:36px;background:linear-gradient(135deg,#a90000,#e31717);color:#fff}
.tbbp-post-cta h2{margin:0 0 14px;text-transform:uppercase;font-size:clamp(1.8rem,3vw,3rem)}
.tbbp-post-cta p{margin:0 0 18px;max-width:760px}
.tbbp-post-cta a{display:inline-flex;min-height:48px;align-items:center;padding:0 18px;background:#111;color:#fff!important;text-decoration:none!important;font-weight:900}
@media(max-width:900px){.tbbp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.tbbp-grid{grid-template-columns:1fr}.tbbp-post-cta{padding:26px}}


/* =========================================================
   v1.1 — SINGLE POST BATISTA
   ========================================================= */
.tbbp-single{
    background:#0b0b0b;
    color:#fff;
}
.tbbp-wrap{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
}
.tbbp-article-hero{
    min-height:620px;
    position:relative;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#111;
}
.tbbp-article-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.02);
}
.tbbp-article-overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.94) 100%),
      linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.15) 72%);
}
.tbbp-hero-inner{
    position:relative;
    z-index:2;
    padding:120px 0 68px;
}
.tbbp-kicker{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    background:#d41111;
    color:#fff;
    font-size:.72rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin-bottom:22px;
}
body .tbbp-single .tbbp-article-hero h1{
    max-width:950px;
    margin:0;
    color:#fff;
    font-size:clamp(3rem,5.3vw,5.7rem)!important;
    line-height:.93!important;
    letter-spacing:-.025em;
    text-transform:uppercase;
}
.tbbp-article-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-top:24px;
    color:#d2d2d2;
    font-size:.86rem;
    font-weight:700;
}
.tbbp-dot{color:#d41111}
.tbbp-article-shell{
    background:#f5f5f2;
    color:#171717;
    padding:72px 0 88px;
}
.tbbp-article-layout{
    display:grid;
    grid-template-columns:minmax(0,760px) 300px;
    gap:72px;
    align-items:start;
    justify-content:space-between;
}
.tbbp-article-content{
    font-size:1.08rem;
    line-height:1.82;
}
.tbbp-article-content > p:first-child{
    font-size:1.3rem;
    line-height:1.68;
    font-weight:650;
    color:#202020;
}
body .tbbp-single .tbbp-article-content h2{
    margin:48px 0 16px;
    color:#111;
    font-size:clamp(1.9rem,3vw,2.65rem)!important;
    line-height:1.02!important;
    text-transform:uppercase;
}
body .tbbp-single .tbbp-article-content h3{
    margin:34px 0 12px;
    color:#111;
    font-size:1.45rem!important;
    line-height:1.15!important;
    text-transform:uppercase;
}
.tbbp-article-content p{margin:0 0 22px}
.tbbp-article-content ul,
.tbbp-article-content ol{
    margin:8px 0 26px;
    padding-left:1.3em;
}
.tbbp-article-content li{margin:9px 0}
.tbbp-article-content strong{color:#111}
.tbbp-article-content a{
    color:#b80d0d;
    font-weight:800;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.tbbp-article-content blockquote{
    margin:38px 0;
    padding:10px 0 10px 26px;
    border-left:5px solid #d41111;
    font-size:1.35rem;
    line-height:1.5;
    font-weight:800;
}
.tbbp-article-aside{
    position:sticky;
    top:125px;
}
.tbbp-aside-card{
    background:#111;
    color:#fff;
    padding:30px;
    border-top:5px solid #d41111;
}
.tbbp-aside-small,
.tbbp-cta-eyebrow{
    color:#e11616;
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
body .tbbp-single .tbbp-aside-card h3{
    margin:10px 0 14px;
    color:#fff;
    font-size:1.65rem!important;
    line-height:1.05!important;
    text-transform:uppercase;
}
.tbbp-aside-card p{
    margin:0 0 22px;
    color:#bdbdbd;
    line-height:1.6;
    font-size:.92rem;
}
.tbbp-aside-card a,
.tbbp-post-cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    background:#d41111;
    color:#fff!important;
    text-decoration:none!important;
    font-size:.8rem;
    font-weight:900;
    letter-spacing:.06em;
}
.tbbp-back-blog{
    display:block;
    margin-top:18px;
    color:#111!important;
    text-decoration:none!important;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
}
.tbbp-post-cta{
    margin:56px 0 0;
    padding:36px;
    background:#101010;
    color:#fff;
    border-left:6px solid #d41111;
}
body .tbbp-single .tbbp-post-cta h2{
    margin:10px 0 14px!important;
    color:#fff!important;
}
.tbbp-post-cta p{
    color:#c9c9c9;
    margin-bottom:20px;
}
.tbbp-related{
    padding:76px 0 88px;
    background:#0b0b0b;
}
.tbbp-related-head{margin-bottom:28px}
.tbbp-related-head span{
    color:#d41111;
    font-weight:900;
    font-size:.72rem;
    letter-spacing:.15em;
}
body .tbbp-single .tbbp-related-head h2{
    margin:6px 0 0;
    color:#fff;
    font-size:clamp(2.2rem,4vw,4rem)!important;
    line-height:.95!important;
    text-transform:uppercase;
}

@media(max-width:1000px){
    .tbbp-article-layout{grid-template-columns:1fr;gap:48px}
    .tbbp-article-aside{position:static}
    .tbbp-aside-card{max-width:600px}
}
@media(max-width:760px){
    .tbbp-wrap{width:min(100% - 28px,1180px)}
    .tbbp-article-hero{min-height:520px}
    .tbbp-hero-inner{padding:110px 0 42px}
    body .tbbp-single .tbbp-article-hero h1{
        font-size:clamp(2.35rem,10vw,4rem)!important;
        line-height:.96!important;
    }
    .tbbp-article-shell{padding:46px 0 62px}
    .tbbp-article-content{font-size:1rem;line-height:1.75}
    .tbbp-article-content > p:first-child{font-size:1.13rem}
    .tbbp-post-cta{padding:26px}
}


/* v1.2 — listado /blog/ mediante shortcode. No afecta al resto de la web. */
.tbbp-safe-blog{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:70px 0 90px}
.tbbp-safe-blog-head{padding:30px 0 48px;max-width:900px}
.tbbp-safe-blog-head .tbbp-blog-kicker{color:#d41111;font-size:.74rem;font-weight:900;letter-spacing:.15em;margin-bottom:12px}
body .tbbp-safe-blog .tbbp-safe-blog-head h1{margin:0;color:#111;font-size:clamp(3rem,5vw,5.4rem)!important;line-height:.94!important;text-transform:uppercase}
.tbbp-safe-blog-head p{max-width:720px;margin:20px 0 0;color:#555;font-size:1.06rem;line-height:1.7}
.tbbp-safe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tbbp-safe-card{background:#111;color:#fff;border:1px solid #282828;display:flex;flex-direction:column;overflow:hidden}
.tbbp-safe-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#181818}
.tbbp-safe-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.tbbp-safe-card:hover .tbbp-safe-image img{transform:scale(1.035)}
.tbbp-safe-body{padding:24px;display:flex;flex-direction:column;flex:1}
.tbbp-safe-meta{display:flex;gap:7px;flex-wrap:wrap;color:#e01818;font-size:.71rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
body .tbbp-safe-blog .tbbp-safe-card h2{margin:0 0 12px;font-size:1.5rem!important;line-height:1.08!important;text-transform:uppercase}
.tbbp-safe-card h2 a{color:#fff!important;text-decoration:none!important}
.tbbp-safe-card p{color:#bdbdbd;line-height:1.65;margin:0 0 20px}
.tbbp-safe-more{margin-top:auto;color:#fff!important;text-decoration:none!important;font-size:.79rem;font-weight:900;letter-spacing:.07em}
.tbbp-safe-pagination{display:flex;justify-content:center;gap:8px;margin-top:46px}
.tbbp-safe-pagination a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#111;color:#fff!important;text-decoration:none!important;font-weight:900}
.tbbp-safe-pagination a.current{background:#d41111}
.tbbp-safe-empty{padding:35px;background:#111;color:#fff;border-left:5px solid #d41111}
@media(max-width:900px){.tbbp-safe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
 .tbbp-safe-blog{width:min(100% - 28px,1180px);padding:42px 0 62px}
 .tbbp-safe-grid{grid-template-columns:1fr}
 body .tbbp-safe-blog .tbbp-safe-blog-head h1{font-size:clamp(2.5rem,11vw,3.8rem)!important}
}
