/* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');

:root {
	--primary-color: #e53935; /* Red similar to logo - Adjust if needed */
	--dark-color: #1a1a1a; /* Dark background */
	--light-color: #f8f9fa; /* Light background */
	--text-dark: #333;
	--text-light: #f8f9fa;
	--navbar-height: 70px; /* Adjust as needed */
}

body {
	font-family: 'Poppins', sans-serif;
	color: var(--text-dark);
	position: relative; /* Needed for scrollspy */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 600;
}

.section-title {
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 1.5rem;
	position: relative;
	padding-bottom: 0.5rem;
}

.section-title::after {
	/* Simple underline effect */
	content: '';
	position: absolute;
	display: block;
	width: 50px;
	height: 3px;
	background: var(--primary-color);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
/* Center title if text-center class is present */
.text-center .section-title::after {
	left: 50%;
	transform: translateX(-50%);
}
/* Left align title if not centered (default) */
section:not(.text-center) .section-title::after {
	left: 0;
	transform: none;
}

/* --- Navbar --- */
.navbar {
	background-color: rgba(26, 26, 26, 0.9); /* Slightly transparent dark */
	backdrop-filter: blur(5px);
	transition: background-color 0.3s ease-in-out;
	min-height: var(--navbar-height);
}

.navbar-brand img {
	margin-right: 5px; /* Space between logo and text */
}

.navbar-brand {
	font-weight: 700;
	color: var(--text-light) !important;
}

.nav-link {
	color: rgba(255, 255, 255, 0.75) !important;
	font-weight: 600;
	margin-left: 10px;
	margin-right: 10px;
	transition: color 0.3s ease;
}

.nav-link:hover,
.nav-link.active {
	color: var(--text-light) !important;
}

.navbar-toggler {
	border-color: rgba(255, 255, 255, 0.3);
}
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* --- Hero Section --- */
#hero {
	min-height: 100vh; /* Full viewport height */
	background: var(--dark-color) url('../assets/hero_background.jpg') no-repeat center center;

	background-size: cover;
	background-attachment: fixed; /* Parallax effect */
	position: relative; /* For potential overlay */
}

#hero::before {
	/* Optional dark overlay */
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5); /* Adjust darkness */
	z-index: 1;
}

#hero .container {
	position: relative; /* To stay above overlay */
	z-index: 2;
}

.hero-logo {
	max-height: 120px; /* Adjust size as needed */
	border-radius: 50%;
	animation: pulse 2s infinite ease-in-out; /* Subtle pulse */
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}

/* --- Buttons --- */
.btn-primary {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	font-weight: 600;
	padding: 10px 25px;
	transition: all 0.3s ease;
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: darken(var(--primary-color), 10%);
	border-color: darken(var(--primary-color), 10%);
	box-shadow: 0 0 15px rgba(229, 57, 53, 0.5); /* Red glow */
	transform: translateY(-2px);
}

.btn-outline-light {
	border-color: var(--text-light);
	color: var(--text-light);
	font-weight: 600;
	padding: 10px 25px;
	transition: all 0.3s ease;
}
.btn-outline-light:hover,
.btn-outline-light:focus {
	background-color: var(--text-light);
	color: var(--dark-color);
	transform: translateY(-2px);
}

.btn-outline-primary {
	border-color: var(--primary-color);
	color: var(--primary-color);
	font-weight: 600;
	padding: 10px 25px;
	transition: all 0.3s ease;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
	background-color: var(--primary-color);
	color: #fff;
	box-shadow: 0 0 15px rgba(229, 57, 53, 0.5); /* Red glow */
	transform: translateY(-2px);
}

/* --- About Section --- */
#about img {
	max-width: 350px;
	height: auto;
	border: 5px solid var(--primary-color);
}

