/**
 * Shared components (text links, etc.). Site chrome is chrome.css.
 *
 * @package komono
 */

.c-text-link {
	--text-link-line-width: 109px;
	position: relative;
	display: inline-block;
	color: #4d4d4d;
	font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2;
	text-decoration: none;
	padding-bottom: 16px;
}

.c-text-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 8px;
	width: var(--text-link-line-width);
	height: 1px;
	background: currentColor;
	transition: left 0.35s ease;
}

.c-text-link::before {
	content: "";
	position: absolute;
	left: calc(100% - 3px);
	bottom: 7px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
	opacity: 1;
	transition: left 0.35s ease, opacity 0.28s ease;
}

@media (hover: hover) {
	.c-text-link:hover::after {
		left: calc(100% - var(--text-link-line-width));
	}

	.c-text-link:hover::before {
		left: 0;
		opacity: 1;
	}
}

.c-text-link--sm {
	--text-link-line-width: 75px;
}

.c-text-link--xs {
	--text-link-line-width: 56px;
	font-size: 12px;
	letter-spacing: 0.1em;
	padding-bottom: 14px;
}

@media (max-width: 767px) {
	.c-text-link {
		display: block;
		width: fit-content;
		margin-inline: auto;
	}
}
