/**
 * Search Loading — visual styles.
 *
 * Skeleton aligned with product-card layout to prevent visual jumps.
 *
 * @package PasionGift_App
 */

.pg-search-loading {
	display: flex;
	flex-direction: column;
	gap: var(--pg-space-md);
	padding: var(--pg-space-sm) 0;
	min-height: 14rem;
}

.pg-search-loading__label {
	margin: 0;
	padding-inline: 0.125rem;
	font-family: var(--pg-font-family);
	font-size: var(--pg-font-size-sm);
	font-weight: var(--pg-font-weight-medium);
	color: var(--pg-color-brand-wine);
}

.pg-search-loading__meta {
	height: 0.875rem;
	width: 42%;
	border-radius: var(--pg-radius-full);
	background-color: var(--pg-color-interactive-bg);
}

.pg-search-loading__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pg-grid-gap);
}

.pg-search-loading__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--pg-color-border-subtle);
	border-radius: var(--pg-card-radius);
	overflow: hidden;
	background-color: var(--pg-color-surface);
}

.pg-search-loading__media {
	aspect-ratio: var(--pg-product-media-ratio);
	background: linear-gradient(
		110deg,
		var(--pg-color-interactive-bg) 8%,
	 rgba(249, 209, 217, 0.35) 18%,
		var(--pg-color-interactive-bg) 33%
	);
	background-size: 200% 100%;
	animation: pg-search-loading-shimmer 1.4s ease-in-out infinite;
}

.pg-search-loading__body {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	padding: var(--pg-card-padding-compact);
	min-height: 3.25rem;
}

.pg-search-loading__line {
	height: 0.625rem;
	border-radius: var(--pg-radius-full);
	background: linear-gradient(
		110deg,
		var(--pg-color-interactive-bg) 8%,
	 rgba(207, 186, 165, 0.45) 18%,
		var(--pg-color-interactive-bg) 33%
	);
	background-size: 200% 100%;
	animation: pg-search-loading-shimmer 1.4s ease-in-out infinite;
}

.pg-search-loading__line--title {
	width: 88%;
}

.pg-search-loading__line--price {
	width: 52%;
	animation-delay: 0.12s;
}

@keyframes pg-search-loading-shimmer {
	0% {
		background-position: 100% 0;
	}

	100% {
		background-position: -100% 0;
	}
}

@media (min-width: 1024px) {
	.pg-search-loading__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.pg-search-loading__media,
	.pg-search-loading__line {
		animation: none;
		background: var(--pg-color-interactive-bg);
	}
}
