JEROME BAKER NY
Privacy Policy

Effective Date: April 16, 2025

This Privacy Policy describes how GGNYLMW Glass LLC d/b/a Jerome Baker NY (“Jerome Baker NY,” “we,” “us,” or “our”) collects, uses, and shares information about you when you visit our website (www.jeromebakerny.com) and purchase products from us (collectively, the “Services”). By using our Services, you agree to the practices described in this Privacy Policy.

1. Information We Collect

1.1 Information You Provide

  • Name, billing and shipping address, email address, and phone number
  • Payment information (processed securely through our payment processor; we do not store full card numbers)
  • Order history and transaction details
  • Communications you send us, including customer service inquiries

1.2 Information Collected Automatically
When you visit our website, we automatically collect certain technical information, including:

  • IP address and approximate location (city/state level)
  • Browser type and version, operating system, and device type
  • Pages visited, time spent on pages, and referring URLs
  • Cookie identifiers and similar tracking technologies (see Section 4)

1.3 Age Verification Information
Our site is intended for adults aged 21 and older. We collect date of birth or age confirmation at account creation and checkout to comply with applicable law. We retain this information only as long as necessary and do not use it for marketing purposes.

2. How We Use Your Information

We use the information we collect for the following purposes:

  • To process and fulfill your orders and communicate order status
  • To verify that you meet our age requirement of 21 years or older
  • To respond to your questions, requests, and customer service inquiries
  • To send transactional emails (order confirmation, shipping updates)
  • To send promotional emails and marketing communications, where you have opted in
  • To improve our website, products, and overall Services
  • To detect and prevent fraud, unauthorized transactions, and other illegal activity
  • To comply with applicable legal obligations

3. Sharing of Your Information

We do not sell your personal information. We may share your information with:

3.1 Service Providers
Third-party vendors who assist us in operating our website and delivering our Services, including payment processors, shipping carriers, email service providers, and website analytics providers. These parties are contractually obligated to protect your information and may only use it to provide services to us.

3.2 Legal Requirement
We may disclose your information if required to do so by law, court order, or governmental authority, or if we believe disclosure is necessary to protect the rights, property, or safety of Jerome Baker NY, our customers, or the public.

3.3 Business Transfers
In the event of a merger, acquisition, or sale of all or a portion of our assets, your information may be transferred as part of that transaction. We will notify you via email and/or prominent notice on our website of any change in ownership or use of your personal information.

4. Cookies and Tracking Technologies

We use cookies and similar technologies to enhance your experience on our website. Cookies are small data files stored on your device. We use:

  • Essential cookies: Required for the website to function (e.g., shopping cart, login session)
  • Analytics cookies: Help us understand how visitors use our site (e.g., Google Analytics)
  • Marketing cookies: Used to deliver relevant advertisements (only if you have opted in)

You can control cookies through your browser settings. Disabling certain cookies may affect the functionality of our website. For more information, please see our Cookie Notice (available at the footer of our website).

5. Age Restriction and Verification

Our Services are strictly intended for individuals who are 21 years of age or older. We do not knowingly collect personal information from individuals under 21. By using our Services, you represent and warrant that you are at least 21 years of age. We use third-party age verification tools to confirm eligibility where required. If we discover that we have collected information from a person under 21, we will promptly delete that information.

6. Data Retention

We retain personal information for as long as necessary to fulfill the purposes outlined in this Privacy Policy, including to satisfy legal, accounting, or reporting requirements. Typically, transaction records are retained for seven (7) years. Age verification records are retained for the period required by applicable law. You may request deletion of your account and associated data at any time (subject to legal retention obligations) by contacting us at the address below.

7. Your Rights

Depending on your state of residence, you may have the following rights regarding your personal information:

  • Access: Request a copy of the personal information we hold about you
  • Correction: Request that we correct inaccurate or incomplete information
  • Deletion: Request that we delete your personal information, subject to certain exceptions
  • Opt-Out: Opt out of marketing communications at any time by clicking “unsubscribe” in
    any email or contacting us directly
  • Portability: Receive your data in a structured, machine-readable format where applicable

