<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover">
    <title>Leorre - Made for one</title>

    <!-- Top bar color (iOS Safari 15+ honors theme-color; add light/dark variants) -->
    <meta name="theme-color" content="#8B4513">
    <meta name="theme-color" content="#654321" media="(prefers-color-scheme: dark)">
    <meta name="color-scheme" content="light dark">

    <!-- Meta Pixel runtime config fallback -->
    <meta name="VITE_FB_PIXEL_ID" content="3910340579111231">

    <!-- Windows Phone tile color -->
    <meta name="msapplication-navbutton-color" content="#8B4513" />

    <!-- iOS PWA status bar (standalone). Use 'default' to avoid translucency issues on latest iOS -->
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="default">
    <meta name="format-detection" content="telephone=no">

    <!-- Preload critical resources -->
    <link rel="preload" href="/fonts/inter/Inter-Regular.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/fonts/optima/Optima-Regular.woff2" as="font" type="font/woff2" crossorigin>
    
    <!-- DNS prefetch for external domains -->
    <link rel="dns-prefetch" href="//fonts.googleapis.com">
    <link rel="dns-prefetch" href="//fonts.cdnfonts.com">
    <link rel="dns-prefetch" href="//api.leorre.com">
    
    <!-- Preconnect to external domains -->
    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
    <link rel="preconnect" href="https://fonts.cdnfonts.com" crossorigin>
    <link rel="preconnect" href="https://api.leorre.com" crossorigin>
    
    <!-- Defer non-critical CSS -->
    <noscript></noscript>
    
    <!-- Defer Google Fonts -->
    <link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"></noscript>
    
    <!-- Defer CDN Fonts -->
    <link rel="preload" href="https://fonts.cdnfonts.com/css/optima" as="style" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="https://fonts.cdnfonts.com/css/optima"></noscript>
    <script type="module" crossorigin src="/vendor-@remix-run-BlGOy8Vm.js"></script>
    <script type="module" crossorigin src="/vendor-invariant-Do9_10BR.js"></script>
    <script type="module" crossorigin src="/vendor-shallowequal-qH3p6MSk.js"></script>
    <script type="module" crossorigin src="/vendor-motion-utils-Do20KOHa.js"></script>
    <script type="module" crossorigin src="/vendor-motion-dom-Bn59z9TJ.js"></script>
    <script type="module" crossorigin src="/vendor-goober-BmfOThNE.js"></script>
    <script type="module" crossorigin src="/utils-vendor-Dhn2AKcP.js"></script>
    <script type="module" crossorigin src="/vendor-quill-DqFzqD7x.js"></script>
    <script type="module" crossorigin src="/vendor-clsx-DgYk2OaC.js"></script>
    <script type="module" crossorigin src="/vendor-es-toolkit-Be_JJjIJ.js"></script>
    <script type="module" crossorigin src="/vendor-reselect-gWOCX3SE.js"></script>
    <script type="module" crossorigin src="/vendor-tiny-invariant-BVT9pohb.js"></script>
    <script type="module" crossorigin src="/vendor-internmap-CWvbS1cU.js"></script>
    <script type="module" crossorigin src="/vendor-d3-array-CQY27QHr.js"></script>
    <script type="module" crossorigin src="/vendor-d3-time-1XkVkDYX.js"></script>
    <script type="module" crossorigin src="/vendor-d3-time-format-CtjVw1wt.js"></script>
    <script type="module" crossorigin src="/vendor-d3-color-LVQOo-Ks.js"></script>
    <script type="module" crossorigin src="/vendor-d3-interpolate-_0DrSHT6.js"></script>
    <script type="module" crossorigin src="/vendor-d3-format-CapZmqLN.js"></script>
    <script type="module" crossorigin src="/vendor-d3-scale-Db43ghds.js"></script>
    <script type="module" crossorigin src="/vendor-victory-vendor-Ckzui4lP.js"></script>
    <script type="module" crossorigin src="/vendor-redux-DqZgh--K.js"></script>
    <script type="module" crossorigin src="/vendor-immer-BV7lUAbh.js"></script>
    <script type="module" crossorigin src="/vendor-redux-thunk-DPdFfTcd.js"></script>
    <script type="module" crossorigin src="/vendor-@reduxjs-5kumK9SZ.js"></script>
    <script type="module" crossorigin src="/vendor-decimal.js-light-CBhfpOZI.js"></script>
    <script type="module" crossorigin src="/vendor-eventemitter3-CwBF9PSD.js"></script>
    <script type="module" crossorigin src="/vendor-d3-geo-BghcvQpd.js"></script>
    <script type="module" crossorigin src="/vendor-topojson-client-CJQgf56N.js"></script>
    <script type="module" crossorigin src="/vendor-d3-dispatch-Qrw4qHro.js"></script>
    <script type="module" crossorigin src="/vendor-d3-selection-UeQJXzfE.js"></script>
    <script type="module" crossorigin src="/vendor-d3-transition-B9J4aFwu.js"></script>
    <script type="module" crossorigin src="/vendor-d3-drag-CTS628Zx.js"></script>
    <script type="module" crossorigin src="/vendor-d3-zoom-CCKg0-Hz.js"></script>
    <script type="module" crossorigin src="/vendor-@babel-B4GsX3fp.js"></script>
    <script type="module" crossorigin src="/vendor-use-memo-one-BUikfftf.js"></script>
    <script type="module" crossorigin src="/vendor-css-box-model-BNk1S9QW.js"></script>
    <script type="module" crossorigin src="/vendor-memoize-one-DiIjNGjk.js"></script>
    <script type="module" crossorigin src="/vendor-raf-schd-BzIQxFZ2.js"></script>
    <script type="module" crossorigin src="/vendor-tinycolor2-Diw-X9vx.js"></script>
    <script type="module" crossorigin src="/vendor-material-colors-DcMxTlhf.js"></script>
    <script type="module" crossorigin src="/vendor-@icons-Bt66lUcB.js"></script>
    <script type="module" crossorigin src="/vendor-tslib-DflkGR7t.js"></script>
    <script type="module" crossorigin src="/vendor-file-selector-63d2YQ04.js"></script>
    <script type="module" crossorigin src="/vendor-attr-accept-Bocw6vBy.js"></script>
    <script type="module" crossorigin src="/vendor-@kurkle-B3Q_znFF.js"></script>
    <script type="module" crossorigin src="/vendor-chart.js-BR2nSmna.js"></script>
    <script type="module" crossorigin src="/react-vendor-DS41EYUV.js"></script>
    <script type="module" crossorigin src="/animation-vendor-DYdVVa5M.js"></script>
    <script type="module" crossorigin src="/vendor-tailwind-merge-DXO_x351.js"></script>
    <script type="module" crossorigin src="/vendor-events-CP9gV6FL.js"></script>
    <script type="module" crossorigin src="/vendor-dompurify-C2INwh-j.js"></script>
    <script type="module" crossorigin src="/vendor-isows-Bner1g0L.js"></script>
    <script type="module" crossorigin src="/supabase-vendor-kMiJ1bj4.js"></script>
    <script type="module" crossorigin src="/admin-chunk-Du10779Z.js"></script>
    <script type="module" crossorigin src="/vendor-uuid-CDEC0ny7.js"></script>
    <script type="module" crossorigin src="/vendor-i18next-DfSR1r5E.js"></script>
    <script type="module" crossorigin src="/vendor-i18next-browser-languagedetector-8z80C4vN.js"></script>
    <script type="module" crossorigin src="/vendor-cross-fetch-4xgFDqQd.js"></script>
    <script type="module" crossorigin src="/vendor-i18next-http-backend-CH39bkbg.js"></script>
    <script type="module" crossorigin src="/vendor-@studio-freight-CqUp3OTO.js"></script>
    <script type="module" crossorigin src="/vendor-swiper-lcYz1SVb.js"></script>
    <script type="module" crossorigin src="/vendor-heic2any-DbN1UsBF.js"></script>
    <script type="module" crossorigin src="/vendor-@stripe-JFA8oioa.js"></script>
    <script type="module" crossorigin src="/index-CymU0MEa.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/react-vendor-BqznznvL.css">
    <link rel="stylesheet" crossorigin href="/assets/admin-chunk-HOPtICWe.css">
    <link rel="stylesheet" crossorigin href="/assets/vendor-swiper-BgOB8j0k.css">
    <link rel="stylesheet" crossorigin href="/assets/index-DboEDDkt.css">
  </head>
  <body>
    <div id="root"></div>
    
    <!-- Defer JavaScript loading -->

    <!-- Sync theme-color with CSS variable to cover Safari UI bars consistently -->
    <script>
      (function() {
        try {
          const applyThemeColor = () => {
            const root = document.documentElement;
            const styles = getComputedStyle(root);
            const kelp = styles.getPropertyValue('--kelp-950').trim() || '#8B4513';
            let meta = document.querySelector('meta[name="theme-color"]');
            if (!meta) {
              meta = document.createElement('meta');
              meta.setAttribute('name', 'theme-color');
              document.head.appendChild(meta);
            }
            meta.setAttribute('content', kelp);
          };
          applyThemeColor();
          const mql = window.matchMedia('(prefers-color-scheme: dark)');
          mql.addEventListener && mql.addEventListener('change', applyThemeColor);
          window.addEventListener('DOMContentLoaded', applyThemeColor);
        } catch (_) {}
      })();
    </script>
    
    <!-- ELEGANT Touch Zoom Prevention Script -->
    <script>
      // ELEGANT touch zoom prevention
      (function() {
        'use strict';
        
        // Configuration
        const config = {
          doubleTapDelay: 300,
          enableScrollableDetection: true,
          enableDynamicPrevention: true,
          debugMode: false
        };
        
        // Track last touch time for double-tap detection
        let lastTouchEnd = 0;
        
        // Elements that should allow scrolling
        const scrollableSelectors = [
          '.smart-chat-messages',
          '.shop-filter-content', 
          '.conversation-dropdown-content',
          '.scrollable-content',
          '.scrollable',
          '[data-scrollable="true"]',
          '.chat-messages',
          '.filter-content',
          '.dropdown-content'
        ];
        
        // Elements that should prevent zoom
        const zoomPreventionSelectors = [
          'input',
          'textarea', 
          'select',
          'button',
          '[contenteditable="true"]',
          '[role="button"]',
          '[tabindex]',
          '.smart-chat-container',
          '.shop-filter-container',
          '.header-submenu-container',
          '.modal-overlay',
          '.overlay'
        ];
        
        // Initialize zoom prevention
        function initZoomPrevention() {
          // Prevent double-tap zoom
          document.addEventListener('touchend', handleTouchEnd, false);
          
          // Prevent pinch zoom
          document.addEventListener('gesturestart', preventDefault, false);
          document.addEventListener('gesturechange', preventDefault, false);
          document.addEventListener('gestureend', preventDefault, false);
          
          // Prevent wheel zoom
          document.addEventListener('wheel', handleWheel, { passive: false });
          
          // Prevent multi-touch zoom
          document.addEventListener('touchstart', handleTouchStart, { passive: false });
          
          // Apply dynamic prevention
          if (config.enableDynamicPrevention) {
            applyDynamicPrevention();
          }
          
          // Force viewport settings
          enforceViewportSettings();
          
          log('Zoom prevention initialized');
        }
        
        // Handle touch end for double-tap detection
        function handleTouchEnd(event) {
          const now = (new Date()).getTime();
          if (now - lastTouchEnd <= config.doubleTapDelay) {
            event.preventDefault();
            log('Double-tap prevented');
          }
          lastTouchEnd = now;
        }
        
        // Handle wheel events (Ctrl+scroll zoom)
        function handleWheel(event) {
          if (event.ctrlKey) {
            event.preventDefault();
            log('Wheel zoom prevented');
          }
        }
        
        // Handle touch start for multi-touch detection
        function handleTouchStart(event) {
          if (event.touches.length > 1) {
            event.preventDefault();
            log('Multi-touch zoom prevented');
          }
        }
        
        // Prevent default behavior
        function preventDefault(event) {
          event.preventDefault();
          log('Gesture prevented');
        }
        
        // Apply dynamic prevention to elements
        function applyDynamicPrevention() {
          // Apply to scrollable elements
          scrollableSelectors.forEach(selector => {
            const elements = document.querySelectorAll(selector);
            elements.forEach(element => {
              element.style.touchAction = 'pan-y';
              element.setAttribute('data-scrollable', 'true');
              log(`Applied pan-y to: ${selector}`);
            });
          });
          
          // Apply to zoom prevention elements
          zoomPreventionSelectors.forEach(selector => {
            const elements = document.querySelectorAll(selector);
            elements.forEach(element => {
              element.style.touchAction = 'manipulation';
              element.style.webkitTouchCallout = 'none';
              element.style.webkitTapHighlightColor = 'transparent';
              log(`Applied manipulation to: ${selector}`);
            });
          });
        }
        
        // Enforce viewport settings
        function enforceViewportSettings() {
          const viewport = document.querySelector('meta[name="viewport"]');
          if (viewport) {
            viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover');
            log('Viewport settings enforced');
          }
        }
        
        // Dynamic element detection (for dynamically added content)
        function observeDynamicElements() {
          if (!window.MutationObserver) return;
          
          const observer = new MutationObserver(function(mutations) {
            mutations.forEach(function(mutation) {
              if (mutation.type === 'childList') {
                mutation.addedNodes.forEach(function(node) {
                  if (node.nodeType === 1) { // Element node
                    applyDynamicPrevention();
                  }
                });
              }
            });
          });
          
          observer.observe(document.body, {
            childList: true,
            subtree: true
          });
          
          log('Dynamic element observer started');
        }
        
        // Test function to verify implementation
        function testZoomPrevention() {
          const html = document.documentElement;
          const body = document.body;
          
          const htmlStyle = window.getComputedStyle(html);
          const bodyStyle = window.getComputedStyle(body);
          
          const results = {
            htmlTouchAction: htmlStyle.touchAction,
            bodyTouchAction: bodyStyle.touchAction,
            htmlTextSizeAdjust: htmlStyle.textSizeAdjust,
            bodyTextSizeAdjust: bodyStyle.textSizeAdjust
          };
          
          log('Zoom prevention test results:', results);
          
          // Check if manipulation is applied
          if (htmlStyle.touchAction.includes('manipulation') && bodyStyle.touchAction.includes('manipulation')) {
            
          } else {
            
          }
        }
        
        // Utility function for logging
        function log(message, data = null) {
          if (config.debugMode) {
            console.log(`[Zoom Prevention] ${message}`, data || '');
          }
        }
        
        // Initialize when DOM is ready
        if (document.readyState === 'loading') {
          document.addEventListener('DOMContentLoaded', function() {
            initZoomPrevention();
            observeDynamicElements();
            testZoomPrevention();
          });
        } else {
          initZoomPrevention();
          observeDynamicElements();
          testZoomPrevention();
        }
        
        // Also test after CSS loads
        window.addEventListener('load', testZoomPrevention);
        
        // Expose functions for debugging
        window.zoomPrevention = {
          test: testZoomPrevention,
          apply: applyDynamicPrevention,
          config: config
        };
        
      })();
      (function() {
      // This runs immediately when HTML loads, before React
      console.log('HTML head script running');
      
      // Disable scroll restoration immediately (keep, but do not lock scroll)
      if ('scrollRestoration' in history) {
        history.scrollRestoration = 'manual';
      }
      
      // Add critical CSS to prevent layout shifts
      const criticalStyle = document.createElement('style');
      criticalStyle.textContent = `
        #root {
   
          width: 100%;
        }
        
      
      `;
      document.head.appendChild(criticalStyle);
    })();
    </script>
  </body>
</html>
