/*
Theme Name: Blog Jurídico GrupGEN
Template: generatepress
Version: 1.0.0
Text Domain: blog-juridico
*/

/* ── Pages ─────────────────────────────────────────────────────────────── */

.site-main {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

/* .site-main também é usado em post único, página estática, 404 e busca
   sem resultados — nesses casos o filho único deve ocupar a largura toda,
   o que o flex acima já garante. O grid abaixo só entra quando o loop de
   posts (.blj-post-card) está presente, para alinhar a última linha
   incompleta à esquerda em vez de centralizá-la. */
.site-main:has(> .blj-post-card) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.site-main > .page-header {
    flex: 100%;
    grid-column: 1 / -1;
    padding: 0px;
}

.site-main > .paging-navigation {
    grid-column: 1 / -1;
}

h1.page-title {
    margin: 0;
    padding: 0;
    color: #007caf;
    font-weight: bold;
    font-size: 1.8em;
}

/* ── Post card ─────────────────────────────────────────────────────────── */

.blj-post-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10);
    /* overflow: hidden; */
    display: flex;
    flex-direction: column;

    /* float: left; */
    height: 500px;
}

.blj-post-card .inside-article {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
}

/* ── Featured image ─────────────────────────────────────────────────────── */

.blj-card-image {
    overflow: hidden;
    flex-shrink: 0;
    height: 165px;
    background: #007caf;
}

.blj-card-image a {
    display: block;
    position: relative;
}

.blj-card-image__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.blj-post-card:hover .blj-card-image__img {
    transform: scale(1.03);
}

/* ── Card body ──────────────────────────────────────────────────────────── */

.blj-card-body {
    padding: 15px; /* 1.2rem; */
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
}

/* ── Title ──────────────────────────────────────────────────────────────── */

.blj-post-card .entry-title {
    font-size: 1.05rem;
    line-height: 1.35;
    margin: 0 0 0.1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.blj-post-card .entry-title a {
    text-decoration: none;
    color: inherit;
}

.blj-post-card .entry-title a:hover {
    color: #0076b6;
}

/* ── Date ───────────────────────────────────────────────────────────────── */

.blj-card-date {
    display: block;
    font-size: 0.78rem;
    color: #888;
    margin-top: 0.15rem;
}

/* ── Excerpt ────────────────────────────────────────────────────────────── */

.blj-card-excerpt {
    font-size: 0.88rem;
    line-height: 1.55;
    color: #444;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-top: 10px !important;
}

.blj-card-excerpt p {
    margin: 0;
}

/* ── Card footer ────────────────────────────────────────────────────────── */

.blj-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid #f0f0f0;
}

/* SIDEBAR LEGISLACAO FEDERAL */

.sidebar-legislacao-federal > h3 {
    font-weight: bold;
    font-size: 1.2em;
    color: #74B72A;
    text-align: left;
}

.sidebar-legislacao-federal > a {
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
    display: block;
    width: 100%;
    color: #74B72A;
    margin-top: 10px;
}

/* ── Specific colors for Legislacao Federal ─────────────────────────────── */

.blj-post-card.post-informativo .blj-card-image, .blj-post-card.post-informativo .blj-card-read-more, .blj-post-card.post-informativo .blj-card-category {
    background: #74B72A;
}

.blj-post-card.post-informativo .entry-title a:hover {
    color: #74B72A;
}

/* ── Authors ────────────────────────────────────────────────────────────── */

.blj-authors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.blj-author__link {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    color: inherit;
}

.blj-author__link:hover .blj-author__name {
    color: #0076b6;
}

.blj-author__link img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.blj-author__name {
    font-size: 0.8rem;
    color: #555;
}

.blj-author__avatar-wrap {
    position: relative;
    display: inline-flex;
}

.blj-author__tooltip {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.78);
    color: #fff;
    font-size: 0.72rem;
    white-space: nowrap;
    padding: 3px 8px;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s, visibility 0.15s;
    z-index: 10;
}

.blj-author__tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.78);
}

.blj-author__avatar-wrap:hover .blj-author__tooltip {
    opacity: 1;
    visibility: visible;
}

.blj-author-no-posts {
    text-align: center;
    font-weight: bold;
}

/* ── Category badges ────────────────────────────────────────────────────── */

.blj-card-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
}

.blj-card-category {
    display: inline-block;
    background: #0076b6;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.blj-card-category:nth-of-type(2) {
    background: #494a4f;
}