To exercise any of these rights, please contact us at info@jeromebakerny.com. We will respond within 30 days. We will not discriminate against you for exercising your privacy rights.

8. Data Security

We implement commercially reasonable technical and organizational measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction. These include SSL encryption for data in transit, secure payment processing, and access controls. However, no method of transmission over the Internet or electronic storage is 100% secure. We cannot guarantee absolute security.

9. Third-Party Links

Our website may contain links to third-party websites. We are not responsible for the privacy practices or content of those sites. We encourage you to review the privacy policies of any third- party sites you visit.

10. Changes to This Policy

We may update this Privacy Policy from time to time. When we do, we will revise the Effective Date at the top of this page. If changes are material, we will notify you by email or by posting a prominent notice on our website. Your continued use of our Services after the effective date of any changes constitutes your acceptance of the revised Privacy Policy.

11. Contact Us

If you have questions or concerns about this Privacy Policy or our data practices, please contact us at:

GGNYLMW Glass LLC d/b/a Jerome Baker NY
Email: info@jeromebakerny.com
Website: www.jeromebakerny.com

Cotton Candy Kush

The Chosen Cut Flower, 7g

Cotton Candy Kush in the JB 7g jar. Hybrid · 7g · Tested 32.73% THC. Spun-sugar sweet nose, smooth hybrid body, and the loudest number in the drop. Cured slow, sealed in JBD glass. NY 2026 Drop 1 — limited run, once it's gone, it's gone.

LINEAGE

Detroit Runtz × Forbidden Runtz

THC RANGE

24–28%

GROWN

Kincardine, ON — Greenhouse

PROFILE

Gas · Grape · Candy

TERPENESS

Caryophyllene
Humulene
Limonene
Linalool

Cotton Candy Kush

The Chosen Cut Flower, 7g

Cotton Candy Kush in the JB 7g jar. Hybrid · 7g · Tested 32.73% THC. Spun-sugar sweet nose, smooth hybrid body, and the loudest number in the drop. Cured slow, sealed in JBD glass. NY 2026 Drop 1 — limited run, once it's gone, it's gone.

LINEAGE

Detroit Runtz × Forbidden Runtz

THC RANGE

24–28%

GROWN

Kincardine, ON — Greenhouse

PROFILE

Gas · Grape · Candy

TERPENESS

Caryophyllene
Humulene
Limonene
Linalool

<div style="max-width:400px;margin:20px auto;font-family:sans-serif;">
    <input type="text" id="jbd-code" placeholder="Enter your JBD code"
      style="width:100%;padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;margin-bottom:8px;">
    <button onclick="jbdCheck()"
      style="width:100%;padding:12px;background:
#DA2342;color:#fff;border:none;border-radius:6px;font-weight:bold;cursor
  :pointer;font-size:14px;">
      VERIFY CODE
    </button>
    <div id="jbd-result" style="margin-top:12px;text-align:center;font-size:14px;"></div>
  </div>
<script>
async function jbdCheck(){
  var c = document.getElementById('jbd-code').value.trim();
  if(!c) return;
  if(c !== 'CODETE$T') c = c.toUpperCase();
  document.getElementById('jbd-result').textContent = 'Checking...';
  
  try {
    var r = await fetch('https://jbcustomer.cannacrypted.com/api/code/validate/' + encodeURIComponent(c));
    var d = await r.json();
    if(d.valid) {
      localStorage.setItem('jbd_verified', '1');
      localStorage.setItem('jbd_product', d.product || 'JBD');
      console.log('Verified! Redirecting...');
      setTimeout(() => {
        window.location.href = '/jbstore/';
      }, 500);
    } else {
      document.getElementById('jbd-result').innerHTML =
        '<span style="color:red;">✗ ' + (d.reason || 'Invalid or expired code') + '</span>';
    }
  } catch(e) {
    document.getElementById('jbd-result').textContent = 'Error checking code. Try again.';
  }
}

