/* =========================================================
   KESLAN - MODERN PRODUK HUKUM
   Minimalis • Modern • Elegan • Informatif
========================================================= */

.produk-hukum-section {
	padding: 0px 0 80px;

	background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%);

	--ph-primary: #0ab7a3;
	--ph-primary-dark: #078f84;

	--ph-text: #123f55;
	--ph-text-soft: #6f7c7e;

	--ph-border: #e4eeeb;

	--ph-soft: rgba(10, 183, 163, 0.08);
}

/* =========================================================
   FILTER
========================================================= */

.produk-hukum-filter {
	position: relative;

	margin-bottom: 30px;
	margin-top: 20px;

	padding: 26px 28px;

	border-radius: 20px;

	background: #ffffff;

	box-shadow: 0 10px 30px rgba(31, 62, 57, 0.045);

	overflow: hidden;
}

/* decorative circle */

.produk-hukum-filter::after {
	content: "";

	position: absolute;

	right: -90px;
	top: -110px;

	width: 250px;
	height: 250px;

	border-radius: 50%;

	background: rgba(10, 183, 163, 0.045);

	pointer-events: none;
}

/* =========================================================
   FILTER HEADER
========================================================= */

.produk-hukum-filter-header {
	position: relative;

	z-index: 2;

	display: flex;

	align-items: center;

	justify-content: space-between;

	margin-bottom: 20px;
}

.produk-hukum-label {
	display: block;

	margin-bottom: 6px;

	color: var(--ph-primary);

	font-size: 10px;

	font-weight: 800;

	letter-spacing: 1.4px;

	text-transform: uppercase;
}

.produk-hukum-filter-header h2 {
	margin: 0;

	color: var(--ph-text);

	font-size: 21px;

	line-height: 1.3;

	font-weight: 800;
}

.produk-hukum-filter-icon {
	width: 42px;
	height: 42px;

	display: flex;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--ph-soft);

	color: var(--ph-primary);

	font-size: 15px;
}

/* =========================================================
   FILTER LIST
========================================================= */

.produk-hukum-filter-list {
	position: relative;

	z-index: 2;

	display: flex;

	flex-wrap: wrap;

	gap: 9px;
}

/* =========================================================
   FILTER ITEM
========================================================= */

