/* Core Styling & Palette matching the mockups */
:root {
    --bg-dark: #0b1528;
    --card-bg: #13223f;
    --text-main: #ffffff;
    --text-muted: #a0aec0;
    --accent-yellow: #f1c40f;
    --accent-blue-clicked: #4fc3f7; /* Light blue from mockup */
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

	

	body {
    background-color: var(--bg-dark);
    color: var(--text-main);
    padding-bottom: 60px;
}

/* Navbar */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
    background-color: var(--bg-dark);
}

.logo {
    font-weight: bold;
    letter-spacing: 1px;
}

nav a {
    color: var(--text-main);
    text-decoration: none;
    margin-right: 25px;
    font-size: 0.95rem;
}

.btn-buy {
    background-color: var(--accent-yellow);
    border: none;
    color: #000;
    padding: 10px 24px;
    border-radius: 20px;
    font-weight: bold;
    cursor: pointer;
    transition: opacity 0.2s;
}

.btn-buy:hover {
    opacity: 0.9;
}
       
        /* Hero / Header Section */
        .contact-hero {
            text-align: center;
            padding: 60px 20px 40px 20px;
            max-width: 800px;
            margin: 0 auto;
        }

        .contact-hero h1 {
            font-size: 3rem;
            letter-spacing: 2px;
            margin-bottom: 20px;
            text-transform: uppercase;
        }

        .contact-hero p {
            color: #9ca3af;
            font-size: 1.1rem;
            font-weight: 300;
        }

        /* Main Layout Grid */
        .container {
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 4%;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            margin-top: 20px;
        }

        /* Info Card Grid Style (Matches your Feature Blocks) */
        .info-panel {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .info-card {
            background-color: #1c2541;
            padding: 30px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        .info-card h2 {
            font-size: 1.3rem;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .info-card p {
            color: #9ca3af;
            font-size: 0.95rem;
        }

        .info-card a {
            color: #38bdf8;
            text-decoration: none;
        }

        /* Contact Form Panel */
        .form-panel {
            background-color: #1c2541;
            padding: 40px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 8px;
            color: #9ca3af;
        }

        .form-group input, 
        .form-group textarea {
            width: 100%;
            padding: 12px 16px;
            background-color: #0b132b;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 6px;
            color: #ffffff;
            font-size: 1rem;
            transition: border-color 0.3s, box-shadow 0.3s;
        }

        .form-group input:focus, 
        .form-group textarea:focus {
            outline: none;
            border-color: #38bdf8;
            box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.2);
        }

        .submit-btn {
            background-color: #ffffff;
            color: #0b132b;
            border: none;
            padding: 14px 28px;
            font-size: 1rem;
            font-weight: 600;
            border-radius: 6px;
            cursor: pointer;
            width: 100%;
            transition: background-color 0.3s, transform 0.1s;
        }

        .submit-btn:hover {
            background-color: #f3f4f6;
        }

        .submit-btn:active {
            transform: scale(0.98);
        }

 /* ==========================================================================
   1. GLOBAL / DESKTOP STYLES (Default State)
   ========================================================================== */

/* The hamburger button container - Hidden on desktop by default */
.menu-toggle {
  display: none; 
  background: transparent; 
  border: none;
  cursor: pointer;
  padding: 5px;
  width: 30px;
  height: 24px;
  flex-direction: column;
  justify-content: space-between; 
}

/* FIX: Target the span elements directly since they don't have a .bar class */
.menu-toggle span {
  display: block;
  width: 100%;
  height: 3px;               
  background-color: #ffffff; 
  border-radius: 2px;        
  transition: all 0.3s ease; 
}


/* ==========================================================================
   2. MOBILE STYLES (Triggers when screen is 768px wide or smaller)
   ========================================================================== */
@media screen and (max-width: 768px) {
  
  /* Reveal the hamburger icon container on mobile */
  .menu-toggle {
    display: flex; 
  }
  
  /* Hide your desktop links header row until someone clicks the menu */
  .nav-menu {
    display: none; 
  }

  /* Target your active state (when JS toggles the menu open) */
  .nav-menu.active {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 65px; /* Matches your header height */
    left: 0;
    right: 0;  /* FIX: Prevents overflow layout issues instead of using width: 100% */
    background-color: #0b132b; 
    padding: 20px;
    z-index: 999;
  }

  /* FIX: Stack the form layout vertically on mobile to remove side scrolling */
  .container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* Fix hero text resizing for mobile viewports */
  .contact-hero h1 {
    font-size: 2.2rem;
  }
}