@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
    /* Exact Colors from Lovable */
    --bs-primary: #0A192F; /* Deep Navy Blue */
    --bs-secondary: #0070F3; /* Bright Tech Blue */
    --bs-accent: #FBBF24; /* Amber */
    
    --bg-light: #FAFAFA;
    --bg-white: #FFFFFF;
    --text-main: #334155;
    --text-muted: #64748B;
    
    /* Layout & Components */
    --border-radius: 12px;
    --border-radius-lg: 24px;
    --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02);
    
    --transition: all 0.2s ease-in-out;
}

body {
    zoom: 0.9; /* Simulates a 90% browser zoom to make the UI look sleeker */
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-white);
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    color: var(--bs-primary);
    letter-spacing: -0.03em;
}

p {
    font-family: 'Inter', sans-serif;
    color: var(--text-muted);
}

/* Navbar */
.navbar-glass {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0,0,0,0.05);
}

/* Hover Lift Effect */
.hover-lift {
    transition: var(--transition);
}
.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md) !important;
}

/* Utilities */
.text-primary { color: var(--bs-secondary) !important; } /* In Lovable, primary text is usually the bright blue */
.bg-primary { background-color: var(--bs-secondary) !important; }
.btn-primary { 
    background-color: var(--bs-secondary); 
    border-color: var(--bs-secondary); 
    color: white;
}
.btn-primary:hover {
    background-color: #005bb5;
    border-color: #005bb5;
    color: white;
}

.text-dark { color: var(--bs-primary) !important; }

.card-lovable {
    background-color: var(--bg-white);
    border: 0;
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}
.card-lovable:hover {
    box-shadow: var(--shadow-md);
}

/* 3D Flip Animation Utilities */
.perspective-1000 {
    perspective: 1000px;
    -webkit-perspective: 1000px;
}
.preserve-3d {
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
}
.backface-hidden {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.rotate-y-180 {
    transform: rotateY(180deg);
}
/* Advanced SaaS Flip Custom Classes */
.bg-saas-blue { background: linear-gradient(135deg, #1E3A8A 0%, #3B82F6 100%) !important; }
.bg-saas-purple { background: linear-gradient(135deg, #4C1D95 0%, #8B5CF6 100%) !important; }
.bg-saas-green { background: linear-gradient(135deg, #065F46 0%, #10B981 100%) !important; }
.bg-saas-orange { background: linear-gradient(135deg, #9A3412 0%, #F97316 100%) !important; }
.bg-saas-indigo { background: linear-gradient(135deg, #312E81 0%, #6366F1 100%) !important; }
.bg-saas-teal { background: linear-gradient(135deg, #134E4A 0%, #14B8A6 100%) !important; }
.bg-saas-rose { background: linear-gradient(135deg, #881337 0%, #F43F5E 100%) !important; }
.bg-saas-amber { background: linear-gradient(135deg, #78350F 0%, #F59E0B 100%) !important; }
.bg-white-solid { background-color: #FFFFFF !important; }
.text-white-solid { color: #FFFFFF !important; }

/* 3D Flip & Tilt Mechanics */
.saas-flip-card {
    perspective: 1200px;
    width: 100%;
}
.saas-flip-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.5s ease;
    transform-style: preserve-3d;
}
.saas-flip-front, .saas-flip-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Y-Axis Flip (Horizontal) */
.flip-dir-y .saas-flip-back {
    transform: rotateY(180deg);
}
.saas-flip-card:hover .flip-dir-y, .saas-flip-card:focus-within .flip-dir-y {
    transform: translateY(-10px) rotateY(180deg);
}

/* X-Axis Flip (Vertical) */
.flip-dir-x .saas-flip-back {
    transform: rotateX(180deg);
}
.saas-flip-card:hover .flip-dir-x, .saas-flip-card:focus-within .flip-dir-x {
    transform: translateY(-10px) rotateX(180deg);
}
.group:hover .group-hover\:rotate-y-180 {
    transform: rotateY(180deg);
}

/* Hero Image Slider */
.hero-slider-container {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* For 1:1 Aspect ratio */
    border-radius: 1.5rem;
    overflow: hidden;
}
.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: fadeSlider 20s infinite ease-in-out;
}
.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-slide:nth-child(1) { animation-delay: 0s; }
.hero-slide:nth-child(2) { animation-delay: 5s; }
.hero-slide:nth-child(3) { animation-delay: 10s; }
.hero-slide:nth-child(4) { animation-delay: 15s; }

@keyframes fadeSlider {
    0%   { opacity: 1; }
    20%  { opacity: 1; }
    25%  { opacity: 0; }
    95%  { opacity: 0; }
    100% { opacity: 1; }
}
