.rdct-table-module {
	--rdct-header-bg: #222840;
	--rdct-header-text: #fff;
	--rdct-accent-bg: #bd1726;
	--rdct-accent-text: #fff;
	--rdct-odd-bg: #fff;
	--rdct-even-bg: #f0f4fa;
	--rdct-body-text: #666;
	--rdct-border: #d6d6d6;
	--rdct-vpad: 10px;
	--rdct-hpad: 22px;
	--rdct-min-width: 0px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	color: var(--rdct-body-text);
}

.rdct-table-module .rdct-scroll {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.rdct-table-module .rdct-scroll:focus-visible {
	outline: 2px solid var(--rdct-accent-bg);
	outline-offset: 2px;
}

.rdct-table-module .rdct-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
	font: inherit;
	color: var(--rdct-body-text);
}

.rdct-table-module .rdct-table caption {
	caption-side: top;
	text-align: left;
	font-weight: 700;
	color: inherit;
}

.rdct-table-module .rdct-caption-visible {
	padding: 0 0 12px;
}

.rdct-table-module .rdct-caption-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rdct-table-module .rdct-table th,
.rdct-table-module .rdct-table td {
	border: 1px solid var(--rdct-border);
	padding: var(--rdct-vpad) var(--rdct-hpad);
	vertical-align: middle;
	line-height: 1.35;
	text-align: left;
	font-size: inherit;
}

.rdct-table-module .rdct-table thead th {
	background: var(--rdct-header-bg);
	color: var(--rdct-header-text);
	font-weight: 700;
	text-align: center;
	border-color: var(--rdct-border);
}

.rdct-table-module .rdct-table thead .rdct-head-1 { background: var(--rdct-head-bg-1, var(--rdct-header-bg)); color: var(--rdct-head-text-1, var(--rdct-header-text)); }
.rdct-table-module .rdct-table thead .rdct-head-2 { background: var(--rdct-head-bg-2, var(--rdct-header-bg)); color: var(--rdct-head-text-2, var(--rdct-header-text)); }
.rdct-table-module .rdct-table thead .rdct-head-3 { background: var(--rdct-head-bg-3, var(--rdct-header-bg)); color: var(--rdct-head-text-3, var(--rdct-header-text)); }
.rdct-table-module .rdct-table thead .rdct-head-4 { background: var(--rdct-head-bg-4, var(--rdct-header-bg)); color: var(--rdct-head-text-4, var(--rdct-header-text)); }
.rdct-table-module .rdct-table thead .rdct-head-5 { background: var(--rdct-head-bg-5, var(--rdct-header-bg)); color: var(--rdct-head-text-5, var(--rdct-header-text)); }

.rdct-table-module .rdct-table tbody tr { background: var(--rdct-odd-bg); }
.rdct-table-module.rdct-striped .rdct-table tbody tr:nth-child(even) { background: var(--rdct-even-bg); }
.rdct-table-module .rdct-table tbody td { background: transparent; }

.rdct-table-module.rdct-accent-body-enabled.rdct-accent-col-1 .rdct-table tbody tr > :nth-child(1),
.rdct-table-module.rdct-accent-body-enabled.rdct-accent-col-2 .rdct-table tbody tr > :nth-child(2),
.rdct-table-module.rdct-accent-body-enabled.rdct-accent-col-3 .rdct-table tbody tr > :nth-child(3),
.rdct-table-module.rdct-accent-body-enabled.rdct-accent-col-4 .rdct-table tbody tr > :nth-child(4),
.rdct-table-module.rdct-accent-body-enabled.rdct-accent-col-5 .rdct-table tbody tr > :nth-child(5) {
	background: var(--rdct-accent-body);
}

