:root {
	--primario: #e23939;
	--gris-claro: #B8B8B8;
	--sombra: 0 0 13px 0 rgba(185,185,185, .25);
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	background: #f8fafb;
	font-family: 'Roboto', sans-serif;
}

main {
	max-width: 1000px;
	width: 90%;
	margin: 40px auto;
}

.titulo {
	color: #3a3a3a;
	font-weight: 700;
	text-align: center;
	margin: 60px 0;
}

/*! =================================================*/
/*! ============= Categorias ============= */
/*! =================================================*/
.categorias {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 60px;
}

.categoria {
	border: 1px solid blue;
	margin: auto;
	cursor: pointer;
	text-align: center;
	padding: 20px;
	border-radius: 10px;
	background: #fff;
	font-weight: 700;
	color: var(--gris-claro);
	border: 2px solid transparent;
	transition: .3s ease all;
}

.categoria:hover {
	box-shadow: var(--sombra);
	color: #000;
}

.categoria:hover path {
	fill: var(--primario);
}

.categoria svg {
	width: 64px;
	margin-bottom: 10px;
}

.categoria path {
	fill: var(--gris-claro);
	transition: .3s ease all;
}

.categoria.activa {
	border: 2px solid var(--primario);
	color: #000;
}

.categoria.activa path {
	fill: var(--primario);
}

/*! =================================================*/
/*! ============= Contenedor Preguntas ============= */
/*! =================================================*/
.contenedor-preguntas {
	display: none;
	grid-template-columns: 1fr;
	/*gap: 40px;*/
}

.contenedor-preguntas.activo {
	display: grid;
}

.contenedor-pregunta {
	background: #fff;
	padding: 40px;
	border: 2px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	transition: .3s ease all;
	cursor: pointer;
}

.contenedor-pregunta:hover {
	box-shadow: var(--sombra);
}

.contenedor-pregunta.activa {
	border: 2px solid var(--primario);
}

/*! =================================================*/
/*! ============= Preguntas ============= */
/*! =================================================*/
.pregunta {
	font-weight: 700;
	font-size: 20px;
	line-height: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pregunta img {
	width: 14px;
}

.respuesta {
	color: #808080;
	line-height: 30px;
	max-height: 0;
	opacity: 0;
	transition: .3s ease all;
}

.contenedor-pregunta.activa .respuesta {
	opacity: 1;
	margin-top: 20px;
}

.contenedor-pregunta.activa img {
	transform: rotate(45deg);
}

/*! =================================================*/
/*! ============= Responsive Design ============= */
/*! =================================================*/
@media screen and (max-width: 820px){
	.categorias {
		grid-template-columns: 1fr 1fr;
	}

	.categoria {
		padding: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 5px;
	}

	.categoria svg {
		width: 30px;
		margin-right: 10px;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 500px){
	.categorias {
		grid-template-columns: 1fr;
	}
}