// AUTO-VERIFY - check immediately if code in URL
(function() {
  const urlParams = new URLSearchParams(window.location.search);
  const code = urlParams.get('code');
  
  if(code) {
    console.log('Code found in URL:', code);
    // Fill the input
    document.getElementById('jbd-code').value = code;
    // Auto-submit immediately
    jbdCheck();
  }
})();
</script>
<div style="max-width:400px;margin:20px auto;font-family:sans-serif;">
    <input type="text" id="jbd-code" placeholder="Enter your JBD code"
      style="width:100%;padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;margin-bottom:8px;">
    <button onclick="jbdCheck()"
      style="width:100%;padding:12px;background:
#DA2342;color:#fff;border:none;border-radius:6px;font-weight:bold;cursor
  :pointer;font-size:14px;">
      VERIFY CODE
    </button>
    <div id="jbd-result" style="margin-top:12px;text-align:center;font-size:14px;"></div>
  </div>
<script>
async function jbdCheck(){
  var c = document.getElementById('jbd-code').value.trim();
  if(!c) return;
  if(c !== 'CODETE$T') c = c.toUpperCase();
  document.getElementById('jbd-result').textContent = 'Checking...';
  
  try {
    var r = await fetch('https://jbcustomer.cannacrypted.com/api/code/validate/' + encodeURIComponent(c));
    var d = await r.json();
    if(d.valid) {
      localStorage.setItem('jbd_verified', '1');
      localStorage.setItem('jbd_product', d.product || 'JBD');
      console.log('Verified! Redirecting...');
      setTimeout(() => {
        window.location.href = '/jbstore/';
      }, 500);
    } else {
      document.getElementById('jbd-result').innerHTML =
        '<span style="color:red;">✗ ' + (d.reason || 'Invalid or expired code') + '</span>';
    }
  } catch(e) {
    document.getElementById('jbd-result').textContent = 'Error checking code. Try again.';
  }
}

// AUTO-VERIFY - check immediately if code in URL
(function() {
  const urlParams = new URLSearchParams(window.location.search);
  const code = urlParams.get('code');
  
  if(code) {
    console.log('Code found in URL:', code);
    // Fill the input
    document.getElementById('jbd-code').value = code;
    // Auto-submit immediately
    jbdCheck();
  }
})();
</script>
<div style="max-width:400px;margin:20px auto;font-family:sans-serif;">
    <input type="text" id="jbd-code" placeholder="Enter your JBD code"
      style="width:100%;padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;margin-bottom:8px;">
    <button onclick="jbdCheck()"
      style="width:100%;padding:12px;background:
#DA2342;color:#fff;border:none;border-radius:6px;font-weight:bold;cursor
  :pointer;font-size:14px;">
      VERIFY CODE
    </button>
    <div id="jbd-result" style="margin-top:12px;text-align:center;font-size:14px;"></div>
  </div>
<script>
async function jbdCheck(){
  var c = document.getElementById('jbd-code').value.trim();
  if(!c) return;
  if(c !== 'CODETE$T') c = c.toUpperCase();
  document.getElementById('jbd-result').textContent = 'Checking...';
  
  try {
    var r = await fetch('https://jbcustomer.cannacrypted.com/api/code/validate/' + encodeURIComponent(c));
    var d = await r.json();
    if(d.valid) {
      localStorage.setItem('jbd_verified', '1');
      localStorage.setItem('jbd_product', d.product || 'JBD');
      console.log('Verified! Redirecting...');
      setTimeout(() => {
        window.location.href = '/jbstore/';
      }, 500);
    } else {
      document.getElementById('jbd-result').innerHTML =
        '<span style="color:red;">✗ ' + (d.reason || 'Invalid or expired code') + '</span>';
    }
  } catch(e) {
    document.getElementById('jbd-result').textContent = 'Error checking code. Try again.';
  }
}

