/**
 * Default TablePress theme.
 *
 * The custom properties can be overridden by the active theme when a different
 * treatment is needed on a specific site or page.
 */
.tablepress {
	--cat-table-accent: #16632d;
	--cat-table-accent-dark: #104a21;
	--cat-table-accent-soft: #edf7f0;
	--cat-table-border: #d9e4dc;
	--cat-table-stripe: #f7faf8;
	--cat-table-text: #233128;
	width: 100%;
	margin: 0 0 1.75rem;
	color: var(--cat-table-text);
	line-height: 1.55;
	background: #fff;
	border: 1px solid var(--cat-table-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 0.75rem;
	box-shadow: 0 0.375rem 1.25rem rgba(22, 99, 45, 0.08);
}

.tablepress caption,
.tablepress-table-name {
	padding: 0 0 0.75rem;
	color: var(--cat-table-text, #233128);
	font-size: 1.125rem;
	font-weight: 700;
	text-align: left;
}

.tablepress thead th {
	padding: 0.875rem 1rem;
	color: #fff;
	font-weight: 700;
	text-align: left;
	vertical-align: middle;
	background: var(--cat-table-accent);
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.tablepress thead th:first-child {
	border-top-left-radius: 0.7rem;
}

.tablepress thead th:last-child {
	border-top-right-radius: 0.7rem;
	border-right: 0;
}

.tablepress tbody td,
.tablepress tfoot th,
.tablepress tfoot td {
	padding: 0.8125rem 1rem;
	vertical-align: top;
	background: #fff;
	border: 0;
	border-right: 1px solid var(--cat-table-border);
	border-bottom: 1px solid var(--cat-table-border);
}

.tablepress tbody td:last-child,
.tablepress tfoot th:last-child,
.tablepress tfoot td:last-child {
	border-right: 0;
}

.tablepress tbody tr:nth-child(even) td {
	background: var(--cat-table-stripe);
}

.tablepress tbody tr:hover td {
	background: var(--cat-table-accent-soft);
}

.tablepress tbody tr:last-child td,
.tablepress tfoot tr:last-child th,
.tablepress tfoot tr:last-child td {
	border-bottom: 0;
}

.tablepress tfoot th,
.tablepress tfoot td {
	font-weight: 700;
	background: var(--cat-table-accent-soft);
}

.tablepress a {
	color: var(--cat-table-accent);
	font-weight: 600;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.tablepress a:hover,
.tablepress a:focus-visible {
	color: var(--cat-table-accent-dark) !important;
}

.tablepress thead th:hover {
	background: var(--cat-table-accent-dark) !important;
	color: #fff !important;
}

.tablepress caption {
	display: none !important;	
}

.tablepress thead .dt-orderable-asc:hover,
.tablepress thead .dt-orderable-desc:hover,
.tablepress thead .dt-ordering-asc,
.tablepress thead .dt-ordering-desc {
	background: var(--cat-table-accent-dark) !important;
	color: #fff;
}

/* TablePress 3 / DataTables controls. */
.dt-container,
.dataTables_wrapper {
	margin-bottom: 1.75rem;
	color: var(--cat-table-text, #233128);
}

.dt-container .dt-layout-row,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
	margin: 0.75rem 0;
}

.dt-container .dt-layout-row {
	display: flex;
	gap: 0.75rem 1rem;
	align-items: center;
	justify-content: space-between;
}

.dt-container .dt-input,
.dataTables_wrapper input,
.dataTables_wrapper select {
	min-height: 2.5rem;
	padding: 0.5rem 0.75rem;
	color: #233128;
	background: #fff;
	border: 1px solid #b7c9bc;
	border-radius: 0.5rem;
}

.dt-container .dt-input:focus,
.dataTables_wrapper input:focus,
.dataTables_wrapper select:focus {
	border-color: #16632d;
	outline: 3px solid rgba(22, 99, 45, 0.16);
	outline-offset: 1px;
}

.dt-container .dt-paging .dt-paging-button,
.dataTables_wrapper .paginate_button {
	min-width: 2.25rem;
	padding: 0.45rem 0.7rem;
	margin: 0 0.125rem;
	color: #16632d !important;
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 0.45rem;
}

.dt-container .dt-paging .dt-paging-button:hover,
.dt-container .dt-paging .dt-paging-button.current,
.dataTables_wrapper .paginate_button:hover,
.dataTables_wrapper .paginate_button.current {
	color: #fff !important;
	background: #16632d !important;
	border-color: #16632d !important;
}

/*
 * Keep every column reachable on small screens. This also complements the
 * native TablePress horizontal-scrolling option when it is enabled.
 */
@media (max-width: 47.9375rem) {
	.tablepress {
		display: block;
		max-width: 100%;
		margin-bottom: 1.5rem;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-color: #86ad91 #edf3ef;
		scrollbar-width: thin;
		white-space: nowrap;
	}

	.tablepress::-webkit-scrollbar,
	.dt-scroll-body::-webkit-scrollbar,
	.dataTables_scrollBody::-webkit-scrollbar {
		height: 0.625rem;
	}

	.tablepress::-webkit-scrollbar-track,
	.dt-scroll-body::-webkit-scrollbar-track,
	.dataTables_scrollBody::-webkit-scrollbar-track {
		background: #edf3ef;
		border-radius: 999px;
	}

	.tablepress::-webkit-scrollbar-thumb,
	.dt-scroll-body::-webkit-scrollbar-thumb,
	.dataTables_scrollBody::-webkit-scrollbar-thumb {
		background: #86ad91;
		background-clip: padding-box;
		border: 2px solid #edf3ef;
		border-radius: 999px;
	}

	.tablepress thead th,
	.tablepress tbody td,
	.tablepress tfoot th,
	.tablepress tfoot td {
		min-width: 8.5rem;
		padding: 0.75rem 0.875rem;
	}

	.tablepress thead th:first-child,
	.tablepress tbody td:first-child,
	.tablepress tfoot th:first-child,
	.tablepress tfoot td:first-child {
		padding-left: 1rem;
	}

	.tablepress thead th:last-child,
	.tablepress tbody td:last-child,
	.tablepress tfoot th:last-child,
	.tablepress tfoot td:last-child {
		padding-right: 1rem;
	}

	.dt-container .dt-layout-row {
		flex-direction: column;
		align-items: stretch;
	}

	.dt-container .dt-search,
	.dataTables_wrapper .dataTables_filter {
		text-align: left;
	}

	.dt-container .dt-search .dt-input,
	.dataTables_wrapper .dataTables_filter input {
		width: 100%;
		margin: 0.375rem 0 0;
	}
}