.rdct-table-module.rdct-equal-columns .rdct-table { table-layout: fixed; }
.rdct-table-module.rdct-equal-columns.rdct-cols-2 .rdct-table th,
.rdct-table-module.rdct-equal-columns.rdct-cols-2 .rdct-table td { width: 50%; }
.rdct-table-module.rdct-equal-columns.rdct-cols-3 .rdct-table th,
.rdct-table-module.rdct-equal-columns.rdct-cols-3 .rdct-table td { width: 33.333%; }
.rdct-table-module.rdct-equal-columns.rdct-cols-4 .rdct-table th,
.rdct-table-module.rdct-equal-columns.rdct-cols-4 .rdct-table td { width: 25%; }
.rdct-table-module.rdct-equal-columns.rdct-cols-5 .rdct-table th,
.rdct-table-module.rdct-equal-columns.rdct-cols-5 .rdct-table td { width: 20%; }

@media (max-width: 767px) {
	/* The module must not contribute the table's intrinsic width to Divi's grid. */
	.rdct_comparison_table,
	.rdct_comparison_table > .et_pb_module_inner {
		min-width: 0;
		max-width: 100%;
	}
	.rdct-table-module {
		contain: inline-size;
	}
	.rdct-table-module .rdct-table {
		min-width: var(--rdct-min-width);
	}
	.rdct-table-module.rdct-cols-2 .rdct-table,
	.rdct-table-module.rdct-cols-3 .rdct-table {
		table-layout: fixed;
	}
	.rdct-table-module .rdct-table th,
	.rdct-table-module .rdct-table td {
		padding: min(var(--rdct-vpad), 8px) min(var(--rdct-hpad), 8px);
		overflow-wrap: anywhere;
		white-space: normal;
	}
}

/* The Visual Builder uses lightweight grid elements; published output remains a semantic table. */
.rdct-table-module.rdct-vb-preview .rdct-vb-grid {
	display: block;
	width: 100%;
	min-width: 0;
}
.rdct-table-module.rdct-vb-preview .rdct-vb-header,
.rdct-table-module.rdct-vb-preview .rdct-vb-row {
	display: grid;
	grid-template-columns: repeat(var(--rdct-cols), minmax(0, 1fr));
}
.rdct-table-module.rdct-vb-preview.rdct-natural-columns .rdct-vb-header,
.rdct-table-module.rdct-vb-preview.rdct-natural-columns .rdct-vb-row {
	grid-template-columns: repeat(var(--rdct-cols), auto);
}
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell,
.rdct-table-module.rdct-vb-preview .rdct-vb-cell {
	padding: var(--rdct-vpad) var(--rdct-hpad);
	border: 1px solid var(--rdct-border);
	margin-right: -1px;
	margin-bottom: -1px;
	line-height: 1.35;
}
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell {
	background: var(--rdct-header-bg);
	color: var(--rdct-header-text);
	font-weight: 700;
	text-align: center;
}
.rdct-table-module.rdct-vb-preview .rdct-vb-rows,
.rdct-table-module.rdct-vb-preview .rdct-vb-row-wrapper { display: block; }
.rdct-table-module.rdct-vb-preview .rdct-vb-cell { background: var(--rdct-row-bg, var(--rdct-odd-bg)); }
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(1) { background: var(--rdct-head-bg-1); color: var(--rdct-head-text-1); }
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(2) { background: var(--rdct-head-bg-2); color: var(--rdct-head-text-2); }
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(3) { background: var(--rdct-head-bg-3); color: var(--rdct-head-text-3); }
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(4) { background: var(--rdct-head-bg-4); color: var(--rdct-head-text-4); }
.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(5) { background: var(--rdct-head-bg-5); color: var(--rdct-head-text-5); }
.rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-1 .rdct-vb-cell:nth-child(1),
.rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-2 .rdct-vb-cell:nth-child(2),
.rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-3 .rdct-vb-cell:nth-child(3),
.rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-4 .rdct-vb-cell:nth-child(4),
.rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-5 .rdct-vb-cell:nth-child(5) { background: var(--rdct-accent-body); }
.rdct-table-module.rdct-vb-preview.rdct-cols-2 .rdct-vb-cell:nth-child(n+3),
.rdct-table-module.rdct-vb-preview.rdct-cols-3 .rdct-vb-cell:nth-child(n+4),
.rdct-table-module.rdct-vb-preview.rdct-cols-4 .rdct-vb-cell:nth-child(n+5) { display: none; }
.rdct-table-module.rdct-vb-preview .rdct-vb-empty { padding: 16px; }

