/* ================= CUSTOM PROPERTIES ================= */
:root {
    --primary: #6c63ff;
    --secondary: #00d4ff;
    --bg-dark: #05070a;
    --bg-card: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.08);
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ================= RESET & SAFETY ================= */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; }
html, body { max-width: 100%; overflow-x: hidden; position: relative; scroll-behavior: smooth; }
body { background-color: #fff; color: #000; }

#particles-js {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1; 
    pointer-events: none; /* Allows clicking through background */
}

.container { 
    width: 100%;
    max-width: 1350px;
    margin: 5px 0px;
    padding: 10px 30px;
    background: #fff; 
  }
.section { position: relative; z-index: 5; padding: 100px 0; }

/* ================= NAVIGATION ================= */
.navbar {
    position: fixed; top: 0; width: 100%; z-index: 1000;
    padding: 0px 0; transition: var(--transition);
}
.navbar.scrolled {
    padding: 12px 0; background: #fff;
    backdrop-filter: blur(20px); border-bottom: 1px solid var(--glass-border);
}
.nav-container { display: flex; justify-content: space-between; align-items: center; }
.logo-img { height: 42px; width: auto; }
.nav-links ul { display: flex; list-style: none; gap: 35px; align-items: center; }
.nav-links a { color: #3f3f3f; text-decoration: none; font-size: 0.9rem; opacity: 0.8; transition: 0.3s; pointer-events: auto; }
.nav-links a:hover { opacity: 1; color: var(--secondary); }

/* Dropdown */
.dropdown { position: relative; padding: 10px 0; }
.dropdown-menu {
    display: none; position: absolute; top: 100%; left: 0;
    background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(15px);
    min-width: 180px; border-radius: 12px; border: 1px solid var(--glass-border);
    flex-direction: column; padding: 10px 0;
}
.dropdown:hover .dropdown-menu { display: flex; }
.dropdown-menu a { padding: 10px 20px; display: block; }

/* ================= HERO ================= */
.hero { min-height: 100vh; display: flex; align-items: center; background: transparent; }
.hero-wrapper { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 50px; }
.hero-content h1 { font-size: clamp(2.2rem, 7vw, 4rem); font-weight: 700; line-height: 1.1; margin-bottom: 20px; }
.text-gradient { background: linear-gradient(to right, #6f6969, var(--secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.btn { display: inline-block; padding: 14px 30px; border-radius: 10px; text-decoration: none; font-weight: 600; transition: 0.3s; pointer-events: auto; }
.btn-primary { background: var(--primary); color: white; margin-right: 15px; }
.btn-secondary { border: 1px solid var(--glass-border); background: var(--bg-card); color: white; }

/* ================= GRID & CARDS ================= */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.about-image img { width: 100%; border-radius: 24px; border: 1px solid var(--glass-border); }
.bento-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 280px); gap: 20px; margin-top: 30px; }
.bento-card { background: var(--bg-card); border-radius: 24px; overflow: hidden; position: relative; border: 1px solid var(--glass-border); }
.bento-card img { width: 100%; height: 100%; object-fit: cover; opacity: 0.3; }
.bento-main { grid-column: span 2; grid-row: span 2; }
.bento-wide { grid-column: span 2; }

/* ================= APPROACH & FORM ================= */
.approach-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 25px; margin-top: 25px;}
.approach-card { background: var(--bg-card); padding: 30px; border-radius: 20px; border: 1px solid var(--glass-border); }
.approach-number { font-size: 2.5rem; font-weight: 700; color: transparent; -webkit-text-stroke: 1px var(--primary); }

.glass-form-container { background: var(--bg-card); padding: 40px; border-radius: 30px; border: 1px solid var(--glass-border); backdrop-filter: blur(10px); }
.input-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
input, textarea { width: 100%; background: rgba(255,255,255,0.05); border: 1px solid var(--glass-border); padding: 15px; border-radius: 12px; color: white; outline: none; }

