/* Design System - All colors MUST be HSL */
:root {
    --background: 0 0% 100%;
    --foreground: 220 20% 15%;

    --card: 0 0% 100%;
    --card-foreground: 220 20% 15%;

    --popover: 0 0% 100%;
    --popover-foreground: 220 20% 15%;

    /* MW10 Coral Primary */
    --primary: 15 78% 60%;
    --primary-foreground: 0 0% 100%;
    --primary-glow: 15 78% 70%;

    /* Avisa Blue Secondary */
    --secondary: 225 84% 70%;
    --secondary-foreground: 0 0% 100%;

    --muted: 220 14% 96%;
    --muted-foreground: 220 8% 46%;

    /* Avisa Green Accent */
    --accent: 145 63% 49%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 100%;

    --border: 220 13% 91%;
    --input: 220 13% 91%;
    --ring: 15 78% 60%;

    --radius: 0.75rem;

    /* Modern gradients */
    --gradient-primary: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--primary-glow)) 100%);
    --gradient-secondary: linear-gradient(135deg, hsl(var(--secondary)) 0%, hsl(225 84% 80%) 100%);
    --gradient-accent: linear-gradient(135deg, hsl(var(--accent)) 0%, hsl(145 63% 60%) 100%);
    --gradient-bg: radial-gradient(ellipse at top, hsl(var(--primary) / 0.1) 0%, transparent 50%), 
                   linear-gradient(180deg, hsl(0 0% 100%) 0%, hsl(220 14% 98%) 100%);
    --gradient-hero: linear-gradient(135deg, hsl(var(--primary) / 0.1) 0%, hsl(var(--secondary) / 0.05) 100%);
    
    /* Enhanced shadows */
    --shadow-soft: 0 4px 20px -2px hsl(var(--primary) / 0.1);
    --shadow-glow: 0 0 40px hsl(var(--primary) / 0.15);
    --shadow-card: 0 8px 32px -8px hsl(var(--foreground) / 0.1);
    --shadow-float: 0 20px 40px -12px hsl(var(--primary) / 0.2);

    /* Animations */
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@media (prefers-color-scheme: dark) {
    :root {
        --background: 220 20% 8%;
        --foreground: 0 0% 95%;

        --card: 220 20% 10%;
        --card-foreground: 0 0% 95%;

        --popover: 220 20% 10%;
        --popover-foreground: 0 0% 95%;

        --primary: 15 78% 55%;
        --primary-foreground: 0 0% 100%;
        --primary-glow: 15 78% 65%;

        --secondary: 225 84% 65%;
        --secondary-foreground: 0 0% 100%;

        --muted: 220 20% 15%;
        --muted-foreground: 220 8% 65%;

        --accent: 145 63% 45%;
        --accent-foreground: 0 0% 100%;

        --destructive: 0 84% 55%;
        --destructive-foreground: 0 0% 100%;

        --border: 220 20% 20%;
        --input: 220 20% 20%;
        --ring: 15 78% 55%;

        --gradient-bg: linear-gradient(180deg, hsl(220 20% 8%) 0%, hsl(220 20% 12%) 100%);
    }
}

/* Tailwind Custom Classes */
.bg-gradient-bg {
    background: var(--gradient-bg);
}

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

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

.bg-gradient-accent {
    background: var(--gradient-accent);
}

.bg-gradient-hero {
    background: var(--gradient-hero);
}

.text-foreground {
    color: hsl(var(--foreground));
}

.text-muted-foreground {
    color: hsl(var(--muted-foreground));
}

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

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

.text-accent {
    color: hsl(var(--accent));
}

.bg-primary\/30 {
    background-color: hsl(var(--primary) / 0.3);
}

.bg-secondary\/40 {
    background-color: hsl(var(--secondary) / 0.4);
}

.bg-accent\/50 {
    background-color: hsl(var(--accent) / 0.5);
}

.bg-card\/50 {
    background-color: hsl(var(--card) / 0.5);
}

.bg-card\/70 {
    background-color: hsl(var(--card) / 0.7);
}

.border-border\/30 {
    border-color: hsl(var(--border) / 0.3);
}

.border-secondary\/40 {
    border-color: hsl(var(--secondary) / 0.4);
}

.shadow-card {
    box-shadow: var(--shadow-card);
}

.shadow-soft {
    box-shadow: var(--shadow-soft);
}

.shadow-float {
    box-shadow: var(--shadow-float);
}

.drop-shadow-float {
    filter: drop-shadow(0 10px 20px hsl(var(--primary) / 0.2));
}

/* Custom Animations */
.animate-fade-in {
    animation: fadeIn 1s ease-out;
}

.animate-slide-up {
    animation: slideUp 0.8s ease-out;
}

.animate-slide-left {
    animation: slideLeft 0.8s ease-out;
}

.animate-slide-right {
    animation: slideRight 0.8s ease-out;
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

.animate-glow {
    animation: glow 2s ease-in-out infinite alternate;
}

.animate-scale-in {
    animation: scaleIn 0.6s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideLeft {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes slideRight {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(2deg); }
}

@keyframes glow {
    from { box-shadow: 0 0 20px hsl(var(--primary) / 0.2); }
    to { box-shadow: 0 0 40px hsl(var(--primary) / 0.4); }
}

@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}

/* Base Styles */
body {
    background: var(--gradient-bg);
    color: hsl(var(--foreground));
    min-height: 100vh;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
}

/* Tailwind-like utility classes for seamless integration */
.backdrop-blur-sm {
    backdrop-filter: blur(4px);
}

.hover\:scale-110:hover {
    transform: scale(1.1);
}

.hover\:scale-\[1\.02\]:hover {
    transform: scale(1.02);
}

.group:hover .group-hover\:scale-110 {
    transform: scale(1.1);
}

.group:hover .group-hover\:scale-125 {
    transform: scale(1.25);
}

.group:hover .group-hover\:text-primary {
    color: hsl(var(--primary));
}

.group:hover .group-hover\:text-secondary\/80 {
    color: hsl(var(--secondary) / 0.8);
}

.group:hover .group-hover\:text-foreground\/80 {
    color: hsl(var(--foreground) / 0.8);
}

.group:hover .group-hover\:text-foreground\/70 {
    color: hsl(var(--foreground) / 0.7);
}

.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}