body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.carousel-slide {
  transition: opacity 1s ease-in-out;
}

.footer-bg {
  background-image: linear-gradient(
      rgba(31, 41, 55, 0.92),
      rgba(31, 41, 55, 0.98)
    ),
    url("https://images.unsplash.com/photo-1537953773345-d172ccfa03c0?auto=format&fit=crop&w=1200&q=80");
  background-size: cover;
  background-position: center;
}

#scrollToTopBtn.show-scroll-btn {
  opacity: 1;
  visibility: visible;
}

.btn-outline-glass {
  @apply border text-baliceb-green border-baliceb-green bg-white/30 backdrop-blur-sm shadow-lg transition-all duration-300 ease-in-out;
}

.btn-outline-glass:hover {
  @apply bg-baliceb-green text-white border-baliceb-green;
}

/* --- DataTables.js Custom Styling (Ant Design Look) --- */

/* Wrapper Utama */
.dataTables_wrapper {
  padding-top: 1.5rem; /* Menambah ruang di atas tabel */
}

/* Table Styling */
table.dataTable {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0;
}

table.dataTable thead th {
  background-color: #f9fafb; /* bg-gray-50 */
  border-bottom: 2px solid #e5e7eb; /* border-gray-200 */
  color: #4b5563; /* text-gray-600 */
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 1rem 1.5rem !important; /* Padding ala AntD */
  text-align: left;
}

table.dataTable tbody tr {
  border-bottom: 1px solid #e5e7eb; /* border-gray-200 */
}

table.dataTable tbody tr:hover {
  background-color: #f9fafb; /* bg-gray-50 */
}

table.dataTable tbody td {
  padding: 1.25rem 1.5rem !important; /* Padding ala AntD */
  vertical-align: top;
  color: #374151; /* text-gray-700 */
}

/* "Show X entries" Dropdown */
.dataTables_wrapper .dataTables_length label {
  font-weight: 500;
  color: #374151;
}
.dataTables_wrapper .dataTables_length select {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  border: 1px solid #d1d5db; /* border-gray-300 */
  border-radius: 0.375rem; /* rounded-md */
  background-position: right 0.5rem center;
}

/* Search Box Styling */
.dataTables_wrapper .dataTables_filter {
  float: right;
}

.dataTables_wrapper .dataTables_filter label {
  font-weight: 500;
  color: #374151;
}

.dataTables_wrapper .dataTables_filter input[type="search"] {
  margin-left: 0.5rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db; /* border-gray-300 */
  border-radius: 0.375rem; /* rounded-md */
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); /* shadow-sm */
}
.dataTables_wrapper .dataTables_filter input[type="search"]:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  border-color: #00a99d; /* baliceb-blue */
  box-shadow: 0 0 0 3px rgba(0, 169, 157, 0.2);
}

/* "Showing X..." Info Text */
.dataTables_wrapper .dataTables_info {
  padding-top: 1.5rem;
  color: #6b7280; /* text-gray-500 */
}

/* Pagination Styling */
.dataTables_wrapper .dataTables_paginate {
  float: right;
  padding-top: 1rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  padding: 0.5rem 1rem;
  margin-left: 0.25rem;
  border: 1px solid #e5e7eb; /* border-gray-200 */
  border-radius: 0.375rem; /* rounded-md */
  cursor: pointer;
  color: #374151 !important; /* text-gray-700 */
  background: white;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background-color: #f9fafb; /* bg-gray-50 */
  border-color: #d1d5db; /* border-gray-300 */
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: #00a99d !important; /* baliceb-blue */
  border-color: #00a99d !important;
  color: white !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  opacity: 0.5;
  cursor: not-allowed;
  background: white !important;
  border-color: #e5e7eb !important;
  color: #9ca3af !important;
}