.blj-card-category:nth-of-type(n + 3) {
    background: #7b7c83;
}

.blj-card-category:hover {
    background: #005a8e;
    color: #fff;
}

.blj-card-category:nth-of-type(2):hover {
    background: #5a5b61;
}

.blj-card-category:nth-of-type(n + 3):hover {
    background: #8c8d94;
}

/* ── Read more button ───────────────────────────────────────────────────── */

.blj-card-read-more {
    display: inline-block;
    padding: 0.35rem 0.9rem;
    background: #0076b6;
    color: #fff;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.blj-card-read-more:hover {
    background: #005a8e;
    color: #fff;
}

/* ── Shortcode: Informativo / Legislação Geral ──────────────────────────── */

.blj-informativo-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.2rem;
}

@media (max-width: 768px) {
    .blj-informativo-list {
        grid-template-columns: 1fr;
    }
}

.blj-informativo-widget {
    background: #fff;
    border-left: 5px solid #74B72A;
    border-radius: 0 6px 6px 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10);
    padding: 1.2rem 1.4rem;
}

.blj-informativo-widget__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.7rem;
}

.blj-informativo-widget__label {
    background: #74B72A;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.6rem;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.blj-informativo-widget__label a {
    color: #FFF;
}

.blj-informativo-widget__date {
    font-size: 0.78rem;
    color: #888;
    margin-bottom: 0.3rem;
    display: block;
}

.blj-informativo-widget__title {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.35;
    margin: 0 0 0.65rem;
}

.blj-informativo-widget__title a {
    text-decoration: none;
    color: inherit;
}

.blj-informativo-widget__title a:hover {
    color: #74B72A;
}

.blj-informativo-widget__excerpt {
    font-size: 0.85rem;
    line-height: 1.55;
    color: #444;
    margin-bottom: 0.9rem;
}

.blj-informativo-widget__excerpt p {
    margin: 0 0 0.3rem;
}

.blj-informativo-widget__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid #f0f0f0;
}

.blj-informativo-widget__cta {
    display: inline-block;
    padding: 0.35rem 0.9rem;
    background: #74B72A;
    color: #fff;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.blj-informativo-widget__cta:hover {
    background: #578B1D;
    color: #fff;
}

/* ── Pagination ─────────────────────────────────────────────────────────── */

.paging-navigation {
    clear: both;
    margin: 2rem 0;
    flex: 100%;
}

.separate-containers .paging-navigation {
    padding: 0 40px 40px;
}

.paging-navigation .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
}

.paging-navigation .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.6rem;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    border: 1px solid #ddd;
    background: #fff;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    line-height: 1;
}

.paging-navigation .page-numbers:hover {
    background: #0076b6;
    color: #fff;
    border-color: #0076b6;
}

.paging-navigation .page-numbers.current {
    background: #0076b6;
    color: #fff;
    border-color: #0076b6;
    font-weight: 700;
}

.paging-navigation .page-numbers.dots {
    border: none;
    background: none;
    color: #aaa;
    min-width: auto;
    padding: 0 0.2rem;
    cursor: default;
}

.paging-navigation .page-numbers.prev,
.paging-navigation .page-numbers.next {
    padding: 0 0.9rem;
    color: #0076b6;
    border-color: #0076b6;
}

.paging-navigation .page-numbers.prev:hover,
.paging-navigation .page-numbers.next:hover {
    background: #0076b6;
    color: #fff;
}

/* ── Author card (sidebar shortcode) ────────────────────────────────────── */

.blj-authors-block {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.blj-author-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
}

.blj-author-card__avatar-link img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    transition: opacity 0.2s;
}

.blj-author-card__avatar-link:hover img {
    opacity: 0.85;
}

.blj-author-card__name {
    margin: 0.5rem 0 0;
    font-size: 1rem;
    font-weight: 700;
}

.blj-author-card__name a {
    color: #272727;
    text-decoration: none;
}

.blj-author-card__name a:hover {
    color: #0076b6;
}

.blj-author-card__bio {
    font-size: 0.85rem;
    line-height: 1.55;
    color: #5a5a5a;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    margin: 0.25rem 0 0;
    text-align: left;
}

.blj-author-card__obras {
    display: inline-block;
    margin-top: 0.4rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #0076b6;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.blj-author-card__obras:hover {
    color: #005a8e;
}