/* --- Classes Section --- */
.feature-card {
	border: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.feature-icon {
	font-size: 3rem;
	color: var(--primary-color);
	margin: 0 auto;
	display: inline-block;
}

.badge.bg-primary {
	background-color: var(--primary-color) !important;
	padding: 0.5em 0.9em;
}

/* --- Blog Section --- */
.blog-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden; /* Ensure image doesn't overflow on hover */
}

.blog-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.blog-card img {
	transition: transform 0.4s ease;
}

.blog-card:hover img {
	transform: scale(1.05);
}

/* Style for code blocks */
pre {
	background-color: #2d2d2d; /* Dark background for code */
	color: #f8f8f2; /* Light text for code */
	padding: 15px;
	border-radius: 5px;
	overflow-x: auto; /* Handle long lines */
	font-family: 'Courier New', Courier, monospace; /* Monospace font */
	font-size: 0.9em;
	margin-top: 10px;
	border: 1px solid #444;
}

code {
	font-family: 'Courier New', Courier, monospace;
}

/* If using PrismJS, you might not need the styles above, */
/* but keep the <pre><code class="language-xyz"> structure */

/* --- Testimonials Section --- */
.testimonial-card {
	text-align: center;
	padding: 2rem;
}

.testimonial-card img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border: 4px solid var(--primary-color);
}

/* Customize Carousel Controls */
.carousel-control-prev-icon,
.carousel-control-next-icon {
	background-color: rgba(0, 0, 0, 0.5); /* Darker background for visibility */
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	background-size: 60%, 60%;
}

/* --- Contact Section --- */
#contact {
	background-color: var(--light-color); /* Use light for contrast or keep dark */
}

.form-control-lg {
	padding: 1rem 1.25rem;
}

.contact-info i {
	color: var(--primary-color);
}
.contact-info a {
	color: var(--text-dark);
	text-decoration: none;
	transition: color 0.3s ease;
}
.contact-info a:hover {
	color: var(--primary-color);
}

/* --- Footer --- */
footer {
	background-color: var(--dark-color);
}
footer .navbar-brand img {
	vertical-align: middle;
}
footer .navbar-brand {
	font-size: 1rem;
}

/* Announcement Cards Styling */
.announcement-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden;
}

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

.announcement-card img {
	height: 200px;
	object-fit: cover;
}

.announcement-card .card-title {
	font-weight: 600;
	margin-bottom: 0.75rem;
}

.announcement-card .card-text {
	color: #6c757d;
}

/* --- AOS Animation Delays (Optional Examples) --- */
/* You can add more specific delays in the HTML data-aos-delay attribute */

/* --- Media Queries (Bootstrap handles most, add custom if needed) --- */
@media (max-width: 991.98px) {
	.navbar {
		background-color: var(--dark-color); /* Make solid on collapse */
	}
	.section-title::after {
		/* Center underline on smaller screens */
		left: 50%;
		transform: translateX(-50%);
	}
	#hero {
		background-attachment: scroll; /* Disable fixed background on mobile (performance) */
	}
	#about img {
		max-width: 250px;
	}
}

@media (max-width: 767.98px) {
	#hero {
		background: var(--dark-color) url('../assets/hero_background.jpg') no-repeat -80vw center;
	}

	#hero h1 {
		font-size: 2.5rem;
	}
	#hero h2 {
		font-size: 1.1rem;
	}
	.testimonial-card {
		padding: 1rem;
	}
}

@media (max-width: 600px) {
	#hero {
		background: var(--dark-color) url('../assets/hero_background.jpg') no-repeat -100vw center;
	}
}

@media (max-width: 500px) {
	#hero {
		background: var(--dark-color) url('../assets/hero_background.jpg') no-repeat -150vw center;
	}
}

@media (max-width: 450px) {
	#hero {
		background: var(--dark-color) url('../assets/hero_background.jpg') no-repeat -170vw center;
	}
}

@media (max-width: 400px) {
	.hero-register-now {
		margin-top: 1rem;
	}

	#hero {
		background: var(--dark-color) url('../assets/hero_background.jpg') no-repeat -210vw center;
	}
}
