main {
	flex-direction: column;
}

article {
	margin: 0 auto;
	width: 90%;
	word-wrap: break-word;
}

/* Alineación del cuerpo del artículo. */
article:has(#t-left:checked) #post-content {
	text-align: left;
}

article:has(#t-center:checked) #post-content {
	text-align: center;
}

article:has(#t-right:checked) #post-content {
	text-align: right;
}

article:has(#t-justified:checked) #post-content {
	text-align: justify;
}

.date {
	font-family: "Chelsea";
	font-size: 16px;
	margin-bottom: 10px;
}

/* Estilos de autor */
.author {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
}

.author-avatar {
	max-width: 50px;
	max-height: 50px;
	border-radius: 100px;
}

.author-intro {
	display: flex;
	flex-direction: column;
	font-family: "Chelsea";
}

.author-socials {
	display: flex;
	flex-direction: row;
	gap: 10px;
}

.author-socials img {
	width: auto;
	height: 25px;
}

/* Estilos de botones de alineación de texto */
#t-alignment {
	margin: 25px 0;
	font-family: "Chelsea";
}

#t-alignment div {
	margin: 5px 0;
}

#t-alignment input {
	display: none;
}

#t-alignment label {
	cursor: var(--hachiware-pointer), auto;
}

#t-alignment label button {
	padding: 5px 10px;
	background-color: var(--bg-color-2);
	color: var(--fg-color-1);
	border-radius: 5px;
	border: none;
	pointer-events: none;
}

#t-alignment label:hover button {
	filter: brightness(125%);
}

#t-alignment input[type="radio"]:checked+label button {
  background-color: var(--bg-color-3);
}

#featured-img {
	display: flex;
	width: 100%;
	justify-content: center;
	margin: 20px 0;
}

.featured {
	width: 100%;
}

/* Estilo para las imágenes que se inserten dentro del cuerpo del texto. */
.post-image {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.post-image img {
	width: 80%;
	max-width: 550px;
}

/* Sección genérica que debe ir al centro. */
.center {
	margin: 20px 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 10px;
}
