/*
 * Realify Responsive Columns for Divi
 * v1.4.0
 */

.rrc-enabled,
.rrc-enabled > .et_pb_column {
	box-sizing: border-box !important;
	min-width: 0 !important;
}

.et_pb_row.rrc-enabled > .et_pb_column {
	box-sizing: border-box !important;
	min-width: 0 !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.et_pb_row.rrc-enabled > .et_pb_column > .et_pb_module,
.et_pb_row.rrc-enabled > .et_pb_column .et_pb_image,
.et_pb_row.rrc-enabled > .et_pb_column img,
.et_pb_row.rrc-enabled > .et_pb_column video,
.et_pb_row.rrc-enabled > .et_pb_column iframe {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.et_pb_row.rrc-enabled > .et_pb_column img,
.et_pb_row.rrc-enabled > .et_pb_column video {
	height: auto !important;
}

/* ==========================================================
   ALTURAS IGUALES
   ========================================================== */

/*
 * Flex ya usa align-items:stretch en las filas responsive del plugin.
 * Esta regla hace que cada columna pueda estirarse correctamente.
 */
.et_pb_row.rrc-equal-height > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
}

/*
 * Si la columna contiene UNA sola tarjeta/módulo, ese módulo ocupa
 * toda la altura de la columna. Esto iguala fondos, bordes y sombras.
 *
 * :only-child evita romper columnas que contienen varios módulos.
 */
.et_pb_row.rrc-equal-height > .et_pb_column > .et_pb_module:only-child {
	flex: 1 1 auto !important;
	height: 100% !important;
	width: 100% !important;
}

/*
 * Caso habitual de Blurb: mantiene el contenido interno ocupando
 * correctamente la tarjeta completa.
 */
.et_pb_row.rrc-equal-height > .et_pb_column > .et_pb_blurb:only-child,
.et_pb_row.rrc-equal-height > .et_pb_column > .et_pb_text:only-child {
	display: flex !important;
	flex-direction: column !important;
}

/* ============================
   ESCRITORIO: 981px o más
   ============================ */
@media only screen and (min-width: 981px) {

	.et_pb_row[class*="rrc-desktop-"] {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: stretch !important;
		column-gap: 24px !important;
		row-gap: 30px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	.et_pb_row.rrc-desktop-1 > .et_pb_column { flex: 0 0 100% !important; max-width: 100% !important; }
	.et_pb_row.rrc-desktop-2 > .et_pb_column { flex: 0 0 calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; }
	.et_pb_row.rrc-desktop-3 > .et_pb_column { flex: 0 0 calc(33.333333% - 16px) !important; max-width: calc(33.333333% - 16px) !important; }
	.et_pb_row.rrc-desktop-4 > .et_pb_column { flex: 0 0 calc(25% - 18px) !important; max-width: calc(25% - 18px) !important; }
	.et_pb_row.rrc-desktop-5 > .et_pb_column { flex: 0 0 calc(20% - 19.2px) !important; max-width: calc(20% - 19.2px) !important; }
	.et_pb_row.rrc-desktop-6 > .et_pb_column { flex: 0 0 calc(16.666667% - 20px) !important; max-width: calc(16.666667% - 20px) !important; }

	.et_pb_row[class*="rrc-desktop-"] > .et_pb_column {
		width: auto !important;
		margin: 0 !important;
		float: none !important;
	}

	.et_pb_row[class*="rrc-desktop-"]::after {
		display: none !important;
	}
}

/* ============================
   TABLET: 768px a 980px
   ============================ */
@media only screen and (min-width: 768px) and (max-width: 980px) {

	.et_pb_row[class*="rrc-tablet-"] {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: stretch !important;
		column-gap: 18px !important;
		row-gap: 28px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	.et_pb_row.rrc-tablet-1 > .et_pb_column { flex: 0 0 100% !important; max-width: 100% !important; }
	.et_pb_row.rrc-tablet-2 > .et_pb_column { flex: 0 0 calc(50% - 9px) !important; max-width: calc(50% - 9px) !important; }
	.et_pb_row.rrc-tablet-3 > .et_pb_column { flex: 0 0 calc(33.333333% - 12px) !important; max-width: calc(33.333333% - 12px) !important; }
	.et_pb_row.rrc-tablet-4 > .et_pb_column { flex: 0 0 calc(25% - 13.5px) !important; max-width: calc(25% - 13.5px) !important; }
	.et_pb_row.rrc-tablet-5 > .et_pb_column { flex: 0 0 calc(20% - 14.4px) !important; max-width: calc(20% - 14.4px) !important; }
	.et_pb_row.rrc-tablet-6 > .et_pb_column { flex: 0 0 calc(16.666667% - 15px) !important; max-width: calc(16.666667% - 15px) !important; }

	.et_pb_row[class*="rrc-tablet-"] > .et_pb_column {
		width: auto !important;
		margin: 0 !important;
		float: none !important;
	}

	.et_pb_row[class*="rrc-tablet-"]::after {
		display: none !important;
	}
}

/* ============================
   MÓVIL: hasta 767px
   ============================ */
@media only screen and (max-width: 767px) {

	.et_pb_row[class*="rrc-phone-"] {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: stretch !important;
		column-gap: 14px !important;
		row-gap: 26px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	.et_pb_row.rrc-phone-1 > .et_pb_column { flex: 0 0 100% !important; max-width: 100% !important; }
	.et_pb_row.rrc-phone-2 > .et_pb_column { flex: 0 0 calc(50% - 7px) !important; max-width: calc(50% - 7px) !important; }
	.et_pb_row.rrc-phone-3 > .et_pb_column { flex: 0 0 calc(33.333333% - 9.333333px) !important; max-width: calc(33.333333% - 9.333333px) !important; }
	.et_pb_row.rrc-phone-4 > .et_pb_column { flex: 0 0 calc(25% - 10.5px) !important; max-width: calc(25% - 10.5px) !important; }
	.et_pb_row.rrc-phone-5 > .et_pb_column { flex: 0 0 calc(20% - 11.2px) !important; max-width: calc(20% - 11.2px) !important; }
	.et_pb_row.rrc-phone-6 > .et_pb_column { flex: 0 0 calc(16.666667% - 11.666667px) !important; max-width: calc(16.666667% - 11.666667px) !important; }

	.et_pb_row[class*="rrc-phone-"] > .et_pb_column {
		width: auto !important;
		margin: 0 !important;
		float: none !important;
	}

	.et_pb_row[class*="rrc-phone-"]::after {
		display: none !important;
	}
}