@media (max-width: 767px) {
	.rdct-table-module.rdct-vb-preview .rdct-vb-grid { min-width: var(--rdct-min-width); }
	.rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-2 .rdct-vb-header,
	.rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-2 .rdct-vb-row,
	.rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-3 .rdct-vb-header,
	.rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-3 .rdct-vb-row {
		grid-template-columns: repeat(var(--rdct-cols), minmax(0, 1fr));
	}
	.rdct-table-module.rdct-vb-preview .rdct-vb-header-cell,
	.rdct-table-module.rdct-vb-preview .rdct-vb-cell {
		padding: min(var(--rdct-vpad), 8px) min(var(--rdct-hpad), 8px);
		min-width: 0;
		overflow-wrap: anywhere;
		white-space: normal;
	}
}

/* Divi's Visual Builder resets every div under #et-boc .et-l after plugin CSS.
   These scoped selectors outrank that reset without changing other Divi modules. */
#et-boc .et-l .rdct-table-module.rdct-vb-preview { color: var(--rdct-body-text); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header,
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-row {
	display: grid;
	grid-template-columns: repeat(var(--rdct-cols), minmax(0, 1fr));
}
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-natural-columns .rdct-vb-header,
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-natural-columns .rdct-vb-row {
	grid-template-columns: repeat(var(--rdct-cols), auto);
}
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell,
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-cell {
	padding: var(--rdct-vpad) var(--rdct-hpad);
	border: 1px solid var(--rdct-border);
	margin-right: -1px;
	margin-bottom: -1px;
	line-height: 1.35;
}
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell {
	background: var(--rdct-header-bg);
	color: var(--rdct-header-text);
	font-weight: 700;
	text-align: center;
}
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-cell {
	background: var(--rdct-row-bg, var(--rdct-odd-bg));
	color: var(--rdct-body-text);
}
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(1) { background: var(--rdct-head-bg-1); color: var(--rdct-head-text-1); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(2) { background: var(--rdct-head-bg-2); color: var(--rdct-head-text-2); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(3) { background: var(--rdct-head-bg-3); color: var(--rdct-head-text-3); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(4) { background: var(--rdct-head-bg-4); color: var(--rdct-head-text-4); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell:nth-child(5) { background: var(--rdct-head-bg-5); color: var(--rdct-head-text-5); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-1 .rdct-vb-cell:nth-child(1),
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-2 .rdct-vb-cell:nth-child(2),
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-3 .rdct-vb-cell:nth-child(3),
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-4 .rdct-vb-cell:nth-child(4),
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-accent-body-enabled.rdct-accent-col-5 .rdct-vb-cell:nth-child(5) { background: var(--rdct-accent-body); }
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-cols-2 .rdct-vb-cell:nth-child(n+3),
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-cols-3 .rdct-vb-cell:nth-child(n+4),
#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-cols-4 .rdct-vb-cell:nth-child(n+5) { display: none; }

@media (max-width: 767px) {
	#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-2 .rdct-vb-header,
	#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-2 .rdct-vb-row,
	#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-3 .rdct-vb-header,
	#et-boc .et-l .rdct-table-module.rdct-vb-preview.rdct-natural-columns.rdct-cols-3 .rdct-vb-row {
		grid-template-columns: repeat(var(--rdct-cols), minmax(0, 1fr));
	}
	#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-header-cell,
	#et-boc .et-l .rdct-table-module.rdct-vb-preview .rdct-vb-cell {
		padding: min(var(--rdct-vpad), 8px) min(var(--rdct-hpad), 8px);
		min-width: 0;
		overflow-wrap: anywhere;
		white-space: normal;
	}
}