/* ================= FOOTER ================= */
.footer { background: #080a0f; padding: 80px 0 40px; border-top: 1px solid var(--glass-border); position: relative; z-index: 10; }
.footer-content { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; }
.social-links a { color: var(--text-muted); text-decoration: none; margin-right: 20px; pointer-events: auto; }

/* ================= MOBILE FIXES ================= */
@media (max-width: 768px) {
    .menu-toggle { display: flex; flex-direction: column; justify-content: space-between; width: 30px; height: 20px; z-index: 2100; cursor: pointer; border: none; background: none; }
    .menu-toggle .bar { width: 100%; height: 3px; background: #6d6d6d; border-radius: 10px; transition: 0.3s; }
    .menu-toggle.open .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .menu-toggle.open .bar:nth-child(2) { transform: translateY(-9px) rotate(-45deg); }

    .nav-links {
        position: fixed; top: 0; right: -100%; width: 80%; height: 100vh;
        background: #e5e5e5; backdrop-filter: blur(20px);
        padding: 100px 30px; transition: 0.5s ease; z-index: 1999;
    }
    .nav-links.active { right: 0; }
    .nav-links ul { flex-direction: column; align-items: flex-start; gap: 25px; }
    .dropdown-menu { position: static; display: block; background: transparent; padding-left: 20px; border: none; }

    .grid-2, .hero-wrapper, .input-row, .footer-content, .bento-grid { display: flex; flex-direction: column; width: 100%; }
    .bento-card { height: 280px; }
    .hero-content h1 { font-size: 2.2rem; }
    .container { padding: 20px 25px; }
}

/* --- DROPDOWN LOGIC --- */
.dropdown { 
    position: relative; 
    padding: 10px 0; /* Creates a 'bridge' so the menu doesn't close when moving mouse */
}

.dropdown-menu {
    display: none;            /* Keep hidden by default */
    position: absolute;
    top: 100%;                /* Positions it right below the 'Products' text */
    left: 0;
    background: rgba(15, 23, 42, 0.95); 
    backdrop-filter: blur(15px);
    min-width: 180px;
    border-radius: 12px;
    padding: 10px 0;
    border: 1px solid var(--glass-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    flex-direction: column;
    z-index: 1000;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* THE FIX: Show the menu when hovering over the parent .dropdown li */
.dropdown:hover .dropdown-menu {
    display: flex;            /* Makes it visible */
    opacity: 1;               /* Fades it in */
    transform: translateY(0); /* Slides it up into place */
}

.dropdown-menu li {
    list-style: none;
    width: 100%;
}

.dropdown-menu a {
    padding: 12px 20px;
    display: block;
    font-size: 0.85rem;
    color: #fff;              /* Ensure text is white against the dark dropdown */
    opacity: 1;
}

.dropdown-menu a:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--secondary);  /* Highlight on hover */
}

/* ================= BENTO GRID - CRYSTAL CLEAR HOVER ================= */

.bento-card {
    position: relative;
    overflow: hidden; /* Essential: keeps the zoom inside the card borders */
    border-radius: 24px;
    border: 1px solid var(--glass-border);
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

.bento-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Ensure the base state has NO filters (brightness/grayscale/opacity) */
    display: block;
    filter: none !important; 
    opacity: 1 !important;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* 1. Pure Zoom Effect (No Color/Shade Change) */
.bento-card:hover img {
    transform: scale(1.08); /* 8% zoom for a high-end feel */
    filter: none !important; /* Forces no color/brightness shift */
}

/* 2. Remove any dark overlays that might exist */
.bento-card::before {
    display: none; /* Disables any global overlay if previously added */
}

/* 3. Handling the Info Overlay */
.bento-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px;
    /* Use a gradient only behind the text for readability, 
       ensuring the rest of the image is untouched */
    background: #ffffff99;
    z-index: 2;
    transition: transform 0.4s ease;
}

.bento-card:hover .bento-info {
    transform: translateY(-5px); /* Subtle lift for the text */
}

/* 4. Optional: Subtle outer glow instead of internal shade */
.bento-card:hover {
    border-color: var(--secondary);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.2); 
}

/* ================= APPROACH CARD - CHARCOAL TO BRAND COLOR ================= */

.approach-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    cursor: pointer;
    overflow: hidden;
}