/* ── Single post layout ─────────────────────────────────────────────────── */

.blj-single-hero {
    width: 100%;
    height: 320px;
    max-height: 450px;
    overflow: hidden;
    margin-bottom: 0;
}

.blj-single-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blj-single-header {
    margin-bottom: 1.5rem;
}

.blj-breadcrumb {
    font-size: 1.1rem;
    color: #888;
    margin-bottom: 0.6rem;
}

.blj-breadcrumb__item {
    color: #888;
    text-decoration: none;
}

.blj-breadcrumb__item:hover {
    color: #0076b6;
}

.blj-breadcrumb__sep {
    margin: 0 0.25rem;
}

.blj-single-title {
    font-weight: bold;
    font-size: 1.5em;
    margin: 15px 0;
}

.blj-post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin: 0.75rem 0;
}

.blj-post-tag {
    display: inline-block;
    background: #E6E6E6;
    color: #7b7c83;
    font-size: 0.65rem;
    padding: 0.1rem 0.5rem;
    border-radius: 3px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s;
    text-transform: uppercase;
}

.blj-post-tag:hover {
    background: #d0d0d0;
    color: #555;
}

.blj-single-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 0 1rem;
}

.blj-single-date {
    font-size: 0.78rem;
    color: #7b7c83;
}

.blj-single-divider {
    border: none;
    border-top: 2px solid #EEE;
    margin: 1rem 0 1.5rem;
}

/* ── General ─────────────────────────────────────────────────── */

.home.blog #right-sidebar .widget {
	padding: 10px 40px;
}

.archive.category .taxonomy-description {
    display: none;
}

body.single-post .site-main > .post {
    padding: 20px;
}

.post p, .page p {
    margin-bottom: 0.8em;
}

.post h1, .page h1 {
	font-size: 1.3em;
	margin-bottom: 10px !important;
	font-weight: bold;
}

.post h2, .page h2 {
	font-size: 1.2em;
	margin-bottom: 10px !important;
	font-weight: bold;
}

.post h3, .page h3 {
	font-size: 1.1em;
	margin-bottom: 10px !important;
	font-weight: bold;
}

.post h4, .page h4 {
	font-size: 1em;
	margin-bottom: 10px !important;
}

.post h5, .page h5 {
	font-size: 0.8em;
	margin-bottom: 10px !important;
}

.post blockquote, .page blockquote {
    font-size: 1em;
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
    color: #FFF;
    background-color: #0076b6;
}

button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, a.button:hover, a.wp-block-button__link:not(.has-background):hover {
    color: #FFF;
    background-color: #005a8e;
}



/* FOOTER */

.copyright-bar {display: none;}

.footer-bar {
	width: 100%;
	max-width: 100%;
	color: #FFFF;
}

.footer-bar > aside {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	max-width: 100%;
}

.footer-bar > aside a {
	color: #FFFF;
}

.footer-bar > aside > * {
	flex: 1;
	max-width:350px;
}

.footer-bar > aside .rodape-categorias {
	display: flex;
	flex-flow: row wrap;
	max-width: 350px;
}

.footer-bar > aside .rodape-categorias > li:first-child {
	flex: 100%;
	font-size: 1em;
}

