Popis
Puella parfém na praní Mr. TimTheo 250 ml
Osvěžující cesta do srdce divoké přírodyNový parfém na praní Mr. TimTheo představuje osvěžující výlet doprostřed divokého lesa, kde se jiskřivý citron mísí s aromatickým jehličím jako svěží jarní vánek. Každé přivonění vás okamžitě nabije novou energií a navodí pocit svobody, který znáte z hlubokých jehličnatých lesů.
Vůní pronikají intenzivní aroma jehličí, dřeva a čerstvého vzduchu, které vám dodají energii jako vzduch po jarním dešti. S Mr. TimTheo získá vaše prádlo nezaměnitelnou identitu, která zůstává intenzivní a svěží i během nejnáročnějších aktivit.
CHARAKTERISTIKA VŮNĚ:
S parfémem na praní Puella se z vašeho prádla stane něco víc než jen čisté oblečení – bude to zážitek, který pocítíte pokaždé, když otevřete šatník.
Stačí pár kapek a vůně zůstane ve vláknech ještě dlouho po vyprání – svěží, elegantní a nezaměnitelná. Každý parfém Puella je vytvořen z kvalitních vonných olejů, které pohlcují pachy a jemně je nahradí tóny čistoty a luxusu.
Je šetrný k pokožce, přátelský k přírodě a navržen tak, aby vaše prádlo vonělo stejně krásně, jako se v něm cítíte vy.
Parfémy na praní jsou dermatologicky testované
Naše parfémy na praní Puella prošly dermatologickým testováním, které se běžně používá u kosmetických produktů.
I když se parfémy na praní používají stejně jako běžná aviváž a nepřicházejí do přímého kontaktu s pokožkou, rozhodli jsme se je otestovat, abychom vám přinesli ještě větší jistotu.
Výsledek? Testování dopadlo úspěšně – naše produkty jsou bezpečné pro pokožku, pokud se používají podle doporučeného dávkování.
Protokol o testování je k dispozici k nahlédnutí zde: Mr.TimTheo.
Často kladené dotazy
Máte dotazy? Rádi vám poradíme.
Pokud si nejste jisti dávkováním, výběrem vůně nebo způsobem použití, jsme tu pro vás.
Zákaznická linka: +420 214 214 941
E-mail: podpora@puellavune.cz
Jsme tu pro vás v pracovní dny od 7:00 do 15:30
Nejčastější dotazy:
Podívejte se na odpovědi na otázky, které už položili naši zákazníci — možná tam najdete i tu svou Nejčastější dotazy
document.addEventListener(
'DOMContentLoaded',
function () {
setTimeout(() => {
return; //
const setImages = true // ← toggle this true/false as needed
// If true, only use specific video indexes for carousel
const selectedIndexesUser = []
const selectedIndexes = selectedIndexesUser.map((n) => n - 1)
const youtubeIframes = document.querySelectorAll('#productVideos iframe')
const youtubeUrls = []
youtubeIframes.forEach((iframe) => {
const src =
iframe.src ||
iframe.getAttribute('src') ||
iframe.getAttribute('data-src')
if (src && (src.includes('youtube.com') || src.includes('youtu.be'))) {
youtubeUrls.push(src.split('?')[0])
}
})
const filteredUrls = setImages
? selectedIndexes
.filter((i) => youtubeUrls[i]) // avoid invalid indexes
.map((i) => youtubeUrls[i])
: youtubeUrls
const targetedImages = [
...document.querySelectorAll('img[alt*="pyvideo"]'),
]
targetedImages.forEach((img, index) => {
const targetUrl = filteredUrls[index] // use filtered list here
if (targetUrl) {
img.parentElement.setAttribute('data-video', targetUrl)
const button = document.createElement('div')
button.className = 'video-play-button'
button.style.width = '20px'
button.style.height = '20px'
button.style.zIndex = '1'
img.parentElement.appendChild(button)
}
})
const basicDescription = document.querySelector('.basic-description')
if (!basicDescription || !youtubeUrls || !youtubeUrls.length) return
const videosSection = document.createElement('div')
videosSection.className = 'videos-section'
// Create heading
const heading = document.createElement('h2')
heading.textContent = `Video príbehy zákazníčok, ktoré objavili čaro vôní Puella.
Keď vôňa rozpráva príbeh...`
videosSection.appendChild(heading)
// Create carousel container
const carousel = document.createElement('div')
carousel.className = 'video-carousel'
// Dynamically create each video item
youtubeUrls.forEach((url) => {
const videoItem = document.createElement('div')
videoItem.className = 'video-item'
const iframe = document.createElement('iframe')
iframe.src = url
iframe.frameBorder = '0'
iframe.allowFullscreen = true
videoItem.appendChild(iframe)
carousel.appendChild(videoItem)
})
videosSection.appendChild(carousel)
basicDescription.prepend(videosSection)
})
},
100
) // 100ms delay
const mainImage = document.querySelector('.p-image')
const thumbnails = document.querySelectorAll(
'.p-thumbnails-wrapper .p-thumbnail'
)
function updateMainImagePlayButton(mainImage) {
// Remove existing button if any
const existingButton = mainImage.querySelector('.video-play-button')
if (existingButton) existingButton.remove()
if (mainImage.classList.contains('has-video')) {
const button = document.createElement('div')
button.className = 'video-play-button'
mainImage.appendChild(button)
document
.querySelector('#choose-variant-dropdown select')
.addEventListener('change', function () {
const existingIframe = mainImage.querySelector('.video-iframe')
if (existingIframe) existingIframe.remove()
mainImage.classList.remove('has-video')
delete mainImage.dataset.video
button.remove()
})
button.addEventListener('click', function (e) {
button.remove()
})
}
}
// handle thumbnail clicks
thumbnails.forEach((thumbnail) => {
thumbnail.addEventListener('click', function () {
const videoUrl = this.dataset.video
// Remove any existing video iframe from main image
const existingIframe = mainImage.querySelector('.video-iframe')
if (existingIframe) existingIframe.remove()
// Reset main image
mainImage.classList.remove('has-video')
delete mainImage.dataset.video
// Set main image to new video/image
if (videoUrl) {
mainImage.dataset.video = videoUrl
mainImage.classList.add('has-video')
}
// Update play button if necessary
updateMainImagePlayButton(mainImage)
// Optionally, update main image src if your thumbnails have different images
const newSrc = this.querySelector('img')?.src
if (newSrc) mainImage.src = newSrc
})
// handle main image click
mainImage.addEventListener('click', function (e) {
if (this.classList.contains('has-video')) {
e.preventDefault()
e.stopPropagation()
// If video already playing, do nothing
if (this.querySelector('.video-iframe')) return
// Create iframe overlay
const iframe = document.createElement('iframe')
iframe.className = 'video-iframe'
iframe.src = this.dataset.video + '?autoplay=1'
iframe.allow = 'autoplay; encrypted-media'
iframe.allowFullscreen = true
// Style it to overlay the image area
iframe.style.position = 'absolute'
iframe.style.top = '0'
iframe.style.left = '0'
iframe.style.width = '100%'
iframe.style.height = '100%'
iframe.style.zIndex = '5'
iframe.style.border = 'none'
// Make sure parent has position relative
this.style.position = 'relative'
this.appendChild(iframe)
}
})
})
function addGuideLineElmToProductInfo() {
const productInfoSection = document.querySelector('.p-data-wrapper')
if (!productInfoSection) {
return
}
const guideLine = document.createElement('div')
guideLine.className = 'top-guide-line'
guideLine.innerHTML = `
Návod k dávkování
Jak používat Puella parfém na praní?
`
productInfoSection.appendChild(guideLine)
}
function createGuidelineCards() {
const guidelineCardsData = [
{
id: 1,
imgSrc:
'https://www.puellavone.sk/user/documents/upload/web/product redesign/DY_vrchnak_JPG.jpg',
title: 'Otevři a odměř',
description:
'50 ml balení: Nalij 1 černý uzávěr (= 5 ml)
250 ml a 500 ml balení: Nalij 1 uzávěr (= 5 ml)',
},
{
id: 2,
imgSrc:
'https://www.puellavune.cz/user/documents/upload/web/product redesign/nalievanie_PP+AI (1).png',
title: 'Nalij do přihrádky na aviváž',
description:
'Vylej odměřené množství parfému přímo do přihrádky na aviváž ve tvé pračce
Nikdy nelij přímo do bubnu! Parfém musí být přidán ve správné fázi praní
Pokud se ti něco vylilo mimo zásobník, utři to ihned navlhčeným hadříkem (parfém obsahuje oleje, které mohou zanechat stopy)',
},
{
id: 3,
imgSrc:
'https://www.puellavone.sk/user/documents/upload/web/product redesign/start_PP.png',
title: 'Vlož prádlo a nastav praní',
description:
'Do bubnu pračky vlož až 4 kg prádla (nepřeplňuj!)
Přidej svůj běžný prací prášek nebo gel
Nastav standardní prací program (40-60°C)
Spusť praní',
},
]
const guidelineCardsContainer = document.createElement('div')
guidelineCardsContainer.className = 'guideline-cards-container'
guidelineCardsContainer.innerHTML = `
Jak na to?
${guidelineCardsData
.map(
(card, index) => `
${card.id}.
${card.title}
${card.description}
`
)
.join('')}
Chceš vědět víc? Prohlédni si naši podstránku Návody.
`
const basicDescription = document.querySelector('.basic-description')
if (!basicDescription) {
return
}
const fourthChild = basicDescription.children[2]
basicDescription.insertBefore(guidelineCardsContainer, fourthChild)
}
function createFAQ() {
const openArrowSvg = `
`
const closeArrowSvg = `
`
const faqData = [
{
id: 1,
question: 'Jak správně používat parfém na praní Puella?',
answer:
'Použij 5 ml (1 uzávěr) do přihrádky na aviváž. Vhodné na praní do 60 °C. Skladuj na suchém místě, mimo slunce',
},
{
id: 2,
question: 'Jsou parfémy Puella vhodné pro alergiky, pro děti a pro zvířata?',
answer:
'Ano. Parfémy Puella jsou dermatologicky testované a vhodné pro alergiky i děti. Při citlivé pokožce nebo při praní pro zvířata můžeš snížit dávkování na polovinu, aby vůně nebyla příliš intenzivní.',
},
{
id: 3,
question: 'Jaké je dávkování parfémů na praní Puella?',
answer:
'Doporučené dávkování je 5 ml na 4 kg prádla. Platí pro všechna balení: uzávěr = 5 ml, vzorek = 5 ml. Při předávkování stačí spustit další cyklus bez produktu.',
},
{
id: 4,
question: 'Jsou produkty Puella dermatologicky testované?',
answer:
'Ano. Parfémy na praní Puella jsou dermatologicky testované a při správném používání jsou bezpečné pro pokožku. Testování potvrdilo jejich vhodnost pro běžné použití.',
},
{
id: 5,
question: 'Přetrvá vůně Puella i po sušení prádla v sušičce?',
answer:
'Ano, vůně zůstane i po sušení v sušičce. Parfém nikdy neaplikuj do sušičky, používá se jen během praní.',
},
{
id: 6,
question: 'Co mám dělat, pokud mi byl doručen poškozený balík?',
answer:
'Pokud je balík viditelně poškozený, můžeš odmítnout jeho převzetí. Pokud zjistíš poškození až po otevření, stačí vyplnit reklamační formulář a přiložit fotografie balíku a obsahu.',
},
{
id: 7,
question: 'Mohou parfémy Puella poškodit pračku?',
answer:
'Ne, jsou bezpečné, pokud je dáš jen do přihrádky na aviváž a dodržuješ doporučené dávkování. Pokud se produkt dostane mimo zásobník, stačí ho utřít vlhkým hadříkem.',
},
{
id: 8,
question: 'Jakým způsobem mohu vrátit zboží?',
answer:
'Vyplň formulář pro odstoupení od smlouvy na stránce www.puellavune.cz/odstoupeni-od-smlouvy. Po odeslání tě bude kontaktovat zákaznická podpora s dalšími pokyny.',
},
]
const faqContainer = document.querySelector('.faq-container')
if (!faqContainer) {
return
}
faqContainer.innerHTML = `
${faqData
.map(
(card) => `
${card.question}
${openArrowSvg}
${card.answer}
`
)
.join('')}
`
const faqCards = faqContainer.querySelectorAll('.faq-card')
faqCards.forEach((card) => {
let arrowWrapper = card.querySelector('.faq-arrow-wrapper')
const answer = card.querySelector('.faq-card-description')
const row = card.querySelector('.faq-question-row')
row.addEventListener('click', () => {
const isOpen = !answer.classList.contains('hidden')
// toggle visibility
answer.classList.toggle('hidden')
// swap arrow graphics
arrowWrapper.innerHTML = isOpen ? openArrowSvg : closeArrowSvg
row.style.borderBottomLeftRadius = isOpen ? '8px' : '0px'
row.style.borderBottomRightRadius = isOpen ? '8px' : '0px'
})
})
}
function runRedesign() {
if (!document.body.classList.contains('type-product')) return
addGuideLineElmToProductInfo()
createGuidelineCards()
createFAQ()
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', runRedesign)
} else {
runRedesign()
}
Parametry
| Výrobce | Puella |
| Parfémy na praní | ano |