Zamatové objatie malín a ruží Nový parfum na pranie PueLLove evokuje hlbokú vášeň a zahalí vás do zamatového objatia sladkých malín a kráľovskej ruže, rovnako ako prvé hrejivé lúče ranného slnka. Vôňa sa postupne rozvíja od svieži ovocných tónov až po dominantnú vznešenú ružu, symbol nekonečnej ženskosti a pôvabu. Celkový dojem umocňuje hlboký a hrejivý základ zo vzácneho santalového dreva, ktorý dodáva vôni stabilitu a nádych exotického luxusu. Každé vlákno vášho prádla tak získa neodolateľnú... Celý popis

Koupit za 485 Kč
  • Od nejoblíbenějších
  • Od nejlevnějších
  • Od nejdražších

Popis

Zamatové objatie malín a ruží

Nový parfum na pranie PueLLove evokuje hlbokú vášeň a zahalí vás do zamatového objatia sladkých malín a kráľovskej ruže, rovnako ako prvé hrejivé lúče ranného slnka. Vôňa sa postupne rozvíja od svieži ovocných tónov až po dominantnú vznešenú ružu, symbol nekonečnej ženskosti a pôvabu.

Celkový dojem umocňuje hlboký a hrejivý základ zo vzácneho santalového dreva, ktorý dodáva vôni stabilitu a nádych exotického luxusu. Každé vlákno vášho prádla tak získa neodolateľnú hebkosť a dlhotrvajúcu arómu, ktorá vás bude sprevádzať celý deň. Je to viac ako len parfum na pranie – je to neviditeľný doplnok, ktorý podčiarkne vašu osobnosť a zahalí váš domov do aury elegancie.

S parfumom na pranie Puella sa z vášho prádla stane niečo viac ako len čisté oblečenie – bude to zážitok, ktorý pocítite zakaždým, keď otvoríte šatník.

Stačí pár kvapiek a vôňa zostane vo vláknach ešte dlho po praní – svieža, elegantná a nezameniteľná. Každý parfum Puella je vytvorený z kvalitných vonných olejov, ktoré pohlcujú pachy a jemne ich nahradia tónmi čistoty a luxusu.

Je šetrný k pokožke, priateľský k prírode a navrhnutý tak, aby vaše prádlo voňalo rovnako krásne, ako sa v ňom cítite 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: PueLLove.

Často kladené otázky

 

 

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.puellavone.cz/reklamacie. 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()
}
Zobrazit více

Parametry

Výrobce Puella
Parfémy na praní ano