/* Custom styles */
.pixel-grid {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

.pixel-art-image {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}

.hero-gradient {
    background: linear-gradient(135deg, #511e78 0%, #fcb2bf 100%);
}

.feature-card {
    transition: transform 0.2s ease-in-out;
}

.feature-card:hover {
    transform: translateY(-5px);
}

/* Custom animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}

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

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

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

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

/* Theme colors */
:root {
    --primary-color: #00adb5;
    --secondary-color: #393e46;
    --accent-color: #00adb5;
    --text-color: #393e46;
    --background-color: #ffffff;
    --error-color: #dc2626;
    --success-color: #059669;
    --warning-color: #d97706;
    --info-color: #2563eb;
}

.btn-primary {
    background-color: var(--primary-color) !important;
    color: white !important;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
    position: relative;
    overflow: hidden;
}

.btn-primary:hover {
    background-color: #008c93 !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.btn-primary:active {
    background-color: #007a80 !important;
    color: white !important;
    transform: translateY(0);
    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.06);
}

.btn-secondary {
    background-color: var(--secondary-color) !important;
    color: white !important;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
    position: relative;
    overflow: hidden;
}

.btn-secondary:hover {
    background-color: #2d3238 !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.btn-secondary:active {
    background-color: #23272d !important;
    color: white !important;
    transform: translateY(0);
    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.06);
}

.text-primary {
    color: var(--primary-color);
}

.text-secondary {
    color: var(--secondary-color);
}

.bg-primary {
    background-color: var(--primary-color);
}

.bg-secondary {
    background-color: var(--secondary-color);
}

/* Use case image hover effects */
.aspect-w-1 {
    overflow: hidden;
    position: relative;
}

.aspect-w-1 img {
    transition: transform 0.3s ease;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}

.aspect-w-1:hover img {
    transform: scale(1.2);
}

/* Carousel styles */
.carousel-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel-image {
    transition: opacity 0.3s ease-in-out;
}

.carousel-image.hidden {
    display: none;
}

.carousel-nav {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.aspect-w-1:hover .carousel-nav {
    opacity: 1;
} 