<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>xcited.io - Domain Discovery</title>
    <meta name="description" content="Verified domain information for xcited.io via Aztrix Online Discovery Platform">
    <meta name="robots" content="index, follow">
    <link rel="canonical" href="https://xcited.io/">
    <link rel="alternate" hreflang="en" href="https://xcited.io/">
    <link rel="alternate" hreflang="pt-BR" href="https://xcited.io/">
    <link rel="alternate" hreflang="es" href="https://xcited.io/">
    <link rel="alternate" hreflang="de" href="https://xcited.io/">
    <link rel="alternate" hreflang="x-default" href="https://xcited.io/">
    <meta property="og:title" content="xcited.io">
    <meta property="og:description" content="Verified domain information for xcited.io">
    <meta property="og:url" content="https://xcited.io/">
    <meta property="og:type" content="website">
    <meta property="og:image" content="https://nnaayfkzvllcnpcnaizx.supabase.co/functions/v1/og-image?domain=xcited.io">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:image" content="https://nnaayfkzvllcnpcnaizx.supabase.co/functions/v1/og-image?domain=xcited.io">
    <link rel="icon" type="image/png" href="https://www.google.com/s2/favicons?domain=xcited.io&sz=64">
    <link rel="apple-touch-icon" href="https://www.google.com/s2/favicons?domain=xcited.io&sz=180">
    <script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"xcited.io","url":"https://xcited.io"}</script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap" rel="stylesheet">
    <style>
        :root {
            --accent: #0ea5e9;
            --accent-dark: #0c8cc6;
            --brand-green: #10b981;
            --bg-base: #0A0A0A;
            --bg-surface: #111827;
            --bg-elevated: #1F2937;
            --bg-glass: rgba(255,255,255,0.05);
            --border-glass: rgba(255,255,255,0.10);
            --text-primary: #F8FAFC;
            --text-secondary: #94A3B8;
            --text-tertiary: #666666;
            --icon-bg-muted: rgba(255,255,255,0.06);
            --shadow-card: none;
        }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.5; color: var(--text-primary); background: var(--bg-base); min-height: 100vh; padding: 0; }
        .container { max-width: 900px; margin: 0 auto; padding: 0 1rem; }

        /* Hero */
        .hero { padding: 4rem 1rem 3rem; text-align: center; position: relative; }
        .hero::after { content: ''; position: absolute; bottom: 0; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent, var(--border-glass), transparent); }
        .hero .category-chip { display: inline-block; background: var(--bg-glass); color: var(--text-secondary); padding: 0.25rem 0.875rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 1rem; border: 1px solid var(--border-glass); }
        .hero h1 { font-size: 2rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.375rem; line-height: 1.2; }
        .hero .domain { font-size: 1rem; color: var(--accent); margin-bottom: 0.75rem; font-weight: 400; }
        .verified-badge { display: inline-flex; align-items: center; gap: 0.375rem; background: rgba(16,185,129,0.12); color: var(--brand-green); padding: 0.375rem 0.875rem; border-radius: 999px; font-size: 0.8125rem; font-weight: 700; border: 1px solid rgba(16,185,129,0.25); }
        .hero-headline { font-size: 1.125rem; color: var(--text-secondary); max-width: 600px; margin: 1.5rem auto 0; line-height: 1.6; }
        .hero-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--accent); color: #000; padding: 0.75rem 2rem; border-radius: 999px; text-decoration: none; font-weight: 700; font-size: 0.9375rem; margin-top: 1.75rem; transition: all 0.2s ease; }
        .hero-cta:hover { background: var(--accent-dark); transform: translateY(-1px); }

        /* Pipeline */
        .pipeline-section { padding: 2.5rem 0; }
        .pipeline-header { text-align: center; margin-bottom: 2rem; }
        .pipeline-header h2 { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
        .pipeline-header p { font-size: 0.875rem; color: var(--text-secondary); }
        .pipeline { display: flex; gap: 0; align-items: stretch; position: relative; }
        .pipeline-step { flex: 1; text-decoration: none; color: var(--text-primary); text-align: center; padding: 1.25rem 0.75rem; border-radius: 12px; background: var(--bg-surface); border: 1px solid var(--border-glass); transition: all 0.2s ease; position: relative; }
        .pipeline-step:hover { background: var(--bg-elevated); border-color: var(--accent); transform: translateY(-2px); }
        .pipeline-step.ucp-step { border-color: rgba(16,185,129,0.4); background: rgba(16,185,129,0.08); }
        .pipeline-step.ucp-step:hover { border-color: var(--brand-green); }
        .pipeline-hook { font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-tertiary); margin-bottom: 0.5rem; }
        .pipeline-file { font-size: 0.9375rem; font-weight: 700; color: var(--accent); margin-bottom: 0.25rem; font-family: 'JetBrains Mono', 'Fira Code', monospace; }
        .pipeline-step.ucp-step .pipeline-file { color: var(--brand-green); }
        .pipeline-label { font-size: 0.75rem; color: var(--text-secondary); }
        .pipeline-arrow { display: flex; align-items: center; justify-content: center; width: 24px; flex-shrink: 0; color: var(--text-tertiary); }
        @media (max-width: 640px) {
            .pipeline { flex-direction: column; gap: 0.5rem; }
            .pipeline-arrow { transform: rotate(90deg); width: auto; height: 20px; }
            .hero h1 { font-size: 1.5rem; }
        }

        /* Cards */
        .card { background: var(--bg-surface); border-radius: 12px; padding: 1.75rem; margin-bottom: 1.5rem; border: 1px solid var(--border-glass); box-shadow: var(--shadow-card); }
        .section { margin-bottom: 1.75rem; }
        .section:last-child { margin-bottom: 0; }
        .section h2 { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.75rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border-glass); }
        .section-source { display: inline-block; font-size: 0.6875rem; font-weight: 700; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.5rem; padding: 0.125rem 0.5rem; background: var(--bg-glass); border-radius: 4px; border: 1px solid var(--border-glass); }
        .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }
        .info-item { background: var(--bg-glass); padding: 1rem; border-radius: 8px; border: 1px solid var(--border-glass); }
        .info-item h3 { font-size: 0.75rem; color: var(--accent); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.375rem; font-weight: 700; }
        .info-item p { color: var(--text-primary); font-size: 0.9375rem; }

        /* CTA buttons */
        .cta-panel { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-top: 0.5rem; }
        .cta-btn { display: inline-flex; align-items: center; gap: 0.4rem; background: var(--bg-glass); color: var(--text-primary); padding: 0.625rem 1.25rem; border-radius: 999px; text-decoration: none; font-weight: 400; font-size: 0.875rem; border: 1px solid var(--border-glass); transition: all 0.15s ease; }
        .cta-btn:hover { background: var(--bg-elevated); border-color: rgba(255,255,255,0.2); }
        .cta-btn.cta-primary { background: var(--accent); border-color: var(--accent); color: #000; font-weight: 700; }
        .cta-btn.cta-primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
        .cta-btn.cta-wa { background: rgba(37,211,102,0.15); border-color: rgba(37,211,102,0.3); color: #25d366; font-weight: 700; }
        .cta-btn.cta-wa:hover { background: rgba(37,211,102,0.25); }

        /* Profile / discovery file links */
        .discovery-files { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.75rem; }
        .discovery-file { display: block; background: var(--bg-glass); border: 1px solid var(--border-glass); padding: 1.25rem; border-radius: 12px; text-decoration: none; color: var(--text-primary); transition: all 0.2s ease; text-align: center; }
        .discovery-file:hover { background: var(--bg-elevated); border-color: var(--accent); transform: translateY(-2px); }
        .discovery-file .file-title { font-weight: 700; margin-bottom: 0.125rem; color: var(--accent); font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.875rem; }
        .discovery-file .file-desc { font-size: 0.75rem; color: var(--text-secondary); }
        .profile-btn { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--accent); color: #000; padding: 0.625rem 1.5rem; border-radius: 999px; text-decoration: none; font-weight: 700; font-size: 0.875rem; margin-top: 1rem; transition: all 0.2s ease; }
        .profile-btn:hover { background: var(--accent-dark); }

        /* Related domains */
        .related-domain { background: var(--bg-glass); padding: 0.75rem 1rem; border-radius: 8px; border-left: 3px solid var(--accent); margin-bottom: 0.5rem; }
        .tag { display: inline-block; background: var(--bg-glass); color: var(--text-secondary); padding: 0.25rem 0.75rem; border-radius: 8px; font-size: 0.8125rem; margin: 0.25rem; border: 1px solid var(--border-glass); }

        /* Footer */
        .footer { text-align: center; padding: 2.5rem 0 2rem; color: var(--text-tertiary); font-size: 0.8125rem; }
        .footer a { color: var(--accent); text-decoration: none; }

        /* Theme toggle */
        .theme-toggle { position: fixed; bottom: 1.25rem; right: 1.25rem; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-glass); background: var(--bg-surface); color: var(--text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 100; transition: all 0.2s ease; box-shadow: var(--shadow-card); }
        .theme-toggle:hover { border-color: var(--accent); color: var(--accent); }

        /* Trust card */
        .trust-title { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); margin-bottom: 1.25rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border-glass); }
        .trust-card { background: var(--bg-surface); border-radius: 12px; padding: 1.75rem; margin-bottom: 1.5rem; border: 1px solid var(--border-glass); box-shadow: var(--shadow-card); }
        .trust-details { }
        .trust-details > summary { list-style: none; cursor: pointer; }
        .trust-details > summary::-webkit-details-marker { display: none; }
        .trust-header { display: flex; align-items: center; gap: 1.25rem; }
        .trust-details[open] .trust-header { margin-bottom: 1.5rem; }
        .trust-header-text { flex: 1; min-width: 0; }
        .trust-chevron { flex-shrink: 0; color: var(--text-secondary); transition: transform 0.2s ease; }
        .trust-details[open] .trust-chevron { transform: rotate(180deg); }
        .trust-ring-wrap { position: relative; width: 64px; height: 64px; flex-shrink: 0; }
        .trust-ring-score { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 700; }
        .trust-tier-badge { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.375rem 0.75rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; border: 1px solid; }
        .trust-score-label { font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.25rem; }
        .trust-dims { display: flex; flex-direction: column; gap: 0.75rem; }
        .trust-group-label { font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-secondary); margin-bottom: -0.25rem; }
        .trust-dim { display: flex; align-items: center; gap: 0.75rem; }
        .trust-dim-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .trust-dim-label { flex: 1; font-size: 0.875rem; font-weight: 400; color: var(--text-primary); min-width: 0; }
        .trust-dim-detail { font-size: 0.75rem; color: var(--text-secondary); font-weight: 400; margin-left: 0.375rem; }
        .trust-dim-status { flex-shrink: 0; font-size: 0.75rem; font-weight: 400; text-align: right; }
        .trust-footer { font-size: 0.625rem; color: var(--text-tertiary); margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--border-glass); }

        /* Hours */
        .hours-summary { display: flex; align-items: center; cursor: pointer; user-select: none; gap: 0.75rem; }
        .hours-summary h2 { flex-shrink: 0; }
        .hours-status { font-size: 0.8125rem; color: var(--text-secondary); display: flex; align-items: center; gap: 0.375rem; margin-left: auto; }
        .hours-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
        .hours-dot-open { background: #10b981; box-shadow: 0 0 6px rgba(16,185,129,0.5); }
        .hours-dot-closed { background: #ef4444; box-shadow: 0 0 6px rgba(239,68,68,0.4); }
        .hours-table { width: 100%; border-collapse: collapse; }
        .hours-table tr { border-bottom: 1px solid var(--border-glass); }
        .hours-table tr:last-child { border-bottom: none; }
        .hours-table td { padding: 0.625rem 0; font-size: 0.9375rem; }
        .hours-table .hours-day { color: var(--text-primary); font-weight: 400; width: 40%; }
        .hours-table .hours-time { color: var(--text-secondary); text-align: right; }
        .hours-table tr.hours-today .hours-day { color: var(--accent); font-weight: 700; }
        .hours-table tr.hours-today .hours-time { color: var(--text-primary); font-weight: 400; }

        /* Reviews */
        .reviews-hero { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1rem; }
        .reviews-score { font-size: 3rem; font-weight: 700; color: var(--text-primary); line-height: 1; }
        .reviews-stars { display: flex; gap: 0.125rem; margin-bottom: 0.25rem; }
        .reviews-stars svg { width: 20px; height: 20px; }
        .reviews-count { font-size: 0.875rem; color: var(--text-secondary); }

        /* Social */
        .social-grid { display: flex; flex-wrap: wrap; gap: 0.625rem; }
        .social-link { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--bg-glass); border: 1px solid var(--border-glass); color: var(--text-primary); padding: 0.5rem 1rem; border-radius: 999px; text-decoration: none; font-size: 0.8125rem; font-weight: 400; transition: all 0.15s ease; }
        .social-link:hover { background: var(--bg-elevated); border-color: rgba(255,255,255,0.2); }

        /* Menu */
        .menu-summary { display: flex; align-items: center; cursor: pointer; user-select: none; gap: 0.75rem; }
        .menu-count { font-size: 0.8125rem; color: var(--text-secondary); margin-left: auto; }
        .menu-section-title { font-size: 1rem; font-weight: 700; color: var(--accent); margin: 1.5rem 0 0.75rem; padding-bottom: 0.375rem; border-bottom: 1px solid var(--border-glass); }
        .menu-section-title:first-child { margin-top: 0; }
        .menu-item { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0; border-bottom: 1px dotted var(--border-glass); gap: 0.5rem; }
        .menu-item:last-child { border-bottom: none; }
        .menu-item-img { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
        .menu-item-info { flex: 1; min-width: 0; }
        .menu-item-right { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
        .menu-item-name { color: var(--text-primary); font-size: 0.9375rem; font-weight: 400; }
        .menu-item-desc { color: var(--text-secondary); font-size: 0.8125rem; margin-top: 0.125rem; }
        .menu-item-price { color: var(--accent); font-weight: 700; font-size: 0.9375rem; white-space: nowrap; }
        .menu-add-btn { width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--accent); background: transparent; color: var(--accent); font-size: 1.1rem; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; line-height: 1; }
        .menu-add-btn:hover { background: var(--accent); color: var(--bg-base); }
        .menu-add-btn:active { transform: scale(0.9); }

        /* Cart bar */
        .cart-bar { position: fixed; bottom: 0; left: 0; right: 0; background: var(--bg-elevated); border-top: 1px solid var(--border-glass); padding: 0.75rem 1rem; display: none; align-items: center; justify-content: space-between; z-index: 100; backdrop-filter: blur(12px); }
        .cart-bar.visible { display: flex; }
        .cart-bar-info { color: var(--text-primary); font-size: 0.9rem; font-weight: 400; }
        .cart-bar-info span { color: var(--accent); font-weight: 700; }
        .cart-bar-btn { background: var(--accent); color: var(--bg-base); border: none; padding: 0.6rem 1.5rem; border-radius: 999px; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: opacity 0.15s; }
        .cart-bar-btn:hover { opacity: 0.9; }

        /* Variant modal */
        .variant-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 200; display: none; align-items: flex-end; justify-content: center; }
        .variant-overlay.visible { display: flex; }
        .variant-sheet { background: var(--bg-elevated); border-radius: 28px 28px 0 0; width: 100%; max-width: 480px; padding: 1.5rem; max-height: 70vh; overflow-y: auto; }
        .variant-title { color: var(--text-primary); font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; }
        .variant-group { margin-bottom: 1rem; }
        .variant-group-label { color: var(--text-secondary); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.5rem; }
        .variant-option { display: flex; align-items: center; justify-content: space-between; padding: 0.6rem 0.75rem; border-radius: 8px; border: 1.5px solid var(--border-glass); margin-bottom: 0.4rem; cursor: pointer; transition: all 0.15s; color: var(--text-primary); font-size: 0.9rem; }
        .variant-option:hover { border-color: var(--accent); }
        .variant-option.selected { border-color: var(--accent); background: rgba(14,165,233,0.1); }
        .variant-option-price { color: var(--accent); font-weight: 700; font-size: 0.85rem; }
        .variant-add-btn { width: 100%; padding: 0.75rem; border-radius: 999px; border: none; background: var(--accent); color: var(--bg-base); font-size: 0.95rem; font-weight: 700; cursor: pointer; margin-top: 0.5rem; transition: opacity 0.15s; }
        .variant-add-btn:hover { opacity: 0.9; }
        .variant-add-btn:disabled { opacity: 0.4; cursor: default; }

        /* Cart review */
        .cart-review { display: none; }
        .cart-review.visible { display: block; }
        .cart-review-item { display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 0; border-bottom: 1px dotted var(--border-glass); }
        .cart-review-item:last-child { border-bottom: none; }
        .cart-qty-ctrl { display: flex; align-items: center; gap: 0.4rem; }
        .cart-qty-btn { width: 24px; height: 24px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.2); background: transparent; color: var(--text-primary); font-size: 0.9rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
        .cart-qty-btn:hover { border-color: var(--accent); color: var(--accent); }
        .cart-qty { color: var(--text-primary); font-size: 0.9rem; font-weight: 700; min-width: 1.5rem; text-align: center; }
    </style>
</head>
<body>

        <!-- Act 1: Hero -->
        <div class="hero">
          <div class="container">
            
            <h1>xcited.io</h1>
            <div class="domain">xcited.io</div>
            <span class="verified-badge">&#10003; Verified by Aztrix</span>
            <p class="hero-headline">This domain serves 5 machine-readable files that make xcited.io instantly discoverable and shoppable by ChatGPT, Perplexity, Google AI, and 200+ AI agents.</p>
            <a href="https://aztrix.io/xcited.io" class="hero-cta" data-cta="cta_hero" target="_blank">View Profile</a>
          </div>
        </div>

        <!-- Discovery Pipeline -->
        <div class="pipeline-section">
          <div class="container">
            <div class="pipeline-header">
                <h2>How AI discovers this business</h2>
                <p>5 files turn a domain into an AI-ready, shoppable storefront</p>
            </div>
            <div class="pipeline">
                <a href="/llms.txt" class="pipeline-step">
                    <div class="pipeline-hook">Who you are</div>
                    <div class="pipeline-file">llms.txt</div>
                    <div class="pipeline-label">LLM Context File</div>
                </a>
                <div class="pipeline-arrow"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14m-6-6l6 6-6 6"/></svg></div>
                <a href="/.well-known/ai.json" class="pipeline-step">
                    <div class="pipeline-hook">What you do</div>
                    <div class="pipeline-file">ai.json</div>
                    <div class="pipeline-label">AI Configuration</div>
                </a>
                <div class="pipeline-arrow"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14m-6-6l6 6-6 6"/></svg></div>
                <a href="/robots.txt" class="pipeline-step">
                    <div class="pipeline-hook">Who can crawl</div>
                    <div class="pipeline-file">robots.txt</div>
                    <div class="pipeline-label">Crawling Rules</div>
                </a>
                <div class="pipeline-arrow"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14m-6-6l6 6-6 6"/></svg></div>
                <a href="/sitemap.xml" class="pipeline-step">
                    <div class="pipeline-hook">What to index</div>
                    <div class="pipeline-file">sitemap.xml</div>
                    <div class="pipeline-label">Site Map</div>
                </a>
                <div class="pipeline-arrow"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14m-6-6l6 6-6 6"/></svg></div>
                <a href="/.well-known/ucp" class="pipeline-step ucp-step">
                    <div class="pipeline-hook">What's for sale</div>
                    <div class="pipeline-file">ucp</div>
                    <div class="pipeline-label">Commerce Protocol</div>
                </a>
            </div>
          </div>
        </div>

        <div class="container" style="padding-top:0;">
          <div style="display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.625rem 1rem;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:10px;margin-top:1rem;">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--accent)" stroke-width="2" stroke-linecap="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
            <span style="font-size:0.8125rem;color:var(--text-secondary);">AI assistants fetched our discovery files <strong style="color:var(--text-primary);font-variant-numeric:tabular-nums;">27</strong> times in <strong style="color:var(--text-primary);font-variant-numeric:tabular-nums;">1</strong> day &middot; first crawl <strong style="color:var(--accent);">1s</strong> after going live</span>
          </div>
        </div>

        <div class="container" style="padding-top:2rem;">

        <!-- Act 2: Business Profile -->
        <div class="card">

            <!-- About (from llms.txt) -->
            <div class="section">
                <div class="section-source">From llms.txt</div>
                <h2>About</h2>
                <p style="color:var(--text-secondary);font-size:1rem;line-height:1.7;">Verified domain information for xcited.io</p>
            </div>

            <!-- For Sale -->
            

            <!-- Key info grid (from ai.json) -->
            <div class="section">
                <div class="section-source">From ai.json</div>
                <div class="info-grid">
                    
                    
                    <div class="info-item"><h3>Status</h3><p>Active</p></div>
                </div>
            </div>

            <!-- Category-specific CTA section -->
            

            <!-- Opening Hours (from ai.json) -->
            

            <!-- Inline Menu (from sitemap.xml / ucp) -->
            

            <!-- Reviews -->
            

            <!-- Social Links (from ai.json) -->
            

            <!-- Location Map -->
            

            <!-- Technologies -->
            

            <!-- Certifications -->
            

            <!-- Related domains -->
            

        </div>

        <!-- API Access -->
        <div class="card">
            <div class="section" style="margin-bottom:0;">
                <h2>API Access</h2>
                <div class="info-item">
                    <h3>Domain Lookup</h3>
                    <p style="font-family:'JetBrains Mono','Fira Code',monospace;font-size:0.8125rem;word-break:break-all;">
                        <a href="https://aztrix.io/api/domains/lookup?domain=xcited.io" style="color:var(--accent);text-decoration:none;" target="_blank">https://aztrix.io/api/domains/lookup?domain=xcited.io</a>
                    </p>
                </div>
            </div>
        </div>

        <!-- Act 3: Verification Trust Card -->
        <div class="trust-card">
    <h2 class="trust-title">Identity Verification</h2>
    <details class="trust-details">
      <summary class="trust-header">
        <div class="trust-ring-wrap">
          <svg viewBox="0 0 36 36" width="64" height="64" style="transform:rotate(-90deg);">
            <circle cx="18" cy="18" r="15.5" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="3" />
            <circle cx="18" cy="18" r="15.5" fill="none" stroke="#9ca3af" stroke-width="3" stroke-linecap="round" stroke-dasharray="97.39" stroke-dashoffset="82.78" />
          </svg>
          <span class="trust-ring-score" style="color:#9ca3af;">15</span>
        </div>
        <div class="trust-header-text">
          <div class="trust-tier-badge" style="background:var(--bg-glass);color:#9ca3af;border-color:var(--border-glass);">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="#9ca3af"><path fill-rule="evenodd" d="M12.516 2.17a.75.75 0 00-1.032 0 11.209 11.209 0 01-7.877 3.08.75.75 0 00-.722.515A12.74 12.74 0 002.25 9.75c0 5.942 4.064 10.933 9.563 12.348a.749.749 0 00.374 0c5.499-1.415 9.563-6.406 9.563-12.348 0-1.39-.223-2.73-.635-3.985a.75.75 0 00-.722-.516l-.143.001c-2.996 0-5.717-1.17-7.734-3.08zm3.094 8.016a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z" clip-rule="evenodd" /></svg>
            Unverified
          </div>
          <p class="trust-score-label">Verification Score</p>
        </div>
        <svg class="trust-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" /></svg>
      </summary>
      <div class="trust-dims">
        <p class="trust-group-label">Identity</p>
        <div class="trust-dim">
    <div class="trust-dim-icon" style="background:rgba(16,185,129,0.15);">
      <svg width="16" height="16" fill="none" stroke="#10b981" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75" /></svg>
    </div>
    <div class="trust-dim-label">Email</div>
    <div class="trust-dim-status" style="color:#10b981;">Today</div>
  </div><div class="trust-dim">
    <div class="trust-dim-icon" style="background:var(--icon-bg-muted);">
      <svg width="16" height="16" fill="none" stroke="#6b7280" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 002.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 01-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 00-1.091-.852H4.5A2.25 2.25 0 002.25 4.5v2.25z" /></svg>
    </div>
    <div class="trust-dim-label">Phone</div>
    <div class="trust-dim-status" style="color:#6b7280;">Not verified</div>
  </div><div class="trust-dim">
    <div class="trust-dim-icon" style="background:var(--icon-bg-muted);">
      <svg width="16" height="16" fill="none" stroke="#6b7280" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 002.25-2.25V6.75A2.25 2.25 0 0019.5 4.5h-15A2.25 2.25 0 002.25 6.75v10.5A2.25 2.25 0 004.5 19.5z" /></svg>
    </div>
    <div class="trust-dim-label">Payment</div>
    <div class="trust-dim-status" style="color:#6b7280;">Not verified</div>
  </div><div class="trust-dim">
    <div class="trust-dim-icon" style="background:var(--icon-bg-muted);">
      <svg width="16" height="16" fill="none" stroke="#6b7280" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 002.25-2.25V6.75A2.25 2.25 0 0019.5 4.5h-15A2.25 2.25 0 002.25 6.75v10.5A2.25 2.25 0 004.5 19.5zm6-10.125a1.875 1.875 0 11-3.75 0 1.875 1.875 0 013.75 0zm1.294 6.336a6.721 6.721 0 01-3.17.789 6.721 6.721 0 01-3.168-.789 3.376 3.376 0 016.338 0z" /></svg>
    </div>
    <div class="trust-dim-label">Electronic ID</div>
    <div class="trust-dim-status" style="color:#6b7280;">Not verified</div>
  </div>
        <p class="trust-group-label" style="margin-top:0.75rem;">Listing</p>
        <div class="trust-dim">
    <div class="trust-dim-icon" style="background:var(--icon-bg-muted);">
      <svg width="16" height="16" fill="none" stroke="#6b7280" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z" /></svg>
    </div>
    <div class="trust-dim-label">Social</div>
    <div class="trust-dim-status" style="color:#6b7280;">Not verified</div>
  </div><div class="trust-dim">
    <div class="trust-dim-icon" style="background:rgba(16,185,129,0.15);">
      <svg width="16" height="16" fill="none" stroke="#10b981" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418" /></svg>
    </div>
    <div class="trust-dim-label">Domain</div>
    <div class="trust-dim-status" style="color:#10b981;">Today</div>
  </div>
      </div>
      <p class="trust-footer">Verified using patent-protected technology (EP 3189463)</p>
    </details>
  </div>

        <div class="footer">
            <p style="margin-bottom:0.75rem;"><a href="/graph" data-cta="discovery_graph" style="display:inline-flex;align-items:center;gap:0.375rem;background:var(--bg-surface);color:#10b981;padding:0.5rem 1rem;border-radius:999px;font-size:0.8125rem;font-weight:600;text-decoration:none;border:1px solid var(--border-glass);"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="3"/><line x1="12" y1="5" x2="12" y2="3"/><line x1="17" y1="7" x2="19" y2="5"/><line x1="19" y1="12" x2="21" y2="12"/><line x1="17" y1="17" x2="19" y2="19"/><line x1="12" y1="19" x2="12" y2="21"/><line x1="7" y1="17" x2="5" y2="19"/><line x1="5" y1="12" x2="3" y2="12"/><line x1="7" y1="7" x2="5" y2="5"/></svg>Discovery Graph</a></p>
            <p>Powered by <a href="https://aztrix.io" target="_blank">Aztrix</a> &mdash; Online Discovery Platform</p>
            <p style="margin-top:0.375rem;">Last verified: 2026-05-04</p>
            <p style="margin-top:1rem;"><a href="https://aztrix.io/en/register">Register on Aztrix to manage this domain</a></p>
            <p style="margin-top:0.375rem;"><a href="/login" style="color:var(--accent);">Manage this business</a></p>
        </div>

        </div>