.footer-bar > aside .rodape-categorias > li > a {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.footer-bar > aside .rodape-categorias a + ul.sub-menu {
    margin: 0;
    display: flex;
    flex-flow: row wrap;
    gap: 5px;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
}

.footer-bar > aside a + ul.sub-menu > li {
    flex: 40%;
    margin: 0;
}

.footer-bar > aside .rodape-categorias > li {
	flex: 50%;
	text-align: left;
	padding: 2px 5px;
}

.footer-bar > aside .rodape-info {
	text-align: left;
}

.footer-bar > aside .rodape-info h1 {
	font-weight: semibold;
	margin-bottom: 20px;
}

.footer-bar > aside .rodape-info svg {
	margin-right: 10px;
}



.footer-bar > aside .rodape-saibamais {
	text-align: left;
}

.footer-bar > aside .rodape-saibamais > p {
	font-weight: bold;
  font-size: 1.1em;
	margin-bottom:10px;
}

.footer-bar > aside .rodape-saibamais .rodape-redessociais p {
	font-weight: bold;
  font-size: 1.1em;
	margin-bottom:10px;
	margin-top: 50px;
}

.footer-bar > aside .rodape-saibamais .rodape-redessociais svg {
	margin-right: 10px;
}

/* FOOTER NEWSLETTER */

div#footer-widgets {background-color: #0076b6;}
.footer-widgets-container {padding: 20px;}
.footer-newsletter a {color: #FFF;}

.footer-newsletter {display: flex; flex-flow: row; width: 100%; align-items: center; gap: 20px;}

.footer-newsletter .footer-newsletter-title { max-width: 200px; flex-grow: 0; color: #FFF; font-weight: bold; font-size: 1.5em; line-height: 1.3; margin: 0;}

.footer-newsletter .tnp.tnp-subscription {max-width: 100%; display: flex; margin: auto;}

.footer-newsletter .tnp.tnp-subscription .tnp-field-firstname label, .footer-newsletter .tnp.tnp-subscription .tnp-field-email label {display: none;}

.footer-newsletter .tnp.tnp-subscription > form {display:flex; flex-flow: row wrap !important; gap: 20px; width: 100%;}

.footer-newsletter .tnp.tnp-subscription > form .tnp-field {margin: 0;}

.footer-newsletter .tnp.tnp-subscription > form .tnp-field-firstname {order: 1; flex: 1;}

.footer-newsletter .tnp.tnp-subscription > form .tnp-field-email {flex: 1; order: 2;}

.footer-newsletter .tnp.tnp-subscription > form .tnp-privacy-field {order: 4; flex: 100%;}

.footer-newsletter .tnp.tnp-subscription > form .tnp-field-button{order: 3; margin: auto;}

.footer-newsletter .tnp.tnp-subscription > form .tnp-field-button > input{background-color: #31b9e5; color: #FFF; font-weight: bold; width: 150px; border-radius: 10px}

/* ===== Página de Autor ===================================================== */

/* Hero banner — full viewport width, quebra o container do GP */
.blj-author-hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    max-height: 420px;
    overflow: hidden;
}

.blj-author-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Cabeçalho: nome, links, bio */
.blj-author-header {
    flex: 100%;
    margin-bottom: 2rem;
}

.blj-author-name {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Sub-menu de links sociais */
.blj-author-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 1.5rem;
}

.blj-author-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    padding: 0.75rem 0.5rem;
    text-decoration: none;
    color: #494a4f;
    border-left: 1px solid rgba(123, 124, 131, 0.1);
    transition: color 0.15s ease;
}

.blj-author-link:first-child {
    border-left: none;
}

.blj-author-link:hover {
    color: #0076b6;
}

.blj-author-link svg {
    display: block;
    margin: 0 auto 0.4rem;
}

.blj-author-link__label {
    font-size: 0.8rem;
    text-align: center;
}

/* Bio */
.blj-author-bio {
    font-size: 0.9rem;
    color: #5a5a5a;
    margin-bottom: 2rem;
}

.blj-author-bio p {
    margin-bottom: 0.6em;
}

/* Título "Últimas postagens do autor" */
.blj-author-posts-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 1rem;
    border-bottom: 2px solid #0076b6;
    padding-bottom: 0.5rem;
}

/* ── Homepage below-header widget menu icons ────────────────────────────── */

.homepage-below-header-widgets {
	margin: 10px 0;
}

.homepage-below-header-widgets .menu {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
	max-width: 100%;
}

.homepage-below-header-widgets .menu > li {
	flex: 1;
	border-left: 1px solid #DDD;
	text-align: center;
}

.homepage-below-header-widgets .menu > li a {
	color: #444;
	font-size: 0.9em;
	padding: 20px 10px;
	display: block;
}

.homepage-below-header-widgets .menu > li:first-child {
	border-left: none;
}

.homepage-below-header-widgets .menu > li a:before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
    border-radius: 50%;
    margin: auto;
    margin-bottom: 10px;
    background-image: url('assets/icons/info.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.homepage-below-header-widgets .menu > li a[href*="author"]:before {
    background-image: url('assets/icons/autores.svg');
}

.homepage-below-header-widgets .menu > li a[href*="revista-forense"]:before {
    background-image: url('assets/icons/rev.svg');
}

.homepage-below-header-widgets .menu > li a[href*="podcast"]:before {
    background-image: url('assets/icons/podcast.svg');
}

.homepage-below-header-widgets .menu > li a[href*="publieditorial"]:before {
    background-image: url('assets/icons/promo.svg');
}


/* ── Pages ──────────────────────────────────────────────────────────────── */

.page header.entry-header {
	display: none
}

.blj-page-hero {
    background: #0076b6;
    color: #FFF;
    font-weight: bold;
    text-align: center;
    padding: 100px 20px;
}

.blj-page-hero h1 {
    text-transform: uppercase;
}

/* ── Author listing page ─────────────────────────────────────────────── */

.blj-authors-listing-page {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Search form */

.blj-authors-search {
    display: flex;
    gap: 0.5rem;
    width: 100%;
}

.blj-authors-search input[type="search"] {
    flex: 1;
    padding: 0.55rem 0.9rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.2s;
}

.blj-authors-search input[type="search"]:focus {
    border-color: #0076b6;
}

.blj-authors-search button {
    padding: 0.55rem 1.2rem;
    background: #0076b6;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.blj-authors-search button:hover {
    background: #005a8e;
}

/* A–Z navigation */

.blj-alpha-nav {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 0.75rem 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.blj-alpha-nav__letter {
    font-family: inherit;
    font-weight: 700;
    font-size: 1rem;
    color: #31b9e5;
    text-decoration: none;
    padding: 2px 4px;
    border-radius: 3px;
    transition: color 0.15s;
}

.blj-alpha-nav__letter:hover {
    color: #0076b6;
    text-decoration: underline;
}

.blj-alpha-nav__letter.active {
    color: #0076b6;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Author row list */

.blj-authors-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.blj-author-row {
    display: flex;
    flex-direction: row;
    gap: 3rem;
    background: #7b7c830a;
    padding: 1rem;
    min-height: 140px;
    align-items: flex-start;
}

.blj-author-row__avatar-link {
    flex-shrink: 0;
    align-self: center;
}

.blj-author-row__avatar {
    width: 120px;
    max-width: 80px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    transition: opacity 0.2s;
}

.blj-author-row__avatar-link:hover .blj-author-row__avatar {
    opacity: 0.85;
}

.blj-author-row__info {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
    justify-content: center;
}

.blj-author-row__name {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
}

.blj-author-row__name a {
    color: #0076b6;
    text-decoration: none;
}

.blj-author-row__name a:hover {
    text-decoration: underline;
}

.blj-author-row__bio {
    font-size: 0.88rem;
    line-height: 1.55;
    color: #5a5a5a;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    line-clamp: 6;
}

.blj-author-row__articles,
.blj-author-row__obras {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 700;
    color: #0076b6;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.blj-author-row__articles:hover,
.blj-author-row__obras:hover {
    color: #005a8e;
}

@media (max-width: 600px) {
    .footer-newsletter .tnp.tnp-subscription > form .tnp-privacy-field {text-align: center;}
    .blj-author-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .blj-author-row__bio {
        text-align: left;
    }
}

/* Author listing pagination */

.blj-authors-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    margin: 1rem 0;
}

.blj-authors-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.6rem;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    border: 1px solid #ddd;
    background: #fff;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.blj-authors-pagination a:hover {
    background: #0076b6;
    color: #fff;
    border-color: #0076b6;
}

.blj-authors-pagination a.current {
    background: #0076b6;
    color: #fff;
    border-color: #0076b6;
    font-weight: 700;
}

.blj-authors-pagination__prev,
.blj-authors-pagination__next {
    padding: 0 0.9rem !important;
    color: #0076b6 !important;
    border-color: #0076b6 !important;
}

/* Messages */

.blj-authors-no-results,
.blj-authors-hint {
    text-align: center;
    padding: 2.5rem 0;
    font-size: 1rem;
    color: #7b7c83;
}

/* 404 PAGE */

.error404 .entry-content {
    margin: 0;
    text-align: center;
}

/* ════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   Resoluções-alvo: 1920×1080 | 1360×768 | 1024×768 | 768×1024 | 360×740
   ════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1080px) {
    .home .site-main:has(> .blj-post-card) {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: 10px;
    }
}


/* ── ≤ 1024px: desktop pequeno / tablet landscape (cobre 1024×768) ───────── */
@media (max-width: 1024px) {
    /* Cards: 2 por linha (3×350px estoura área de conteúdo com sidebar) —
       resolvido automaticamente pelo grid-template-columns: auto-fill
       de .site-main, sem precisar de regra própria aqui. */

    /* Listing de autores: espaçamento lateral menor */
    .blj-authors-listing-page {
        padding: 1.5rem 0.75rem;
    }

    .blj-author-row {
        gap: 1.5rem;
    }
}

/* ── ≤ 768px: tablet portrait (cobre 768×1024) ──────────────────────────── */
@media (max-width: 768px) {
    /* Heróis: alturas menores */
    .blj-single-hero {
        height: 200px;
    }

    .blj-author-hero {
        max-height: 250px;
    }

    .blj-page-hero {
        padding: 60px 15px;
    }

    /* Links sociais do autor: 3 por linha */
    .blj-author-link {
        flex: 0 1 calc(33.333% - 1px);
    }

    /* Footer: empilhar colunas */
    .footer-bar > aside {
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
        padding: 0 1rem;
    }

    .footer-bar > aside > * {
        flex: 100%;
        max-width: 100%;
    }

    .footer-bar > aside .rodape-categorias {
        max-width: 100%;
    }

    /* Newsletter do footer: empilhar título + formulário */
    .footer-newsletter {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-newsletter .footer-newsletter-title {
        max-width: 100%;
        text-align: center;
    }

    /* Menu de ícones da homepage: 3 por linha */
    .homepage-below-header-widgets .menu > li {
        flex: 0 0 calc(33.333% - 1px);
        border-left: none;
        border-bottom: 1px solid #ddd;
    }

    /* Paginação: menos padding lateral */
    .separate-containers .paging-navigation {
        padding: 0 20px 20px;
    }
}

/* ── ≤ 600px: mobile grande (complementa as regras existentes de 600px) ──── */
@media (max-width: 600px) {
    /* Cards: 1 por linha (auto-fill do grid já cuida disso), altura automática */
    .blj-post-card {
        height: auto;
    }

    /* Newsletter do footer: campos empilhados */
    .footer-newsletter .tnp.tnp-subscription > form {
        flex-direction: column;
        gap: 10px;
    }

    .footer-newsletter .tnp.tnp-subscription > form .tnp-field-firstname,
    .footer-newsletter .tnp.tnp-subscription > form .tnp-field-email {
        flex: 100%;
    }
}

/* ── ≤ 480px: mobile médio ──────────────────────────────────────────────── */
@media (max-width: 480px) {

    .site-header .header-image {
        max-width: 200px;
    }

    /* Heróis: compactos */
    .blj-single-hero {
        height: 160px;
    }

    .blj-author-hero {
        max-height: 180px;
    }

    .blj-page-hero {
        padding: 40px 15px;
    }

    /* Links sociais do autor: 2 por linha */
    .blj-author-link {
        flex: 0 1 50%;
    }

    /* Menu de ícones da homepage: 2 por linha */
    .homepage-below-header-widgets .menu {
        flex-wrap: wrap;
        align-items: flex-end;
    }

    .homepage-below-header-widgets .menu > li {
        flex: 0 0 30%;
    }

    .homepage-below-header-widgets .menu > li a {
        padding: 5px;
    }

    .homepage-below-header-widgets .menu > li a:before {
        width: 40px;
        height: 40px;
    }

    /* Nome do autor na página de autor */
    .blj-author-name {
        font-size: 1.4rem;
    }

    /* Paginação: botões menores */
    .paging-navigation .page-numbers {
        min-width: 30px;
        height: 30px;
        font-size: 0.8rem;
    }

    /* Navegação A–Z: mais compacta */
    .blj-alpha-nav {
        gap: 6px;
    }

    .blj-alpha-nav__letter {
        font-size: 0.9rem;
    }
}

/* ── ≤ 400px: mobile pequeno (cobre 360×740) ────────────────────────────── */
@media (max-width: 400px) {
    /* Título da página */
    h1.page-title {
        font-size: 1.4em;
    }

    /* Título do post único */
    .blj-single-title {
        font-size: 1.3em;
    }

    /* Botão da newsletter: largura total */
    .footer-newsletter .tnp.tnp-subscription > form .tnp-field-button > input {
        width: 100%;
    }

    /* Listing de autores: padding mínimo */
    .blj-authors-listing-page {
        padding: 1rem 0.5rem;
    }

    /* Avatar menor na lista de autores */
    .blj-author-row__avatar {
        max-width: 60px;
    }

    /* Menu de ícones da homepage: fonte menor */
    .homepage-below-header-widgets .menu > li a {
        font-size: 0.8em;
        /* padding: 15px 5px; */
    }
}