/* 1. Base State: Charcoal Number */
.approach-number {
    font-size: 2.8rem;
    font-weight: 800;
    /* Charcoal color with 0.15 opacity for a "watermark" effect */
    color: #333333; 
    opacity: 0.15; 
    margin-bottom: 20px;
    display: block;
    transition: all 0.5s ease;
    transform-origin: left;
}

/* 2. Hover State: Card Highlights */
.approach-card:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: var(--primary);
    box-shadow: 0 25px 50px rgba(108, 99, 255, 0.1);
}

/* 3. Hover State: Number "Ignition" */
.approach-card:hover .approach-number {
    opacity: 1;
    color: var(--primary); /* Changes from charcoal to your purple/blue */
    transform: scale(1.1); /* Subtle growth */
    text-shadow: 0 5px 15px rgba(108, 99, 255, 0.2); /* Soft glow */
}

/* 4. Text Highlighting */
.approach-card h4 {
    color: #0f172a;
    margin-bottom: 15px;
    transition: color 0.4s ease;
}

.approach-card:hover h4 {
    color: var(--primary);
}

.approach-card p {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ================= CONTACT SECTION - STUDIO POLISH ================= */

.contact-form {
    margin-top: 40px;
    width: 100%;
}

/* 1. The Glass Container - Pure White & Elegant */
.glass-form-container {
    background: #ffffff;
    padding: clamp(30px, 5vw, 60px); /* Responsive padding */
    border-radius: 30px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08); /* Soft deep shadow */
    max-width: 900px;
    margin: 0 auto;
}

/* 2. Input Fields Styling */
.input-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px; /* More space between name and email */
    margin-bottom: 25px;
}

input, textarea {
    width: 100%;
    background: #f8fafc; /* Very light grey for contrast on white */
    border: 2px solid transparent; /* Hidden border for focus transition */
    border-bottom: 2px solid #e2e8f0; /* Underline feel */
    padding: 18px 20px;
    border-radius: 12px;
    color: #1e293b;
    font-size: 1rem;
    outline: none;
    transition: all 0.3s ease;
}

/* 3. The "Focus" State - This makes it easy to understand */
input:focus, textarea:focus {
    background: #ffffff;
    border-color: var(--primary); /* Brand purple highlight */
    box-shadow: 0 4px 20px rgba(108, 99, 255, 0.08);
    transform: translateY(-2px); /* Subtle lift when typing */
}

/* Change placeholder color for better readability */
::placeholder {
    color: #94a3b8;
    opacity: 1;
}

/* 4. The Button - Prominent & Tactile */
.contact-form .btn-primary {
    width: 100%; /* Full width for mobile-friendly clicking */
    padding: 20px;
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin-top: 10px;
    cursor: pointer;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.contact-form .btn-primary:hover {
    background: #564dff; /* Slightly darker purple */
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(108, 99, 255, 0.3);
}

/* 5. Contact Details Polish */
.contact-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 50px;
    padding-top: 40px;
    border-top: 1px solid #f1f5f9;
}

.detail-item strong {
    display: block;
    color: var(--primary);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.detail-item p, .detail-item a {
    color: #475569;
    font-size: 0.95rem;
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.3s ease;
}

.detail-item a:hover {
    color: var(--primary);
}

/* ================= MOBILE ADJUSTMENTS ================= */
@media (max-width: 768px) {
    .input-row {
        grid-template-columns: 1fr; /* Stack inputs on mobile */
        gap: 20px;
    }
    
    .contact-details-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 30px;
    }
}
/* ================= CHATBOT ================= */
/* ================= CHATBOT - STUDIO ANIMATED DESIGN ================= */

/* 1. The Floating Toggle Button */
.chatbot-toggler {
    position: fixed;
    bottom: 35px;
    right: 35px;
    height: 60px;
    width: 60px;
    color: #fff;
    background: var(--primary);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    z-index: 2000;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px rgba(108, 99, 255, 0.3);
}

.chatbot-toggler:hover {
    transform: scale(1.1) rotate(5deg);
    background: #564dff;
}

.chatbot-toggler span {
    position: absolute;
    font-size: 1.4rem;
    transition: all 0.3s ease;
}

