/* =========================================================
   T5 ACF Repeater Grid
   Structural CSS only.
   Most visual styling is generated by Elementor controls.
   ========================================================= */


/* -----------------------------
   Grid
------------------------------ */

.t5-rg-grid {
	display: grid;
	width: 100%;
	box-sizing: border-box;
}

.t5-rg-grid--equal-height {
	align-items: stretch;
}

.t5-rg-grid--equal-height .t5-rg-card {
	height: 100%;
}


/* -----------------------------
   Card
------------------------------ */

.t5-rg-card {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

.t5-rg-card--no-icon,
.t5-rg-card--icon-top {
	flex-direction: column;
}

.t5-rg-card--icon-left {
	flex-direction: row;
	align-items: flex-start;
}

.t5-rg-card--icon-right {
	flex-direction: row;
	align-items: flex-start;
}

.t5-rg-card--icon-right .t5-rg-content {
	order: 1;
}

.t5-rg-card--icon-right .t5-rg-icon {
	order: 2;
}


/* -----------------------------
   Content
------------------------------ */

.t5-rg-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}


/* -----------------------------
   Fields
------------------------------ */

.t5-rg-field {
	box-sizing: border-box;
	max-width: 100%;
}

.t5-rg-field--headline,
.t5-rg-field--body,
.t5-rg-field--label,
.t5-rg-field--number,
.t5-rg-field--custom {
	width: 100%;
}

.t5-rg-field--headline,
.t5-rg-field--body,
.t5-rg-field--label,
.t5-rg-field--number,
.t5-rg-field--custom {
	overflow-wrap: anywhere;
}


/* Remove browser-default heading/paragraph margins.
   Elementor controls will handle spacing explicitly. */

.t5-rg-field--headline,
.t5-rg-field--body,
.t5-rg-field--label,
.t5-rg-field--number,
.t5-rg-field--custom {
	margin-top: 0;
	margin-bottom: 0;
}


/* -----------------------------
   Image Field
------------------------------ */

.t5-rg-field--image {
	width: 100%;
}

.t5-rg-image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}


/* -----------------------------
   Icon
------------------------------ */

.t5-rg-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	line-height: 1;
}

.t5-rg-icon i,
.t5-rg-icon svg {
	display: block;
	flex: 0 0 auto;
}

.t5-rg-card--icon-top .t5-rg-icon {
	align-self: flex-start;
}


/* -----------------------------
   Divider
------------------------------ */

.t5-rg-divider {
	display: block;
	flex: 0 0 auto;
	box-sizing: border-box;
	max-width: 100%;
}

.t5-rg-divider--brand {
	width: 100%;
	min-height: 4px;
}

.t5-rg-divider--rule {
	width: 100%;
	height: 1px;
}


/* -----------------------------
   Editor Message
------------------------------ */

.t5-rg-message {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #d5d8dc;
	background: #f7f7f7;
	font-size: 13px;
	line-height: 1.4;
	box-sizing: border-box;
}