<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <!-- Favicons -->
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon.svg" />
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon.svg" />
    <link rel="apple-touch-icon" sizes="180x180" href="/favicon.svg" />
    <link rel="manifest" href="/manifest.json" />
    <meta name="theme-color" content="#0ea5e9" />

    <!-- Preconnect to critical resources for better performance -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="dns-prefetch" href="https://js.stripe.com" />
    <link rel="dns-prefetch" href="https://api.stripe.com" />
    <link rel="dns-prefetch" href="https://maps.googleapis.com" />

    <!-- Load Google Fonts with display swap for faster initial render -->
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet" media="print" onload="this.media='all'" />
    <noscript><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet" /></noscript>

    <!-- Module preloading handled automatically by Vite during build -->
    <!-- Vite will inject proper modulepreload tags with correct chunk hashes -->

    <!-- CSP removed from HTML - handled by Netlify _headers for production -->
    <!-- In development, browser security is more relaxed by default -->

    <script>
      (function() {
        var knownPatterns = [
          'chrome-extension',
          'browser-extension',
          'amplitude',
          'api2.amplitude.com',
          'analytics',
          'ERR_BLOCKED_BY_CLIENT',
          'injection-callback',
          'netlify-analytics',
          'includes is not a function',
          'e.data?.type?.includes'
        ];

        // Block injected scripts from interfering
        window.addEventListener('error', function(e) {
          var msg = e.message || '';
          var src = e.filename || '';

          var isExternal = knownPatterns.some(function(p) {
            return src.indexOf(p) !== -1 || msg.indexOf(p) !== -1;
          });

          if (isExternal) {
            e.stopPropagation();
            e.preventDefault();
            return true;
          }
        }, true);

        // Suppress unhandled promise rejections from analytics
        window.addEventListener('unhandledrejection', function(e) {
          var reason = String(e.reason || '');
          var isExternal = knownPatterns.some(function(p) {
            return reason.indexOf(p) !== -1;
          });

          if (isExternal || reason.indexOf('Failed to fetch') !== -1) {
            e.stopPropagation();
            e.preventDefault();
            return true;
          }
        }, true);

        // Initialize React check flag
        window.__REACT_LOAD_TIMEOUT__ = setTimeout(function() {
          if (!window.__REACT_LOADED__) {
            console.error('[Init] React failed to load within timeout');
            var root = document.getElementById('root');
            if (root && root.innerHTML.indexOf('Loading your marketplace') !== -1) {
              root.innerHTML = '<div style="min-height: 100vh; background: linear-gradient(135deg, #111827 0%, #1f2937 50%, #0c4a6e 100%); display: flex; align-items: center; justify-content: center; color: white; font-family: \'Inter\', sans-serif; padding: 2rem;"><div style="text-align: center; max-width: 600px; background: rgba(31, 41, 55, 0.8); padding: 3rem; border-radius: 1rem; border: 1px solid rgba(239, 68, 68, 0.2);"><h1 style="font-size: 2rem; font-weight: bold; margin-bottom: 1rem; color: #e5e7eb;">Loading Error</h1><p style="font-size: 1.125rem; color: #9ca3af; margin-bottom: 1rem;">The application is taking too long to load.</p><p style="font-size: 0.875rem; color: #6b7280; margin-bottom: 1.5rem;">Please refresh the page or clear your browser cache.</p><button onclick="window.location.reload()" style="background: #0ea5e9; color: white; padding: 0.75rem 2rem; border-radius: 0.5rem; border: none; font-size: 1rem; cursor: pointer; font-weight: 600;">Refresh Page</button></div></div>';
            }
          }
        }, 10000);
      })();
    </script>

    <!-- Default title (will be overridden by React Helmet) -->
    <title>Bidding Plaza</title>
    
    <!-- Lead Generation Tags -->
    <meta name="lead-source" content="organic-search" />
    <meta name="industry" content="event-services" />
    <meta name="target-audience" content="event-planners,venue-owners,corporate-clients" />
    <script type="module" crossorigin src="/assets/index-CMkikrkv.js"></script>
    
    
    
    
    
    <link rel="stylesheet" crossorigin href="/assets/index-BumcEW36.css">
      <link rel="modulepreload" crossorigin href="/assets/react-vendor-BMxsJ2ig.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-CPhzC-z3.js">
    <link rel="modulepreload" crossorigin href="/assets/supabase-vendor-Nun_6xAe.js">
    <link rel="modulepreload" crossorigin href="/assets/stripe-vendor-v5H38J3X.js">
    <link rel="modulepreload" crossorigin href="/assets/maps-vendor-DuPuneth.js">
  </head>
  <body>
    <noscript>
      <div style="min-height: 100vh; background: linear-gradient(135deg, #111827 0%, #1f2937 50%, #0c4a6e 100%); display: flex; align-items: center; justify-content: center; color: white; font-family: 'Inter', sans-serif; padding: 2rem;">
        <div style="text-align: center; max-width: 600px; background: rgba(31, 41, 55, 0.8); padding: 3rem; border-radius: 1rem; border: 1px solid rgba(56, 189, 248, 0.2);">
          <h1 style="font-size: 2rem; font-weight: bold; margin-bottom: 1rem; color: #e5e7eb;">JavaScript Required</h1>
          <p style="font-size: 1.125rem; color: #9ca3af; margin-bottom: 1rem;">Bidding Plaza requires JavaScript to be enabled in your browser.</p>
          <p style="font-size: 0.875rem; color: #6b7280;">Please enable JavaScript and refresh the page to continue.</p>
        </div>
      </div>
    </noscript>
    <div id="root">
      <div style="min-height: 100vh; background: linear-gradient(135deg, #111827 0%, #1f2937 50%, #0c4a6e 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; font-family: 'Inter', sans-serif;">
        <div style="text-align: center; max-width: 600px; padding: 2rem;">
          <div style="width: 64px; height: 64px; border: 4px solid #38bdf8; border-top-color: transparent; border-radius: 50%; margin: 0 auto 2rem; animation: spin 1s linear infinite;"></div>
          <h1 style="font-size: 2rem; font-weight: bold; margin-bottom: 1rem; color: #e5e7eb;">Bidding Plaza</h1>
          <p style="font-size: 1.125rem; color: #9ca3af; margin-bottom: 0.5rem;">Loading your marketplace...</p>
          <p style="font-size: 0.875rem; color: #6b7280;">Connecting to services</p>
        </div>
      </div>
      <style>
        @keyframes spin {
          to { transform: rotate(360deg); }
        }
      </style>
    </div>
  </body>
</html>