<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Craft Room - Domain Discovery</title>
    <meta name="description" content="Verified domain information for craftroompda.com via Aztrix Online Discovery Platform">
    <meta name="robots" content="index, follow">
    <link rel="canonical" href="https://craftroompda.com/">
    <link rel="alternate" hreflang="en" href="https://craftroompda.com/?lang=en">
    <link rel="alternate" hreflang="fr" href="https://craftroompda.com/?lang=fr">
    <link rel="alternate" hreflang="nl" href="https://craftroompda.com/?lang=nl">
    <link rel="alternate" hreflang="de" href="https://craftroompda.com/?lang=de">
    <link rel="alternate" hreflang="es" href="https://craftroompda.com/?lang=es">
    <link rel="alternate" hreflang="pt-BR" href="https://craftroompda.com/?lang=pt-BR">
    <link rel="alternate" hreflang="x-default" href="https://craftroompda.com/">
    <!-- AI / machine-readable peers — same content, formats LLM tools prefer.
         ?src=alt lets bot-stats attribute crawler hits to the alternate-discovery
         channel (vs ?src=llms, ?src=sitemap, or unsourced raw scrape). -->
    <link rel="alternate" type="text/markdown" href="/about.md?src=alt">
    <link rel="alternate" type="text/plain" href="/llms.txt?src=alt">
    <link rel="alternate" type="application/ld+json" href="/.well-known/schema.json?src=alt">
    <meta name="ai-content-policy" content="readable">
    <meta property="og:title" content="Craft Room">
    <meta property="og:description" content="Beer - Burgers - Tacos - Wings. 100% Girona beef burgers, handmade tacos, and wings with house-crafted sauces.">
    <meta property="og:url" content="https://craftroompda.com/">
    <meta property="og:type" content="website">
    <meta property="og:image" content="https://nnaayfkzvllcnpcnaizx.supabase.co/functions/v1/og-image?domain=craftroompda.com">
    <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=craftroompda.com">
    <link rel="icon" type="image/png" href="https://www.google.com/s2/favicons?domain=craftroompda.com&sz=64">
    <link rel="apple-touch-icon" href="https://www.google.com/s2/favicons?domain=craftroompda.com&sz=180">
    <script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Craft Room","url":"https://craftroompda.com","description":"Beer - Burgers - Tacos - Wings. 100% Girona beef burgers, handmade tacos, and wings with house-crafted sauces.","email":"info@craftroompda.com","address":{"@type":"PostalAddress","streetAddress":"90 Avinguda Cavall Bernat del","addressLocality":"Castell-Platja d'Aro","addressRegion":"Catalonia","postalCode":"17250","addressCountry":"Spain"},"sameAs":"https://craftroompda.com","openingHours":["Friday 12:00-00:00","Monday 12:00-23:00","Saturday 12:00-00:00","Sunday 12:00-22:00","Thursday 12:00-23:00","Tuesday 12:00-23:00","Wednesday 12:00-23:00"]}</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 photo variant — set via vertical_attributes.cover_image_url in website mode. Background image is composited with a dark scrim for text contrast. */
        .hero-with-photo { padding: 6rem 1rem 5rem; background-size: cover; background-position: center; background-repeat: no-repeat; color: #fff; }
        .hero-with-photo h1 { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.4); }
        .hero-with-photo .hero-headline { color: rgba(255,255,255,0.92); text-shadow: 0 1px 8px rgba(0,0,0,0.4); }
        .hero-with-photo .hero-status { color: rgba(255,255,255,0.92); }
        .hero-with-photo .hero-status-pin svg { color: #fff; }
        .hero-with-photo .category-chip { background: rgba(255,255,255,0.18); color: #fff; border-color: rgba(255,255,255,0.28); backdrop-filter: blur(8px); }
        .hero-with-photo::after { display: none; }
        .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); }
        .growth-badge { display: inline-flex; align-items: center; gap: 0.5rem; margin-left: 0.5rem; background: linear-gradient(135deg, rgba(14,165,233,0.12), rgba(16,185,129,0.12)); color: var(--text-primary); padding: 0.375rem 0.875rem; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; border: 1px solid rgba(14,165,233,0.25); text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease; }
        .growth-badge:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(14,165,233,0.15); }
        .growth-badge__icon { font-size: 0.9rem; line-height: 1; }
        .growth-badge__grade { font-weight: 800; color: #0284c7; background: rgba(14,165,233,0.18); padding: 0.05rem 0.4rem; border-radius: 6px; font-size: 0.75rem; }
        .growth-badge__divider { color: var(--text-tertiary); }
        .growth-badge__delta { color: #047857; font-weight: 700; font-size: 0.78rem; }
        body[data-presentation="website"] .growth-badge { display: none; }
        .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); }
        /* Website mode: hide platform-chrome "from llms.txt" / "from ai.json" badges; the customer's site is theirs, the file-source attribution is for the AI version (footer link). */
        body[data-presentation="website"] .section-source { display: none; }
        body[data-presentation="website"] .domain { display: none; }
        body[data-presentation="website"] .verified-badge { display: none; }
        /* Hero status one-liner — only rendered in website mode. Populated client-side by the existing opening-hours JS so it shares logic. */
        .hero-status { display: flex; align-items: center; justify-content: center; gap: 0.75rem; flex-wrap: wrap; margin: 0.875rem 0 1.25rem; font-size: 0.9375rem; color: var(--text-secondary); }
        .hero-status-pin { display: inline-flex; align-items: center; gap: 0.375rem; }
        .hero-status-pin svg { color: var(--accent); }
        .hero-status-time:empty { display: none; }
        .hero-status-time:not(:empty)::before { content: "·"; color: var(--text-tertiary); margin-right: 0.5rem; }
        .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 data-presentation="website">

        <!-- Act 1: Hero -->
        <div class="hero hero-with-photo" style="background-image: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.65)), url('https://images.unsplash.com/photo-1568901346375-23c9450c58cd?w=2000&amp;h=900&amp;fit=crop&amp;q=85');">
          <div class="hero-overlay" aria-hidden="true"></div>
          <div class="container">
            <div class="category-chip">Restaurant</div>
            <h1>Craft Room</h1>
            
            
            
            <p class="hero-headline">Beer - Burgers - Tacos - Wings. 100% Girona beef burgers, handmade tacos, and wings with house-crafted sauces.</p>
            <div class="hero-status" id="hero-status">
              <span class="hero-status-pin"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> Castell-Platja d'Aro</span>
              <span class="hero-status-time" id="hero-status-time"></span>
            </div>
            <a href="#menu-section" class="hero-cta" data-cta="cta_hero">Make a Reservation</a>
          </div>
        </div>

        <!-- Discovery Pipeline -->
        

        

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

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

            <!-- About (from llms.txt) — suppressed in website mode because the hero already shows the description; rendering it again would be Ogilvy's 200px-rule violation. -->
            

            <!-- For Sale -->
            

            <!-- Key info grid (from ai.json) — suppressed in website mode because Category lives in the hero chip, Location in the hero status one-liner, and "Status: Active" is platform meta that means nothing to a customer. -->
            

            <!-- Category-specific CTA section -->
            <div class="section"><h2>Reserve a Table</h2><div class="cta-panel"><a href="https://craftroompda.com" class="cta-btn cta-primary" data-cta="website" target="_blank">Visit Website</a></div></div>

            <!-- Opening Hours (from ai.json) -->
            <div class="section" id="hours-section">
    <div class="hours-summary" id="hours-summary" onclick="var t=document.getElementById('hours-detail');var a=document.getElementById('hours-chevron');if(t.style.display==='none'){t.style.display='';a.style.transform='rotate(0)'}else{t.style.display='none';a.style.transform='rotate(-90deg)'}">
      <h2 style="border:0;margin:0;padding:0;">Opening Hours</h2>
      <div class="hours-status" id="hours-status"></div>
      <svg id="hours-chevron" style="width:18px;height:18px;color:var(--text-tertiary);transition:transform 0.2s;transform:rotate(-90deg);flex-shrink:0;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>
    </div>
    <div id="hours-detail" style="display:none;margin-top:1rem;">
      <table class="hours-table"><tr data-day="mon">
      <td class="hours-day">Monday</td>
      <td class="hours-time">12:00-23:00</td>
    </tr><tr data-day="tue">
      <td class="hours-day">Tuesday</td>
      <td class="hours-time">12:00-23:00</td>
    </tr><tr data-day="wed">
      <td class="hours-day">Wednesday</td>
      <td class="hours-time">12:00-23:00</td>
    </tr><tr data-day="thu">
      <td class="hours-day">Thursday</td>
      <td class="hours-time">12:00-23:00</td>
    </tr><tr data-day="fri">
      <td class="hours-day">Friday</td>
      <td class="hours-time">12:00-00:00</td>
    </tr><tr data-day="sat">
      <td class="hours-day">Saturday</td>
      <td class="hours-time">12:00-00:00</td>
    </tr><tr data-day="sun">
      <td class="hours-day">Sunday</td>
      <td class="hours-time">12:00-22:00</td>
    </tr></table>
    </div>
    <script>
    (function(){
      var h={"fri":"12:00-00:00","mon":"12:00-23:00","sat":"12:00-00:00","sun":"12:00-22:00","thu":"12:00-23:00","tue":"12:00-23:00","wed":"12:00-23:00"};
      var dl={"mon":"Monday","tue":"Tuesday","wed":"Wednesday","thu":"Thursday","fri":"Friday","sat":"Saturday","sun":"Sunday"};
      var i18n={openNow:"Open",closedNow:"Closed",closesAt:"Closes at {time}",opensAt:"Opens {day} at {time}",closed:"Closed"};
      var keys=["mon","tue","wed","thu","fri","sat","sun"];
      var now=new Date();
      var di=now.getDay();
      var today=keys[di===0?6:di-1];
      var hhmm=now.getHours()*100+now.getMinutes();

      function parseTime(s){var p=s.trim().split(":");return parseInt(p[0],10)*100+parseInt(p[1]||"0",10)}

      function isOpenNow(){
        var val=h[today];
        if(!val)return{open:false};
        var segs=val.split(",");
        for(var i=0;i<segs.length;i++){
          var parts=segs[i].trim().split("-");
          if(parts.length===2){
            var o=parseTime(parts[0]),c=parseTime(parts[1]);
            if(hhmm>=o&&hhmm<c)return{open:true,closes:parts[1].trim()};
          }
        }
        return{open:false};
      }

      function nextOpen(){
        for(var d=0;d<7;d++){
          var idx=(keys.indexOf(today)+d)%7;
          var k=keys[idx];
          var val=h[k];
          if(!val)continue;
          var segs=val.split(",");
          var first=segs[0].trim().split("-");
          if(first.length===2){
            var openTime=first[0].trim();
            if(d===0&&parseTime(openTime)>hhmm)return{day:dl[k],time:openTime,isToday:true};
            if(d>0)return{day:dl[k],time:openTime,isToday:false};
          }
        }
        return null;
      }

      var el=document.getElementById("hours-status");
      var heroEl=document.getElementById("hero-status-time");
      if(!el && !heroEl)return;
      var status=isOpenNow();
      var statusText='';
      var dotClass='hours-dot-closed';
      if(status.open){
        statusText=i18n.openNow+' &middot; '+i18n.closesAt.replace("{time}",status.closes);
        dotClass='hours-dot-open';
      }else{
        var nx=nextOpen();
        if(nx){
          statusText=i18n.closedNow+' &middot; '+i18n.opensAt.replace("{day}",nx.day).replace("{time}",nx.time);
        }else{
          statusText=i18n.closedNow;
        }
      }
      if(el)el.innerHTML=statusText+' <span class="hours-dot '+dotClass+'"></span>';
      if(heroEl)heroEl.innerHTML=statusText;
    })();
    </script>
  </div>

            <!-- Inline Menu (from sitemap.xml / ucp) -->
            <div class="section-source">From sitemap.xml</div><div class="section" id="menu-section" data-listing-id="849cd9b5-589e-452a-819d-9cd98089c87e">
    <div class="menu-summary" onclick="var m=document.getElementById('menu-items'),a=document.getElementById('menu-chevron');if(m.style.display==='none'){m.style.display='';a.style.transform='rotate(0)'}else{m.style.display='none';a.style.transform='rotate(-90deg)'}">
      <h2 style="border:0;margin:0;padding:0;">Menu</h2>
      <span class="menu-count">34 items</span>
      <svg id="menu-chevron" style="width:18px;height:18px;color:var(--text-tertiary);transition:transform 0.2s;transform:rotate(-90deg);flex-shrink:0;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>
    </div>
    <div id="menu-items" style="display:none;margin-top:1rem;">
      <h4 class="menu-section-title">Starters</h4>
