/* Bento Grid Layout */
.bento-grid-275 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 250px;
	gap: 20px;
}

/* Card Base */
.bento-card-275 {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	display: flex;
	align-items: flex-end;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background-color: #f5f5f5;
}

.bento-card-275:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

/* Background Image & Zoom */
.bento-bg-275 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
	z-index: 1;
}

.bento-card-275:hover .bento-bg-275 {
	transform: scale(1.05);
}

/* Overlay */
.bento-overlay-275 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 100%);
	z-index: 2;
	transition: background-color 0.3s ease;
}

/* Content Area */
.bento-content-275 {
	position: relative;
	z-index: 3;
	padding: 20px;
	color: #fff;
	width: 100%;
}

/* Category Tag */
.bento-category-275 {
	display: inline-block;
	background-color: #ff3366;
	color: #fff;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

/* Title */
.bento-title-275 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.2;
}

.bento-title-275 a {
	color: inherit;
	text-decoration: none;
}

/* Meta info */
.bento-meta-275 {
	font-size: 13px;
	color: rgba(255,255,255,0.8);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
}

/* Excerpt */
.bento-excerpt-275 {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255,255,255,0.9);
	display: none; /* Hide by default on smaller cards */
	margin-bottom: 15px;
}

/* Read More */
.bento-read-more-wrapper-275 {
	margin-top: 15px;
	display: none; /* Hide by default on smaller cards */
}

.bento-read-more-275 {
	display: inline-block;
	background-color: rgba(255,255,255,0.2);
	color: #fff;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	transition: background-color 0.3s ease;
}

.bento-card-275:hover .bento-read-more-275 {
	background-color: rgba(255,255,255,0.3);
}


/* Full overlay link */
.bento-link-overlay-275 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 4;
}

/* Grid Sizing Classes */
.bento-size-1x1 {
	grid-column: span 1;
	grid-row: span 1;
}

.bento-size-2x1 {
	grid-column: span 2;
	grid-row: span 1;
}

.bento-size-1x2 {
	grid-column: span 1;
	grid-row: span 2;
}

.bento-size-2x2 {
	grid-column: span 2;
	grid-row: span 2;
}
.bento-size-2x2 .bento-title-275 {
	font-size: 28px;
}
.bento-size-2x2 .bento-excerpt-275,
.bento-size-2x2 .bento-read-more-wrapper-275 {
	display: block; /* Show excerpt and read more on large cards */
}
.bento-size-2x1 .bento-read-more-wrapper-275 {
	display: block; /* Also show on wide cards */
}


/* Responsive */
@media (max-width: 1024px) {
	.bento-grid-275 {
		grid-template-columns: repeat(2, 1fr);
	}
	.bento-size-2x1, .bento-size-2x2 {
		grid-column: span 2;
	}
	.bento-size-1x1, .bento-size-1x2 {
		grid-column: span 1;
	}
}

@media (max-width: 767px) {
	.bento-grid-275 {
		grid-template-columns: 1fr;
		grid-auto-rows: 300px;
	}
	.bento-card-275 {
		grid-column: span 1 !important;
		grid-row: span 1 !important;
	}
	.bento-excerpt-275,
	.bento-read-more-wrapper-275 {
		display: none !important;
	}
}