/**
 * JA Blog — layouts: split featured, blog archive, blog grid.
 *
 * Responsive breakpoints align with Elementor Site Settings defaults when unchanged:
 * Mobile Portrait max 767px, Tablet Portrait 768px–1024px, Desktop from 1025px.
 * Main grid/list gaps use --ja-blog-layout-gap (default 32px) to match typical Site Settings → Layout column/row gaps.
 *
 * @package JaAddons
 * @see https://bernstein.bold-themes.com/justitia/blog/
 * @see https://bernstein.bold-themes.com/justitia/blog/blog-grid/
 */

/* -------------------------------------------------------------------------
 * Shared — respeita largura do container pai Elementor
 * ------------------------------------------------------------------------- */

.elementor-widget-ja_blog_v2 {
	width: 100%;
	min-width: 0;
}

.elementor-widget-ja_blog_v2 .elementor-widget-container {
	min-width: 0;
}

.elementor-widget-ja_blog_v2 .ja-blog {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	--ja-blog-layout-gap: 32px;
}

.ja-blog {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	--ja-blog-layout-gap: 32px;
	--ja-v-flex-top: 1;
	--ja-blog-title-color: var(--ja-color-primary);
	--ja-blog-text-color: var(--ja-color-text);
	--ja-blog-accent-color: var(--ja-color-accent);
	--ja-blog-bg: var(--ja-color-bg);
	--ja-blog-font-family: var(--ja-font-primary);
	--ja-blog-thumb-ratio: 66%;
	--ja-hero-grad-bottom: rgba(0, 0, 0, 0.78);
	--ja-hero-grad-mid: rgba(0, 0, 0, 0.25);
	--ja-hero-grad-top: rgba(0, 0, 0, 0.35);
	--ja-split-compact-badge-clearance: 5.75rem;
}

.ja-blog-card__title,
.ja-blog-card__excerpt,
.ja-blog-card__read-more,
.ja-blog-card__tags-item,
.ja-blog-post__meta-text {
	font-family: var(--ja-blog-font-family);
}

.ja-blog-grid,
.ja-blog-list {
	width: 100%;
	min-width: 0;
}


.ja-blog-grid > *,
.ja-blog-list > *,
.ja-blog-card__top-row,
.ja-blog-card__tags-row,
.ja-blog-card__tags-list,
.ja-blog-card__inner,
.ja-blog-card__body,
.ja-blog-card__v-zone,
.ja-blog-card__hover-stable,
.ja-blog-article__content {
	min-width: 0;
}

.ja-blog-card {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	min-height: 0;
}

/* Overlay: clique em todo o bloco; sem estilo de link visível */
.ja-blog-card__cover-link {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	color: transparent;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
	text-transform: none;
}

.ja-blog-card__cover-link:hover,
.ja-blog-card__cover-link:focus {
	color: transparent;
	text-decoration: none;
}

.ja-blog-card__cover-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -4px;
}

.ja-blog-card__thumb,
.ja-blog-card__body,
.ja-blog-card__v-zone,
.ja-blog-card__inner,
.ja-blog-card__hover-stable,
.ja-blog-card__tags-row,
.ja-blog-card__title,
.ja-blog-card__excerpt,
.ja-blog-date-badge,
.ja-blog-article__clickable,
.ja-blog-article__content,
.ja-blog-post__meta,
.ja-blog-post__meta-text,
.ja-blog-post__meta-item {
	position: relative;
	z-index: 2;
	pointer-events: none;
}

/* Texto/meta: tipografia e cor estáveis ao passar o mouse no card */
.ja-blog-card__hover-stable {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
}

/* “Ler mais”: link real acima do overlay; único hover de cor no card */
.ja-blog-card__read-more {
	position: relative;
	z-index: 10;
	pointer-events: auto;
	cursor: pointer;
	display: inline-block;
	margin-top: 0.35rem;
	text-decoration: none;
	transition: color var(--ja-transition);
}

.ja-blog-card__read-more:hover,
.ja-blog-card__read-more:focus-visible {
	text-decoration: none;
}