<div class="menu-item" data-item-id="b5ecafe5-fde5-468b-904a-36c0daff30ac">
    <img src="https://images.unsplash.com/photo-1585032226651-759b368d7246?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Patates Braves CR</div>
      <div class="menu-item-desc">Crispy potatoes with homemade brava sauce and garlic mayonnaise.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€6.00 – €8.50</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="b38ca49b-5a88-4000-927a-dfe738f7815d">
    <img src="https://images.unsplash.com/photo-1573080496219-bb080dd4f877?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Braves Tinga de Pollo</div>
      <div class="menu-item-desc">Crispy potatoes with chicken tinga, cheese, homemade brava sauce, and garlic mayonnaise. Add an egg for 1 EUR.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€11.50</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="12009cc5-d049-42c8-8572-349543f14da9">
    <img src="https://images.unsplash.com/photo-1615870216519-2f9fa575fa5c?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Chips, Guac, &amp; Salsa</div>
      <div class="menu-item-desc">Homemade guacamole with freshly made chips and delicious salsa.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€9.50</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Burgers</h4>
<div class="menu-item" data-item-id="960fa6a4-7a01-4726-85d8-e5bee71cbd10">
    <img src="https://images.unsplash.com/photo-1568901346375-23c9450c58cd?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">SmashBurger</div>
      <div class="menu-item-desc">100% Girona beef with pickles, coleslaw, house burger sauce, and American cheddar.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€13.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="7a0ee9d1-5030-42a8-93ab-739f7ed3f465">
    <img src="https://images.unsplash.com/photo-1586816001966-79b736744398?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Oklahoma Burger</div>
      <div class="menu-item-desc">2 smash patties with thinly sliced onions cooked on the grill to perfection, cheese, house burger sauce, pickles, and bacon jam.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€14.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="59f9256c-f975-43b7-b636-a40c81bcd8c8">
    <img src="https://images.unsplash.com/photo-1553979459-d2229ba7433b?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">N'Diam Burger</div>
      <div class="menu-item-desc">SmashBurger with cheese, egg, coleslaw, and bacon. No pickles!</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€15.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="eb51791b-084a-41ee-b525-185c8311504b">
    <img src="https://images.unsplash.com/photo-1572802419224-296b0aeee0d9?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Buffalo Burger</div>
      <div class="menu-item-desc">SmashBurger with buffalo sauce and blue cheese.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€14.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="6a3f681a-0c26-421d-ae15-f1065b473386">
    <img src="https://images.unsplash.com/photo-1594212699903-ec8a3eca50f5?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Animal Burger</div>
      <div class="menu-item-desc">Double patty, double cheese, double bacon. With pickles, coleslaw, and our delicious house sauce.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€19.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="60fde7e8-5d50-4e4a-9da6-3879b39e73fd">
    <img src="https://images.unsplash.com/photo-1550547660-d9450f859349?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Naked Burger</div>
      <div class="menu-item-desc">Smash Burger without bread.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€12.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Burger Toppings</h4>
