<!doctype html>
<html lang="nl">
  <head>
    <meta charset="UTF-8" />
    <!-- Favicon for all browsers -->
    <link rel="icon" type="image/x-icon" href="/favicon.ico" />
    <link rel="icon" type="image/x-icon" href="/assets/images/maxsusico-DfJ4YSKo.ico" />
    <link rel="shortcut icon" type="image/x-icon" href="/assets/images/maxsusico-DfJ4YSKo.ico" />
    
    <!-- PNG favicons for different sizes -->
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png" />
    
    <!-- Apple Touch Icon for iOS devices -->
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
    
    <!-- Web App Manifest -->
    <link rel="manifest" href="/manifest.json" />
    
    <!-- Enhanced viewport for better mobile performance -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes" />
    <meta name="google-site-verification" content="B3myXTBnWH0kvxnzcGfwfX1ftX4_2RRnvZxTOFrn8Qw" />
    
    <!-- Performance optimizations -->
    <meta http-equiv="Accept-CH" content="DPR, Viewport-Width, Width" />
    <meta name="color-scheme" content="light" />
    
    <!-- Primary Meta Tags - Will be overridden by React for specific pages -->
    <title>Maatwerk Kasten & Garderobes Rotterdam | Inbouwkasten & Schuifdeurkasten | MaxSus</title>
    <meta name="title" content="Maatwerk Kasten & Garderobes Rotterdam | Inbouwkasten & Schuifdeurkasten | MaxSus">
    <meta name="description" content="✓ Specialist in maatwerk kasten, garderobes en opbergmeubels in Rotterdam ✓ Inbouwkasten, schuifdeurkasten, TV-meubels ✓ Gratis 3D ontwerp ✓ 20+ jaar ervaring ✓ Eigen productie">
    <meta name="keywords" content="maatwerk kasten Rotterdam, garderobekasten op maat, inbouwkasten Den Haag, kast op maat Gouda, schuifdeurkasten Leiden, TV meubels maatwerk, opbergkasten Spijkenisse, MaxSus meubels ontwerp">
    <meta name="author" content="MaxSus">
    <meta name="theme-color" content="#B38B6D" />
    
    <!-- Enhanced SEO Meta Tags -->
    <meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
    <meta name="language" content="Dutch">
    <meta name="revisit-after" content="7 days">
    <meta name="geo.region" content="NL">
    <meta name="geo.placename" content="Rotterdam">
    <meta name="geo.position" content="51.9244;4.4777">
    <meta name="ICBM" content="51.9244, 4.4777">
    
    <!-- Open Graph / Facebook - Will be overridden by React for specific pages -->
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://maxsus.nl/">
    <meta property="og:title" content="Maatwerk Kasten & Garderobes Rotterdam | Inbouwkasten & Schuifdeurkasten">
    <meta property="og:description" content="Specialist in maatwerk kasten, garderobes en opbergmeubels in Rotterdam. Inbouwkasten, schuifdeurkasten, TV-meubels en meer op maat. Gratis 3D ontwerp en advies.">
    <meta property="og:image" content="https://maxsus.nl/images/og-image.png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
    <meta property="og:site_name" content="MaxSus Interieurbouw">
    <meta property="og:locale" content="nl_NL">
    
    <!-- Twitter - Will be overridden by React for specific pages -->
    <meta property="twitter:card" content="summary_large_image">
    <meta property="twitter:url" content="https://maxsus.nl/">
    <meta property="twitter:title" content="Maatwerk Kasten Rotterdam | Garderobes & Inbouwkasten op Maat">
    <meta property="twitter:description" content="Specialist in maatwerk kasten, garderobes en opbergmeubels. Inbouwkasten, schuifdeurkasten, TV-meubels op maat. Gratis 3D ontwerp en adviesgesprek.">
    <meta property="twitter:image" content="https://maxsus.nl/images/og-image.png">
    
    <!-- Canonical Link will be set by individual pages -->
    <link rel="canonical" href="https://maxsus.nl/kasten-op-maat-rotterdam" id="canonical-link" />
    
    <!-- Immediate canonical URL script to prevent crawlers from getting wrong canonical -->
    <script>
      (function() {
        // Immediately set canonical URL based on current path to prevent SEO issues
        var canonicalLink = document.getElementById('canonical-link');
        if (canonicalLink && window.location.pathname !== '/') {
          // Remove trailing slash if present
          var cleanPath = window.location.pathname.replace(/\/$/, '');
          // Set canonical URL immediately for service pages and other pages
          canonicalLink.href = 'https://maxsus.nl' + (cleanPath || '/');
        }
      })();
    </script>
    
    <!-- Additional Meta -->
    <meta name="format-detection" content="telephone=no">
    <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="black-translucent">
    
    <!-- Enhanced preconnect for performance - ordered by priority -->
    <link rel="preconnect" href="https://tvzgptbkofpbsidsyted.supabase.co" crossorigin>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preconnect" href="https://www.googletagmanager.com">
    <link rel="preconnect" href="https://analytics.tiktok.com">
    <link rel="preconnect" href="https://images.unsplash.com">
    <link rel="preconnect" href="https://cdn.hoog.design">
    
    <!-- DNS prefetch for external domains -->
    <link rel="dns-prefetch" href="//fonts.googleapis.com">
    <link rel="dns-prefetch" href="//www.googletagmanager.com">
    <link rel="dns-prefetch" href="//analytics.google.com">
    <link rel="dns-prefetch" href="//analytics.tiktok.com">
    
    <!-- Resource hints for better loading -->
    <!-- Note: modulepreload hints for specific chunks will be added by Vite during build -->
    
    <!-- Critical CSS inline placeholder (will be filled by build process) -->
    <style id="critical-css">
      /* Critical above-the-fold CSS will be inlined here during build */
      body { font-family: Inter, system-ui, -apple-system, sans-serif; margin: 0; background: #fff; }
      .loading-container { display: flex; justify-content: center; align-items: center; height: 100vh; }
      .loading-spinner { width: 40px; height: 40px; border: 3px solid #f3f3f3; border-top: 3px solid #B38B6D; border-radius: 50%; animation: spin 1s linear infinite; }
      @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
    </style>
    
    <!-- Optimized font loading to eliminate render-blocking -->
    <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap" media="print" onload="this.media='all'">
    <noscript>
      <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap">
    </noscript>
    
    <!-- Schema.org structured data -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "MaxSus Interieurbouw",
      "url": "https://maxsus.nl",
      "logo": "https://maxsus.nl/images/logo-structured-data.svg",
      "description": "Specialist in maatwerk kasten, garderobes en opbergmeubels in Rotterdam en omgeving. Inbouwkasten, schuifdeurkasten, TV-meubels en boekenkasten. 20+ jaar ervaring.",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Schuttevaerweg 79",
        "addressLocality": "Rotterdam",
        "postalCode": "3044 BA",
        "addressRegion": "Zuid-Holland",
        "addressCountry": "NL"
      },
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
          "opens": "08:30",
          "closes": "17:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "description": "Op afspraak"
        }
      ],
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer service",
        "telephone": "+31103161999",
        "email": "info@maxsus.nl"
      },
      "sameAs": [
        "https://instagram.com/maxsus.nl"
      ]
    }
    </script>
    
    <!-- Performance monitoring script -->
    <script>
      // Track Core Web Vitals
      function trackWebVitals() {
        if ('PerformanceObserver' in window) {
          // LCP
          new PerformanceObserver((entryList) => {
            for (const entry of entryList.getEntries()) {
              if (entry.entryType === 'largest-contentful-paint') {
                console.log('LCP:', entry.startTime);
              }
            }
          }).observe({entryTypes: ['largest-contentful-paint']});
          
          // FID
          new PerformanceObserver((entryList) => {
            for (const entry of entryList.getEntries()) {
              if (entry.entryType === 'first-input') {
                console.log('FID:', entry.processingStart - entry.startTime);
              }
            }
          }).observe({entryTypes: ['first-input']});
          
          // CLS
          new PerformanceObserver((entryList) => {
            for (const entry of entryList.getEntries()) {
              if (!entry.hadRecentInput) {
                console.log('CLS:', entry.value);
              }
            }
          }).observe({entryTypes: ['layout-shift']});
        }
      }
      
      // Initialize when page is ready
      if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', trackWebVitals);
      } else {
        trackWebVitals();
      }
    </script>
    
    <!-- Google Analytics - Ultra-optimized loading -->
    <script>
      // Initialize dataLayer immediately
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      
      // Defer Google Analytics loading until after page is interactive
      if ('requestIdleCallback' in window) {
        requestIdleCallback(() => {
          // Only load after 5 seconds to ensure zero impact on initial load
          setTimeout(() => {
            const script = document.createElement('script');
            script.src = 'https://www.googletagmanager.com/gtag/js?id=G-YQ6DPYCBL6';
            script.async = true;
            document.head.appendChild(script);
            script.onload = () => {
              gtag('js', new Date());
              gtag('config', 'G-YQ6DPYCBL6', {
                'transport_type': 'beacon',
                'custom_map.dimension1': 'page_performance'
              });
            };
          }, 5000);
        });
      } else {
        // Fallback: load after 8 seconds
        setTimeout(() => {
          const script = document.createElement('script');
          script.src = 'https://www.googletagmanager.com/gtag/js?id=G-YQ6DPYCBL6';
          script.async = true;
          document.head.appendChild(script);
          script.onload = () => {
            gtag('js', new Date());
            gtag('config', 'G-YQ6DPYCBL6');
          };
        }, 8000);
      }
    </script>
    
    <!-- TikTok Pixel - Performance optimized loading -->
    <script>
      // Initialize TikTok Analytics Object immediately
      window.TiktokAnalyticsObject = 'ttq';
      var ttq = window.ttq = window.ttq || [];
      ttq.methods = ["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"];
      ttq.setAndDefer = function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
      for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);
      ttq.instance = function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e};
      ttq.load = function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+window.TiktokAnalyticsObject;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
      
      // Defer TikTok Pixel loading to not impact initial page performance
      if ('requestIdleCallback' in window) {
        requestIdleCallback(() => {
          // Load after 6 seconds to ensure zero impact on Core Web Vitals
          setTimeout(() => {
            ttq.load('D20CGORC77UBOJ7PMJQ0');
            ttq.page();
          }, 6000);
        });
      } else {
        // Fallback: load after 9 seconds
        setTimeout(() => {
          ttq.load('D20CGORC77UBOJ7PMJQ0');
          ttq.page();
        }, 9000);
      }
    </script>
    <script type="module" crossorigin src="/assets/index-Bpd0h1is.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/js/react-core-Cayfs_la.js">
    <link rel="modulepreload" crossorigin href="/assets/js/icons-CIrAQ3ad.js">
    <link rel="modulepreload" crossorigin href="/assets/js/react-router-B67dAfWM.js">
    <link rel="modulepreload" crossorigin href="/assets/js/vendor-DQ9EHOzZ.js">
    <link rel="modulepreload" crossorigin href="/assets/js/image-utils-DW5hxR7W.js">
    <link rel="modulepreload" crossorigin href="/assets/js/supabase-BOENqX9N.js">
    <link rel="modulepreload" crossorigin href="/assets/js/admin-jVX4Jqc6.js">
    <link rel="modulepreload" crossorigin href="/assets/js/forms-D1II83gM.js">
    <link rel="stylesheet" crossorigin href="/assets/index-Yt_3OSuu.css">
  </head>
  <body>
    <!-- Initial loading indicator for better perceived performance -->
    <div id="initial-loader" class="loading-container">
      <div class="loading-spinner"></div>
    </div>
    
    <!-- SEO-friendly content for crawlers -->
    <noscript>
      <p><strong>MaxSus - Maatwerk Kasten Kasten & Garderobes Rotterdam en Omgeving</strong></p>
      <nav>
        <a href="/kasten-op-maat-rotterdam">Kasten op Maat</a>
        <a href="/inbouwkasten">Inbouwkasten</a>
        <a href="/schuifdeurkasten">Schuifdeurkasten</a>
        <a href="/kledingkasten">Kledingkasten</a>
        <a href="/contact">Contact</a>
        <a href="/showroom">Showroom</a>
        <a href="/portfolio">Portfolio</a>
      </nav>
    </noscript>
    
    <!-- Static H1 for SEO crawlers - will be hidden when React loads -->
    <h1 id="static-h1" style="position: absolute; left: -9999px; top: -9999px;">
      Maatwerk Kasten & Garderobes Rotterdam - Inbouwkasten & Schuifdeurkasten
    </h1>
    
    <!-- Hidden SEO content that crawlers can see -->
    <div style="position: absolute; left: -9999px; top: -9999px;">
      <p><strong>MaxSus - Maatwerk Kasten & Inbouwkasten in Rotterdam en omgeving (70km)</strong></p>
      <h2>Kasten op Maat in deze steden:</h2>
      <nav>
        <a href="/kasten-rotterdam">Maatwerk Kasten Rotterdam</a>
        <a href="/inbouwkasten-den-haag">Inbouwkasten Den Haag</a>
        <a href="/kast-op-maat-gouda">Kast op Maat Gouda</a>
        <a href="/schuifdeurkasten-leiden">Schuifdeurkasten Leiden</a>
        <a href="/kasten-showroom-dordrecht">Kasten Showroom Dordrecht</a>
        <a href="/contact">Gratis Adviesgesprek</a>
        <a href="/showroom">Showroom Bezoeken</a>
        <a href="/portfolio">Portfolio Projecten</a>
      </nav>
    </div>
    
    <div id="root"></div>
  </body>
</html>