@charset "ISO-8859-1";

/* Hero Slider */
.hero {
	margin-top: 80px;
	background: linear-gradient(rgba(0, 74, 153, 0.8), rgba(0, 74, 153, 0.9)),
		url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80');
	background-size: cover;
	background-position: center;
	padding: 120px 0;
	color: white;
	text-align: center;
}

.hero h1 {
	font-size: 48px;
	color: white;
	margin-bottom: 20px;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.hero p {
	font-size: 20px;
	max-width: 700px;
	margin: 0 auto 30px;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Mission & Vision */
.mission-vision {
	background: white;
}

.mv-container {
	display: flex;
	gap: 40px;
}

.mission, .vision {
	flex: 1;
	background: #f1f8ff;
	padding: 40px;
	border-radius: 10px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s;
}

.mission:hover, .vision:hover {
	transform: translateY(-10px);
}

.mission {
	border-left: 5px solid #0077cc;
}

.vision {
	border-left: 5px solid #00cc77;
}

.mv-container h3 {
	margin-bottom: 20px;
	font-size: 28px;
}

/* Product Catalog */
.product-catalog {
	background: #f8f9fa;
}

.products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 30px;
}

.product-card {
	background: white;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	transition: all 0.3s;
}

.product-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

/* .product-img { */
/* 	height: 200px; */
/* 	width: 100%; */
/* 	object-fit: cover; */
/* } */

/* .product-img { */
/*   height: 400px; */
/*   width: 100%; */
/*   object-fit: contain; */
/*   background-color: #f9f9f9; optional: fills empty space if aspect ratio doesn't match */
/* } */
.product-img {
	width: 300px;
	height: 300px;
	object-fit: contain; /* may stretch/squash image */
}

.product-info {
	padding: 25px;
}

.product-info h3 {
	margin-bottom: 10px;
	font-size: 22px;
}

.product-price {
	color: #0077cc;
	font-weight: 700;
	font-size: 20px;
	margin: 15px 0;
}

/* Packages Section */
.packages {
	background: white;
}

.packages-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
}

.package-card {
	background: #f1f8ff;
	border-radius: 10px;
	padding: 40px 30px;
	text-align: center;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
	transition: all 0.3s;
	border: 2px solid #e6f0fc;
}

.package-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	border-color: #0077cc;
}

.package-card.popular {
	border-color: #0077cc;
	background: white;
	position: relative;
	transform: scale(1.05);
}

.popular-badge {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: #0077cc;
	color: white;
	padding: 5px 20px;
	border-radius: 20px;
	font-weight: 600;
}

.package-title {
	font-size: 28px;
	margin-bottom: 15px;
	color: #004a99;
}

.package-price {
	font-size: 42px;
	color: #0077cc;
	font-weight: 700;
	margin-bottom: 25px;
}

.package-price span {
	font-size: 18px;
	color: #666;
	font-weight: normal;
}

.package-features {
	list-style: none;
	margin: 25px 0;
	text-align: left;
}

.package-features li {
	padding: 10px 0;
	border-bottom: 1px dashed #e0e0e0;
	display: flex;
	align-items: center;
}

.package-features li:last-child {
	border-bottom: none;
}

.package-features li i {
	color: #00cc77;
	margin-right: 10px;
	font-size: 18px;
}

.package-products {
	background: #e6f0fc;
	padding: 15px;
	border-radius: 8px;
	margin: 20px 0;
	font-weight: 600;
	color: #004a99;
}

/* Contact Section */
.contact {
	/* 	background: linear-gradient(135deg, #004a99 0%, #0077cc 100%); */
	background: #f8f9fa;
	color: #004a99;
}

.contact h2 {
	color: #004a99;
}

.contact-container {
	display: flex;
	gap: 40px;
}

.contact-info {
	flex: 1;
/* 	color: #004a99; */
}

.contact-info h3 {
/* 	color: white; */
	margin-bottom: 25px;
	font-size: 28px;
}

.contact-details {
	margin-bottom: 30px;
}

.contact-item {
	display: flex;
	margin-bottom: 20px;
}

.contact-item i {
	font-size: 24px;
	color: #00cc77;
	margin-right: 15px;
	min-width: 30px;
}

.contact-form {
	flex: 1;
	background: white;
	padding: 30px;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.contact-form h3 {
	color: #004a99;
	margin-bottom: 25px;
	text-align: center;
}

.form-group {
	margin-bottom: 20px;
}

.form-group label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #004a99;
}

.form-group input, .form-group textarea, .form-group select {
	width: 100%;
	padding: 14px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 16px;
}

.form-group textarea {
	height: 120px;
	resize: vertical;
}

.package-options {
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
}

.package-option {
	flex: 1;
	border: 2px solid #e0e0e0;
	padding: 20px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s;
}

.package-option.selected {
	border-color: #0077cc;
	background: #f1f8ff;
}

.package-option h4 {
	margin-bottom: 10px;
	color: #004a99;
}

.package-option .price {
	color: #0077cc;
	font-weight: 700;
	font-size: 20px;
}

.social-login {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin: 25px 0;
}

.social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: white;
	color: #333;
	font-size: 20px;
	border: 1px solid #ddd;
	transition: all 0.3s;
}

.social-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.divider {
	display: flex;
	align-items: center;
	margin: 25px 0;
}

.divider:before, .divider:after {
	content: '';
	flex: 1;
	border-bottom: 1px solid #ddd;
}

.divider span {
	padding: 0 15px;
	color: #666;
}

/* Footer */
footer {
	background: #004a99;
	color: white;
	padding: 50px 0 20px;
}

.footer-container {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 40px;
}

.footer-col {
	flex: 1;
	min-width: 250px;
}

.footer-col h3 {
	color: white;
	margin-bottom: 25px;
	font-size: 22px;
}

.footer-links {
	list-style: none;
}

.footer-links li {
	margin-bottom: 12px;
}

.footer-links a {
	color: #aad4ff;
	text-decoration: none;
	transition: color 0.3s;
}

.footer-links a:hover {
	color: white;
}

.social-links {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}

.social-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: white;
	font-size: 18px;
	transition: all 0.3s;
}

.social-links a:hover {
	background: #0077cc;
	transform: translateY(-3px);
}

.copyright {
	text-align: center;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: #aad4ff;
	font-size: 14px;
}

/* Responsive Styles */
@media ( max-width : 992px) {
	.mv-container, .contact-container {
		flex-direction: column;
	}
	.hero h1 {
		font-size: 36px;
	}
	.hero p {
		font-size: 18px;
	}
}

@media ( max-width : 768px) {
	.mobile-toggle {
		display: block;
	}
	.nav-menu {
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
		background: white;
		flex-direction: column;
		align-items: center;
		padding: 20px 0;
		box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
		clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
		transition: clip-path 0.4s ease;
	}
	.nav-menu.active {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}
	.nav-menu li {
		margin: 15px 0;
	}
	.form-row, .package-options {
		flex-direction: column;
	}
	.hero {
		padding: 80px 0;
	}
	.hero h1 {
		font-size: 32px;
	}
	.section-title {
		margin-bottom: 40px;
	}
}

@media ( max-width : 576px) {
	.hero h1 {
		font-size: 28px;
	}
	.hero p {
		font-size: 16px;
	}
	section {
		padding: 60px 0;
	}
	.registration-container, .login-container {
		padding: 30px;
	}
}