<div class="menu-item" data-item-id="8e18fb89-77da-49d0-b813-bc11d4bc45d1">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Fried Egg (topping)</div>
      <div class="menu-item-desc">Add a fried egg to any burger.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€1.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="ae26afb1-75a8-4c90-995f-b8d9e9254918">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Bacon (topping)</div>
      <div class="menu-item-desc">Add bacon to any burger.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€1.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="49e0d29f-72c7-4ffb-ae0a-1ca9b2eebc4f">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Jalapeno (topping)</div>
      <div class="menu-item-desc">Add jalapeno to any burger.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€1.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="e5b2cba8-c7ce-4378-b70f-12cad996aa3b">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Carnitas (topping)</div>
      <div class="menu-item-desc">Add braised pork carnitas to any burger.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€4.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="b0357a64-4323-41e0-8468-db669276fdc9">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Tinga (topping)</div>
      <div class="menu-item-desc">Add chicken tinga to any burger.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€4.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Tacos</h4>
<div class="menu-item" data-item-id="dd6af725-9221-438d-aac9-08b2c25fdbbe">
    <img src="https://images.unsplash.com/photo-1565299585323-38d6b0865b47?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Chicken Tinga Tacos</div>
      <div class="menu-item-desc">2 tacos filled with shredded chicken cooked in a chipotle adobo sauce. With cilantro and onion.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€9.50</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="a117e3a4-bf5c-4706-a474-e4cdeeef1e56">
    <img src="https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Carnitas Tacos</div>
      <div class="menu-item-desc">2 tacos filled with braised pork. With cilantro and onion.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€9.50</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Wings</h4>
