/*!
 * SIB Tables — one table style for the whole site (data-journalism look).
 * Plugin tables use .sibt-table. When "Site-wide table style" is on (body.sibt-global),
 * every table in page/post content gets the same treatment. Add .sibt-skip to opt a table out.
 */

@font-face {
	font-family: "SIBT Mono";
	src: url("fonts/roboto-mono-latin-400-normal.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "SIBT Mono";
	src: url("fonts/roboto-mono-latin-700-normal.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--sibt-ink: #222;
	--sibt-ink-2: #666;
	--sibt-ink-3: #8a8a8a;
	--sibt-rule: #222;
	--sibt-line: #dcdcdc;
	--sibt-hover: #f8f5f5;
	--sibt-hl: #fdf3dc;
	--sibt-soon-bg: #fbe3ad;
	--sibt-soon-ink: #573b00;
	--sibt-accent: var(--sib-accent, #801323);
	--sibt-font: var(--sib-font, "Lato", Helvetica, Arial, sans-serif);
	--sibt-mono: "SIBT Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---------- Figure wrapper (plugin tables) ---------- */
.sibt {
	margin: 0 0 32px;
	padding: 0;
	max-width: 100%;
	font-family: var(--sibt-font);
	color: var(--sibt-ink);
}
.sibt-head { margin: 0 0 12px; padding: 0; text-align: left !important; }
.sibt .sibt-head p { text-align: left !important; }
.sibt .sibt-title {
	margin: 0 0 2px;
	font-family: var(--sibt-font);
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--sibt-ink);
}
.sibt .sibt-dek {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--sibt-ink-2);
}
.sibt-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
}
.sibt-scroll:focus-visible { outline: 2px solid var(--sibt-accent); outline-offset: 2px; }
.sibt-foot { margin: 8px 0 0; }
.sibt .sibt-note,
.sibt .sibt-source {
	margin: 0 0 2px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--sibt-ink-3);
}
.sibt-source-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sibt-ink-2);
}
.sibt .sibt-note a,
.sibt .sibt-source a { color: inherit; text-decoration: underline; }

/* ---------- Neutralise old table wrappers so tables sit on the page ---------- */
body.sibt-global :is(.sib-econ-table-wrap, .sib-hub-table-wrap, .sch-scroll, .table-scroll, .sdms-table-wrap) {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background-color: transparent !important;
	padding: 0 !important;
}

/* ---------- The table ----------
 * P = every table this stylesheet owns. Each rule below starts with P so variants
 * (.num, .sibt-total…) always out-rank the base rules.
 */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) {
	width: 100% !important;
	max-width: 100%;
	margin: 0 0 1em !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background-color: transparent !important;
	box-shadow: none !important;
	font-family: var(--sibt-font) !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: var(--sibt-ink) !important;
	table-layout: auto;
}

:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) caption {
	caption-side: top;
	text-align: left !important;
	padding: 0 0 8px !important;
	margin: 0 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: var(--sibt-ink-2) !important;
	background-color: transparent !important;
	border: 0 !important;
}

/* Rows: no zebra striping or row borders from other stylesheets */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(thead, tbody, tfoot, tr) {
	background-color: transparent !important;
	border: 0 !important;
}

/* Cells: reset */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(th, td) {
	border: 0 !important;
	border-bottom: 1px solid var(--sibt-line) !important;
	background-color: transparent !important;
	box-shadow: none !important;
	padding: 7px 10px !important;
	font-family: var(--sibt-font) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: var(--sibt-ink) !important;
	text-align: left;
	vertical-align: middle !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(th, td) :is(p, ul, ol) {
	margin: 0 !important;
}

/* Header row */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(thead th, thead td, tr.sibt-hrow > *) {
	padding: 0 10px 6px !important;
	border-bottom: 1px solid var(--sibt-rule) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--sibt-ink-2) !important;
	vertical-align: bottom !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(thead th, thead td, tr.sibt-hrow > *) :is(strong, b, span, a) {
	font-weight: inherit !important;
	color: inherit !important;
}
/* Space above the header when the header is not the first thing in the table */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tr.sibt-hrow:not(:first-child) > * {
	padding-top: 18px !important;
}

/* Upper header rows (groups) carry no rule of their own */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) thead tr:not(:last-child) > * {
	border-bottom: 0 !important;
}
/* …except a header cell that spans both header rows */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) thead tr:not(:last-child) > [rowspan]:not([rowspan="1"]) {
	border-bottom: 1px solid var(--sibt-rule) !important;
}