/* Toggle Icons Logic */
.chatbot-toggler .close-icon { opacity: 0; transform: rotate(-90deg); }
.chatbot-toggler.open .close-icon { opacity: 1; transform: rotate(0deg); }
.chatbot-toggler.open .chat-icon { opacity: 0; transform: rotate(90deg); }

/* 2. The Chat Window Container */
.chatbot-container {
    position: fixed;
    right: 35px;
    bottom: 110px;
    width: 380px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(15px);
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    z-index: 2000;
    
    /* Animation Properties */
    opacity: 0;
    pointer-events: none;
    transform: scale(0.8) translateY(40px);
    transform-origin: bottom right;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Open State Animation */
.chatbot-toggler.open ~ .chatbot-container {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1) translateY(0);
}

/* 3. Header Styling */
.chatbot-container header {
    background: #ffffff;
    padding: 20px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
}

.bot-header-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bot-header-info h4 {
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 600;
}

.online-indicator {
    width: 10px;
    height: 10px;
    background: #22c55e; /* Vibrant Green */
    border-radius: 50%;
    position: relative;
}

.online-indicator::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(2.5); opacity: 0; }
}

/* 4. Chatbox Area */
.chatbox {
    height: 300px;
    overflow-y: auto;
    padding: 25px 20px;
    list-style: none;
}

.chat {
    display: flex;
    margin-bottom: 15px;
    animation: fadeInSlide 0.4s ease forwards;
}