<div class="menu-item" data-item-id="948405aa-7182-4e56-9900-92ebac4ad2e0">
    <img src="https://images.unsplash.com/photo-1567620832903-9fc6debc209f?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Wings</div>
      <div class="menu-item-desc">Choose your flavor: Buffalo (classic hot sauce + blue cheese), Lemon Pepper (butter, lemon peel, cracked pepper), Curry (house blend + fresh lemon), Korean (sweet &amp; spicy umami), or Naked (salt &amp; fresh lemon).</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€8.00 – €35.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Desserts</h4>
<div class="menu-item" data-item-id="ebd0dbd0-e67e-4e6b-9d8d-4ea08990505d">
    <img src="https://images.unsplash.com/photo-1533134242443-d4fd215305ad?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Cheesecake of the Day</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€7.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Sodas</h4>
<div class="menu-item" data-item-id="5feb294a-6fe4-4691-9091-2748c54ea186">
    <img src="https://images.unsplash.com/photo-1581636625402-29b2a704ef13?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Coca-Cola</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="ab2c397e-b8a0-46d0-84a0-28f5fb42ea69">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Coca-Cola Zero</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="3c47c0e8-4cb4-46d4-86aa-d3a8d94dc2d7">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Lemon Fanta</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="dbe9e27a-699a-4e5f-83cb-be27228b36f1">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Orange Fanta</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="7636afc3-7faa-4a85-8ceb-a42a6c23c962">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Specialty Soda</div>
      <div class="menu-item-desc">Ask about what we have today. Prices may vary.</div>
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€4.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Coffee</h4>
<div class="menu-item" data-item-id="5dc843a0-9323-4bfd-beee-79ab8c98fe42">
    <img src="https://images.unsplash.com/photo-1509042239860-f550ce710b93?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Espresso</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€2.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="faa16d53-e647-43a1-8194-6a1e9fa55509">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Americano</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="ebd44e5e-884d-47d3-b468-d7132be3ae93">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Iced Coffee</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="534b8e20-6867-4fa8-8346-a0116d96e922">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Coffee with Milk</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€3.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Wine</h4>
