/**
 * ACF Flow for Elementor – frontend styles.
 * Repeater grid, list, slider layouts.
 */

/* Repeater container */
.acf-flow-repeater {
	--acf-flow-cols: 1;
	--acf-flow-gap: 1rem;
}

/* Grid layout */
.acf-flow-repeater--grid {
	display: grid;
	grid-template-columns: repeat(var(--acf-flow-cols), 1fr);
	gap: var(--acf-flow-gap);
}

.acf-flow-repeater--grid .acf-flow-repeater-row {
	min-width: 0;
}

/* List layout */
.acf-flow-repeater--list {
	display: flex;
	flex-direction: column;
	gap: var(--acf-flow-gap);
}

.acf-flow-repeater--list .acf-flow-repeater-row {
	width: 100%;
}

/* Slider layout – structure; JS can add swiper if needed */
.acf-flow-repeater--slider {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: var(--acf-flow-gap);
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.acf-flow-repeater--slider .acf-flow-repeater-row {
	flex: 0 0 var(--acf-flow-slide-width, 280px);
	scroll-snap-align: start;
	min-width: 0;
}

/* Lazy load: reveal rows when they enter viewport */
.acf-flow-repeater--lazy .acf-flow-repeater-row {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.acf-flow-repeater--lazy .acf-flow-repeater-row.acf-flow-revealed {
	opacity: 1;
	transform: translateY(0);
}

/* Edit in ACF link (editor only, small text) */
.acf-flow-edit-in-acf {
	margin: 6px 0 0;
	font-size: 12px;
	opacity: 0.85;
}
.acf-flow-edit-in-acf a {
	text-decoration: none;
}

/* Placeholder / empty state */
.acf-flow-repeater-placeholder,
.acf-flow-repeater-empty {
	padding: 1em;
	background: #f0f0f1;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #50575e;
}

/* Locked / upgrade message */
.acf-flow-locked-notice,
.acf-flow-repeater-locked,
.acf-flow-conditional-locked {
	padding: 1.5em;
	text-align: center;
	background: #f0f6fc;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
}

.acf-flow-locked-notice .dashicons,
.acf-flow-repeater-locked .dashicons,
.acf-flow-conditional-locked .dashicons {
	color: #d63638;
	vertical-align: middle;
}
