/* Custom styles for overrides and animations */
.card.aos:hover {
	transform: scale(1.04);
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
	transition: all 0.2s;
}
.img-fluid.aos:hover {
	transform: scale(1.12);
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
	transition: all 0.2s;
}

/* Global Responsive Utilities */
@media (max-width: 991.98px) {
	.container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
	/* Hide desktop navigation */
	.navbar-collapse {
		display: none !important;
	}
	
	/* Adjust font sizes for tablet */
	h1 {
		font-size: 2.5rem !important;
	}
	
	h2 {
		font-size: 2rem !important;
	}
	
	h3 {
		font-size: 1.5rem !important;
	}
}

@media (max-width: 768px) {
	.container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	
	/* Adjust spacing for mobile */
	section {
		padding: 60px 0 !important;
	}
	
	/* Responsive typography */
	h1 {
		font-size: 2.2rem !important;
		line-height: 1.2;
	}
	
	h2 {
		font-size: 1.8rem !important;
		line-height: 1.3;
	}
	
	h3 {
		font-size: 1.3rem !important;
	}
	
	p {
		font-size: 1rem;
		line-height: 1.6;
	}
	
	/* Button responsive adjustments */
	.btn {
		padding: 12px 24px;
		font-size: 0.95rem;
	}
	
	/* Card responsive adjustments */
	.card {
		margin-bottom: 1.5rem;
	}
	
	/* Row gap adjustments */
	.row {
		--bs-gutter-x: 1rem;
	}
}

@media (max-width: 576px) {
	.container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
	
	/* Extra small screen adjustments */
	section {
		padding: 40px 0 !important;
	}
	
	h1 {
		font-size: 1.8rem !important;
	}
	
	h2 {
		font-size: 1.5rem !important;
	}
	
	h3 {
		font-size: 1.2rem !important;
	}
	
	p {
		font-size: 0.9rem;
	}
	
	.btn {
		padding: 10px 20px;
		font-size: 0.9rem;
	}
	
	.row {
		--bs-gutter-x: 0.75rem;
	}
}

/* Touch-friendly interactive elements */
@media (hover: none) and (pointer: coarse) {
	.btn, .nav-link, .card {
		min-height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	/* Remove hover effects on touch devices */
	.card.aos:hover {
		transform: none;
		box-shadow: none;
	}
	
	.img-fluid.aos:hover {
		transform: none;
		box-shadow: none;
	}
}

/* Landscape orientation adjustments for mobile */
@media (max-width: 768px) and (orientation: landscape) {
	.hero-slider,
	.carousel-item {
		height: 70vh !important;
		min-height: 300px !important;
	}
	
	section {
		padding: 40px 0 !important;
	}
}