<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme">
  <svg id="theme-icon-sun" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
    <circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
  </svg>
  <svg id="theme-icon-moon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" style="display:none">
    <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/>
  </svg>
</button>

<script>
(function(){
  var d="xcited.io";
  var u="https://nnaayfkzvllcnpcnaizx.supabase.co/functions/v1/landing-page-event";
  // Capture ?src= and utm_* on first hit, cache for the session, forward on
  // every CTA. Canonical URL is left untouched in the browser bar.
  var s="";
  var utm={};
  var UK=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"];
  try{
    var qp=new URL(location.href).searchParams;
    var q=qp.get("src");
    if(q){s=q.slice(0,32);try{sessionStorage.setItem("aztrix_src",s)}catch(e){}}
    else{try{s=sessionStorage.getItem("aztrix_src")||""}catch(e){}}
    var hit=false;
    for(var i=0;i<UK.length;i++){var v=qp.get(UK[i]);if(v){utm[UK[i]]=v.slice(0,64);hit=true}}
    if(hit){try{sessionStorage.setItem("aztrix_utm",JSON.stringify(utm))}catch(e){}}
    else{try{utm=JSON.parse(sessionStorage.getItem("aztrix_utm")||"{}")}catch(e){utm={}}}
  }catch(e){}
  document.addEventListener("click",function(e){
    var a=e.target.closest("[data-cta]");
    if(!a)return;
    var t=a.getAttribute("data-cta");
    if(!t)return;
    var p={domain:d,event:t};if(s)p.source=s;
    for(var j=0;j<UK.length;j++){if(utm[UK[j]])p[UK[j]]=utm[UK[j]]}
    var b=JSON.stringify(p);
    if(navigator.sendBeacon){navigator.sendBeacon(u,new Blob([b],{type:"application/json"}))}
    else{fetch(u,{method:"POST",body:b,headers:{"Content-Type":"application/json"},keepalive:true}).catch(function(){})}
  });
})();
(function(){
  var k=["mon","tue","wed","thu","fri","sat","sun"];
  var d=new Date().getDay();
  var t=k[d===0?6:d-1];
  var r=document.querySelector('tr[data-day="'+t+'"]');
  if(r)r.classList.add("hours-today");
})();
(function(){
  var DARK={
    "--bg-base":"#0A0A0A","--bg-surface":"#111827","--bg-elevated":"#1F2937",
    "--bg-glass":"rgba(255,255,255,0.05)","--border-glass":"rgba(255,255,255,0.10)",
    "--text-primary":"#F8FAFC","--text-secondary":"#94A3B8","--text-tertiary":"#666666",
    "--icon-bg-muted":"rgba(255,255,255,0.06)","--shadow-card":"none"
  };
  var LIGHT={
    "--bg-base":"#F9F9F9","--bg-surface":"#FFFFFF","--bg-elevated":"#F3F4F6",
    "--bg-glass":"rgba(0,0,0,0.03)","--border-glass":"rgba(0,0,0,0.08)",
    "--text-primary":"#1E293B","--text-secondary":"#64748B","--text-tertiary":"#94A3B8",
    "--icon-bg-muted":"rgba(0,0,0,0.04)","--shadow-card":"0 1px 3px rgba(0,0,0,0.08)"
  };
  var key="aztrix-theme-"+"xcited.io";
  var def="dark";
  var cur=localStorage.getItem(key)||def;
  var sun=document.getElementById("theme-icon-sun");
  var moon=document.getElementById("theme-icon-moon");
  function apply(theme){
    var vars=theme==="light"?LIGHT:DARK;
    var root=document.documentElement;
    for(var p in vars)root.style.setProperty(p,vars[p]);
    sun.style.display=theme==="light"?"none":"";
    moon.style.display=theme==="light"?"":"none";
    localStorage.setItem(key,theme);
    cur=theme;
  }
  if(cur!==def)apply(cur);
  document.getElementById("theme-toggle").addEventListener("click",function(){
    apply(cur==="light"?"dark":"light");
  });
})();
</script>

