• Fotobatohy
  • Rádi vám poradíme
    +420 720 762 432
    Po - Pá: 9:00 - 18:00
  • Můj účet
  • Košík je prázdný
    za 0 Kč

Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)

Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)
  • Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)
  • Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)
  • Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)
  • Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)
  • Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000) (43 mm)
ID produktu
1008939
Výrobce
Urth
Záruční doba
2 roky
  • Zvolená varianta
  • 43 mm
2 371,90 Kč bez DPH
2 870 KčCena s DPH
Centrální sklad
9 ks – doručení do 5 pracovních dnů
Urth 43mm Magnetic Essential Kit (Plus+) (UV+CPL+ND8+ND1000)
The professional Magnetic Essentials Filter Kit Plus+ includes snap on UV Plus+, CPL Plus+, ND8 Plus+, and ND1000 Plus+ filters so you have all the essential tools to elevate your outdoor photography.

The Magnetic Essentials Filter Kit Plus+ brings ease to your creative flow with a convenient stackable, magnetic system. The UV Filter Plus+ cuts ultraviolet light, sharpens your photos, and protects your lens against scratches, water, dirt, and fingerprints. The CPL Polarizing Filter Plus+ cuts reflected (polarized) light, which increases contrast and boosts colour saturation and vibrancy.


The ND8 Filter Plus+ blocks a fixed 3 f stops of light allowing longer shutter speeds for long exposure, motion blur effects in low light, and cinematographers can use it to achieve more cinematic effects. The ND1000 Filter Plus+ blocks a fixed 10 f stops of light for super long exposure and motion blur effects in bright light.
Please note: Magnetic filter kits include a magnetic adapter ring.


Professional German glass
Industry leading German B270 SCHOTT optical glass is coated with a 30 layer nano coating for better sharpness, added protection, and easier cleaning.


Ultra slim magnalium rim
Our consciously designed ultra slim rim avoids vignetting and our durable magnalium is guaranteed for life.


Magnetic adapter
Attach the adapter once, and then switch filters with ease.


Positive impact
Urth's goal is to make 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 minimize the negative impact on the planet we love. When new products are made, low impact materials are sought and designs are refined to minimize waste. All packaging is redesigned to remove all plastic, use recycled materials and ensure they are recyclable as well. ,

Four filters one kit, the perfect minimalist outdoor kit.
Magnetic ease, quickly swap and switch filters.
More creative options for more light conditions
Compatible with lenses up to 95mm.
Magnetic system, one adapter works with all Urth Magnetic Filters.
Clever details, stack, cap and easily remove.
Lifetime warranty
 Specifikace