// AUTO-VERIFY - check immediately if code in URL
(function() {
  const urlParams = new URLSearchParams(window.location.search);
  const code = urlParams.get('code');
  
  if(code) {
    console.log('Code found in URL:', code);
    // Fill the input
    document.getElementById('jbd-code').value = code;
    // Auto-submit immediately
    jbdCheck();
  }
})();
</script>
<div style="max-width:400px;margin:20px auto;font-family:sans-serif;">
    <input type="text" id="jbd-code" placeholder="Enter your JBD code"
      style="width:100%;padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;margin-bottom:8px;">
    <button onclick="jbdCheck()"
      style="width:100%;padding:12px;background:
#DA2342;color:#fff;border:none;border-radius:6px;font-weight:bold;cursor
  :pointer;font-size:14px;">
      VERIFY CODE
    </button>
    <div id="jbd-result" style="margin-top:12px;text-align:center;font-size:14px;"></div>
  </div>
<script>
async function jbdCheck(){
  var c = document.getElementById('jbd-code').value.trim();
  if(!c) return;
  if(c !== 'CODETE$T') c = c.toUpperCase();
  document.getElementById('jbd-result').textContent = 'Checking...';
  
  try {
    var r = await fetch('https://jbcustomer.cannacrypted.com/api/code/validate/' + encodeURIComponent(c));
    var d = await r.json();
    if(d.valid) {
      localStorage.setItem('jbd_verified', '1');
      localStorage.setItem('jbd_product', d.product || 'JBD');
      console.log('Verified! Redirecting...');
      setTimeout(() => {
        window.location.href = '/jbstore/';
      }, 500);
    } else {
      document.getElementById('jbd-result').innerHTML =
        '<span style="color:red;">✗ ' + (d.reason || 'Invalid or expired code') + '</span>';
    }
  } catch(e) {
    document.getElementById('jbd-result').textContent = 'Error checking code. Try again.';
  }
}

// AUTO-VERIFY - check immediately if code in URL
(function() {
  const urlParams = new URLSearchParams(window.location.search);
  const code = urlParams.get('code');
  
  if(code) {
    console.log('Code found in URL:', code);
    // Fill the input
    document.getElementById('jbd-code').value = code;
    // Auto-submit immediately
    jbdCheck();
  }
})();
</script>

Cotton Candy Kush BOX Set

The Complete Drop Box Set

Hybrid drop in box form: 7g Cotton Candy Kush jar, pattern-matched papers + matches, custom Clearboy with blue accents. Hybrid · 7g flower · Tested 32.73% THC. Hand-numbered presentation box. LE 250 — once these are gone, they're gone.

GLASS

Yellow Custom Clearboy

FLOWER

7g Cotton Candy Kush

EDITION

LE 250 · numbered

PROFILE

Grapefruit · Diesel · Lime

Cotton Candy Kush Box Set

The Complete Drop Box Set

Hybrid drop in box form: 7g Cotton Candy Kush jar, pattern-matched papers + matches, custom Clearboy with blue accents. Hybrid · 7g flower · Tested 32.73% THC. Hand-numbered presentation box. LE 250 — once these are gone, they're gone.

GLASS

Yellow Custom Clearboy

FLOWER

7g Cotton Candy Kush

EDITION

LE 250 · numbered

PROFILE

Grapefruit · Diesel · Lime

NYC Sour Diesel Box Set

The Complete Drop Box Set

Sativa drop, full set: 7g NYC Sour D, JB-pattern papers + matches, custom Clearboy with yellow accents. Sativa · 7g flower · Tested 26.58% THC. East Coast lift in a hand-numbered box. LE 250 — collector territory once it sells through.

GLASS

Blue Custom Clearboy

