/* ACTS Past Events Grid — defensive Elementor sizing */
.elementor-widget-cew-past-events-grid,
.elementor-widget-cew-past-events-grid > .elementor-widget-container{
	height:auto!important;
	max-height:none!important;
	overflow:visible!important;
}

/* ACTS Past Events Grid */
.cew-peg{
	width:100%;
	height:auto;
	max-height:none;
	margin:0;
	padding:0;
	overflow:visible;
	background:#fff;
	font-family:"PP Neue Montreal",Arial,sans-serif;
}

.cew-peg,
.cew-peg *{
	box-sizing:border-box;
}

.cew-peg-title{
	margin:0 0 38px;
	padding:0;
	color:#111;
	font-size:38px;
	line-height:1.08;
	font-weight:400;
	letter-spacing:-.035em;
}

.cew-peg-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	margin-bottom:40px;
}

.cew-peg-tabs{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
	min-width:0;
}

.cew-peg-tab{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:0;
	padding:10px 18px;
	border:0;
	border-radius:0;
	background:#e2e2e2;
	color:var(--cew-peg-desc-color,#444);
	font:inherit;
	font-size:14px;
	line-height:1;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.cew-peg-tab.is-active{
	background:#14032f;
	color:#fff;
}

.cew-peg-tab:focus-visible,
.cew-peg-select:focus-visible,
.cew-peg-button:focus-visible{
	outline:2px solid currentColor;
	outline-offset:2px;
}

.cew-peg-controls{
	display:flex;
	align-items:center;
	gap:12px;
	flex:0 0 auto;
}

.cew-peg-select-wrap{
	position:relative;
	display:block;
}

.cew-peg-select-wrap::after{
	content:"⌄";
	position:absolute;
	right:14px;
	top:50%;
	transform:translateY(-55%);
	pointer-events:none;
	font-size:16px;
	line-height:1;
}

.cew-peg-select{
	display:block;
	min-width:96px;
	margin:0;
	padding:10px 38px 10px 16px;
	border:1px solid #e4e4e4;
	border-radius:0;
	background:#fff;
	color:#333;
	font:inherit;
	font-size:14px;
	line-height:1.1;
	appearance:none;
	-webkit-appearance:none;
}

.cew-peg-list{
	display:flex;
	flex-direction:column;
	gap:24px;
	height:auto;
	max-height:none;
	overflow:visible;
}

.cew-peg-card{
	--cew-peg-image-width:50%;
	display:grid;
	grid-template-columns:minmax(0,var(--cew-peg-image-width)) minmax(0,1fr);
	align-items:stretch;
	width:100%;
	height:auto;
	max-height:none;
	margin:0;
	overflow:visible;
	background:var(--cew-peg-card-bg,#f8f2ff);
}

.cew-peg-card[hidden]{
	display:none!important;
}

.cew-peg-image-wrap{
	position:relative;
	align-self:stretch;
	width:100%;
	height:auto;
	overflow:hidden;
	background:#eee;
}

.cew-peg.is-image-match-card .cew-peg-image-wrap{
	aspect-ratio:auto!important;
}

.cew-peg-image{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:50% var(--cew-peg-img-y,50%);
}

.cew-peg.is-image-match-card .cew-peg-image{
	position:absolute;
	inset:0;
}

.cew-peg-content{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:0;
	height:auto;
	max-height:none;
	padding:44px 40px 44px 32px;
	overflow:visible;
}

.cew-peg-logo-wrap{
	margin:0 0 28px;
}

.cew-peg-logo{
	display:block;
	width:auto;
	max-width:150px;
	height:auto;
	max-height:88px;
	object-fit:contain;
	object-position:left center;
}

.cew-peg-event-title{
	color:var(--cew-peg-title-color,#281080);
	font-size:36px;
	line-height:1.08;
	font-weight:500;
	letter-spacing:-.035em;
}

.cew-peg-description{
	margin:0 0 28px;
	color:#444;
	font-size:17px;
	line-height:1.42;
	font-weight:400;
}

.cew-peg-stats{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:36px;
	margin:0 0 28px;
}

.cew-peg-stat{
	min-width:0;
}

.cew-peg-stat-value{
	margin:0 0 8px;
	color:#251078;
	font-size:20px;
	line-height:1.15;
	font-weight:500;
}

.cew-peg-stat-label{
	color:#555;
	font-size:14px;
	line-height:1.25;
	font-weight:400;
}

.cew-peg-buttons{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:16px;
}

.cew-peg-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:16px 24px;
	border:1px solid transparent;
	border-radius:0;
	text-decoration:none;
	font-size:16px;
	line-height:1;
	font-weight:400;
	transition:opacity .2s ease;
}

.cew-peg-button:hover{
	text-decoration:none;
	opacity:.86;
}

.cew-peg-button-primary{
	background:#13002f;
	color:#fff;
}

.cew-peg-button-secondary{
	background:transparent;
	color:#17052f;
	border-color:#17052f;
}

.cew-peg-empty{
	padding:34px 0;
	color:#666;
	font-size:16px;
}

.cew-peg-admin-note{
	padding:14px;
	background:#fff6d9;
	border:1px solid #efd37a;
	color:#493a00;
}

@media(max-width:1024px){
	.cew-peg-toolbar{
		align-items:flex-start;
		flex-direction:column;
	}

	.cew-peg-controls{
		align-self:flex-end;
	}

	.cew-peg-card{
		--cew-peg-image-width:48%;
	}

	.cew-peg-content{
		padding:34px 30px 34px 28px;
	}

	.cew-peg-stats{
		gap:22px;
	}
}

@media(max-width:767px){
	.cew-peg-title{
		font-size:32px;
		margin-bottom:26px;
	}

	.cew-peg-toolbar{
		gap:18px;
		margin-bottom:28px;
	}

	.cew-peg-tabs{
		flex-wrap:nowrap;
		width:100%;
		overflow-x:auto;
		padding-bottom:4px;
		scrollbar-width:none;
	}

	.cew-peg-tabs::-webkit-scrollbar{
		display:none;
	}

	.cew-peg-tab{
		flex:0 0 auto;
	}

	.cew-peg-controls{
		align-self:stretch;
		width:100%;
	}

	.cew-peg-select-wrap{
		flex:1 1 50%;
	}

	.cew-peg-select{
		width:100%;
	}

	.cew-peg-card{
		display:block;
	}

	.cew-peg-image-wrap{
		width:100%;
	}

	.cew-peg-content{
		padding:28px 22px;
	}

	.cew-peg-description{
		font-size:16px;
	}

	.cew-peg-stats{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:14px;
	}

	.cew-peg-buttons{
		align-items:stretch;
	}

	.cew-peg-button{
		flex:1 1 auto;
	}
}


/* Optional ratio mode. The row still expands to whichever side needs more height. */
.cew-peg.is-image-ratio .cew-peg-image-wrap{
	align-self:start;
}

.cew-peg.is-image-ratio .cew-peg-image{
	position:absolute;
	inset:0;
}
