{"title":"Product Name HOSHINOEN","description":"\u003c!-- ===================================================== MatchaJP | HOSHINOEN Collection Top (HTML only) - Keep HOSHINOEN item cards - Show alternatives ONLY when most items are sold out (JS detection) - Full-width breakout included ===================================================== --\u003e \u003c!-- ===== Alternatives (hidden by default; shown by JS when sold out) ===== --\u003e \u003cdiv id=\"mj-hoshi-alt\" class=\"mj-alt-breakout\" style=\"display:none\" aria-label=\"Hoshinoen sold out alternatives\"\u003e \u003cdiv class=\"mj-alt-wrap\"\u003e \u003cdiv class=\"mj-alt-inner\"\u003e \u003cdiv class=\"mj-alt-head\"\u003e \u003cdiv class=\"mj-alt-title\"\u003e \u003cspan class=\"mj-alt-h\"\u003eHOSHINOEN sold out?\u003c\/span\u003e \u003cspan class=\"mj-alt-sub\"\u003eTry these Yame alternatives before you leave.\u003c\/span\u003e \u003c\/div\u003e \u003cspan class=\"mj-alt-badge\"\u003eMatchaJP Pick\u003c\/span\u003e \u003c\/div\u003e \u003cdiv class=\"mj-alt-grid\"\u003e \u003c!-- Card 1 --\u003e \u003ca class=\"mj-alt-card\" href=\"href=\"\u003e \u003cdiv class=\"mj-alt-media\"\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0085\/9681\/5931\/files\/image_4.jpg?v=1769579706\" alt=\"Saemidori First Harvest 100g\" loading=\"lazy\"\u003e \u003c\/div\u003e \u003cdiv class=\"mj-alt-body\"\u003e \u003cdiv class=\"mj-alt-kicker\"\u003eYame, Japan ・ Single-cultivar\u003c\/div\u003e \u003cdiv class=\"mj-alt-name\"\u003eSaemidori (First Harvest) 100g\u003c\/div\u003e \u003cul class=\"mj-alt-points\"\u003e \u003cli\u003eNutty umami, low bitterness\u003c\/li\u003e \u003cli\u003e100g pack for great value\u003c\/li\u003e \u003cli\u003eGreat for lattes \u0026amp; usucha\u003c\/li\u003e \u003c\/ul\u003e \u003cdiv class=\"mj-alt-cta\"\u003eView Saemidori 100g →\u003c\/div\u003e \u003c\/div\u003e \u003c\/a\u003e \u003c!-- Card 2 --\u003e \u003ca class=\"mj-alt-card\" href=\"href=\"\u003e \u003cdiv class=\"mj-alt-media\"\u003e \u003cimg src=\"https:\/\/www.matchajp.net\/cdn\/shop\/files\/tsujiri-matcha-green-tea-fukuoka-yame-hoshi-no-tsumugi-30g-pack-4847577.jpg\" alt=\"TSUJIRI Hoshi-no-Tsumugi 30g\" loading=\"lazy\"\u003e \u003c\/div\u003e \u003cdiv class=\"mj-alt-body\"\u003e \u003cdiv class=\"mj-alt-kicker\"\u003eYame, Japan ・ Easy to try\u003c\/div\u003e \u003cdiv class=\"mj-alt-name\"\u003eTSUJIRI “Hoshi-no-Tsumugi” 30g\u003c\/div\u003e \u003cul class=\"mj-alt-points\"\u003e \u003cli\u003eSmaller pack = easy first buy\u003c\/li\u003e \u003cli\u003eBalanced taste for daily matcha\u003c\/li\u003e \u003cli\u003ePerfect for beginners\u003c\/li\u003e \u003c\/ul\u003e \u003cdiv class=\"mj-alt-cta\"\u003eView 30g Starter →\u003c\/div\u003e \u003c\/div\u003e \u003c\/a\u003e \u003c\/div\u003e \u003cdiv class=\"mj-alt-foot\"\u003e \u003cspan class=\"mj-alt-note\"\u003e HOSHINOEN matcha often sells out quickly. These are our closest picks when it’s unavailable. \u003c\/span\u003e \u003c\/div\u003e \u003c\/div\u003e \u003c\/div\u003e \u003c\/div\u003e \u003c!-- ===== Existing HOSHINOEN cards (keep) ===== --\u003e \u003cdiv class=\"mj-wrap\" id=\"mj-hoshi-cards\"\u003e \u003cdiv class=\"mj-intro\"\u003e \u003ch2\u003eHOSHINOEN Matcha\u003c\/h2\u003e \u003cp\u003eHOSHINOEN is a matcha producer based in Yame and Hoshino, Japan. Known for its signature nutty flavor, HOSHINOEN matcha is highly regarded by tea lovers around the world.\u003c\/p\u003e \u003c\/div\u003e \u003cdiv class=\"mj-grid\"\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/seijyu\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0085\/9681\/5931\/files\/seijyu-main-600_378a03c9-b719-4332-87b9-1a0256228b31_480x480.jpg\" alt=\"SEIJYU\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e \u003cdiv class=\"mj-name\"\u003eSEIJYU\u003c\/div\u003e \u003cp class=\"mj-mini\"\u003eView collection\u003c\/p\u003e \u003c\/div\u003e \u003c\/a\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/seihou\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0085\/9681\/5931\/files\/main-h-seihou_480x480.jpg\" alt=\"SEIHOU\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e\u003cdiv class=\"mj-name\"\u003eSEIHOU\u003c\/div\u003e\u003c\/div\u003e \u003c\/a\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/ikenoshiro\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0085\/9681\/5931\/files\/ike-600-main_480x480.jpg\" alt=\"IKE-NO-SHIRO\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e\u003cdiv class=\"mj-name\"\u003eIKE-NO-SHIRO\u003c\/div\u003e\u003c\/div\u003e \u003c\/a\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/hoshinotsuyu\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0085\/9681\/5931\/files\/htsuyu-main-600_480x480.jpg\" alt=\"HOSHI-NO-TSUYU\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e\u003cdiv class=\"mj-name\"\u003eHOSHI-NO-TSUYU\u003c\/div\u003e\u003c\/div\u003e \u003c\/a\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/yamenotsuyu\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/www.matchajp.net\/cdn\/shop\/files\/ytsuyu-main-600.jpg\" alt=\"YAME-NO-TSUYU\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e\u003cdiv class=\"mj-name\"\u003eYAME-NO-TSUYU\u003c\/div\u003e\u003c\/div\u003e \u003c\/a\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/yamenohana\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/www.matchajp.net\/cdn\/shop\/files\/matcha-green-tea-powder-ceremonial-grade-hoshino-seichaenyame-no-hana40-g-2126557.jpg\" alt=\"YAME-NO-HANA\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e\u003cdiv class=\"mj-name\"\u003eYAME-NO-HANA\u003c\/div\u003e\u003c\/div\u003e \u003c\/a\u003e \u003ca class=\"mj-card\" href=\"\/en-ca\/collections\/mokuren\"\u003e \u003cdiv class=\"mj-img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/www.matchajp.net\/cdn\/shop\/files\/matcha-green-tea-powder-culinary-grade-hoshino-seichaenmokuren-100g-pack-6756586.jpg\" alt=\"MOKUREN\"\u003e\u003c\/div\u003e \u003cdiv class=\"mj-body\"\u003e\u003cdiv class=\"mj-name\"\u003eMOKUREN\u003c\/div\u003e\u003c\/div\u003e \u003c\/a\u003e \u003c\/div\u003e \u003cdiv class=\"mj-cta\"\u003e \u003cp\u003eLooking for matcha beyond HOSHINOEN?\u003c\/p\u003e \u003ca class=\"mj-btn\" href=\"https:\/\/www.matchajp.net\/pages\/matcha-brands\"\u003eExplore Other Matcha Brands →\u003c\/a\u003e \u003c\/div\u003e \u003c\/div\u003e \u003cstyle\u003e \/* ====== Cards block ====== *\/ .mj-wrap{ width:90%;max-width:1100px;margin:0 auto;padding:24px 0 12px; font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;color:#1f2937; } .mj-intro{max-width:820px;margin:0 auto 26px;text-align:center;} .mj-intro h2{font-size:22px;font-weight:800;letter-spacing:.4px;margin:0 0 10px;color:#1f3a2e;} .mj-intro p{margin:0;font-size:14px;line-height:1.8;color:#4b6358;} .mj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;} .mj-card{display:block;text-decoration:none!important;background:#fff;border:1px solid rgba(31,58,46,.14);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:all .18s ease;} .mj-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.10);border-color:rgba(31,58,46,.28);} .mj-img{width:100%;aspect-ratio:1\/1;background:#f3f4f6;} .mj-img img{width:100%;height:100%;object-fit:cover;display:block;} .mj-body{padding:14px 14px 16px;} .mj-name{font-size:16px;font-weight:800;letter-spacing:.3px;margin:0 0 6px;color:#1f3a2e;} .mj-mini{font-size:13px;margin:0;color:#5f766b;} .mj-cta{margin:36px auto 0;padding:28px 20px;border-radius:20px;border:1px solid rgba(31,58,46,.18); background:linear-gradient(180deg, rgba(244,249,246,.98), rgba(232,242,237,.98));text-align:center;} .mj-cta p{margin:0 0 14px;font-size:14px;color:#4b6358;letter-spacing:.2px;} .mj-btn{display:block;width:100%;max-width:520px;margin:0 auto;padding:15px 18px;border-radius:14px;font-weight:800;font-size:15px;letter-spacing:.3px; text-decoration:none!important;color:#1f3a2e;background:#fff;border:1px solid rgba(31,58,46,.35);box-shadow:0 10px 26px rgba(0,0,0,.08);transition:all .2s ease;} .mj-btn:hover{transform:translateY(-1px);background:#f4f8f6;box-shadow:0 14px 34px rgba(0,0,0,.12);} @media (max-width:980px){.mj-grid{grid-template-columns:repeat(2,1fr);}} @media (max-width:560px){.mj-grid{grid-template-columns:repeat(2,1fr);gap:12px;}.mj-name{font-size:14px;}.mj-mini{display:none;}.mj-intro h2{font-size:20px;}} \/* ====== Alternatives block (full-width breakout) ====== *\/ .mj-alt-breakout{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;} .mj-alt-wrap{max-width:1100px;margin:12px auto 6px;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;color:#1f2937;} .mj-alt-inner{background:linear-gradient(90deg, rgba(14,143,105,.07), rgba(14,143,105,.02));border:1px solid rgba(14,143,105,.18);border-radius:18px;padding:14px;box-shadow:0 10px 22px rgba(0,0,0,.06);} .mj-alt-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;} .mj-alt-h{display:block;font-size:18px;font-weight:900;line-height:1.2;} .mj-alt-sub{display:block;font-size:13px;color:#4b5563;margin-top:3px;line-height:1.3;} .mj-alt-badge{font-size:12px;font-weight:800;color:#0e8f69;background:rgba(14,143,105,.10);border:1px solid rgba(14,143,105,.20);padding:6px 10px;border-radius:999px;white-space:nowrap;} .mj-alt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;} .mj-alt-card{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:stretch;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:12px;text-decoration:none;color:inherit;transition:.12s;} .mj-alt-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.10);border-color:rgba(14,143,105,.35);} .mj-alt-media{border-radius:14px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;min-height:140px;} .mj-alt-media img{width:100%;height:100%;object-fit:cover;display:block;} .mj-alt-kicker{font-size:12px;color:#6b7280;font-weight:800;margin-bottom:6px;} .mj-alt-name{font-size:14px;font-weight:900;line-height:1.25;margin-bottom:8px;} .mj-alt-points{margin:0 0 10px;padding-left:18px;color:#374151;font-size:13px;line-height:1.45;} .mj-alt-cta{display:inline-block;font-size:13px;font-weight:900;color:#fff;background:#0e8f69;padding:10px 12px;border-radius:12px;} .mj-alt-note{display:block;font-size:12px;color:#6b7280;line-height:1.4;} @media (max-width:990px){.mj-alt-card{grid-template-columns:140px 1fr;}} @media (max-width:560px){ .mj-alt-wrap{max-width:92%;padding:0;margin:10px auto 6px;} .mj-alt-inner{padding:12px;border-radius:16px;} .mj-alt-grid{grid-template-columns:1fr;} .mj-alt-card{grid-template-columns:120px 1fr;padding:10px;border-radius:14px;} .mj-alt-media{min-height:110px;} .mj-alt-h{font-size:16px;} .mj-alt-cta{padding:9px 10px;} } \u003c\/style\u003e \u003cscript\u003e \/* Show alt block when collection page is mostly sold out. Detection strategy (Dawn-compatible): - Count product cards in main collection grid - Count how many \"Sold out\" buttons\/labels exist - If sold-out ratio \u003e= threshold, show alt block *\/ (function(){ function run(){ var alt = document.getElementById('mj-hoshi-alt'); if(!alt) return; \/\/ Try common Dawn selectors for product grid\/cards var grid = document.querySelector('.product-grid') || document.querySelector('ul#product-grid') || document.querySelector('.collection .grid') || document.querySelector('[data-product-grid]') || document.querySelector('main'); if(!grid) return; \/\/ product cards var cards = grid.querySelectorAll('.card, .product-card, li.grid__item, .grid__item'); if(!cards || cards.length === 0) return; \/\/ sold out signals var soldOutEls = grid.querySelectorAll( '[aria-disabled=\"true\"], .sold-out, .badge--sold-out, .price__badge-sold-out, .card__badge, button[name=\"add\"][disabled]' ); \/\/ More robust: also count literal \"Sold out\" text in buttons\/badges var textSoldOutCount = 0; cards.forEach(function(c){ var t = (c.innerText || '').toLowerCase(); if(t.includes('sold out')) textSoldOutCount++; }); var sold = Math.max(soldOutEls.length, textSoldOutCount); \/\/ Threshold: show if 70%+ sold out OR instock very low var ratio = sold \/ cards.length; if(ratio \u003e= 0.70){ alt.style.display = 'block'; }else{ alt.style.display = 'none'; } } if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', run); }else{ run(); } \/\/ Sometimes sections render after load (apps), re-check shortly setTimeout(run, 800); })(); \u003c\/script\u003e","products":[],"url":"https:\/\/www.matchajp.net\/en-ca\/collections\/product-name-hoshinoen.oembed","provider":"MatchaJP","version":"1.0","type":"link"}