/* ==========================================
   INTERHEALTH - MAIN STYLES
   ========================================== */

/* Base Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}



/* Animations */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateX(-20px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

@keyframes pulse {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.5;
	}
}

@keyframes scrollDot {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(20px);
	}

	100% {
		transform: translateY(0);
	}
}

.animate-fadeIn {
	animation: fadeIn 0.6s ease-out;
}

.animate-slideIn {
	animation: slideIn 0.6s ease-out;
}

.animate-bounce {
	animation: bounce 2s infinite;
}

.animate-pulse {
	animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.animate-scroll-dot {
	animation: scrollDot 2s ease-in-out infinite;
}

/* Utility Classes */
.text-gradient {
	background: linear-gradient(135deg, #0284C7 0%, #0C4A6E 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.btn-primary {
	@apply bg-primary-500 hover:bg-primary-600 text-white font-medium px-6 py-3 rounded-lg transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105;
}

.btn-secondary {
	@apply bg-white hover:bg-primary-50 text-primary-700 font-medium px-6 py-3 rounded-lg border-2 border-primary-300 transition-all duration-300 hover:scale-105;
}

.card {
	@apply bg-white rounded-xl shadow-lg p-6 transition-all duration-300 hover:shadow-2xl hover:-translate-y-1;
}

.section-padding {
	@apply py-16 md:py-24 lg:py-32;
}

.container-custom {
	@apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8;
}

/* Badge Styles */
.badge {
	@apply inline-flex items-center gap-2 px-4 py-2 rounded-full text-sm font-medium;
}

.badge-primary {
	@apply bg-primary-100 border border-primary-200 text-primary-700;
}

.badge-red {
	@apply bg-red-50 border border-red-200 text-red-600;
}

.badge-blue {
	@apply bg-blue-50 border border-blue-200 text-blue-600;
}

/* Icon Containers */
.icon-container {
	@apply w-12 h-12 rounded-xl flex items-center justify-center;
}

.icon-container-lg {
	@apply w-16 h-16 rounded-2xl flex items-center justify-center shadow-lg;
}

/* Form Styles */
input:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: #0284C7;
	box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.1);
}

/* Responsive Typography */
@media (max-width: 640px) {
	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.75rem;
	}

	h3 {
		font-size: 1.5rem;
	}
}