/* Card Carousel Styles */

/* Card with borders (for card-carousel) */
.c-section--layout-card-carousel .c-card.has-borders { 
	border: 1px solid var(--factpress-general-color-2) !important; 
}
.c-section--layout-card-carousel .c-card:not(.has-borders) {
	border: none !important;
}

.c-section--layout-card-carousel.image-layout-square-box .c-card__body {
	padding:2.25rem;
}

/* Tag position over image (for card-carousel) */
.c-section--layout-card-carousel .c-card__category-badge--over-image {
	position: absolute;
	right: 0;
	bottom: 10%;
	z-index: 10;
	margin: 0;
	background-color: var(--factpress-general-color-2);
	border-radius: 16px 0 0 0;
	width: 140px;
  	height: 30px;
 	text-align: center;
 	align-content: center;
  	box-shadow: #0000005c 0 0 5px;
}

.c-section--layout-card-carousel .c-card.tag-over-image{
	background-color: var(--factpress-general-color-4);
}

.c-section--layout-card-carousel .c-card.tag-over-image .c-card__body .c-card__category-badge {
	display: none;
}

/* Card Carousel */
.c-section--layout-card-carousel .carousel-container {
	display: flex; 
	justify-content: center; 
	width: 100%; 
	overflow: hidden;
}

.c-section--layout-card-carousel .carousel-fullwidth-wrapper { 
	position: relative; 
	width: 100%; 
	display: flex; 
	flex-direction: column; 
	align-items: center; 
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.owl-carousel.owl-theme {
		width: 1600px;
	}
}

.owl-stage {
	display: flex; 
	align-items: stretch;
}

.owl-item {
	flex: 1 0 auto; 
	display: flex;
}

.owl-item .c-card {
	height: 100%;
}

.c-section--layout-card-carousel .owl-carousel { 
	margin-top: 1rem; 
}

.c-section--layout-card-carousel .owl-carousel .item { 
	padding: 0 10px; 
}

.c-section--layout-card-carousel .owl-carousel .c-card { 
	margin: 0; 
}

.c-section--layout-card-carousel .owl-carousel .c-card__body { 
	padding: 1.5rem; 
}

.c-section--layout-card-carousel .owl-carousel .c-card__media { 
	height: 200px; 
	overflow: hidden; 
	position: relative;
	aspect-ratio: 16/9;
}

.c-section--layout-card-carousel .owl-carousel .c-card__media img { 
	width: 100%; 
	height: 100%; 
	object-fit: cover; 
	object-position: center; 
	position: absolute;
	top: 0;
	left: 0;
}

.c-section--layout-card-carousel .owl-nav { 
	margin-top: 1rem; 
}

.c-section--layout-card-carousel .owl-nav button { 
	background: #f0f0f0; 
	border: 1px solid #ddd; 
	padding: 8px 12px; 
	margin: 0 5px; 
	border-radius: 4px; 
}

.c-section--layout-card-carousel .owl-nav button:hover { 
	background: #e0e0e0; 
}

.c-section--layout-card-carousel .owl-dots { 
	margin-top: 1rem; 
}

.c-section--layout-card-carousel .owl-dots .owl-dot span { 
	background: #ddd; 
}

.c-section--layout-card-carousel .owl-dots .owl-dot.active span,
.c-section--layout-card-carousel .owl-dots .owl-dot:hover span { 
	background: #666; 
}

/* Gradient masks for carousel */
.carousel-gradient-mask {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 150px;
	z-index: 10;
	pointer-events: none;
}

.carousel-gradient-left {
	left: 0;
	background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}

.carousel-gradient-right {
	right: 0;
	background: linear-gradient(to left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}

/* Additional consistency for carousel items */
.c-section--layout-card-carousel .owl-item .c-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.c-section--layout-card-carousel .owl-item .c-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Square box image layout */
.c-section--layout-card-carousel.image-layout-square-box .owl-carousel .c-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: transparent;
	aspect-ratio: 1;
	height: auto;
	min-height: auto;
}

.c-section--layout-card-carousel.image-layout-square-box .owl-carousel .c-card__media img {
	position: relative;
	width: 100%;
	height: 100%;
	/*max-width: 220px;
	max-height: 220px;*/
	object-fit: cover;
	border-radius: 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
	top: auto;
	left: auto;
}

/* Square box layout for grid mode (non-slider) */
.c-section--layout-card-carousel.image-layout-square-box .c-grid .c-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	aspect-ratio: 1;
	height: auto;
	min-height: auto;
	margin:2.25rem 2.25rem 0 2.25rem;
    box-shadow: #00000040 0px 0px 15px 2px;
}

.c-section--layout-card-carousel.image-layout-square-box .c-grid .c-card__media img {
	position: relative;
	object-fit: cover;
	border-radius: 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
	top: auto;
	left: auto;
}

/* Hide gradients on mobile */
@media (max-width: 768px) {
	.carousel-gradient-mask { 
		display: none; 
	}
	
	.c-section--layout-card-carousel .carousel-fullwidth-wrapper { 
		width: 100%; 
	}
	
	
	
}