.produk-hukum-filter-item {
	display: inline-flex;

	align-items: center;

	gap: 10px;

	min-height: 39px;

	padding: 8px 12px;

	border: 1px solid var(--ph-border);

	border-radius: 10px;

	background: #ffffff;

	color: var(--ph-text-soft);

	font-size: 11px;

	font-weight: 600;

	text-decoration: none;

	transition:
		color 0.25s ease,
		background-color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.produk-hukum-filter-item:hover {
	transform: translateY(-2px);

	border-color: rgba(10, 183, 163, 0.35);

	background: #fbfefd;

	color: var(--ph-primary);

	text-decoration: none;

	box-shadow: 0 6px 15px rgba(31, 62, 57, 0.06);
}

.produk-hukum-filter-item.active {
	border-color: var(--ph-primary);

	background: var(--ph-primary);

	color: #ffffff;

	box-shadow: 0 7px 18px rgba(10, 183, 163, 0.18);
}

.filter-item-name {
	line-height: 1.3;
}

.filter-item-total {
	min-width: 24px;

	padding: 3px 6px;

	border-radius: 7px;

	background: #eef5f3;

	color: var(--ph-text);

	font-size: 9px;

	font-weight: 800;

	text-align: center;
}

.produk-hukum-filter-item.active .filter-item-total {
	background: rgba(255, 255, 255, 0.2);

	color: #ffffff;
}

/* =========================================================
   TABLE CARD
========================================================= */

.produk-hukum-table-card {
	position: relative;

	overflow: hidden;

	border: 1px solid var(--ph-border);

	border-radius: 20px;

	background: #ffffff;

	box-shadow: 0 12px 35px rgba(31, 62, 57, 0.055);
}

/* =========================================================
   TABLE HEADER
========================================================= */

.produk-hukum-table-header {
	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 20px;

	padding: 25px 28px;

	border-bottom: 1px solid var(--ph-border);
}

.produk-hukum-table-header h2 {
	margin: 0 0 6px;

	color: var(--ph-text);

	font-size: 21px;

	line-height: 1.35;

	font-weight: 800;
}

.produk-hukum-table-header p {
	margin: 0;

	color: var(--ph-text-soft);

	font-size: 12px;

	line-height: 1.6;
}

.produk-hukum-table-icon {
	flex: 0 0 auto;

	width: 48px;
	height: 48px;

	display: flex;

	align-items: center;
	justify-content: center;

	border-radius: 14px;

	background: var(--ph-soft);

	color: var(--ph-primary);

	font-size: 18px;
}

/* =========================================================
   TABLE WRAPPER
========================================================= */

.produk-hukum-table-wrapper {
	padding: 0 18px 20px;

	overflow-x: auto;
}

/* =========================================================
   TABLE
========================================================= */

.produk-hukum-table {
	margin-bottom: 0 !important;

	color: var(--ph-text);

	border-collapse: separate;

	border-spacing: 0;
}

.produk-hukum-table thead th {
	padding: 16px 14px;

	border-bottom: 1px solid var(--ph-border) !important;

	background: #f8fbfa;

	color: #61716e;

	font-size: 10px;

	font-weight: 800;

	letter-spacing: 0.5px;

	text-transform: uppercase;

	white-space: nowrap;
}

.produk-hukum-table thead th:first-child {
	border-radius: 10px 0 0 10px;
}

.produk-hukum-table thead th:last-child {
	border-radius: 0 10px 10px 0;
}

/* =========================================================
   TABLE BODY
========================================================= */

.produk-hukum-table tbody td {
	padding: 17px 14px;

	border-top: 1px solid #edf2f0 !important;

	vertical-align: middle;

	color: #687570;

	font-size: 12px;

	line-height: 1.6;
}

.produk-hukum-table tbody tr {
	transition: background-color 0.25s ease;
}

.produk-hukum-table tbody tr:hover {
	background: #fbfefd;
}

/* =========================================================
   TITLE
========================================================= */

.produk-hukum-title {
	max-width: 560px;

	color: var(--ph-text);

	font-size: 12px;

	font-weight: 700;

	line-height: 1.6;
}

/* =========================================================
   YEAR
========================================================= */

.produk-hukum-year {
	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-width: 52px;

	padding: 5px 9px;

	border-radius: 8px;

	background: var(--ph-soft);

	color: var(--ph-primary-dark);

	font-size: 10px;

	font-weight: 800;
}

/* =========================================================
   NUMBER
========================================================= */

.produk-hukum-number {
	color: #657572;

	font-size: 11px;

	font-weight: 600;
}

/* =========================================================
   DOWNLOAD
========================================================= */

.produk-hukum-download {
	display: inline-flex;

	align-items: center;

	justify-content: center;

	gap: 7px;

	min-width: 76px;

	padding: 8px 11px;

	border: 1px solid rgba(10, 183, 163, 0.2);

	border-radius: 9px;

	background: rgba(10, 183, 163, 0.06);

	color: var(--ph-primary);

	font-size: 10px;

	font-weight: 800;

	text-decoration: none;

	transition:
		transform 0.25s ease,
		color 0.25s ease,
		background-color 0.25s ease,
		box-shadow 0.25s ease;
}

.produk-hukum-download:hover {
	transform: translateY(-2px);

	background: var(--ph-primary);

	color: #ffffff;

	text-decoration: none;

	box-shadow: 0 7px 15px rgba(10, 183, 163, 0.18);
}

.produk-hukum-download i {
	font-size: 10px;
}

/* =========================================================
   DATATABLE CONTROL
========================================================= */

.produk-hukum-table-card .dataTables_wrapper {
	padding-top: 15px;
}

/* search */

.produk-hukum-table-card .dataTables_filter {
	margin-bottom: 10px;
}

.produk-hukum-table-card .dataTables_filter label {
	color: transparent;

	font-size: 0;
}

.produk-hukum-table-card .dataTables_filter input {
	width: 260px !important;

	height: 36px;

	margin-left: 0 !important;

	padding: 7px 12px 7px 35px !important;

	border: 1px solid var(--ph-border) !important;

	border-radius: 10px !important;

	outline: none !important;

	background: #ffffff
		url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%237f8d8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='16.65' y1='16.65' x2='21' y2='21'%3E%3C/line%3E%3C/svg%3E")
		no-repeat 12px center;

	color: var(--ph-text);

	font-size: 11px !important;

	box-shadow: none !important;
}

.produk-hukum-table-card .dataTables_filter input:focus {
	border-color: rgba(10, 183, 163, 0.45) !important;

	box-shadow: 0 0 0 3px rgba(10, 183, 163, 0.06) !important;
}

/* =========================================================
   DATATABLE LENGTH
========================================================= */

.produk-hukum-table-card .dataTables_length {
	margin-bottom: 10px;
}

.produk-hukum-table-card .dataTables_length label {
	color: #7b8885;

	font-size: 10px;
}

.produk-hukum-table-card .dataTables_length select {
	margin: 0 5px;

	padding: 5px 24px 5px 8px;

	border: 1px solid var(--ph-border);

	border-radius: 8px;

	background: #ffffff;

	color: var(--ph-text);

	font-size: 10px;

	outline: none;
}

/* =========================================================
   DATATABLE INFO
========================================================= */

.produk-hukum-table-card .dataTables_info {
	padding-top: 15px;

	color: #87938f;

	font-size: 10px;
}

/* =========================================================
   TABLE SCROLL
========================================================= */

.produk-hukum-table-card .dataTables_scrollBody {
	border: 0 !important;
}

.produk-hukum-table-card .dataTables_scrollBody::-webkit-scrollbar {
	width: 6px;

	height: 6px;
}

.produk-hukum-table-card .dataTables_scrollBody::-webkit-scrollbar-track {
	background: #f3f7f5;
}

.produk-hukum-table-card .dataTables_scrollBody::-webkit-scrollbar-thumb {
	border-radius: 10px;

	background: #c9dcd7;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
	.produk-hukum-section {
		padding: 42px 0 65px;
	}

	.produk-hukum-table-header {
		padding: 22px;
	}

	.produk-hukum-filter {
		padding: 22px;
	}

	.produk-hukum-title {
		max-width: 400px;
	}
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
	.produk-hukum-section {
		padding: 0px 0 55px;
	}

	.produk-hukum-filter {
		padding: 20px 17px;

		border-radius: 16px;
	}

	.produk-hukum-filter-header {
		align-items: flex-start;
	}

	.produk-hukum-filter-header h2 {
		font-size: 18px;
	}

	.produk-hukum-filter-icon {
		width: 38px;

		height: 38px;
	}

	.produk-hukum-filter-list {
		display: grid;

		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 8px;
	}

	.produk-hukum-filter-item {
		justify-content: space-between;

		min-width: 0;

		padding: 8px 9px;

		border-radius: 9px;

		font-size: 9px;
	}

	.filter-item-name {
		overflow: hidden;

		text-overflow: ellipsis;

		white-space: nowrap;
	}

	.filter-item-total {
		flex: 0 0 auto;
	}

	.produk-hukum-table-card {
		border-radius: 16px;
	}

	.produk-hukum-table-header {
		align-items: flex-start;

		padding: 20px 17px;
	}

	.produk-hukum-table-header h2 {
		font-size: 18px;
	}

	.produk-hukum-table-header p {
		font-size: 11px;
	}

	.produk-hukum-table-icon {
		width: 40px;

		height: 40px;

		font-size: 15px;
	}

	.produk-hukum-table-wrapper {
		padding: 0 12px 15px;
	}

	.produk-hukum-table-card .dataTables_filter input {
		width: 100% !important;
	}
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
	.produk-hukum-filter-list {
		grid-template-columns: 1fr;
	}

	.produk-hukum-filter-item {
		min-height: 38px;
	}

	.produk-hukum-table-header {
		gap: 10px;
	}

	.produk-hukum-table-icon {
		display: none;
	}
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
	.produk-hukum-filter-item,
	.produk-hukum-download,
	.produk-hukum-table tbody tr {
		transition: none;
	}
}

/* Sembunyikan kontrol detail Responsive DataTables */
#datatable_wrapper td.dtr-control::before,
#datatable_wrapper th.dtr-control::before {
	display: none !important;
	content: none !important;
}

/* Baris tetap memberi petunjuk bahwa dapat diklik */
#datatable_wrapper table#datatable tbody tr {
	cursor: pointer;
}
