/* =================================================================
   Instagram Feed Component（c-insta-feed）
   見出し・CTA は page.css の .p-service-insta
   ================================================================= */

.c-insta-feed {
	--insta-feed-gap: 10px;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.c-insta-feed__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--insta-feed-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-insta-feed__item {
	margin: 0;
}

.c-insta-feed__item--empty {
	grid-column: 1 / -1;
	padding: 20px 0;
	text-align: center;
}

.c-insta-feed__item--empty p {
	margin: 0;
	color: var(--color-primary);
	font-size: 14px;
	line-height: 1.6;
}

.c-insta-feed__link {
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	transition: opacity var(--transition, 0.3s ease);
}

.c-insta-feed__link:hover {
	opacity: 0.85;
}

.c-insta-feed__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.c-insta-feed__more {
	margin-top: 30px;
	text-align: center;
}

.c-insta-feed__more a {
	display: inline-block;
	padding: 10px 40px;
	color: var(--color-primary);
	border: 1px solid var(--color-primary);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.c-insta-feed__more a:hover {
	opacity: 0.85;
}

.c-insta-feed__item--animate {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.c-insta-feed__item--animate.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media screen and (max-width: 767px) {
	.c-insta-feed__list {
		grid-template-columns: repeat(4, 1fr);
	}
}