<!-- Cart bar -->
<div class="cart-bar" id="cart-bar">
  <div class="cart-bar-info"><span id="cart-count">0</span> items &middot; <span id="cart-total">&euro;0.00</span></div>
  <button class="cart-bar-btn" id="cart-view-btn">View order</button>
</div>

<!-- Variant picker modal -->
<div class="variant-overlay" id="variant-overlay">
  <div class="variant-sheet">
    <div class="variant-title" id="variant-title"></div>
    <div id="variant-options"></div>
    <button class="variant-add-btn" id="variant-add-btn" disabled>Add to order</button>
  </div>
</div>

<!-- Cart review modal -->
<div class="variant-overlay" id="cart-overlay">
  <div class="variant-sheet">
    <div class="variant-title">Your order</div>
    <div id="cart-items"></div>
    <div style="display:flex;justify-content:space-between;align-items:center;padding:0.75rem 0;border-top:1px solid var(--border-glass);margin-top:0.5rem;">
      <div style="color:var(--text-primary);font-weight:700;">Total</div>
      <div style="color:var(--accent);font-weight:700;font-size:1.1rem;" id="cart-review-total"></div>
    </div>
    <button class="variant-add-btn" id="cart-checkout-btn">Place order</button>
    <button class="variant-add-btn" id="cart-close-btn" style="background:transparent;color:var(--text-secondary);border:1px solid var(--border-glass);margin-top:0.5rem;">Continue browsing</button>
  </div>