ZnačkaUrth
 Pro lepší péči
     
    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 () { "use strict"; const CUT_OFF_HOUR = 7; // po 7:00 = start další prac. den /* ========================================================= MANUÁLNÍ DNY MIMO PROVOZ (dovolená, inventura, ...) Formát: "dd.mm" (bez roku) - př.: "03.02", "24.12" - můžeš přidat kolik chceš řádků ========================================================= */ const EXTRA_BLOCKED_DATES_DDMM = [ // "03.02", // "04.02", // "15.08", ]; /* ========================================================= */ const ADDITION_SELECTOR = ".p_detail_info_box.p_detail_info_addition"; const AVAIL_SELECTOR = ".p_detail_availability"; const AVAIL_SPAN_SELECTOR = '.p_detail_availability span[data-variant="availability"]'; function pad2(n) { return String(n).padStart(2, "0"); } function formatDDMM(dateLocal) { return `${pad2(dateLocal.getDate())}.${pad2(dateLocal.getMonth() + 1)}.`; } function nowInPragueParts() { const dtf = new Intl.DateTimeFormat("cs-CZ", { timeZone: "Europe/Prague", year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", hour12: false }); const parts = dtf.formatToParts(new Date()); const get = (type) => parts.find(p => p.type === type)?.value; return { year: Number(get("year")), month: Number(get("month")), day: Number(get("day")), hour: Number(get("hour")), minute: Number(get("minute")), second: Number(get("second")) }; } function makeDateUTC(y, m, d) { return new Date(Date.UTC(y, m - 1, d, 0, 0, 0)); } function dateToKeyUTC(d) { return `${d.getUTCFullYear()}-${pad2(d.getUTCMonth() + 1)}-${pad2(d.getUTCDate())}`; } // Easter Sunday (Gregorian) function easterSunday(year) { const a = year % 19; const b = Math.floor(year / 100); const c = year % 100; const d = Math.floor(b / 4); const e = b % 4; const f = Math.floor((b + 8) / 25); const g = Math.floor((b - f + 1) / 3); const h = (19 * a + b - d - g + 15) % 30; const i = Math.floor(c / 4); const k = c % 4; const l = (32 + 2 * e + 2 * i - h - k) % 7; const m = Math.floor((a + 11 * h + 22 * l) / 451); const month = Math.floor((h + l - 7 * m + 114) / 31); const day = ((h + l - 7 * m + 114) % 31) + 1; return makeDateUTC(year, month, day); } function addExtraBlockedDatesToSet(holidaysSet, year, todayUTC) { // Přidá dd.mm do setu pro daný rok. // Pokud je datum v tomto roce už "za námi" (oproti dnešku), přidá i do dalšího roku (aby to fungovalo přes přelom). EXTRA_BLOCKED_DATES_DDMM.forEach((ddmm) => { const m = ddmm.match(/^(\d{2})\.(\d{2})$/); if (!m) return; const dd = Number(m[1]); const mm = Number(m[2]); if (!Number.isFinite(dd) || !Number.isFinite(mm) || mm < 1 || mm > 12 || dd < 1 || dd > 31) return; const dThisYear = makeDateUTC(year, mm, dd); holidaysSet.add(dateToKeyUTC(dThisYear)); // pokud už tohle datum letos proběhlo, přidáme i příští rok (praktické pro údržbu) if (dThisYear.getTime() < todayUTC.getTime()) { const dNextYear = makeDateUTC(year + 1, mm, dd); holidaysSet.add(dateToKeyUTC(dNextYear)); } }); } function buildCZHolidaysSet(years, todayUTC) { const set = new Set(); years.forEach((y) => { const fixed = [ [1, 1], [5, 1], [5, 8], [7, 5], [7, 6], [9, 28], [10, 28], [11, 17], [12, 24], [12, 25], [12, 26] ]; fixed.forEach(([mm, dd]) => set.add(dateToKeyUTC(makeDateUTC(y, mm, dd)))); const easter = easterSunday(y); const goodFriday = new Date(easter.getTime() - 2 * 24 * 3600 * 1000); const easterMonday = new Date(easter.getTime() + 1 * 24 * 3600 * 1000); set.add(dateToKeyUTC(goodFriday)); set.add(dateToKeyUTC(easterMonday)); // + ručně blokované dny (dovolená, inventura, ...) addExtraBlockedDatesToSet(set, y, todayUTC); }); return set; } function isWeekendUTC(d) { const wd = d.getUTCDay(); return wd === 0 || wd === 6; } function isHolidayUTC(d, holidaysSet) { return holidaysSet.has(dateToKeyUTC(d)); } function isBusinessDayUTC(d, holidaysSet) { return !isWeekendUTC(d) && !isHolidayUTC(d, holidaysSet); } function nextBusinessDayUTC(d, holidaysSet) { let cur = new Date(d.getTime()); do { cur = new Date(cur.getTime() + 24 * 3600 * 1000); } while (!isBusinessDayUTC(cur, holidaysSet)); return cur; } function computeShipBaseUTC(holidaysSet) { const p = nowInPragueParts(); const todayUTC = makeDateUTC(p.year, p.month, p.day); const beforeCutoff = (p.hour < CUT_OFF_HOUR); // 0..6 if (beforeCutoff && isBusinessDayUTC(todayUTC, holidaysSet)) return todayUTC; if (isBusinessDayUTC(todayUTC, holidaysSet)) return nextBusinessDayUTC(todayUTC, holidaysSet); let cur = new Date(todayUTC.getTime()); while (!isBusinessDayUTC(cur, holidaysSet)) { cur = new Date(cur.getTime() + 24 * 3600 * 1000); } return cur; } function addBusinessDaysUTC(startUTC, n, holidaysSet) { let cur = new Date(startUTC.getTime()); let added = 0; while (added < n) { cur = new Date(cur.getTime() + 24 * 3600 * 1000); if (isBusinessDayUTC(cur, holidaysSet)) added++; } return cur; } function normalizeText(s) { return (s || "") .replace(/\u00A0/g, " ") .replace(/[–—]/g, "-") .replace(/\s+/g, " ") .trim(); } function parseAddition(text) { const t = normalizeText(text); const stockMatch = t.match(/(\d+)\s*ks/i); const daysMatch = t.match(/doru[cč]en[ií]\s*do\s*(\d+)\s*prac/i); if (!stockMatch || !daysMatch) return null; const stock = Number(stockMatch[1]); const leadDays = Number(daysMatch[1]); if (!Number.isFinite(stock) || !Number.isFinite(leadDays)) return null; return { stock, leadDays }; } function getAvailabilityMode() { const avail = document.querySelector(AVAIL_SELECTOR); if (!avail) return { mode: "unknown" }; const schemaLink = avail.querySelector('link[itemprop="availability"]'); const schemaHref = schemaLink?.getAttribute("href") || ""; const span = avail.querySelector(AVAIL_SPAN_SELECTOR); const label = normalizeText(span?.textContent || ""); if (/OutOfStock/i.test(schemaHref) || /Dostupnost k ověření/i.test(label)) { return { mode: "verify", avail, span, label }; } if (/^Skladem/i.test(label)) { return { mode: "local", avail, span, label }; } if (/^Centrální sklad/i.test(label)) { return { mode: "central", avail, span, label }; } return { mode: "unknown", avail, span, label }; } function removeExistingEstimate() { document.querySelectorAll(".delivery-estimate").forEach(el => el.remove()); } function insertEstimateUnderSpan(spanEl, dateDDMM) { removeExistingEstimate(); if (!spanEl || !spanEl.parentNode) return; const line = document.createElement("span"); line.className = "delivery-estimate"; line.textContent = `Obdržíte do ${dateDDMM}`; spanEl.insertAdjacentElement("afterend", line); } ledge)??) function applyDeliveryLogic() { const addition = document.querySelector(ADDITION_SELECTOR); if (addition) addition.classList.add("delivery-hide"); const { mode, span } = getAvailabilityMode(); if (mode === "verify" || mode === "unknown") { removeExistingEstimate(); return; } const p = nowInPragueParts(); const todayUTC = makeDateUTC(p.year, p.month, p.day); const holidays = buildCZHolidaysSet([p.year, p.year + 1], todayUTC); if (mode === "local") { const shipBase = computeShipBaseUTC(holidays); const deliveryUTC = addBusinessDaysUTC(shipBase, 1, holidays); insertEstimateUnderSpan(span, formatDDMM(new Date(deliveryUTC.getTime()))); return; } if (mode === "central") { const parsed = addition ? parseAddition(addition.textContent) : null; if (!parsed || parsed.stock <= 0) { removeExistingEstimate(); return; } const shipBase = computeShipBaseUTC(holidays); const deliveryUTC = addBusinessDaysUTC(shipBase, parsed.leadDays, holidays); if (span) span.textContent = `Centrální sklad ${parsed.stock} ks`; insertEstimateUnderSpan(span, formatDDMM(new Date(deliveryUTC.getTime()))); return; } } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", applyDeliveryLogic); } else { applyDeliveryLogic(); } })();