/* =========================================================
   Categories
========================================================= */

.alp-categories {
	padding: 96px 0;
}

.alp-categories__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}


/* =========================================================
   Category item
========================================================= */

.alp-category-item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;

	min-height: 104px;
	padding: 14px 22px 14px 14px;

	border: 1px solid #dbe2e9;
	border-radius: 12px;

	background: #fff;
	color: #111827;
	text-decoration: none;

	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.alp-category-item:hover,
.alp-category-item:focus-visible {
	border-color: #0b2b50;

	box-shadow:
		0 12px 28px rgba(11, 43, 80, 0.08);

	transform: translateY(-3px);
}


/* =========================================================
   Visual
========================================================= */

.alp-category-item__visual {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 76px;
	height: 76px;

	border-radius: 9px;

	background: #eef4f8;
}

.alp-category-item__grade {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 54px;

	border: 2px solid #0b2b50;
	border-radius: 5px;

	color: #0b2b50;

	font-family: "Outfit", sans-serif;
	font-size: 1.7rem;
	font-weight: 700;
}

.alp-category-item__grade--pdf {
	font-size: 0.9rem;
	letter-spacing: 0.04em;
}


/* =========================================================
   Text
========================================================= */

.alp-category-item__body {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.alp-category-item__name {
	font-family: "Outfit", sans-serif;
	font-size: 1.15rem;
	font-weight: 700;

	color: #0b2b50;
}

.alp-category-item__text {
	font-size: 0.95rem;
	color: #222;
}


/* =========================================================
   Arrow
========================================================= */

.alp-category-item__arrow {
	color: #a52a2a;
	font-size: 1.2rem;

	transition: transform 0.25s ease;
}

.alp-category-item:hover .alp-category-item__arrow,
.alp-category-item:focus-visible .alp-category-item__arrow {
	transform: translateX(5px);
}

/* =========================================================
   Categories - Mobile
========================================================= */

@media (max-width: 768px) {

	.alp-categories {
		padding: 40px 0;
	}

	.alp-categories__list {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.alp-category-item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		gap: 16px;

		min-height: 88px;
		padding: 12px 16px 12px 12px;

		border-radius: 10px;
	}

	.alp-category-item__visual {
		width: 64px;
		height: 64px;
		border-radius: 8px;
	}

	.alp-category-item__grade {
		width: 38px;
		height: 46px;

		font-size: 1.45rem;
	}

	.alp-category-item__grade--pdf {
		font-size: 0.7rem;
	}

	.alp-category-item__body {
		gap: 3px;
	}

	.alp-category-item__name {
		font-size: 1.05rem;
	}

	.alp-category-item__text {
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.alp-category-item__arrow {
		font-size: 1.1rem;
	}
}