@keyframes fadeInSlide {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.chat p {
    padding: 12px 16px;
    border-radius: 15px;
    font-size: 0.95rem;
    max-width: 80%;
    line-height: 1.5;
}

/* Bot Message Color */
.incoming p {
    background: #f1f5f9;
    color: #1e293b;
    border-bottom-left-radius: 2px;
}

/* User Message Color */
.outgoing { justify-content: flex-end; }
.outgoing p {
    background: var(--primary);
    color: #fff;
    border-bottom-right-radius: 2px;
}

/* 5. Input Area */
.chat-input {
    display: flex;
    padding: 15px 20px;
    background: #fff;
    border-top: 1px solid #f1f5f9;
    align-items: center;
    gap: 10px;
}

.chat-input textarea {
    width: 100%;
    border: none;
    outline: none;
    resize: none;
    background: #f8fafc;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 0.95rem;
    color: #1e293b;
    max-height: 100px;
}

.send-icon {
    color: var(--primary);
    cursor: pointer;
    font-size: 1.4rem;
    transition: transform 0.2s ease;
}

.send-icon:hover {
    transform: scale(1.1) translateX(3px);
}

.send-icon {
    align-self: flex-end;
    color: var(--primary);
    cursor: pointer; /* Makes it feel like a button */
    padding: 5px;
    transition: transform 0.2s ease;
}

.send-icon:hover {
    transform: scale(1.2) rotate(-10deg); /* High-tech interactive feel */
}

/* Mobile Adjustments */
@media (max-width: 480px) {
    .chatbot-container {
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
    }
}

/* ================= PRODUCT SHOWCASE ================= */
.product-showcase {
    background: #fdfeff; /* Extremely clean light blue-white */
    overflow: hidden;
}

.product-title {
    font-size: 3rem;
    font-weight: 800;
    color: #0f172a;
    margin: 10px 0;
}

.product-subtitle {
    color: var(--primary);
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.product-description {
    color: #475569;
    font-size: 1.1rem;
    margin-bottom: 30px;
    line-height: 1.8;
}

/* Feature List */
.feature-list {
    list-style: none;
    margin-bottom: 40px;
}

.feature-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-weight: 500;
    color: #1e293b;
}

.feature-list .icon {
    color: #22c55e;
    font-weight: bold;
}

/* Phone Mockup Animation */
.product-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.phone-mockup {
    width: 280px;
    height: 580px;
    background: #000;
    border: 8px solid #1e293b;
    border-radius: 40px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 50px 100px -20px rgba(0,0,0,0.2);
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.phone-mockup:hover {
    transform: rotate(-3deg) scale(1.05);
}

.app-screen {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Glow behind phone */
.glow-effect {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, var(--primary), transparent 70%);
    opacity: 0.1;
    z-index: -1;
    top: 0;
    left: 0;
}

/* Play Store Button */
.play-store-btn img {
    height: 60px;
    transition: transform 0.3s ease;
}

.play-store-btn:hover img {
    transform: translateY(-5px) scale(1.05);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .product-showcase .grid-2 {
        flex-direction: column-reverse; /* Image goes below text on mobile */
    }
    .phone-mockup {
        width: 240px;
        height: 500px;
        margin-top: 50px;
        display: none;
    }
    .product-title {
        font-size: 2.2rem;
    }
}

/* ================= TRANSPARENT FUNNY LOGO ================= */
/* ================= MUCH FUNNIER LOGO CHARACTER ================= */
.logo-character-transparent {
    padding: 0px 0;
    background: transparent !important; /* Force particle visibility */
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1000px; /* Essential for 3D rotation feel */
}

.funny-logo-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent !important;
}

.funny-character-container {
    position: relative;
    cursor: help; /* Change cursor for fun interaction */
    background: transparent !important;
}

.funny-chef-logo {
    width: 140px;
    height: auto;
    /* Subtle neon brand glow as base */
    filter: drop-shadow(0 0 15px rgba(108, 99, 255, 0.3));
    
    /* 1. Base Animation: Playful Chaos */
    animation: muchFunnierFloat 5s infinite cubic-bezier(0.68, -0.55, 0.27, 1.55);
    
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-origin: center bottom; /* Base for squash and stretch */
}

/* 2. Interactive "Crazy Wiggle" on Hover */
.funny-character-container:hover .funny-chef-logo {
    animation: crazyWiggle 0.3s infinite linear; /* Fast wiggle on hover */
    filter: drop-shadow(0 0 30px rgba(255, 107, 107, 0.5)); /* Red/Coral "Alert" Glow */
}

/* 3. The Click Interaction: Logo "pops" away on click */
.funny-character-container:active .funny-chef-logo {
    transform: scale(0.6) rotateX(180deg);
    transition: transform 0.1s ease-out;
}

/* Base Animation: Floats, Squashes, and Rotates unpredictably */
@keyframes muchFunnierFloat {
    0% { transform: translateY(0) rotate(0deg) scale(1, 1); }
    15% { transform: translateY(-30px) rotate(-10deg) scale(1.1, 0.9); } /* Boing Up + Tilt left */
    30% { transform: translateY(-10px) rotate(5deg) scale(0.9, 1.1); }  /* Fast Drop + Tilt right */
    45% { transform: translateY(-50px) rotate(-20deg) scale(1.15, 0.85); } /* High Peak + Tilt left */
    60% { transform: translateY(0) rotate(0deg) scale(1, 1); }          /* Land + Normalize */
    75% { transform: translateY(-20px) rotate(360deg) scale(1, 1); }     /* Playful Roll */
    100% { transform: translateY(0) rotate(360deg) scale(1, 1); }       /* Reset */
}

/* Fast "Panic" Wiggle for Hover */
@keyframes crazyWiggle {
    0% { transform: rotate(-5deg) scale(1.1); }
    25% { transform: rotate(5deg) scale(1.1); }
    50% { transform: rotate(-8deg) scale(1.1); }
    75% { transform: rotate(8deg) scale(1.1); }
    100% { transform: rotate(-5deg) scale(1.1); }
}

/* MOBILE GAP OPTIMIZATION - Pulling closer on mobile */
@media (max-width: 768px) {
    .logo-character-transparent {
        padding: 40px 0 !important;
    }
    .funny-chef-logo {
        width: 100px;
    }
}
}

/* Ensure adjacent sections don't have white gaps */
.about, .product-showcase {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* ================= MOBILE GAP OPTIMIZATION ================= */

@media (max-width: 768px) {
    /* 1. Reduce the space the fixed navbar takes up */
    .navbar {
        padding: 10px 0 !important;
    }

    /* 2. Pull the Hero section up closer to the header */
    .hero {
        padding-top: 60px !important; /* Reduced from 80px/100px */
        min-height: 55vh !important;  /* Prevents excessive empty height */
        padding-bottom: 40px !important;
    }

    /* 3. Tighten the gap between Hero and About */
    .about.section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* 4. Adjust the Logo Spacer (the funny floating logo) gap */
    .logo-spacer-transparent {
        padding: 30px 0 !important; /* Reduced from 80px */
    }

    /* 5. Fix internal grid spacing for mobile stacks */
    .grid-2 {
        gap: 20px !important; /* Stops the text from being too far from images */
    }

    .hero-content h1 {
        margin-bottom: 10px !important;
    }

    .hero-content p {
        margin-bottom: 20px !important;
    }
}

/* Hide the widget by default if you want */
.chat-container {
    display: none; 
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 300px;
    border: 1px solid #ccc;
    background: white;
}

.close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: white;
    float: right;
}

