/* Row Repeater frontend: sections and columns */
.iwe-row-repeater {
	--iwe-rr-gap: 0;
	box-sizing: border-box;
	margin: 1em 0;
}
.iwe-row-repeater *,
.iwe-row-repeater *::before,
.iwe-row-repeater *::after {
	box-sizing: border-box;
}
.iwe-rr-wrap {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1rem;
}
.iwe-rr-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--iwe-rr-gap);
	margin-bottom: var(--iwe-rr-gap);
}
.iwe-rr-row:last-child {
	margin-bottom: 0;
}
.iwe-rr-col {
	flex: 0 0 auto;
}
.iwe-rr-col-1 { width: 100%; }
.iwe-rr-col-1-2 { width: calc(50% - var(--iwe-rr-gap) / 2); }
.iwe-rr-col-1-3 { width: calc(33.333% - var(--iwe-rr-gap) * 2 / 3); }
.iwe-rr-col-2-3 { width: calc(66.666% - var(--iwe-rr-gap) / 3); }
.iwe-rr-col-1-4 { width: calc(25% - var(--iwe-rr-gap) * 3 / 4); }
.iwe-rr-col-2-4 { width: calc(50% - var(--iwe-rr-gap) / 2); }
.iwe-rr-col-3-4 { width: calc(75% - var(--iwe-rr-gap) / 4); }
.iwe-rr-cell-img {
	max-width: 100%;
	height: auto;
	display: block;
	vertical-align: middle;
}
.iwe-rr-cell-link {
	display: block;
	overflow: hidden;
}
.iwe-rr-cell-link .iwe-rr-cell-img {
	transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Hover effects: apply transition to all cell images when repeater has a hover class */
.iwe-rr-hover-zoom-in .iwe-rr-cell-img,
.iwe-rr-hover-scale-up .iwe-rr-cell-img {
	transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Hover: Zoom In / Scale up — scale from var (default 1.08 / 1.05) */
.iwe-rr-hover-zoom-in .iwe-rr-cell-link:hover .iwe-rr-cell-img,
.iwe-rr-hover-zoom-in .iwe-rr-col:hover .iwe-rr-cell-img,
.iwe-rr-hover-scale-up .iwe-rr-cell-link:hover .iwe-rr-cell-img,
.iwe-rr-hover-scale-up .iwe-rr-col:hover .iwe-rr-cell-img {
	transform: scale(var(--iwe-rr-scale, 1.08));
}

/* Hover: Fade White / Fade Dark — overlay on column */
.iwe-rr-hover-fade-white .iwe-rr-col,
.iwe-rr-hover-fade-dark .iwe-rr-col {
	position: relative;
	overflow: hidden;
}
.iwe-rr-hover-fade-white .iwe-rr-col::after,
.iwe-rr-hover-fade-dark .iwe-rr-col::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}
.iwe-rr-hover-fade-white .iwe-rr-col::after {
	background: rgba(255, 255, 255, var(--iwe-rr-fade-opacity, 0.5));
}
.iwe-rr-hover-fade-dark .iwe-rr-col::after {
	background: rgba(0, 0, 0, var(--iwe-rr-fade-opacity, 0.5));
}
.iwe-rr-hover-fade-white .iwe-rr-col:hover::after,
.iwe-rr-hover-fade-dark .iwe-rr-col:hover::after {
	opacity: 1;
}

@media (max-width: 768px) {
	.iwe-rr-col-1-2,
	.iwe-rr-col-1-3,
	.iwe-rr-col-2-3,
	.iwe-rr-col-1-4,
	.iwe-rr-col-2-4,
	.iwe-rr-col-3-4 {
		width: 100%;
	}
}
