/**
 * Atomos Load More - Styles
 */

/* Listing grid - minmax(0, 1fr) prevents columns from growing when content is wide */
.atomos-load-more-wrap .atomos-load-more-listing {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.atomos-load-more-wrap .atomos-load-more-listing {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2.5rem;
	}
}

@media (min-width: 1024px) {
	.atomos-load-more-wrap .atomos-load-more-listing {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 3rem;
	}
}

/* Allow grid items to shrink and text to wrap - prevents long names from stretching columns */
.atomos-load-more-wrap .atomos-load-more-listing .atomos-load-more-item {
	min-width: 0;
}

.atomos-load-more-wrap .atomos-load-more-listing .atomos-load-more-item h3 {
	overflow-wrap: break-word;
	word-break: break-word;
}

/* Item images - fixed aspect ratio for consistent sizing across grid */
.atomos-load-more-wrap .atomos-load-more-listing .atomos-load-more-item .atomos-load-more-item-image {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
}

.atomos-load-more-wrap .atomos-load-more-listing .atomos-load-more-item img,
.atomos-load-more-wrap .atomos-load-more-listing .atomos-load-more-item .atomos-load-more-item-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	object-position: center;
}

/* Filters */
.atomos-load-more-wrap .atomos-load-more-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	width: 100%;
	margin-bottom: 1rem;
}

.atomos-load-more-wrap .atomos-load-more-filter {
	width: 100%;
}

.atomos-load-more-wrap .atomos-load-more-filter-select {
	width: 100%;
}

.atomos-load-more-wrap .atomos-load-more-filter-select select {
	width: 100%;
	padding: 0.5rem 1rem;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
}

.atomos-load-more-wrap .atomos-load-more-filter-select .ui-selectmenu-button {
	width: 100% !important;
	border-radius: 10px;
}

.atomos-load-more-wrap .atomos-load-more-filter-select .ui-selectmenu-text {
	margin-left: 7px;
}

/* Button wrap - theme provides .button styles via site.scss */
.atomos-load-more-wrap .atomos-load-more-btn-wrap {
	text-align: center;
	margin-top: 1.5rem;
}

.atomos-load-more-wrap .atomos-load-more-btn-wrap .atomos-load-more-btn.loading {
	cursor: wait;
}

.atomos-load-more-wrap .atomos-load-more-btn-wrap .atomos-load-more-btn.done {
	cursor: default;
}

.atomos-load-more-wrap .atomos-load-more-no-results {
	text-align: center;
	padding: 2rem;
}

/* Loading overlay */
.atomos-load-more-wrap .atomos-load-more-content {
	position: relative;
	min-height: 120px;
}

.atomos-load-more-wrap .atomos-load-more-loading {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.8);
	z-index: 10;
}

.atomos-load-more-wrap .atomos-load-more-spinner {
	display: inline-block;
	width: 40px;
	height: 40px;
	border: 3px solid #e5e7eb;
	border-top-color: #008577;
	border-radius: 50%;
	animation: atomos-load-more-spin 0.8s linear infinite;
}

@keyframes atomos-load-more-spin {
	to {
		transform: rotate(360deg);
	}
}
