NEWS Yemen Haraz is back, dried in the mountain sun ◆ Roasted every week, sent out within two days ◆ Free delivery on orders over $50 ◆ New: cold brew for the summer nightsNEWS Yemen Haraz is back, dried in the mountain sun ◆ Roasted every week, sent out within two days ◆ Free delivery on orders over $50 ◆ New: cold brew for the summer nights
NEWS Yemen Haraz is back, dried in the mountain sun ◆ Roasted every week, sent out within two days ◆ Free delivery on orders over $50 ◆ New: cold brew for the summer nightsNEWS Yemen Haraz is back, dried in the mountain sun ◆ Roasted every week, sent out within two days ◆ Free delivery on orders over $50 ◆ New: cold brew for the summer nights
NEWS Yemen Haraz is back, dried in the mountain sun ◆ Roasted every week, sent out within two days ◆ Free delivery on orders over $50 ◆ New: cold brew for the summer nightsNEWS Yemen Haraz is back, dried in the mountain sun ◆ Roasted every week, sent out within two days ◆ Free delivery on orders over $50 ◆ New: cold brew for the summer nights
/
0 ? -0.25 : 0.25;
const oldScale = zoomScale;
zoomScale = Math.max(1, Math.min(zoomMaxScale, zoomScale + delta));
if (oldScale === 1 && zoomScale > 1) {
const r = $el.getBoundingClientRect();
const cx = $event.clientX - (r.left + r.width/2);
const cy = $event.clientY - (r.top + r.height/2);
zoomPanX = -cx * (zoomScale-1)/zoomScale;
zoomPanY = -cy * (zoomScale-1)/zoomScale;
} else if (zoomScale > 1) {
zoomPanX = zoomPanX * (zoomScale / oldScale);
zoomPanY = zoomPanY * (zoomScale / oldScale);
}
if (zoomScale <= 1) { resetZoom(); } else { clampPan(); }
"
class="relative w-full h-full flex items-center justify-center p-4 [touch-action:none]"
:class="zoomScale > 1 ? (zoomPanning ? 'cursor-grabbing' : 'cursor-grab') : (modalTotal > 1 ? (modalDragging ? 'cursor-grabbing' : 'cursor-grab') : '')"
@mousedown="modalDragStart($event)"
@mousemove="modalDragMove($event)"
@mouseup="modalDragEnd($event)"
@mouseleave="modalDragEnd($event)"
@touchstart="modalDragStart($event)"
@touchmove="modalDragMove($event)"
@touchend="modalDragEnd($event)"
:style="modalDragOffset ? `transform: translateX(${modalDragOffset}px); transition: none;` : 'transition: transform 0.2s ease-out;'">
measureZoomCeiling($el))"
@click.stop
@dblclick.stop.prevent="if (lastInputWasTouch) return; zoomAnimating = true; if (zoomScale > 1) { resetZoom(); } else { const r = $el.getBoundingClientRect(); const cx = $event.clientX - (r.left + r.width/2); const cy = $event.clientY - (r.top + r.height/2); zoomScale = Math.min(2.5, zoomMaxScale); zoomPanX = -cx * (zoomScale-1)/zoomScale; zoomPanY = -cy * (zoomScale-1)/zoomScale; clampPan(); } setTimeout(() => { zoomAnimating = false; }, 300);"
draggable="false"
:style="modalActive === largeIdx
? 'position:relative;transform: scale(' + zoomScale + ') translate(' + (zoomPanX / zoomScale) + 'px, ' + (zoomPanY / zoomScale) + 'px); transform-origin: center center; will-change: transform; transition: ' + (zoomAnimating ? 'transform 0.3s ease-out' : (zoomScale > 1 ? 'none' : 'transform 0.2s ease-out')) + ';'
: ''" />
Yemen Haraz, Natural 250 g
Demo ProductDried fruit, cardamom and dark chocolate
From the terraced mountains of Haraz, dried whole in the sun the way Yemeni coffee has been for centuries. Complex, winey and deeply sweet.
| Category | Specialty Coffee |
|---|---|
| SKU | DEMO-86D8A35F |
No reviews yet. Be the first to review this product!
Login to write a review
Related Products
$29
© 2026 سمر. All rights reserved.