<div class="menu-item" data-item-id="02c1416f-0943-4c0b-831f-661d27f194e2">
    <img src="https://images.unsplash.com/photo-1510812431401-41d2bd2722f3?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Red Wine</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€6.00 – €18.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="f92f8db1-3e3c-489d-92e3-d5abdbd973c4">
    
    <div class="menu-item-info">
      <div class="menu-item-name">White Wine</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€6.00 – €18.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="5ec72cf0-fdfa-46a1-92d4-05b64e0cf8d2">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Rose Wine</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€5.00 – €15.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="bb29249a-e0bf-4f1e-9cac-6ee12d4b0a75">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Cava</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€6.00 – €18.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Spirits &amp; Liqueur</h4>
<div class="menu-item" data-item-id="ebea571e-a312-4c27-a3e1-29a6cce08725">
    <img src="https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Mixed Drink</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€10.00</div>
      
    </div>
  </div>
<div class="menu-item" data-item-id="2413517e-584a-4727-a8e9-cfe351f21518">
    
    <div class="menu-item-info">
      <div class="menu-item-name">Ratafia with Ice</div>
      
    </div>
    <div class="menu-item-right">
      <div class="menu-item-price">€5.00</div>
      
    </div>
  </div>
<h4 class="menu-section-title">Beer</h4>
<div class="menu-item" data-item-id="c541dc78-81d5-4368-bd0e-d7d9e02849e5">
    <img src="https://images.unsplash.com/photo-1470338950318-40320a722782?w=400&amp;h=400&amp;fit=crop" alt="" class="menu-item-img" loading="lazy">
    <div class="menu-item-info">
      <div class="menu-item-name">Beer (on tap)</div>
      <div class="menu-item-desc">Craft beer on tap — check the board for today's selection.</div>
    </div>
    <div class="menu-item-right">
      
      
    </div>
  </div>
    </div>
  </div>
  

            <!-- Reviews -->
            

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

            <!-- Location Map -->
            <div class="section">
                <h2>Location</h2>
                <div style="border-radius:12px;overflow:hidden;border:1px solid var(--border-glass);margin-bottom:1rem;">
                  <iframe
                    src="https://maps.google.com/maps?q=90%20Avinguda%20Cavall%20Bernat%20del%2C%20Castell-Platja%20d'Aro%2C%2017250%2C%20Spain&output=embed&z=15"
                    width="100%" height="280" style="border:0;display:block;" loading="lazy"
                    referrerpolicy="no-referrer-when-downgrade" allowfullscreen></iframe>
                </div>
                <div class="cta-panel">
                  <a href="https://maps.google.com/?q=90%20Avinguda%20Cavall%20Bernat%20del%2C%20Castell-Platja%20d'Aro%2C%2017250%2C%20Spain" class="cta-btn cta-primary" data-cta="directions" target="_blank">Get Directions</a>
                </div>
              </div>

            <!-- Technologies -->
            

            <!-- Certifications -->
            

            <!-- Related domains -->
            

        </div>

        <!-- API Access -->
        

        <!-- Act 3: Verification Trust Card -->
        

        <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> <a href="/llms.txt?src=alt" data-cta="ai_version" style="display:inline-flex;align-items:center;gap:0.375rem;background:var(--bg-surface);color:var(--text-secondary);padding:0.5rem 1rem;border-radius:999px;font-size:0.8125rem;font-weight:600;text-decoration:none;border:1px solid var(--border-glass);margin-left:0.5rem;" title="Same site, formatted for AI assistants and crawlers">AI version &nearr;</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-13</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="craftroompda.com";
  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-"+"craftroompda.com";
  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">Jouw bestelling</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;">Totaal</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">Bestelling plaatsen</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;">Verder winkelen</button>
    <button class="variant-add-btn" id="cart-empty-btn" style="background:transparent;color:#dc2626;border:1px solid rgba(220,38,38,0.3);margin-top:0.5rem;">Mandje legen</button>
  </div>
