, Urth 40.5mm Circular Polarizing (CPL) Lens Filter (Plus+) The CPL filter reduces reflections, increases colour saturation and contrast by removing polarised light. Polarised light can blur images with silvery reflected light and our CPL Polarising Filter Plus+ removes 99.9% of reflected light from water, glass and non metallic surfaces, revealing more vivid colours.
The Plus range has 20 layers of nano coating that facilitate cleaning and provide better protection against water, oil and scratches. These layers also provide higher maximum light transmission and a more consistent transmission curve for sharper images, finer colours and more depth.
Professional German glass Leading German SCHOTT B270 optical glass features a 20 layer nano coating for professional polarisation, extra protection and easier cleaning.
Ultra slim magnalium rim The deliberately designed ultra slim bezel prevents vignetting and our durable magnalium has a lifetime guarantee.
Double thread All filters have a double thread for stacking filters or using screw caps.
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. ,
Better colour saturation Filters reflections from water, glass and non metallic surfaces. Stronger contrast for more vivid images. 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);
}