</div>

<script>
(function(){
  var catalog=window.__menuCatalog||[];
  if(!catalog.length)return;
  var catalogMap={};
  catalog.forEach(function(i){catalogMap[i.id]=i});

  // Cart state
  var cart=JSON.parse(localStorage.getItem('aztrix_cart_'+location.hostname)||'[]');
  var listingId=document.getElementById('menu-section')?.getAttribute('data-listing-id')||'';

  function saveCart(){localStorage.setItem('aztrix_cart_'+location.hostname,JSON.stringify(cart))}

  function updateBar(){
    var count=0,total=0;
    cart.forEach(function(c){count+=c.qty;total+=c.price*c.qty});
    document.getElementById('cart-count').textContent=count;
    document.getElementById('cart-total').textContent=catalog[0]?.currency==='USD'?'$'+total.toFixed(2):'\u20AC'+total.toFixed(2);
    document.getElementById('cart-bar').classList.toggle('visible',count>0);
  }

  function addToCart(itemId,variantId,variantLabel,price){
    var key=itemId+(variantId?':'+variantId:'');
    var existing=cart.find(function(c){return c.key===key});
    if(existing){existing.qty++}
    else{
      var item=catalogMap[itemId];
      cart.push({key:key,itemId:itemId,variantId:variantId||null,title:item.title+(variantLabel?' ('+variantLabel+')':''),price:price,qty:1,currency:item.currency});
    }
    saveCart();updateBar();
  }

  function removeFromCart(key){
    var idx=cart.findIndex(function(c){return c.key===key});
    if(idx===-1)return;
    if(cart[idx].qty>1)cart[idx].qty--;
    else cart.splice(idx,1);
    saveCart();updateBar();renderCartReview();
  }

  function addQty(key){
    var item=cart.find(function(c){return c.key===key});
    if(item)item.qty++;
    saveCart();updateBar();renderCartReview();
  }

  // Variant picker
  var pickerItemId=null;
  var pickerSelection={};

  function showVariantPicker(itemId){
    var item=catalogMap[itemId];
    if(!item||!item.options||!item.options.length)return;
    pickerItemId=itemId;
    pickerSelection={};
    document.getElementById('variant-title').textContent=item.title;
    var html='';
    item.options.forEach(function(opt){
      html+='<div class="variant-group"><div class="variant-group-label">'+esc(opt.name)+'</div>';
      (opt.values||[]).forEach(function(val){
        var v=item.variants?.find(function(vr){return vr.options?.some(function(o){return o.name===opt.name&&o.value===val})});
        var priceStr=v?('\u20AC'+Number(v.price).toFixed(2)):'';
        html+='<div class="variant-option" data-opt="'+esc(opt.name)+'" data-val="'+esc(val)+'">'+esc(val)+(priceStr?'<span class="variant-option-price">'+priceStr+'</span>':'')+'</div>';
      });
      html+='</div>';
    });
    document.getElementById('variant-options').innerHTML=html;
    document.getElementById('variant-add-btn').disabled=true;
    document.getElementById('variant-overlay').classList.add('visible');
  }

  function esc(s){return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')}

  document.getElementById('variant-options')?.addEventListener('click',function(e){
    var opt=e.target.closest('.variant-option');
    if(!opt)return;
    var name=opt.getAttribute('data-opt');
    var val=opt.getAttribute('data-val');
    pickerSelection[name]=val;
    // Highlight selected
    opt.parentElement.querySelectorAll('.variant-option').forEach(function(o){o.classList.remove('selected')});
    opt.classList.add('selected');
    // Enable add button if all options selected
    var item=catalogMap[pickerItemId];
    var allSelected=item.options.every(function(o){return pickerSelection[o.name]});
    document.getElementById('variant-add-btn').disabled=!allSelected;
  });

  document.getElementById('variant-add-btn')?.addEventListener('click',function(){
    var item=catalogMap[pickerItemId];
    if(!item)return;
    // Find matching variant by selected options
    var variant=null;
    if(item.variants){
      variant=item.variants.find(function(v){
        return v.options?.every(function(o){return pickerSelection[o.name]===o.value});
      });
    }
    var price=variant?variant.price:item.price;
    var variantId=variant?.id||null;
    var label=Object.values(pickerSelection).join(', ');
    addToCart(pickerItemId,variantId,label,price);
    document.getElementById('variant-overlay').classList.remove('visible');
  });

  document.getElementById('variant-overlay')?.addEventListener('click',function(e){
    if(e.target===this)this.classList.remove('visible');
  });

  // Add to order buttons
  document.addEventListener('click',function(e){
    var btn=e.target.closest('.menu-add-btn');
    if(!btn)return;
    var id=btn.getAttribute('data-add');
    if(btn.getAttribute('data-has-variants')){
      showVariantPicker(id);
    }else{
      var item=catalogMap[id];
      if(item)addToCart(id,null,null,item.price);
    }
  });

  // Cart review
  function renderCartReview(){
    var html='';
    cart.forEach(function(c){
      html+='<div class="cart-review-item"><div style="flex:1;min-width:0"><div class="menu-item-name" style="font-size:0.85rem">'+esc(c.title)+'</div><div style="color:var(--accent);font-size:0.8rem;font-weight:700">\u20AC'+Number(c.price*c.qty).toFixed(2)+'</div></div>';
      html+='<div class="cart-qty-ctrl"><button class="cart-qty-btn" data-minus="'+esc(c.key)+'">&minus;</button><span class="cart-qty">'+c.qty+'</span><button class="cart-qty-btn" data-plus="'+esc(c.key)+'">+</button></div></div>';
    });
    document.getElementById('cart-items').innerHTML=html;
    var total=0;cart.forEach(function(c){total+=c.price*c.qty});
    document.getElementById('cart-review-total').textContent='\u20AC'+total.toFixed(2);
  }

  document.getElementById('cart-view-btn')?.addEventListener('click',function(){
    renderCartReview();
    document.getElementById('cart-overlay').classList.add('visible');
  });

  document.getElementById('cart-items')?.addEventListener('click',function(e){
    var minus=e.target.closest('[data-minus]');
    var plus=e.target.closest('[data-plus]');
    if(minus)removeFromCart(minus.getAttribute('data-minus'));
    if(plus)addQty(plus.getAttribute('data-plus'));
  });

  document.getElementById('cart-close-btn')?.addEventListener('click',function(){
    document.getElementById('cart-overlay').classList.remove('visible');
  });

  document.getElementById('cart-overlay')?.addEventListener('click',function(e){
    if(e.target===this)this.classList.remove('visible');
  });

  document.getElementById('cart-checkout-btn')?.addEventListener('click',function(){
    if(!cart.length)return;
    // Build checkout URL with cart data
    var params=new URLSearchParams();
    params.set('merchant_id',listingId);
    params.set('items',JSON.stringify(cart.map(function(c){return{item_id:c.itemId,variant_id:c.variantId,quantity:c.qty}})));
    window.location.href='/checkout?'+params.toString();
  });

  // Clear cart if redirected from cancel
  if(new URLSearchParams(location.search).get('clear_cart')==='1'){
    cart=[];saveCart();
    history.replaceState(null,'',location.pathname);
  }

  updateBar();
})();
</script>
</body>
</html>