/**
 * Baseline styles for the [agc_events] slider — scoped to
 * .agc-novi-events so they coexist with (and defer to) the site's
 * existing event-card CSS from the agcga-imis plugin while it's still
 * installed, and keep the slider presentable after it's removed.
 */

.agc-novi-events .agc-novi-slider {
	position: relative;
	overflow: hidden;
}

.agc-novi-events .swiper-wrapper {
	display: flex;
	align-items: stretch;
}

.agc-novi-events .swiper-slide {
	flex: 0 0 auto;
	box-sizing: border-box;
}

/* Card baseline (the theme's event-card CSS wins where it exists). */
.agc-novi-events .event-card {
	position: relative;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

/*
 * Uniform image crop: the ratio lives on the CONTAINER and the image is
 * forced to fill it, so theme img rules (height:auto resets etc.) can't
 * reintroduce the source images' wildly varying natural ratios.
 */
.agc-novi-events .event-image-container {
	aspect-ratio: 3 / 2; /* the old widget rendered 300x200 */
	overflow: hidden;
}

.agc-novi-events .event-image,
.agc-novi-events .event-image-placeholder {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.agc-novi-events .event-image-placeholder {
	background: #e5e7eb;
}

.agc-novi-events .event-info {
	padding: 1rem;
}

.agc-novi-events .event-date {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #d7282f;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 4px 10px;
	line-height: 1.2;
}

.agc-novi-events .event-date span {
	display: block;
	font-size: 0.7rem;
}

.agc-novi-events .event-date strong {
	display: block;
	font-size: 1.2rem;
}

/* Arrows: minimal chevrons, hidden at the ends. */
.agc-novi-events .swiper-button-prev,
.agc-novi-events .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 2;
}

.agc-novi-events .swiper-button-prev { left: 0; }
.agc-novi-events .swiper-button-next { right: 0; }

.agc-novi-events .swiper-button-prev::after,
.agc-novi-events .swiper-button-next::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-top: 3px solid #d7282f;
	border-right: 3px solid #d7282f;
}

.agc-novi-events .swiper-button-prev::after {
	transform: translate(-25%, -50%) rotate(-135deg);
}

.agc-novi-events .swiper-button-next::after {
	transform: translate(-75%, -50%) rotate(45deg);
}

.agc-novi-events .swiper-button-prev.agc-disabled,
.agc-novi-events .swiper-button-next.agc-disabled {
	opacity: 0.3;
	cursor: default;
}

/* Bullets. */
.agc-novi-events .swiper-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 1rem;
}

.agc-novi-events .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #cbd5e1;
	cursor: pointer;
}

.agc-novi-events .swiper-pagination-bullet-active {
	background: #d7282f;
}
