.sb-catalog,
.sb-catalog *{
	box-sizing:border-box
}

.sb-catalog{
	width:100%;
	padding:28px 0 46px;
	background:var(--sb-cream,#FBF6F0);
	color:#314D17;
	font-family:var(--sb-body,"Montserrat",Arial,sans-serif)
}

.sb-catalog-shell{
	width:100%;
	max-width:1080px;
	margin:0 auto;
	padding:0 18px
}

.sb-catalog-heading{
	max-width:760px;
	margin:0 0 28px
}

.sb-catalog-heading h1{
	margin:0;
	color:#F30612;
	font-family:var(--sb-title,"Montserrat",Arial,sans-serif);
	font-size:clamp(34px,5vw,52px);
	font-weight:700;
	line-height:1.08
}

.sb-catalog-heading p{
	margin:12px 0 0;
	max-width:680px;
	color:#314D17;
	font-size:16px;
	line-height:1.65
}

.sb-catalog-list{
	display:grid;
	gap:18px
}

.sb-catalog-item{
	display:grid;
	grid-template-columns:minmax(230px,36%) minmax(0,1fr);
	align-items:start;
	overflow:hidden;
	border:1px solid rgba(23,61,43,.08);
	border-radius:18px;
	background:#FFFDF9;
	box-shadow:0 5px 18px rgba(57,39,31,.035)
}

.sb-catalog-cover{
	display:block;
	width:100%;
	height:100%;
	min-height:210px;
	overflow:hidden;
	background:#F6E7E2;
	text-decoration:none
}

.sb-catalog-image-square .sb-catalog-cover{
	aspect-ratio:1/1;
	height:auto;
	min-height:0;
	align-self:start
}

.sb-catalog-image-horizontal .sb-catalog-cover{
	aspect-ratio:4/3
}

.sb-catalog .sb-catalog-image,
.sb-catalog .sb-course-placeholder{
	display:block;
	width:100%;
	height:100%;
	min-height:100%;
	object-fit:cover;
	object-position:center;
	border-radius:0
}

.sb-catalog .sb-course-placeholder{
	display:grid;
	place-items:center
}

.sb-catalog-content{
	display:flex;
	min-width:0;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	padding:24px 26px
}

.sb-catalog-kind{
	display:inline-flex;
	align-items:center;
	min-height:26px;
	margin:0 0 9px;
	padding:5px 10px;
	border-radius:999px;
	background:#FFF0F1;
	color:#314D17;
	font-size:11px;
	font-weight:800;
	letter-spacing:.035em;
	line-height:1;
	text-transform:uppercase
}

.sb-catalog-content h2{
	margin:0;
	color:#F30612;
	font-family:var(--sb-title,"Montserrat",Arial,sans-serif);
	font-size:clamp(22px,2.4vw,31px);
	font-weight:800;
	line-height:1.08;
	letter-spacing:-.025em
}

.sb-catalog-content h2 a{
	color:#F30612;
	text-decoration:none
}

.sb-catalog-description{
	margin:10px 0 0;
	max-width:620px;
	color:#314D17;
	font-size:15px;
	font-weight:500;
	line-height:1.55
}

.sb-catalog-button{
	display:inline-flex;
	min-width:200px;
	min-height:44px;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin-top:16px;
	padding:10px 20px;
	border-radius:8px;
	background:#F30612;
	color:#fff;
	font-size:13px;
	font-weight:800;
	letter-spacing:.01em;
	line-height:1;
	text-decoration:none;
	transition:transform .18s ease,background .18s ease,box-shadow .18s ease
}

.sb-catalog-button:hover{
	background:#D91E35;
	color:#fff;
	transform:translateY(-1px);
	box-shadow:0 7px 14px rgba(239,35,60,.16)
}

.sb-catalog-button span:last-child{
	font-size:18px;
	font-weight:500;
	line-height:1
}

@media(max-width:760px){
	.sb-catalog{
		padding:22px 0 38px
	}

	.sb-catalog-shell{
		padding:0 12px
	}

	.sb-catalog-heading{
		margin-bottom:22px
	}

	.sb-catalog-item{
		grid-template-columns:1fr;
		border-radius:16px
	}

	.sb-catalog-cover{
		min-height:0
	}

	.sb-catalog-image-square .sb-catalog-cover{
		aspect-ratio:1/1;
		height:auto;
		min-height:0
	}

	.sb-catalog-image-horizontal .sb-catalog-cover{
		aspect-ratio:4/3
	}

	.sb-catalog-content{
		padding:20px
	}

	.sb-catalog-content h2{
		font-size:25px
	}

	.sb-catalog-description{
		font-size:15px
	}

	.sb-catalog-button{
		width:100%;
		min-width:0
	}
}

@media(prefers-reduced-motion:reduce){
	.sb-catalog-button{
		transition:none
	}
}
