/* Custom CSS untuk User Interface */

/* Hero Banner Styling */
.hero-banner {
	background: linear-gradient(135deg, #485f94 0%, #3a4f7a 100%);
	position: relative;
	overflow: hidden;
}

.hero-banner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.05)"/><circle cx="10" cy="60" r="0.5" fill="rgba(255,255,255,0.05)"/><circle cx="90" cy="40" r="0.5" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
	opacity: 0.3;
}

.search-container {
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	border: none;
	position: relative;
	z-index: 2;
}

.stat-box {
	padding: 1rem;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	margin: 0.5rem;
	transition: all 0.3s ease;
}

.stat-box:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: translateY(-2px);
}

/* Klasifikasi Section */
.card-hover {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border: 1px solid #e9ecef;
}

.card-hover:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Custom Padding Classes */
.py-6 {
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

.py-7 {
	padding-top: 5rem !important;
	padding-bottom: 5rem !important;
}

.py-8 {
	padding-top: 6rem !important;
	padding-bottom: 6rem !important;
}

/* Statistik Cards */
.stat-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border: 1px solid #e9ecef;
}

.stat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important;
}

.stat-number h2 {
	font-size: 2.5rem;
	font-weight: 700;
}

/* Feature Icon Styling */
.feature-icon {
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Navigation Styling */
.navbar {
	border-bottom: 1px solid #e9ecef;
}

.navbar-brand {
	font-size: 1.1rem;
	font-weight: 600;
}

.navbar-nav.me-auto {
	margin-left: 2rem; /* Tambah margin kiri untuk menu */
}

.navbar-nav .nav-link {
	color: #6c757d !important;
	font-weight: 500;
	padding: 0.75rem 1rem !important;
	transition: color 0.3s ease;
	margin-left: 0.5rem; /* Tambah sedikit space antar menu */
}

.navbar-nav .nav-link:hover {
	color: #495057 !important;
	background-color: transparent;
}

.navbar-nav .nav-link.active {
	color: #212529 !important;
	font-weight: 600;
}

/* Search in navbar */
.navbar .form-control {
	border-radius: 20px;
	font-size: 0.9rem;
}

.navbar .btn {
	border-radius: 20px;
}

/* Login button */
.btn-dark {
	background-color: #2c3e50;
	border-color: #2c3e50;
	border-radius: 5px;
	font-weight: 500;
}

.btn-dark:hover {
	background-color: #1a252f;
	border-color: #1a252f;
}

/* Card Hover Effect */
.card-hover {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Statistics Styling */
.stat-item {
	transition: transform 0.3s ease;
}

.stat-item:hover {
	transform: scale(1.05);
}

/* Navigation Active State */
.navbar-nav .nav-link:hover {
	background-color: rgba(255, 255, 255, 0.1);
	border-radius: 5px;
	transition: background-color 0.3s ease;
}

/* Button Custom Styling */
.btn {
	border-radius: 6px;
	padding: 0.5rem 1.2rem;
	font-weight: 500;
	transition: all 0.3s ease;
}

.btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Hero Section Styling */
.bg-primary {
	background: linear-gradient(135deg, #007bff 0%, #0056b3 100%) !important;
}

/* Custom Badge Styling */
.badge {
	font-size: 0.8em;
	padding: 0.4em 0.8em;
	border-radius: 20px;
}

/* Footer Styling */
footer {
	background: #212529 !important;
}

footer a {
	text-decoration: none;
	transition: color 0.3s ease;
}

footer a:hover {
	color: #fff !important;
}

/* Alert Custom Styling */
.alert {
	border: none;
	border-radius: 10px;
	padding: 1.2rem;
}

/* Card Text Justify */
.text-justify {
	text-align: justify;
}

/* Custom Spacing */
.py-6 {
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

/* Responsive Text */
@media (max-width: 768px) {
	.display-4 {
		font-size: 2.5rem;
	}

	.display-41 {
		font-size: 1.5rem;
	}

	.lead {
		font-size: 1.1rem;
	}

	.feature-icon {
		width: 60px;
		height: 60px;
	}
}

/* Loading Animation */
.loading {
	opacity: 0.6;
	pointer-events: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: #555;
}