</div>

<!-- Empty cart confirmation modal -->
<div class="variant-overlay" id="cart-empty-confirm-overlay">
  <div class="variant-sheet">
    <div class="variant-title">Mandje legen?</div>
    <p style="color:var(--text-secondary);margin:0 0 1rem 0;font-size:0.95rem;">Hiermee verwijder je alle items uit je bestelling.</p>
    <button class="variant-add-btn" id="cart-empty-confirm-btn" style="background:#dc2626;color:#fff;">Ja, mandje legen</button>
    <button class="variant-add-btn" id="cart-empty-cancel-btn" style="background:transparent;color:var(--text-secondary);border:1px solid var(--border-glass);margin-top:0.5rem;">Annuleren</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-empty-btn')?.addEventListener('click',function(){
    if(!cart.length)return;
    document.getElementById('cart-empty-confirm-overlay').classList.add('visible');
  });

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

  document.getElementById('cart-empty-confirm-btn')?.addEventListener('click',function(){
    cart=[];
    saveCart();
    updateBar();
    document.getElementById('cart-empty-confirm-overlay').classList.remove('visible');
    document.getElementById('cart-overlay').classList.remove('visible');
  });

  document.getElementById('cart-empty-confirm-overlay')?.addEventListener('click',function(e){
    if(e.target===this)this.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>