FLOWER

7g Double Runtz

EDITION

LE 250 · numbered

PROFILE

Gas · Grape · Candy

NYC Sour Diesel Box Set

The Complete Drop Box Set

Sativa drop, full set: 7g NYC Sour D, JB-pattern papers + matches, custom Clearboy with yellow accents. Sativa · 7g flower · Tested 26.58% THC. East Coast lift in a hand-numbered box. LE 250 — collector territory once it sells through.

GLASS

Blue Custom Clearboy

FLOWER

7g Double Runtz

EDITION

LE 250 · numbered

PROFILE

Gas · Grape · Candy

Cherry Gushers Box Set

The Complete Drop Box Set

The full Indica drop in one box: 7g Cherry Gushers jar, JB-pattern rolling papers + matchbook, custom Clearboy with red drop accents. Indica · 7g flower · Tested 26.54% THC. Hand-numbered, sealed, packed in a presentation box you'll keep. LE 250 — once they're out, they're out.

GLASS

Red Custom Clearboy

FLOWER

7g Cherry Gushers

EDITION

LE 250 · numbered

PROFILE

Cherry · Tropical · Gas

CHERRY GUSHERS BOX SET

The Complete Drop Box Set

The full Indica drop in one box: 7g Cherry Gushers jar, JB-pattern rolling papers + matchbook, custom Clearboy with red drop accents. Indica · 7g flower · Tested 26.54% THC. Hand-numbered, sealed, packed in a presentation box you'll keep. LE 250 — once they're out, they're out.

GLASS

Red Custom Clearboy

FLOWER

7g Cherry Gushers

EDITION

LE 250 · numbered

PROFILE

Cherry · Tropical · Gas

GRAPE NANNA

Ready To Fire Preroll, 1g

Grape Nana one-gram pre-roll. Concord grape sweetness, sleepy purple finish. Roll-up-and-out energy. Paper-matched to the JB Indica drop. Tested 32.42% THC. NY 2026 Drop 1, single batch — won't be re-run.

LINEAGE

Banana OG × Grape Pie BX

THC RANGE

28-32%

AWARDS

Leafly Strain of the Year ’24

PROFILE

Grape · Banana · Cream

TERPENESS

Myrcene
Linalool
Caryophyllene

GRAPE NANNA

Ready To Fire Preroll, 1g

Grape Nana one-gram pre-roll. Concord grape sweetness, sleepy purple finish. Roll-up-and-out energy. Paper-matched to the JB Indica drop. Tested 32.42% THC. NY 2026 Drop 1, single batch — won't be re-run.

LINEAGE

Banana OG × Grape Pie BX

THC RANGE

28-32%

AWARDS

Leafly Strain of the Year ’24

PROFILE

Grape · Banana · Cream

TERPENESS

Myrcene
Linalool
Caryophyllene

SUPER BOOF ROLL

Ready To Fire Preroll, 1g

Super Boof one-gram pre-roll. Citrus on the front, OG funk on the finish. Even keel — productive without losing your head. Hand-rolled, paper-matched to the JB Hybrid drop. Tested 28.84% THC. NY 2026 Drop 1, single batch — won't be re-run.

LINEAGE

Black Cherry Punch x Tropicana Cookies

THC RANGE

28-32%

AWARDS

Leafly Strain of the Year ’24

PROFILE

Berry – Citrus – Funk

TERPENESS

Limonene
Caryophyllene
Linalool

SUPER BOOF ROLL

Ready To Fire Preroll, 1g

Super Boof one-gram pre-roll. Citrus on the front, OG funk on the finish. Even keel — productive without losing your head. Hand-rolled, paper-matched to the JB Hybrid drop. Tested 28.84% THC. NY 2026 Drop 1, single batch — won't be re-run.

LINEAGE

Black Cherry Punch x Tropicana Cookies

THC RANGE

28-32%

AWARDS