.ja-blog-article__clickable {
	display: flex;
	flex-direction: column;
	position: relative;
}

.ja-blog-post__footer,
.ja-blog-post__cta,
.ja-blog-share,
.ja-blog-post__cta--solo {
	position: relative;
	z-index: 3;
	pointer-events: auto;
}

.ja-blog-card__top-row {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	width: 100%;
	min-width: 0;
}

.ja-blog-date-badge {
	position: absolute;
	top: 0;
	inset-inline-end: 0;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: var(--ja-date-badge-min-width, 4.5rem);
	min-height: var(--ja-date-badge-min-height, 4.5rem);
	padding: var(--ja-date-badge-padding, 0.65rem 0.85rem);
	background: var(--ja-date-badge-bg, var(--ja-blog-bg));
	color: var(--ja-date-badge-color, var(--ja-blog-title-color));
	line-height: 1.05;
	text-align: center;
}

.ja-blog-date-badge__day {
	display: block;
	line-height: 1.05;
}

.ja-blog-date-badge__month {
	display: block;
	line-height: 1.1;
	margin-top: 0.2rem;
}

.ja-blog-card__tags-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	flex-wrap: wrap;
}

.ja-blog-card__tags-icon {
	flex: 0 0 1rem;
	width: 1rem;
	height: 1rem;
	background-color: var(--ja-blog-accent-color);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ja-blog-card__tags-accent {
	flex: 0 0 auto;
	width: 1.85rem;
	height: 2px;
	background-color: var(--ja-blog-accent-color);
	flex-shrink: 0;
}

.ja-blog-card__tags-list {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1.25rem;
	margin: 0;
	padding: 0;
	line-height: 1.3;
}

.ja-blog-card__tags-item {
	margin: 0;
	padding: 0;
}

.ja-blog-card__title {
	margin: 0;
	padding: 0;
}

.ja-blog-card__excerpt {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.6;
}

.ja-blog-card__read-more {
	display: inline-block;
	margin-top: 0.35rem;
}

.ja-blog-card__read-more-icon,
.ja-blog-card__read-more-chevron {
	font-weight: 700;
	margin-left: 0.15em;
}

.ja-blog-empty {
	margin: 0;
	padding: 1rem 0;
	font-size: 0.9rem;
	color: var(--ja-blog-text-color);
}

/* -------------------------------------------------------------------------
 * Layout: editorial split — desktop 3 tracks (2fr 1fr 1fr), tablet 2-col hero, mobile stack
 * ------------------------------------------------------------------------- */

.ja-blog--layout-split-featured .ja-blog-grid--split {
	display: grid;
	/*
	 * Fallback without minmax(): commas inside minmax break var() fallbacks in some engines.
	 * PHP sets --ja-blog-split-desktop for this layout.
	 */
	grid-template-columns: var(--ja-blog-split-desktop, 2fr minmax(0, 1fr) minmax(0, 1fr));
	gap: var(--ja-blog-layout-gap);
	align-items: stretch;
	width: 100%;
}

.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-card {
	min-width: 0;
}

/* Desktop: hero first column, all rows; tiles in columns 2–3 (alinhado ao breakpoint “tablet” do Elementor: ≤1024) */
@media (min-width: 1025px) {
	.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-split-item--hero {
		grid-column: 1;
		grid-row: 1 / -1;
		align-self: stretch;
	}

	.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-split-item--tile {
		grid-column: var(--ja-d-c);
		grid-row: var(--ja-d-r);
	}

	.ja-blog--layout-split-featured .ja-blog-card--featured {
		min-height: var(--ja-split-hero-min-height, 24rem);
	}
}

/*
 * Tablet (e portáteis 1024px): 1ª linha = destaque em largura total; linhas seguintes = 2 colunas 50/50.
 * !important garante que vence o template de 3 colunas definido na regra base do .ja-blog-grid--split.
 */
@media (max-width: 1024px) {
	.ja-blog--layout-split-featured .ja-blog-grid--split {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-split-item--hero {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-split-item--tile {
		grid-column: var(--ja-t-c);
		grid-row: var(--ja-t-r);
	}

	.ja-blog--layout-split-featured .ja-blog-card--featured {
		min-height: var(--ja-split-hero-min-height, 20rem);
	}
}

/* Zona vertical: --ja-v-flex-top (0 = topo, 1 = fundo) */
.ja-blog-card__v-zone {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	width: 100%;
}

.ja-blog-card__v-spacer {
	display: block;
	flex-shrink: 0;
	min-height: 0;
	width: 100%;
	pointer-events: none;
}

.ja-blog-card__v-spacer--top {
	flex-grow: var(--ja-v-flex-top, 1);
	flex-basis: 0;
}

.ja-blog-card__v-spacer--bottom {
	flex-grow: calc(1 - var(--ja-v-flex-top, 1));
	flex-basis: 0;
}

.ja-blog--layout-split-featured .ja-blog-card--featured,
.ja-blog--layout-split-featured .ja-blog-card--compact {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	height: 100%;
	min-width: 0;
}

.ja-blog--layout-blog-grid .ja-blog-card--grid {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
}

.ja-blog--layout-blog-grid .ja-blog-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.ja-blog--layout-blog-standard .ja-blog-article__content {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.ja-blog--layout-split-featured .ja-blog-card--featured::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		to top,
		var(--ja-hero-grad-bottom) 0%,
		var(--ja-hero-grad-mid) 50%,
		var(--ja-hero-grad-top) 100%
	);
}

.ja-blog--layout-split-featured .ja-blog-card__media {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
}

.ja-blog--layout-split-featured .ja-blog-card__image {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ja-blog--layout-split-featured .ja-blog-card__media--placeholder {
	background: var(--ja-color-primary);
}

.ja-blog--layout-split-featured .ja-blog-card--compact {
	min-height: var(--ja-split-tile-min-height, 14rem);
	padding-top: var(--ja-split-compact-badge-clearance, 5.75rem);
	box-sizing: border-box;
}

.ja-blog--layout-split-featured .ja-blog-card__v-zone {
	flex: 1 1 auto;
	z-index: 3;
	min-height: 0;
}

.ja-blog--layout-split-featured .ja-blog-card__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	flex: 0 0 auto;
	gap: 0.65rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 0;
	margin: 0;
	padding: 1.25rem 1.35rem calc(1.25rem + 12px);
}

.ja-blog--layout-split-featured .ja-blog-card--featured .ja-blog-card__inner {
	padding: 1.35rem 1.35rem calc(1.35rem + 12px);
}

.ja-blog--layout-split-featured .ja-blog-card__tags-row,
.ja-blog--layout-split-featured .ja-blog-card__title,
.ja-blog--layout-split-featured .ja-blog-card__excerpt,
.ja-blog--layout-split-featured .ja-blog-card__read-more {
	max-width: 100%;
}

.ja-blog--layout-split-featured .ja-blog-card__read-more {
	margin-top: 0.25rem;
	flex-shrink: 0;
}

.ja-blog--layout-split-featured .ja-blog-card__excerpt {
	flex: 0 1 auto;
	min-height: 0;
	max-width: 100%;
	word-break: break-word;
	overflow-wrap: anywhere;
	text-overflow: ellipsis;
}

.ja-blog--layout-split-featured .ja-blog-card--featured .ja-blog-card__excerpt {
	-webkit-line-clamp: var(--ja-excerpt-featured, 6);
}

.ja-blog--layout-split-featured .ja-blog-card--compact .ja-blog-card__excerpt {
	-webkit-line-clamp: var(--ja-excerpt-compact, 3);
}

/* Mobile: single column, natural order */
@media (max-width: 767px) {
	.ja-blog--layout-split-featured .ja-blog-grid--split {
		grid-template-columns: 1fr !important;
	}

	.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-split-item--hero,
	.ja-blog--layout-split-featured .ja-blog-grid--split > .ja-blog-split-item--tile {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.ja-blog--layout-split-featured .ja-blog-card--featured {
		min-height: var(--ja-split-hero-min-height, 19rem);
	}

	.ja-blog--layout-split-featured .ja-blog-card--compact {
		padding-top: var(--ja-split-compact-badge-clearance, 6.25rem);
		min-height: var(--ja-split-tile-min-height, 15rem);
	}

	.ja-blog--layout-split-featured .ja-blog-card--compact .ja-blog-card__inner,
	.ja-blog--layout-split-featured .ja-blog-card--featured .ja-blog-card__inner {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}
}

/* -------------------------------------------------------------------------
 * Destaque+ carrossel — Swiper (Elementor), grupos de 3
 * ------------------------------------------------------------------------- */

.ja-blog--layout-split-featured.ja-blog--split-carousel {
	--ja-split-dot-size: 8px;
	--ja-split-dots-gap: 8px;
	--ja-split-dot-color: rgba(0, 0, 0, 0.25);
	--ja-split-dot-color-active: var(--ja-blog-accent-color, var(--ja-color-accent, #1e3a5f));
	--ja-split-dot-radius: 50%;
	--ja-split-dots-margin-top: 16px;
	--ja-split-arrow-size: 44px;
	--ja-split-arrow-color: #fff;
	--ja-split-arrow-bg: rgba(0, 0, 0, 0.45);
	--ja-split-arrow-bg-hover: rgba(0, 0, 0, 0.65);
	--ja-split-arrow-radius: 50%;
	--ja-split-arrow-offset-x: 8px;
	--ja-split-arrow-offset-y: 50%;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell {
	position: relative;
	width: 100%;
	min-width: 0;
	/* Clip horizontal slide overflow only; never clip stacked cards vertically. */
	overflow-x: clip;
	overflow-y: visible;
}

@media (min-width: 1025px) {
	.ja-blog--layout-split-featured.ja-blog--split-carousel.ja-blog--split-carousel-has-arrows .ja-blog-split-carousel-shell {
		overflow-x: visible;
		overflow-y: visible;
	}
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel.swiper {
	position: relative;
	width: 100%;
	overflow-x: hidden;
	overflow-y: visible;
	height: auto !important;
	touch-action: pan-y pinch-zoom;
}

/* Overlay cobre o slide e bloqueia arrastar com mouse; clique do card via JS no carrossel. */
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-card__cover-link {
	pointer-events: none;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel.swiper.swiper-autoheight,
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel.swiper.swiper-autoheight .swiper-wrapper {
	height: auto !important;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__viewport.swiper-wrapper {
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
	height: auto !important;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide.ja-blog-split-carousel__slide {
	flex-shrink: 0;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	min-height: 0;
	align-self: flex-start;
	box-sizing: border-box;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__group {
	width: 100%;
	box-sizing: border-box;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split {
	width: 100%;
	min-width: 0;
}

/*
 * Cards movem apenas com o slide (bloco de 3), nunca individualmente.
 * height:100% from the static grid collapses compact tiles when Swiper locks slide height.
 */
.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-card {
	height: auto !important;
	align-self: stretch;
	transform: none !important;
	will-change: auto;
}

/* Desktop inside carousel: same 3-track editorial grid (1 destaque + 2 compact per slide). */
@media (min-width: 1025px) {
	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split {
		grid-template-columns: var(--ja-blog-split-desktop, 2fr minmax(0, 1fr) minmax(0, 1fr)) !important;
	}

	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-split-item--hero {
		grid-column: 1 !important;
		grid-row: 1 / -1 !important;
	}

	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-split-item--tile {
		grid-column: var(--ja-d-c) !important;
		grid-row: var(--ja-d-r) !important;
	}
}

/* Tablet inside carousel: hero full width, 2 compact tiles below. */
@media (max-width: 1024px) {
	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-split-item--hero {
		grid-column: 1 / -1 !important;
		grid-row: 1 !important;
	}

	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-split-item--tile {
		grid-column: var(--ja-t-c) !important;
		grid-row: var(--ja-t-r) !important;
	}
}

/* Mobile inside carousel: single column stack — all 3 cards visible per slide. */
@media (max-width: 767px) {
	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split {
		grid-template-columns: 1fr !important;
	}

	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-split-item--hero,
	.ja-blog--layout-split-featured.ja-blog--split-carousel .swiper-slide .ja-blog-grid--split > .ja-blog-split-item--tile {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

/* Setas (navigation) — fora do .swiper para não serem cortadas por overflow */
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-prev,
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-next {
	position: absolute;
	top: var(--ja-split-arrow-offset-y, 50%);
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--ja-split-arrow-size, 44px);
	height: var(--ja-split-arrow-size, 44px);
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: var(--ja-split-arrow-radius, 50%);
	background: var(--ja-split-arrow-bg, rgba(0, 0, 0, 0.45));
	color: var(--ja-split-arrow-color, #fff);
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 0.2s ease, background 0.2s ease;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__arrow.swiper-button-prev::after,
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__arrow.swiper-button-next::after {
	content: none;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-prev:hover,
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-next:hover {
	background: var(--ja-split-arrow-bg-hover, rgba(0, 0, 0, 0.65));
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow--prev {
	left: var(--ja-split-arrow-offset-x, 8px);
	right: auto;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow--next {
	right: var(--ja-split-arrow-offset-x, 8px);
	left: auto;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__arrow-icon {
	display: block;
	width: 0.55rem;
	height: 0.55rem;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__arrow--prev .ja-blog-split-carousel__arrow-icon {
	transform: rotate(-135deg);
	margin-left: 0.2rem;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel__arrow--next .ja-blog-split-carousel__arrow-icon {
	transform: rotate(45deg);
	margin-right: 0.2rem;
}

/* Paginação (dots) — fora do .swiper; bullets gerados pelo Swiper */
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__pagination.swiper-pagination {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	top: auto !important;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--ja-split-dots-gap, 8px);
	width: 100% !important;
	min-height: calc(var(--ja-split-dot-size, 8px) + 4px);
	margin-top: var(--ja-split-dots-margin-top, 16px);
	padding: 0;
	pointer-events: auto;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__pagination .swiper-pagination-bullet,
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__dot {
	display: inline-block !important;
	width: var(--ja-split-dot-size, 8px) !important;
	height: var(--ja-split-dot-size, 8px) !important;
	min-width: var(--ja-split-dot-size, 8px);
	min-height: var(--ja-split-dot-size, 8px);
	margin: 0 !important;
	padding: 0;
	border: none;
	border-radius: var(--ja-split-dot-radius, 50%);
	background-color: var(--ja-split-dot-bg, var(--ja-split-dot-color, rgba(0, 0, 0, 0.25))) !important;
	opacity: 0.55 !important;
	visibility: visible !important;
	transform: none !important;
	transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
	cursor: pointer;
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__pagination .swiper-pagination-bullet-active,
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__dot--active {
	background-color: var(--ja-split-dot-color-active, var(--ja-blog-accent-color, #1e3a5f)) !important;
	opacity: 1 !important;
	transform: scale(1.12);
}

.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .swiper-pagination-bullet:focus-visible {
	outline: 2px solid var(--ja-split-dot-color-active, currentColor);
	outline-offset: 2px;
}

/* Tablet/mobile: swipe only — hide nav outside the slide viewport */
@media (max-width: 1024px) {
	.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-prev,
	.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__arrow.swiper-button-next,
	.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__pagination.swiper-pagination {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
		opacity: 0 !important;
	}
}

/* Elementor e-swiper dynamic bullets: keep every bullet visible */
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__pagination.swiper-pagination-bullets-dynamic .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
.ja-blog--layout-split-featured.ja-blog--split-carousel .ja-blog-split-carousel-shell .ja-blog-split-carousel__pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	width: var(--ja-split-dot-size, 8px) !important;
	height: var(--ja-split-dot-size, 8px) !important;
	min-width: var(--ja-split-dot-size, 8px) !important;
	min-height: var(--ja-split-dot-size, 8px) !important;
	margin: 0 !important;
	opacity: 0.55 !important;
	visibility: visible !important;
	transform: none !important;
}

/* -------------------------------------------------------------------------
 * Layout: blog grid (equal cards)
 * ------------------------------------------------------------------------- */

.ja-blog--layout-blog-grid .ja-blog-grid--archive {
	display: grid;
	grid-template-columns: repeat(var(--ja-blog-grid-cols, 3), minmax(0, 1fr));
	gap: var(--ja-blog-layout-gap);
	width: 100%;
}

@media (max-width: 1024px) {
	.ja-blog--layout-blog-grid .ja-blog-grid--archive {
		grid-template-columns: repeat(var(--ja-blog-grid-cols-tablet, var(--ja-blog-grid-cols, 2)), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.ja-blog--layout-blog-grid .ja-blog-grid--archive {
		grid-template-columns: repeat(var(--ja-blog-grid-cols-mobile, 1), minmax(0, 1fr));
	}
}

.ja-blog--layout-blog-grid .ja-blog-grid--archive > .ja-blog-card {
	min-width: 0;
}

.ja-blog--layout-blog-grid .ja-blog-card--grid {
	background-color: var(--ja-blog-bg);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	border-radius: 0;
	align-items: stretch;
}

.ja-blog--layout-blog-grid .ja-blog-card__thumb {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 66%;
	overflow: hidden;
	background: var(--ja-color-border);
	flex-shrink: 0;
}

.ja-blog--layout-blog-grid .ja-blog-card__thumb-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ja-blog--layout-blog-grid .ja-blog-card__thumb-img--placeholder {
	position: absolute;
	inset: 0;
	background: var(--ja-color-border);
}

.ja-blog--layout-blog-grid .ja-blog-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 0;
	padding: 1.25rem 1.35rem 1.5rem;
}

.ja-blog--layout-blog-grid .ja-blog-card__v-zone {
	flex: 1 1 auto;
	min-height: 0;
}

.ja-blog--layout-blog-grid .ja-blog-card__tags-item {
	color: var(--ja-blog-accent-color);
}

.ja-blog--layout-blog-grid .ja-blog-card__title {
	color: var(--ja-blog-accent-color);
}

.ja-blog--layout-blog-grid .ja-blog-card__excerpt {
	color: var(--ja-blog-text-color);
	-webkit-line-clamp: var(--ja-excerpt-compact, 3);
	flex: 0 1 auto;
	min-height: 0;
	max-width: 100%;
}

.ja-blog--layout-blog-grid .ja-blog-card__read-more {
	margin-top: auto;
	color: var(--ja-blog-accent-color);
}

/* -------------------------------------------------------------------------
 * Layout: blog standard (archive list)
 * ------------------------------------------------------------------------- */

.ja-blog--layout-blog-standard .ja-blog-list {
	display: grid;
	grid-template-columns: repeat(var(--ja-blog-list-cols, 1), minmax(0, 1fr));
	gap: var(--ja-blog-layout-gap);
	width: 100%;
}

@media (max-width: 1024px) {
	.ja-blog--layout-blog-standard .ja-blog-list {
		grid-template-columns: repeat(var(--ja-blog-list-cols-tablet, var(--ja-blog-list-cols, 1)), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.ja-blog--layout-blog-standard .ja-blog-list {
		grid-template-columns: repeat(var(--ja-blog-list-cols-mobile, 1), minmax(0, 1fr));
	}
}

.ja-blog--layout-blog-standard .ja-blog-article--standard {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: var(--ja-blog-bg);
	overflow: hidden;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	width: 100%;
	min-width: 0;
}

.ja-blog--layout-blog-standard .ja-blog-article--standard:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.ja-blog--layout-blog-standard.ja-blog--list-multi-col .ja-blog-article--standard {
	border-bottom: none;
	padding-bottom: 0;
}

.ja-blog--layout-blog-standard .ja-blog-card__thumb {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 52%;
	overflow: hidden;
	background: var(--ja-color-border);
}

.ja-blog--layout-blog-standard .ja-blog-card__thumb-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ja-blog--layout-blog-standard .ja-blog-card__thumb-img--placeholder {
	position: absolute;
	inset: 0;
	background: var(--ja-color-border);
}

.ja-blog--layout-blog-standard .ja-blog-article__content {
	padding: 1.35rem 0 0;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.85rem;
	align-items: flex-start;
	min-height: 0;
}

.ja-blog--layout-blog-standard .ja-blog-article__clickable .ja-blog-card__v-zone {
	flex: 1 1 auto;
}

.ja-blog--layout-blog-standard .ja-blog-card__tags-item {
	color: var(--ja-blog-text-color);
}

.ja-blog--layout-blog-standard .ja-blog-card__title {
	color: var(--ja-blog-title-color);
}

.ja-blog--layout-blog-standard .ja-blog-post__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1.25rem;
	color: var(--ja-blog-text-color);
}

.ja-blog--layout-blog-standard .ja-blog-post__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.ja-blog--layout-blog-standard .ja-blog-post__meta-ic {
	display: inline-block;
	width: 0.85rem;
	height: 0.85rem;
	flex-shrink: 0;
	opacity: 0.85;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ja-blog--layout-blog-standard .ja-blog-post__meta-item--author .ja-blog-post__meta-ic {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ja-blog--layout-blog-standard .ja-blog-post__meta-item--comments .ja-blog-post__meta-ic {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ja-blog--layout-blog-standard .ja-blog-card__excerpt {
	color: var(--ja-blog-text-color);
	-webkit-line-clamp: var(--ja-excerpt-standard, 4);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ja-blog--layout-blog-standard .ja-blog-post__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	width: 100%;
	margin-top: 0.5rem;
	padding-top: 0.25rem;
	box-sizing: border-box;
}

.ja-blog--layout-blog-standard .ja-blog-post__share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.ja-blog--layout-blog-standard .ja-blog-share {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	text-decoration: none;
	line-height: 0;
	padding: 0;
	transition: filter var(--ja-transition), opacity var(--ja-transition), background-color var(--ja-transition), color var(--ja-transition);
}

.ja-blog--layout-blog-standard .ja-blog-share__svg {
	width: 1.35rem;
	height: 1.35rem;
	display: block;
	flex-shrink: 0;
}

.ja-blog--layout-blog-standard .ja-blog-share--fb {
	background-color: #1877f2;
	color: var(--ja-blog-bg);
}

.ja-blog--layout-blog-standard .ja-blog-share--tw {
	background-color: #000;
	color: var(--ja-blog-bg);
}

.ja-blog--layout-blog-standard .ja-blog-share--li {
	background-color: #0a66c2;
	color: var(--ja-blog-bg);
}

.ja-blog--layout-blog-standard .ja-blog-share--wa {
	background-color: #25d366;
	color: var(--ja-blog-bg);
}

.ja-blog--layout-blog-standard .ja-blog-share:hover {
	filter: brightness(1.07);
}

.ja-blog--layout-blog-standard .ja-blog-post__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	text-decoration: none;
	padding: 0.75rem 1.35rem;
	background: var(--ja-blog-accent-color);
	color: var(--ja-blog-bg);
	border-radius: var(--ja-radius-sm);
	margin-left: 0;
	text-align: center;
	transition: background-color var(--ja-transition), color var(--ja-transition), opacity var(--ja-transition);
}

.ja-blog--layout-blog-standard .ja-blog-post__cta:hover {
	text-decoration: none;
}

.ja-blog--layout-blog-standard .ja-blog-post__cta--solo {
	margin-left: 0;
	margin-top: 0.25rem;
}

@media (max-width: 600px) {
	.ja-blog--layout-blog-standard .ja-blog-post__footer {
		flex-direction: column;
	}

	.ja-blog--layout-blog-standard .ja-blog-post__cta {
		width: 100%;
		justify-content: center;
	}
}


.ja-blog--layout-blog-grid .ja-blog-card__thumb,
.ja-blog--layout-blog-standard .ja-blog-card__thumb {
	position: relative;
}

.ja-blog--layout-blog-grid .ja-blog-card__thumb::after,
.ja-blog--layout-blog-standard .ja-blog-card__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-color: transparent;
	opacity: 0;
}

.ja-blog[style*="--ja-blog-thumb-ratio-mode: 1-1"] .ja-blog-card__thumb,
.ja-blog--thumb-ratio-1-1 .ja-blog-card__thumb {
	padding-top: 100%;
}

.ja-blog[style*="--ja-blog-thumb-ratio-mode: 4-3"] .ja-blog-card__thumb,
.ja-blog--thumb-ratio-4-3 .ja-blog-card__thumb {
	padding-top: 75%;
}

.ja-blog[style*="--ja-blog-thumb-ratio-mode: 16-9"] .ja-blog-card__thumb,
.ja-blog--thumb-ratio-16-9 .ja-blog-card__thumb {
	padding-top: 56.25%;
}

.ja-blog[style*="--ja-blog-thumb-ratio-mode: free"] .ja-blog-card__thumb,
.ja-blog--thumb-ratio-free .ja-blog-card__thumb {
	padding-top: 0;
	min-height: 12rem;
}

/* -------------------------------------------------------------------------
 * Pagination — listagem arquivo / grelha uniforme
 * ------------------------------------------------------------------------- */

.ja-blog-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	min-height: 2.75rem;
	box-sizing: border-box;
}

.ja-blog-pagination--pages .ja-blog-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: inherit;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ja-blog-pagination--pages .ja-blog-pagination__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ja-blog-pagination--pages .ja-blog-pagination__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0.35rem 0.65rem;
	border: 1px solid transparent;
	text-decoration: none;
	transition:
		color var(--ja-transition, 0.2s ease),
		background-color var(--ja-transition, 0.2s ease),
		border-color var(--ja-transition, 0.2s ease);
}

.ja-blog-pagination--pages .ja-blog-pagination__link:hover,
.ja-blog-pagination--pages .ja-blog-pagination__link:focus-visible {
	text-decoration: none;
}

.ja-blog-pagination--load-more .ja-blog-pagination__load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.65rem 1.35rem;
	border: 1px solid currentColor;
	background: transparent;
	cursor: pointer;
	font: inherit;
	line-height: 1.2;
	text-decoration: none;
	transition:
		color var(--ja-transition, 0.2s ease),
		background-color var(--ja-transition, 0.2s ease),
		border-color var(--ja-transition, 0.2s ease),
		opacity var(--ja-transition, 0.2s ease);
}

.ja-blog-pagination--load-more .ja-blog-pagination__load-more:hover,
.ja-blog-pagination--load-more .ja-blog-pagination__load-more:focus-visible {
	text-decoration: none;
}

.ja-blog-pagination--load-more .ja-blog-pagination__load-more:disabled,
.ja-blog-pagination--load-more.is-loading .ja-blog-pagination__load-more {
	opacity: 0.65;
	cursor: wait;
}

.ja-blog-pagination--load-more.is-loading .ja-blog-pagination__load-more,
.ja-blog-pagination--infinite.is-loading .ja-blog-pagination__load-more {
	visibility: hidden;
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.ja-blog-pagination__loader {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.ja-blog-pagination__loader[hidden] {
	display: none !important;
}

.ja-blog-pagination.is-loading .ja-blog-pagination__loader {
	display: inline-flex;
}

.ja-blog-pagination__loader-spinner {
	display: inline-block;
	width: 1.125rem;
	height: 1.125rem;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: ja-blog-pagination-spin 0.65s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.ja-blog-pagination__loader-spinner {
		animation: none;
		border-top-color: currentColor;
		opacity: 0.55;
	}
}

@keyframes ja-blog-pagination-spin {
	to {
		transform: rotate(360deg);
	}
}

.ja-blog-pagination--infinite .ja-blog-pagination__sentinel {
	width: 100%;
	height: 1px;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

.ja-blog--has-pagination.is-ja-blog-loading [data-ja-blog-posts] {
	opacity: 0.92;
	transition: opacity 0.2s ease;
}