.launcher-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    /* add padding, colors, etc. */
}

/* ================= 3D CAROUSEL SHOWCASE ================= */
.app-showcase-3d {
    padding: 100px 0;
    perspective: 1500px; /* Essential for 3D depth */
    overflow: hidden;
    background: transparent;
}

.carousel-container {
    position: relative;
    width: 100%;
    height: 550px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-style: preserve-3d;
}

.carousel-item {
    position: absolute;
    width: 260px;
    height: 520px;
    cursor: pointer;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    border: 6px solid #1e293b;
}

/* --- THE 3D POSITIONS --- */

/* Center (Active) */
.carousel-item.active {
    transform: translate3d(0, 0, 150px);
    z-index: 10;
    opacity: 1;
    border-color: var(--primary);
    box-shadow: 0 30px 60px rgba(108, 99, 255, 0.3);
}

/* Side Screens (Immediate Left/Right) */
.carousel-item.prev {
    transform: translate3d(-280px, 0, 0) rotateY(35deg) scale(0.85);
    z-index: 5;
    opacity: 0.7;
}

.carousel-item.next {
    transform: translate3d(280px, 0, 0) rotateY(-35deg) scale(0.85);
    z-index: 5;
    opacity: 0.7;
}

/* Far Side Screens */
.carousel-item.far-prev {
    transform: translate3d(-500px, 0, -150px) rotateY(45deg) scale(0.7);
    z-index: 2;
    opacity: 0.4;
}

.carousel-item.far-next {
    transform: translate3d(500px, 0, -150px) rotateY(-45deg) scale(0.7);
    z-index: 2;
    opacity: 0.4;
}

.carousel-item img{
    width:100%;
    height: 100%;
}
/* Mobile Adjustments */
@media (max-width: 768px) {
    .carousel-item { width: 180px; height: 360px; }
    .carousel-item.prev { transform: translate3d(-120px, 0, 0) rotateY(30deg) scale(0.8); }
    .carousel-item.next { transform: translate3d(120px, 0, 0) rotateY(-30deg) scale(0.8); }
    .carousel-item.far-prev, .carousel-item.far-next { display: none; } /* Hide far screens on mobile */
}

/* ================= SHOWCASE LAYOUT ================= */
.showcase-flex {
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 600px;
}

/* 20% Sidebar Area */
.showcase-logo-area {
    flex: 0 0 20%; /* Takes exactly 20% */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--glass-border);
    padding-right: 20px;
}

.showcase-logo {
    width: 120px;
    height: auto;
    margin-bottom: 15px;
    filter: drop-shadow(0 0 10px rgba(108, 99, 255, 0.2));
}

.showcase-logo-area p {
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* 80% Carousel Area */
.showcase-carousel-area {
    flex: 0 0 80%; /* Takes exactly 80% */
    position: relative;
}

/* Keep your existing carousel-container and carousel-item styles, 
   but ensure the perspective is on the parent */
.app-showcase-3d {
    padding: 100px 0;
    perspective: 2000px;
    background: transparent;
    overflow: hidden;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 992px) {
    .showcase-flex {
        flex-direction: column; /* Stacks vertically on mobile/tablet */
    }
    
    .showcase-logo-area {
        flex: 0 0 100%;
        border-right: none;
        border-bottom: 1px solid var(--glass-border);
        padding-right: 0;
        padding-bottom: 30px;
        width: 100%;
    }

    .showcase-carousel-area {
        flex: 0 0 100%;
        width: 100%;
        margin-top: 50px;
    }
}
.dropdown-menu{
  gap:0px !important;
}