Leafly Strain of the Year ’24

PROFILE

Berry – Citrus – Funk

TERPENESS

Limonene
Caryophyllene
Linalool

NYC Sour Diesel

Ready To Fire Preroll, 1g

NYC Sour Diesel one-gram pre-roll. Fuel-forward with a citrus snap and a clean cerebral lift — the borough in a paper. Hand-rolled, paper-matched to the JB Sativa drop. Tested 23.94% THC. NY 2026 Drop 1, single batch — won't be re-run.

LINEAGE

Notorious THC × Very Cherry

THC RANGE

26-30%

AWARDS

Leafly Strain of the Year ’24

PROFILE

Jelly · Cherry · Cream

TERPENESS

Terpinolene
Caryophyllene
Myrcene

NYC Sour Diesel

Ready To Fire Preroll, 1g

NYC Sour Diesel one-gram pre-roll. Fuel-forward with a citrus snap and a clean cerebral lift — the borough in a paper. Hand-rolled, paper-matched to the JB Sativa drop. Tested 23.94% THC. NY 2026 Drop 1, single batch — won't be re-run.

LINEAGE

Notorious THC × Very Cherry

THC RANGE

26-30%

AWARDS

Leafly Strain of the Year ’24

PROFILE

Jelly · Cherry · Cream

TERPENESS

Terpinolene
Caryophyllene
Myrcene

NYC Diesel

The Chosen Cut Flower, 7g

NYC Sour D in the JB jar — the borough in a quarter ounce. Fuel forward, citrus snap on the back end, the kind of cerebral lift that gets you out the door. East Coast cure, NY 2026 Drop 1 — limited run.

LINEAGE

Mexican × Afghani heritage

THC RANGE

20–25%

Breeder Est.

Tacoma, WA — 2008

PROFILE

Grapefruit · Diesel · Lime

TERPENESS

Caryophyllene
Limonene
Myrcene

NYC Diesel

The Chosen Cut Flower, 7g

NYC Sour D in the JB jar — the borough in a quarter ounce. Fuel forward, citrus snap on the back end, the kind of cerebral lift that gets you out the door. East Coast cure, NY 2026 Drop 1 — limited run.

LINEAGE

Mexican × Afghani heritage

THC RANGE

20–25%

BREEDER EST.

Tacoma, WA — 2008

PROFILE

Grapefruit · Diesel · Lime

TERPENESS

Caryophyllene
Limonene
Myrcene

Double Runtz

The Chosen Cut Flower, 7g

Double Runtz in the JB 7g jar. Hybrid · 7g · Tested 26.21% THC. Loud gas-sweet bouquet with a candy backbone. Balanced enough for a Sunday session, sturdy enough for a Friday night. NY 2026 Drop 1 — limited run.

LINEAGE

Detroit Runtz × Forbidden Runtz

THC RANGE

24–28%

GROWN

Kincardine, ON — Greenhouse

PROFILE

Gas · Grape · Candy

TERPENESS

Caryophyllene
Humulene
Limonene
Linalool

Double Runtz

The Chosen Cut Flower, 7g

Double Runtz in the JB 7g jar. Hybrid · 7g · Tested 26.21% THC. Loud gas-sweet bouquet with a candy backbone. Balanced enough for a Sunday session, sturdy enough for a Friday night. NY 2026 Drop 1 — limited run.

LINEAGE

Detroit Runtz × Forbidden Runtz

THC RANGE

24–28%

GROWN

Kincardine, ON — Greenhouse

PROFILE

Gas · Grape · Candy

TERPENESS

Caryophyllene
Humulene
Limonene
Linalool

RL Haze

The Chosen Cut Flower, 7g

RL Haze, full classic. Spicy old-school sativa terps, lifted clear high, no wobble. The strain that built the Sativa lane — sealed the way Jerome would seal it. NY 2026 Drop 1 — limited run.

LINEAGE

Black Cherry Punch × Gushers

