/* VisionLogic AI - Global Stylesheet (Ultimate Version)
  VERSION: 6.6 (Mobile 3D Canvas Fix)
  FEATURES: 87.5% Scale, Unified Form Borders, 0.8s Transitions, Persistent Bottom-Nav.
  DESIGNER: DSON
*/

@import url('https://fonts.googleapis.com/css2?family=Domine:wght@700&family=Poppins:wght@300;400;600;700&display=swap');

/* --- 1. GLOBAL SCALING & VARIABLES --- */
html {
    /* Scale baseline for overall UI reduction (~80% - 87.5%) */
    font-size: 87.5%; 
    scroll-behavior: smooth;
}

:root {
    --fluid-padding: clamp(1rem, 5vw, 3rem);
    --primary-cyan: #00F2FE;
    --primary-purple: #7064FF;
    --bg-dark: #0B0E14;
    --bg-secondary: #111827;
    --transition-slow: 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--bg-dark); 
    font-family: 'Poppins', sans-serif;
    color: white;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    overflow-x: hidden;
}

/* --- 2. LAYOUT INTEGRATION --- */
footer {
    background-color: var(--bg-secondary) !important;
    position: relative;
    box-shadow: -100vw 0 0 0 var(--bg-secondary); 
}

main {
    margin-left: 6rem; 
    padding-left: 0; 
    overflow: visible !important; 
    transition: margin 0.3s ease;
    display: flex;
    flex-direction: column;
    background: transparent !important; 
}

/* --- 3. CORE UTILITIES --- */
.smooth {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.modal-active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Robot Canvas Default Styling (Desktop) */
#robot-canvas {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    max-width: 100vw;
    z-index: 1;
}

/* --- 4. STANDARDIZED FORM INPUTS (Cyber-Glow) --- */
input, textarea {
    outline: none;
    font-family: inherit;
}

.input-glow {
    background-color: #1F2937; 
    border: 1.5px solid var(--primary-cyan) !important; 
    color: white;
    transition: background-color var(--transition-slow), 
                border-color 0.4s ease, 
                box-shadow 0.4s ease;
    background-origin: border-box;
    background-clip: padding-box, border-box;
}

.input-glow:hover {
    border: 1.5px solid transparent !important;
    background-image: linear-gradient(#1F2937, #1F2937), 
                      linear-gradient(to right, var(--primary-purple), var(--primary-cyan)) !important;
}

.input-glow:focus {
    background-color: var(--bg-dark) !important; 
    background-image: none !important; 
    border: 1.5px solid var(--primary-cyan) !important;
    box-shadow: 0 0 15px rgba(0, 242, 254, 0.4);
}

.input-glow:focus:hover {
    background-image: linear-gradient(var(--bg-dark), var(--bg-dark)), 
                      linear-gradient(to right, var(--primary-purple), var(--primary-cyan)) !important;
}

.input-glow::placeholder {
    color: rgba(255, 255, 255, 0.2);
}

/* --- 5. BUTTON GRADIENT FLOW --- */
.btn-gradient-flow {
    background-image: linear-gradient(to right, var(--primary-cyan) 0%, var(--primary-purple) 50%, var(--primary-cyan) 100%) !important;
    background-size: 200% auto;
    color: white !important;
    border: none !important;
    cursor: pointer;
    transition: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-gradient-flow:hover {
    background-position: right center;
    box-shadow: 0 0 30px rgba(0, 242, 254, 0.4);
}

.btn-gradient-flow:active {
    transform: scale(0.95);
}

/* --- 6. SCROLLBAR STYLING --- */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track { background: var(--bg-dark); }
::-webkit-scrollbar-thumb {
    background: #1F2937;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover { background: var(--primary-purple); }

/* --- 7. HYBRID RESPONSIVE FIX (MOBILE SURGERY) --- */
@media (max-width: 768px) {
    html { font-size: 80%; }

    body {
        background-attachment: scroll; 
    }
    
    body, main {
        padding-left: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
    }

    main {
        display: flex !important;
        flex-direction: column !important; 
        align-items: center !important;    
        text-align: center !important;
        padding-top: 1rem !important;
        padding-bottom: 0 !important; 
    }

    /* 🤖 FORCED TOP ROBOT: The "Surgical" Fix */
    #robot-canvas {
        position: relative !important;    
        transform: none !important;       
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        margin: 0 auto 1.5rem auto !important; 
        width: 360px !important;          
        
        /* 🚨 THE FIX: Must provide a fixed height so Three.js doesn't collapse to 0 */
        height: 360px !important;         
        
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        order: -1 !important;             
        opacity: 1 !important;
        z-index: 10 !important;
        pointer-events: none;
    }

    #robot-canvas canvas {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important; 
        outline: none !important;
    }

    .hero-content, h1, p {
        width: 100% !important;
        padding: 0 1.5rem;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    footer {
        margin-left: 0 !important;
        padding: 3rem 1.5rem 110px 1.5rem !important;
        width: 100% !important;
        box-shadow: none !important;
    }
}

@media (min-width: 769px) {
    #bottom-nav {
        display: none !important;
    }
}