.fpf-special-table-error {
	border-left: 4px solid #d63638;
	background: #fcf0f1;
	padding: 10px 12px;
	margin: 12px 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/*
 * Default wrapper: horizontal scrolling without establishing a vertical scroll
 * container — sticky frozen rows still latch to the viewport during page scroll.
 * Requires browsers that support `overflow: clip` (Chrome 90+, Firefox 81+, Safari 16+).
 */
.fpf-special-table-wrap {
	overflow-x: auto;
	overflow-y: clip;
	max-width: 100%;
}

/* Bounded variant: triggered by the max_height shortcode attribute. */
.fpf-special-table-wrap.fpf-special-table-wrap--bounded {
	overflow: auto;
}

.content-basic .fpf-special-table-wrap table.fpf-special-table,
.fpf-special-table-wrap table.fpf-special-table {
	display: table;
	overflow-x: visible;
}
.content-basic .fpf-special-table-wrap table.fpf-special-table {
    border: 0;
}
.content-basic .fpf-special-table-wrap table.fpf-special-table td {
    border: 0;
}


table.fpf-special-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

table.fpf-special-table thead th {
	white-space: nowrap;
}


/* Frozen rows/columns. Inline background colors from Sheets win over the white fallback. */
table.fpf-special-table .fpf-frozen-row {
	position: sticky;
	top: 0;
	z-index: 4;
	background-color: #fff;
}

table.fpf-special-table .fpf-frozen-col {
	position: sticky;
	left: 0;
	z-index: 2;
	background-color: #fff;
}

table.fpf-special-table .fpf-frozen-row.fpf-frozen-col {
	z-index: 6;
}

/*
 * Z-index ladder: cells higher in the freeze stack paint over cells below them.
 * Prevents any rare overlap from hiding the topmost row.
 */
table.fpf-special-table .fpf-frozen-row-0 { z-index: 5; }
table.fpf-special-table .fpf-frozen-row-1 { z-index: 4; }
table.fpf-special-table .fpf-frozen-row-2 { z-index: 3; }
table.fpf-special-table .fpf-frozen-row-3 { z-index: 2; }
table.fpf-special-table .fpf-frozen-row-0.fpf-frozen-col { z-index: 7; }
table.fpf-special-table .fpf-frozen-row-1.fpf-frozen-col { z-index: 6; }
table.fpf-special-table .fpf-frozen-row-2.fpf-frozen-col { z-index: 5; }
table.fpf-special-table .fpf-frozen-row-3.fpf-frozen-col { z-index: 4; }

/*
 * Frozen-column suppression — toggled by JS when the frozen columns would
 * eat more than half the container width (e.g. on narrow / mobile viewports).
 * Cells that are also frozen rows keep their row-stickiness; only the
 * column-stickiness is dropped.
 */
table.fpf-special-table.fpf-frozen-cols-disabled .fpf-frozen-col {
	left: auto;
}

table.fpf-special-table.fpf-frozen-cols-disabled .fpf-frozen-col:not(.fpf-frozen-row) {
	position: static;
	background-color: transparent;
}

pre.fpf-special-table-debug {
	background: #1e1e1e;
	color: #d4d4d4;
	padding: 14px 16px;
	border-radius: 4px;
	overflow: auto;
	max-height: 600px;
	font-size: 12px;
	line-height: 1.5;
	white-space: pre;
}

pre.fpf-special-table-debug--error {
	background: #fcf0f1;
	color: #8a1f24;
	border-left: 4px solid #d63638;
}