THC RANGE

18–22%

ORIGIN

Amsterdam, est. 1994

PROFILE

Spice · Citrus · Incense

TERPENESS

Terpinolene
Pinene
Ocimene

RL Haze

The Chosen Cut Flower, 7g

RL Haze, full classic. Spicy old-school sativa terps, lifted clear high, no wobble. The strain that built the Sativa lane — sealed the way Jerome would seal it. NY 2026 Drop 1 — limited run.

LINEAGE

Mex × Col × Thai × S. Indian

THC RANGE

18-22%

ORIGIN

Amsterdam, est. 1994

PROFILE

Spice · Citrus · Incense

TERPENESS

Terpinolene
Pinene
Ocimene

Cherry Gushers

The Chosen Cut Flower, 7g

Heavy-hitting Cherry Gushers in the JB 7g jar. Indica · 7g · Tested 26.54% THC. Sweet candy nose, deep purple floor — the kind of evening jar that makes a Tuesday feel like a holiday. Cured slow, sealed in JBD glass. NY 2026 Drop 1 — limited run, once it's gone, it's gone.

LINEAGE

Black Cherry Punch × Gushers

THC RANGE

28–32%

FLOWERING

70–75 days

PROFILE

Cherry · Tropical · Gas

TERPENESS

Caryophyllene
Limonene
Myrcene

Cherry Gushers

The Chosen Cut Flower, 7g

Heavy-hitting Cherry Gushers in the JB 7g jar. Indica · 7g · Tested 26.54% THC. Sweet candy nose, deep purple floor — the kind of evening jar that makes a Tuesday feel like a holiday. Cured slow, sealed in JBD glass. NY 2026 Drop 1 — limited run, once it's gone, it's gone.

LINEAGE

Black Cherry Punch × Gushers

THC RANGE

28-32%

FLOWERING

70–75 days

PROFILE

Cherry · Tropical · Gas

TERPENESS

Caryophyllene
Limonene
Myrcene

<div style="max-width:400px;margin:20px auto;font-family:sans-serif;">
    <input type="text" id="jbd-code" placeholder="Enter your JBD code"
      style="width:100%;padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;margin-bottom:8px;">
    <button onclick="jbdCheck()"
      style="width:100%;padding:12px;background:
#DA2342;color:#fff;border:none;border-radius:6px;font-weight:bold;cursor
  :pointer;font-size:14px;">
      VERIFY CODE
    </button>
    <div id="jbd-result" style="margin-top:12px;text-align:center;font-size:14px;"></div>
  </div>
<script>
async function jbdCheck(){
  var c = document.getElementById('jbd-code').value.trim();
  if(!c) return;
  if(c !== 'CODETE$T') c = c.toUpperCase();
  document.getElementById('jbd-result').textContent = 'Checking...';
  
  try {
    var r = await fetch('https://jbcustomer.cannacrypted.com/api/code/validate/' + encodeURIComponent(c));
    var d = await r.json();
    if(d.valid) {
      localStorage.setItem('jbd_verified', '1');
      localStorage.setItem('jbd_product', d.product || 'JBD');
      console.log('Verified! Redirecting...');
      setTimeout(() => {
        window.location.href = '/jbstore/';
      }, 500);
    } else {
      document.getElementById('jbd-result').innerHTML =
        '<span style="color:red;">✗ ' + (d.reason || 'Invalid or expired code') + '</span>';
    }
  } catch(e) {
    document.getElementById('jbd-result').textContent = 'Error checking code. Try again.';
  }
}

// AUTO-VERIFY - check immediately if code in URL
(function() {
  const urlParams = new URLSearchParams(window.location.search);
  const code = urlParams.get('code');
  
  if(code) {
    console.log('Code found in URL:', code);
    // Fill the input
    document.getElementById('jbd-code').value = code;
    // Auto-submit immediately
    jbdCheck();
  }
})();
</script>