.ik-public-catalog {
	font-family: inherit;
	margin: 1em 0;
}

.ik-search-row {
	margin-bottom: 1em;
	display: flex;
	align-items: center;
	gap: 0.5em;
	flex-wrap: wrap;
}

.ik-search-row label {
	font-weight: 600;
}

.ik-search-row input[type="search"] {
	padding: 0.5em 0.75em;
	border: 1px solid #ccc;
	border-radius: 4px;
	min-width: 260px;
	font-size: 1em;
}

.ik-per-page-label {
	margin-left: auto;
}

.ik-search-row select {
	padding: 0.45em 0.6em;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1em;
}

.ik-table-wrapper {
	overflow-x: auto;
	border: 1px solid #ddd;
	border-radius: 6px;
}

.ik-catalog-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95em;
}

.ik-catalog-table thead th {
	background: #2c3e50;
	color: #fff;
	text-align: left;
	padding: 0.65em 0.8em;
	cursor: pointer;
	white-space: nowrap;
	user-select: none;
	position: relative;
}

.ik-catalog-table thead th.ik-sortable:hover {
	background: #34495e;
}

.ik-catalog-table thead th.ik-sorted-asc::after {
	content: " \25B2";
}

.ik-catalog-table thead th.ik-sorted-desc::after {
	content: " \25BC";
}

.ik-catalog-table tbody td {
	padding: 0.55em 0.8em;
	border-bottom: 1px solid #eee;
}

.ik-catalog-table tbody tr:nth-child(even) {
	background: #f7f9fa;
}

.ik-catalog-table tbody tr:hover {
	background: #eef4fb;
}

.ik-pagination-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75em;
	margin-top: 0.75em;
}

.ik-result-count {
	margin: 0;
	font-size: 0.9em;
	color: #555;
}

.ik-pagination {
	display: flex;
	align-items: center;
	gap: 0.75em;
}

.ik-page-btn {
	padding: 0.4em 0.9em;
	border: 1px solid #2c3e50;
	background: #fff;
	color: #2c3e50;
	border-radius: 4px;
	cursor: pointer;
	font-size: 0.9em;
}

.ik-page-btn:hover:not(:disabled) {
	background: #2c3e50;
	color: #fff;
}

.ik-page-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.ik-page-info {
	font-size: 0.9em;
	color: #555;
	white-space: nowrap;
}

.ik-available-yes {
	color: #1a7f37;
	font-weight: 600;
}

.ik-available-no {
	color: #444;
}