/* Column group row (e.g. "Free persons" spanning three columns) */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) thead tr.sibt-groups > th,
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) thead tr:not(:last-child) > th[colspan]:not([colspan="1"]) {
	border-bottom: 0 !important;
	padding-bottom: 4px !important;
	text-align: center !important;
	color: var(--sibt-ink) !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) thead tr:not(:last-child) > th[colspan]:not([colspan="1"]):not(.sibt-group-empty):not(:empty) {
	box-shadow: inset 0 -1px 0 #9a9a9a !important;
}
:is(table.sibt-table) thead tr.sibt-groups > th.sibt-group-empty { box-shadow: none !important; }

/* Body */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody th {
	font-weight: 700 !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody tr:hover > :is(td, th) {
	background-color: var(--sibt-hover) !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(td, th) a:not([class*="btn"]):not([class*="button"]):not(.sibt-keep) {
	color: var(--sibt-accent) !important;
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(td, th) a:not([class*="btn"]):not([class*="button"]):not(.sibt-keep):is(:hover, :focus-visible) {
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tfoot :is(td, th) {
	border-bottom: 0 !important;
	border-top: 1px solid var(--sibt-rule) !important;
	font-size: 12px !important;
	color: var(--sibt-ink-2) !important;
}

/* Numbers: right-aligned, figures font */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) :is(td, th).num {
	text-align: right !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody :is(td, th):is(.num, .mono) {
	font-family: var(--sibt-mono) !important;
	font-size: 13px !important;
	letter-spacing: -0.01em !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody th.num {
	font-weight: 700 !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody :is(td, th).sibt-strong {
	font-weight: 700 !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody :is(td, th).sibt-na {
	color: var(--sibt-ink-3) !important;
}

/* Row kinds */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tr.sibt-section > th {
	padding: 18px 10px 6px !important;
	border-bottom: 1px solid var(--sibt-rule) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: var(--sibt-ink) !important;
	background-color: transparent !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tr:is(.sibt-total, .sch-total) > :is(td, th) {
	border-top: 1px solid var(--sibt-rule) !important;
	border-bottom: 0 !important;
	font-weight: 700 !important;
}
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tr.sibt-hl > :is(td, th) {
	background-color: var(--sibt-hl) !important;
}

/* Shaded (heat-map) cells */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody td.sibt-shaded,
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody tr:hover > td.sibt-shaded {
	background-color: var(--sibt-bg) !important;
	border-bottom-color: #fff !important;
	box-shadow: inset 0 0 0 0 transparent !important;
}

/* Release-schedule states */
:is(table.sibt-table, body.sibt-global .entry-content table:where(:not(.sibt-skip, .sibt-skip *, .sibec *, .fc *, .ui-datepicker *)), body.sibt-global table.wpDataTable:where(:not(.sibt-skip))) tbody td.sibt-soon {
	font-weight: 700 !important;
	color: var(--sibt-soon-ink) !important;
}
.sibt-pill {
	display: inline-block;
	margin: -2px -6px;
	padding: 2px 6px;
	border-radius: 3px;
	background: var(--sibt-soon-bg);
	color: var(--sibt-soon-ink);
	font-weight: 700;
}
:is(table.sibt-table) tbody td:is(.sibt-tba, .sibt-prov) { color: var(--sibt-ink-3) !important; }

/* Compact density */
.sibt--compact table.sibt-table :is(td, th) { padding-top: 4px !important; padding-bottom: 4px !important; }

/* Sortable headers */
table.sibt-sortable thead th { cursor: pointer; user-select: none; white-space: nowrap; }
table.sibt-sortable thead th:hover { color: var(--sibt-ink) !important; }
table.sibt-sortable thead th::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 5px;
	vertical-align: 1px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #bbb;
}
table.sibt-sortable thead th[aria-sort="ascending"]::after { border-top: 0; border-bottom: 5px solid var(--sibt-ink); }
table.sibt-sortable thead th[aria-sort="descending"]::after { border-top-color: var(--sibt-ink); }

/* Small screens: keep the row label visible while scrolling sideways */
@media (max-width: 767px) {
	.sibt .sibt-title { font-size: 18px; }
	.sibt-table tbody th[scope="row"],
	.sibt-table thead tr:last-child th:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		background-color: var(--sib-bg, #fff) !important;
		box-shadow: 1px 0 0 var(--sibt-line) !important;
	}
}

/* ---------- Document lists (SIB Repository) ---------- */
body.sibt-global .sibr table.sibr-table td.sibr-table__title a:not([class*="btn"]):not([class*="button"]):not(.sibt-keep) {
	color: var(--sibt-ink) !important;
	font-weight: 700 !important;
}
body.sibt-global .sibr table.sibr-table td.sibr-table__title a:not([class*="btn"]):not([class*="button"]):not(.sibt-keep):is(:hover, :focus-visible) { color: var(--sibt-accent) !important; }
body.sibt-global .sibr .sibr-badge {
	display: inline-block;
	margin: 0 0 0 7px;
	padding: 3px 5px 2px;
	border: 0;
	border-radius: 2px;
	background: var(--sibt-soon-bg);
	color: var(--sibt-soon-ink);
	font: 700 9px/1 var(--sibt-font);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: 2px;
	box-shadow: none;
}
/* File type as quiet text instead of an icon */
body.sibt-global .sibr table.sibr-table img.sibr-type-icon.sibt-replaced { display: none !important; }
body.sibt-global .sibr table.sibr-table :is(.sibt-ftype, .sibr-ext) {
	display: inline-block;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none !important;
	color: var(--sibt-ink-2) !important;
	font: 700 11px/1 var(--sibt-mono) !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
body.sibt-global .sibr table.sibr-table td.sibr-table__ref { color: var(--sibt-ink) !important; white-space: nowrap; }
body.sibt-global .sibr table.sibr-table td:is(.sibr-table__date, .sibr-size) {
	font-family: var(--sibt-mono) !important;
	font-size: 13px !important;
	letter-spacing: -0.01em !important;
	color: var(--sibt-ink-2) !important;
	white-space: nowrap;
}
body.sibt-global .sibr table.sibr-table td.sibr-size,
body.sibt-global .sibr table.sibr-table td.sibr-table__get,
body.sibt-global .sibr table.sibr-table th.sibt-right { text-align: right !important; }
body.sibt-global .sibr table.sibr-table td.sibt-empty { color: #b5b5b5 !important; }
/* Download: a quiet outlined button that fills on hover */
body.sibt-global .sibr table.sibr-table .sibr-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px !important;
	border: 1px solid rgba(128, 19, 35, 0.35) !important;
	border-radius: 3px !important;
	background: transparent !important;
	color: var(--sibt-accent) !important;
	font: 700 12px/1.3 var(--sibt-font) !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	box-shadow: none !important;
	white-space: nowrap;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
body.sibt-global .sibr table.sibr-table .sibr-btn::before {
	content: "";
	width: 10px;
	height: 10px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0v6.2M2.2 3.6 5 6.4l2.8-2.8M0.5 9.3h9' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0v6.2M2.2 3.6 5 6.4l2.8-2.8M0.5 9.3h9' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.sibt-global .sibr table.sibr-table .sibr-btn:is(:hover, :focus-visible) {
	background: var(--sibt-accent) !important;
	border-color: var(--sibt-accent) !important;
	color: #fff !important;
}
body.sibt-global .sibr table.sibr-table summary.sibr-btn { list-style: none; cursor: pointer; }
body.sibt-global .sibr table.sibr-table summary.sibr-btn::-webkit-details-marker { display: none; }
body.sibt-global .sibr table.sibr-table details[open] > summary.sibr-btn {
	background: var(--sibt-accent) !important;
	border-color: var(--sibt-accent) !important;
	color: #fff !important;
}
body.sibt-global .sibr table.sibr-table .sibr-multi__menu {
	padding: 4px !important;
	border: 1px solid #dcdcdc !important;
	border-radius: 4px !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	text-align: left;
}
body.sibt-global .sibr table.sibr-table a.sibr-multi__item {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 7px 10px !important;
	border-radius: 3px;
	color: var(--sibt-ink) !important;
	font: 400 13px/1.3 var(--sibt-font) !important;
	text-decoration: none !important;
	white-space: nowrap;
}
body.sibt-global .sibr table.sibr-table a.sibr-multi__item:hover { background: var(--sibt-hover) !important; text-decoration: none !important; }
body.sibt-global .sibr table.sibr-table a.sibr-multi__item .sibr-size { margin-left: auto; font: 400 12px/1 var(--sibt-mono); color: var(--sibt-ink-2); }

/* Search and year filter */
body.sibt-global .sibr .sibr-filter {
	height: 40px;
	border: 1px solid #cfcfcf !important;
	border-radius: 4px !important;
	background-color: #fff !important;
	box-shadow: none !important;
	font-family: var(--sibt-font);
	font-size: 15px;
	color: var(--sibt-ink);
}
body.sibt-global .sibr .sibr-filter:focus {
	outline: none;
	border-color: var(--sibt-ink) !important;
	box-shadow: 0 0 0 1px var(--sibt-ink) !important;
}
body.sibt-global .sibr .sibr-filter--search::placeholder { color: #9a9a9a; }
/* Pagination */
body.sibt-global .sibr .sibr-page-btn {
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	border: 1px solid #dcdcdc !important;
	border-radius: 3px !important;
	background: #fff !important;
	color: var(--sibt-ink) !important;
	font: 400 13px/30px var(--sibt-mono) !important;
	box-shadow: none !important;
}
body.sibt-global .sibr .sibr-page-btn:not([disabled]):hover { border-color: var(--sibt-ink) !important; }
body.sibt-global .sibr .sibr-page-btn.is-active {
	background: var(--sibt-ink) !important;
	border-color: var(--sibt-ink) !important;
	color: #fff !important;
	font-weight: 700 !important;
}
body.sibt-global .sibr .sibr-page-btn[disabled] { opacity: 0.35; }

/* wpDataTables: keep its controls but match the look */
body.sibt-global .wpDataTablesWrapper .dataTables_wrapper,
body.sibt-global .wpDataTablesWrapper { font-family: var(--sibt-font); max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.sibt-global .wpDataTablesWrapper table.wpDataTable thead th.sorting,
body.sibt-global .wpDataTablesWrapper table.wpDataTable thead th.sorting_asc,
body.sibt-global .wpDataTablesWrapper table.wpDataTable thead th.sorting_desc { padding-right: 22px !important; }
body.sibt-global .wpDataTablesWrapper table.wpDataTable tbody tr:is(.odd, .even) > td { background-color: transparent !important; }
body.sibt-global table.wpDataTable:not(.sibt-skip) thead th { text-align: left !important; }
body.sibt-global table.wpDataTable:not(.sibt-skip) :is(thead th, tbody td):is(.numdata) { text-align: right !important; }
body.sibt-global table.wpDataTable:not(.sibt-skip) tbody td.numdata {
	font-family: var(--sibt-mono) !important;
	font-size: 13px !important;
	letter-spacing: -0.01em !important;
	white-space: nowrap;
}
body.sibt-global table.wpDataTable:not(.sibt-skip) thead tr:not(:first-child) > th {
	padding: 4px 10px 8px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-weight: 400 !important;
}
body.sibt-global table.wpDataTable:not(.sibt-skip) thead tr:first-child:not(:last-child) > th { padding-bottom: 6px !important; }

@media print {
	.sibt-scroll { overflow: visible; }
	:is(table.sibt-table) tbody tr:hover > :is(td, th) { background-color: transparent !important; }
}

/* Repository: let the multi-file download menu drop below the table on wide screens */
@media (min-width: 768px) {
	body.sibt-global .sibr .sibr-table-scroll { overflow: visible !important; }
}
body.sibt-global .sibr table.sibr-table a.sibr-multi__item:not([class*="btn"]) { color: var(--sibt-ink) !important; }

/* =====================================================================
 * [sib_upcoming] — Upcoming releases block
 * ===================================================================== */
.sibu {
	margin: 0 0 48px;
	font-family: var(--sibt-font);
	color: var(--sibt-ink);
}
.sibu-head { margin: 0 0 24px; }
.sibu .sibu-title {
	margin: 0 0 4px !important;
	padding: 0 !important;
	font-family: var(--sibt-font) !important;
	font-size: clamp(28px, 3.6vw, 40px) !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.015em;
	color: var(--sib-heading, #2b2b2b) !important;
	text-transform: none !important;
}
.sibu .sibu-dek { margin: 0 !important; font-size: 17px; line-height: 1.45; color: var(--sibt-ink); }
.sibu-grid {
	display: grid;
	grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.6fr);
	gap: 36px;
	align-items: center;
}

/* Photo card with the date */
.sibu-visual {
	position: relative;
	margin-left: 56px;
	aspect-ratio: 3 / 4.3;
	max-height: 500px;
	border-radius: 4px;
	background: #d9d4d5 var(--sibu-img) var(--sibu-pos, center) / cover no-repeat;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}
.sibu-visual--plain { background: linear-gradient(160deg, var(--sibt-accent), var(--sib-accent-dark, #5c0017)); }
.sibu-visual::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 45%;
	border-radius: 0 0 4px 4px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
	pointer-events: none;
}
.sibu-date {
	position: absolute;
	top: 26px;
	left: -56px;
	z-index: 1;
	min-width: 116px;
	padding: 12px 18px 14px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
	text-align: center;
}
.sibu-dow { display: block; font-size: 15px; font-weight: 700; color: var(--sibt-ink-2); }
.sibu-day {
	display: block;
	margin-top: 2px;
	font-size: 68px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--sibt-accent);
}
.sibu-month {
	position: absolute;
	right: 20px;
	bottom: 18px;
	z-index: 1;
	font-size: 36px;
	font-weight: 800;
	line-height: 1;
	color: #fff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

/* List */
.sibu .sibu-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 10px; }
.sibu .sibu-item {
	margin: 0 !important;
	padding: 16px 22px !important;
	border-radius: 8px;
	background: #f5f4f5;
	list-style: none !important;
	transition: background-color 0.15s;
}
.sibu .sibu-item::before, .sibu .sibu-item::marker { content: none !important; }
.sibu .sibu-item:hover { background: #efeced; }
.sibu .sibu-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0 0 6px !important;
	font-size: 13px;
	line-height: 1.3;
	color: var(--sibt-ink-2);
}
.sibu-ico { width: 15px; height: 15px; flex: none; color: var(--sibt-accent); }
.sibu-sep { width: 1px; height: 13px; background: var(--sibt-accent); opacity: 0.6; }
.sibu-type { display: inline-flex; align-items: center; gap: 6px; }
.sibu-type::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--sibu-dot, var(--sibt-accent));
}
.sibu .sibu-name {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-family: var(--sibt-font) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--sibt-ink) !important;
}
.sibu .sibu-name a { color: inherit !important; text-decoration: none !important; box-shadow: none !important; background: none !important; }
.sibu .sibu-name a:is(:hover, :focus-visible) { color: var(--sibt-accent) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.sibu .sibu-freq { margin: 0 !important; font-size: 13px; color: var(--sibt-ink-2); }
.sibu .sibu-freq strong { color: var(--sibt-ink); font-weight: 700; }
.sibu .sibu-empty { margin: 0; padding: 22px; border-radius: 8px; background: #f5f4f5; color: var(--sibt-ink-2); }
.sibu .sibu-cta { margin: 18px 0 0 !important; text-align: center; }
.sibu .sibu-btn {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 999px;
	background: var(--sibt-accent);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color 0.15s;
}
.sibu .sibu-btn:is(:hover, :focus-visible) { background: var(--sib-accent-dark, #5c0017); color: #fff !important; }

@media (max-width: 900px) {
	.sibu-grid { grid-template-columns: 1fr; gap: 20px; }
	.sibu-visual { margin-left: 0; aspect-ratio: 16 / 8; max-height: 260px; }
	.sibu-date { top: 14px; left: 14px; min-width: 92px; padding: 8px 12px 10px; }
	.sibu-day { font-size: 48px; }
	.sibu-month { font-size: 28px; right: 16px; bottom: 14px; }
}
@media (max-width: 480px) {
	.sibu .sibu-item { padding: 14px 16px !important; }
}
