/* Ivory Frame Studio - Journal Filter Widget
   Base structural styles only. All colors, typography, spacing and
   responsive behavior are controlled via Elementor and injected as
   inline selectors on top of this file. */

.ijf-journal-filter {
	width: 100%;
	box-sizing: border-box;
}

.ijf-journal-filter * {
	box-sizing: border-box;
}

/* Tabs */
.ijf-tabs-wrap {
	width: 100%;
}

.ijf-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ijf-tab {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0 0 14px 0;
	position: relative;
	font-family: inherit;
	transition: color 0.25s ease;
	white-space: nowrap;
}

.ijf-tab::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background-color: transparent;
	transform: scaleX( 0 );
	transform-origin: left center;
	transition: transform 0.3s ease, background-color 0.3s ease;
}

.ijf-tab.ijf-active::after {
	transform: scaleX( 1 );
}

/* Grid */
.ijf-grid {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	width: 100%;
}

.ijf-card-outer {
	display: block;
	width: 100%;
}

.ijf-card-outer.ijf-hidden {
	display: none;
}

.ijf-card {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Image */
.ijf-card-image {
	display: block;
	position: relative;
	width: 100%;
	height: 420px;
	overflow: hidden;
	background-color: #eee;
}

.ijf-card-image .ijf-img,
.ijf-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}

.ijf-journal-filter.ijf-zoom-on .ijf-card:hover .ijf-card-image img {
	transform: scale( 1.06 );
}

/* Body */
.ijf-card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ijf-card-category {
	display: block;
}

.ijf-card-title {
	margin: 0;
}

.ijf-card-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.25s ease;
}

.ijf-card-description {
	margin: 0;
}

/* Full-card invisible overlay link */
.ijf-card-overlay-link {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.ijf-card-image,
.ijf-card-title a {
	position: relative;
	z-index: 2;
}

/* No results */
.ijf-no-results {
	text-align: center;
	padding: 60px 0;
	opacity: 0.7;
}

/* Fade transition helper (JS toggles opacity before display swap) */
.ijf-grid.ijf-filtering .ijf-card-outer {
	transition: opacity 0.2s ease;
}

/* Responsive fallback (used only if Elementor responsive controls are untouched) */
@media ( max-width: 1024px ) {
	.ijf-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media ( max-width: 767px ) {
	.ijf-grid {
		grid-template-columns: 1fr;
	}

	.ijf-card-image {
		height: 260px;
	}
}
