/* Elementor containers can size widgets to content when Align Items is centered.
   Force this widget to use the full width available from the parent container. */
.elementor-widget-odcc_curriculum_cards{
	width:100% !important;
	max-width:100% !important;
	flex:1 1 100% !important;
	align-self:stretch !important;
}

.elementor-widget-odcc_curriculum_cards > .elementor-widget-container{
	width:100% !important;
	max-width:100% !important;
}

.odcc-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:24px;
	width:100%;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}

.odcc-card{
	--odcc-accent:#064B7B;
	--odcc-badge-bg:#DDF7D2;
	position:relative;
	overflow:hidden;
	background:#FFFFFF;
	border:1px solid #E8EDF2;
	border-radius:18px;
	padding:18px;
	box-shadow:0 6px 18px rgba(6,75,123,.05);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.odcc-card:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(6,75,123,.07);
	border-color:#DCE4EA;
}

.odcc-card::before{
	content:none !important;
	display:none !important;
}

.odcc-card-top{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:16px;
	margin-bottom:16px;
}

.odcc-age{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-bottom:9px;
	padding:5px 9px;
	background:#DDF7D2;
	border-radius:999px;
	color:#1D6B3B;
	font-family:"DM Sans",sans-serif;
	font-size:10px;
	font-weight:700;
	line-height:1;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.odcc-title{
	margin:0;
	color:#064B7B;
	font-family:"Fredoka","Nunito",sans-serif;
	font-size:22px;
	font-weight:700;
	line-height:1.15;
	text-transform:uppercase;
}

.odcc-subtitle{
	margin-top:5px;
	color:#7B8792;
	font-family:"DM Sans",sans-serif;
	font-size:12px;
	line-height:1.45;
}

.odcc-icon{
	flex:0 0 34px;
	width:34px;
	height:34px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:#EEF6FA;
	overflow:hidden;
}

.odcc-icon img{
	width:20px;
	height:20px;
	object-fit:contain;
}

.odcc-preview{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:260px;
	padding:8px;
	overflow:hidden;
	background:#FAFBFC;
	border:1px solid #EEF1F4;
	border-radius:16px;
	text-decoration:none;
}

.odcc-preview img{
	width:100%;
	height:260px;
	display:block;
	object-fit:contain;
	border-radius:12px;
	transition:transform .25s ease;
}

a.odcc-preview:hover img{
	transform:scale(1.012);
}

.odcc-preview-empty{
	flex-direction:column;
	gap:8px;
	color:#94A3B8;
	font-size:13px;
	text-align:center;
}

.odcc-description{
	margin-top:14px;
	color:#667085;
	font-family:"DM Sans",sans-serif;
	font-size:13px;
	font-weight:400;
	line-height:1.65;
}

.odcc-card-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	flex-wrap:wrap;
	margin-top:14px;
	padding-top:12px;
	border-top:1px solid #EEF2F7;
}

.odcc-download{
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:#2869C7;
	font-family:"DM Sans",sans-serif;
	font-size:12px;
	font-weight:600;
	line-height:1.35;
	text-decoration:none;
}

.odcc-download:hover{
	text-decoration:underline;
}

.odcc-download-icon{
	display:inline-grid;
	place-items:center;
	width:20px;
	height:20px;
	border-radius:50%;
	background:#EAF2FF;
	font-size:13px;
	line-height:1;
}

.odcc-updated{
	margin-left:auto;
	color:#9AA6B2;
	font-family:"DM Sans",sans-serif;
	font-size:11px;
	line-height:1.35;
	white-space:nowrap;
}

.odcc-empty{
	padding:24px;
	border:1px dashed #CBD5E1;
	border-radius:14px;
	color:#64748B;
	text-align:center;
	background:#FAFBFC;
}

.odcc-cols-1{grid-template-columns:1fr}
.odcc-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.odcc-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.odcc-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:1024px){
	.odcc-grid,
	.odcc-cols-3,
	.odcc-cols-4{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:767px){
	.odcc-grid,
	.odcc-cols-2,
	.odcc-cols-3,
	.odcc-cols-4{
		grid-template-columns:1fr;
	}
	.odcc-card{
		padding:15px;
		border-radius:18px;
	}
	.odcc-preview{
		min-height:220px;
	}
	.odcc-preview img{
		height:220px;
	}
	.odcc-card-footer{
		align-items:flex-start;
		flex-direction:column;
	}
	.odcc-updated{
		margin-left:0;
	}
}


/* v1.2.0: Elementor manual-card UX */
.elementor-widget-odcc_curriculum_cards,
.elementor-widget-odcc_curriculum_cards > .elementor-widget-container{
	width:100%;
	max-width:100%;
}

.odcc-empty-image-icon{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	border:1px solid #D9E2EC;
	border-radius:10px;
	background:#fff;
	color:#94A3B8;
	font-size:18px;
}


/* v1.4.0 Minimalist card refinement */
.odcc-card{
    border-top:none !important;
}
.odcc-card::before,
.odcc-card::after{
    content:none !important;
    display:none !important;
}
.odcc-card-top{
    margin-bottom:14px;
}
.odcc-preview{
    border-color:#EEF1F4;
    background:#FAFBFC;
}
.odcc-card-footer{
    border-top:1px solid #F0F2F4;
}
