Urth 55mm ND2 32 (1 5 Stop) Variable ND Lens Filter (Plus+) The professional ND2 32 Variable ND Filter Plus+ offers 1 to 5 f stops of light reduction, giving you more creative control in low variable light.
By blocking 1 to 5 f stops, you can use larger apertures in low variable light for shallow depth of field effects, and slower shutter speeds for long exposure effects without overexposing your images. Videographers can use the ND2 32 Variable ND Filter Plus+ to create more cinematic effects in bright and variable light.
The Plus+ range has 20 layers of nano coating that make cleaning easier and offer better protection against water, oil and scratches. These layers also provide higher maximum light transmission and a more consistent transmission curve for more precise light reduction.
Professional German glass Leading German B270 SCHOTT optical glass features a 20 layer nano coating for better light transmission, better protection and easier cleaning.
Ultrathin edge Our deliberately designed ultra slim edge prevents vignetting and our durable magnalium is guaranteed for life.
Double thread All our filters have a double thread for stacking filters or using lens caps with screw mounting.
Positive impact Urth's goal is to have a lasting positive impact on the planet. By consciously designing products that help people engage with nature and planting 1 tree for every product. Urth's mission is to plant 1 billion trees by 2032.
Conscious design There is a constant search for ways to minimise the negative impact on the planet we love. When new products are made, low impact materials are sought and designs are refined to minimise waste. All packaging is redesigned to remove all plastic, use recycled materials and ensure they are recyclable too. ,
Beautiful depth of field with larger apertures. Reduces 1to 5 f stops for stronger long exposures. Slow down your shutter for a more cinematic look Lifetime warranty
Specifikace
Značka
Urth
Používáme cookies. Díky nim vám náš eshop funguje tak, jak má. Pomůžou vám zapamatovat nastavení jazyku, měny nebo adresy. Také vám díky nim doporučíme produkty, které jsou přesně pro vás. Více najdete v našich zásadách pro cookies.
function syncPiecesAndDeliveryToPava(scope) {
// scope = dokument / konkrétní produkt / konkrétní karta
const containers = scope.querySelectorAll('#product_list > li.p_cart_block, .p_detail_right, body');
// Helper: vytáhni datum z .delivery-estimate (např. "Obdržíte do 20.01")
function extractDateText(deliveryEl) {
if (!deliveryEl) return '';
const t = (deliveryEl.textContent || '').trim();
const m = t.match(/(\d{2}\.\d{2})/);
return m ? m[1] : '';
}
// Helper: vytáhni kusy z textu dostupnosti ("Skladem 1 ks" / "Centrální sklad 8 ks")
function extractPiecesFromAvailabilityText(text) {
const t = (text || '').replace(/\s+/g, ' ').trim();
const m = t.match(/(\d+)\s*ks/i);
return m ? m[1] : '';
}
// Pro každý produkt/kartu zkus najít zdroje a cíle uvnitř
const productRoots = scope.querySelectorAll('#product_list > li.p_cart_block, .p_detail_right');
productRoots.forEach(root => {
const delivery = root.querySelector('.delivery-estimate');
const deliveryDDMM = extractDateText(delivery);
if (!deliveryDDMM) return; // když není datum, nic neduplikuj
// Zdroje dostupnosti (detail i výpis)
const availabilityEl =
root.querySelector('.p_detail_availability [data-variant="availability"]') ||
root.querySelector('.p_block .p_g.p_action') ||
root.querySelector('.p_g[data-variant="availability"]') ||
root.querySelector('.p_g.p_action');
const pieces = extractPiecesFromAvailabilityText(availabilityEl ? availabilityEl.textContent : '');
// Cíl: modul p_ava (může být div nebo span, proto obecně)
const pava =
root.querySelector('div.p_ava.p_g.p_action') ||
root.querySelector('span.p_ava.p_g.p_action') ||
root.querySelector('.p_ava.p_g.p_action');
if (!pava) return;
// Sestav text: zachovej původní text a jen doplň ks + datum do druhého řádku
// 1) doplnění ks (pokud máš)
const baseText = (pava.textContent || '').trim() || (availabilityEl ? availabilityEl.textContent.trim() : '');
const baseNoPieces = baseText.replace(/\s*\d+\s*ks\b/ig, '').trim();
const piecesPart = pieces ? ` ${pieces} ks` : '';
const line1 = `${baseNoPieces}${piecesPart}`.trim();
// 2) datum na nový řádek (stejný pattern jako u detailu)
const line2 = `Obdržíte do ${deliveryDDMM}`;
// aby se to neduplikovalo opakovaně:
// držíme si vlastní span uvnitř pava
let extra = pava.querySelector('.pava-extra');
if (!extra) {
extra = document.createElement('span');
extra.className = 'pava-extra';
extra.style.display = 'block'; // jen layout, bez stylování barvy apod.
pava.appendChild(extra);
}
// nastav texty
pava.childNodes.forEach(n => {
// necháme jen text node prvního řádku + extra span
// (jednoduše: přepíšeme obsah bezpečně)
});
// bezpečný přepis: nejdřív vyčisti pava, pak vlož 1. řádek + extra
pava.textContent = line1;
pava.appendChild(extra);
extra.textContent = line2;
});
}
// zavolej po tvém hlavním výpočtu / vložení .delivery-estimate
syncPiecesAndDeliveryToPavaModule();
function syncPiecesAndDeliveryToPavaModule(){
syncPiecesAndDeliveryToPava(document);
}