FlatRiver Petal Lab
Home
Catalog
About
Contact
FAQ
Cart
Fallows
Privacy
Terms
Browse Catalog
Sign in
Theme
☰
Home
Catalog
About
Contact
FAQ
Cart
Fallows
Privacy
Terms
Welcome to FlatRiver Petal Lab
Sign in
Create account
Close
Theme
Light
Dark
System
Close
Catalog
Find your next workshop or template. Save to Fallows to track items you want to revisit.
View Fallows
View Cart
All categories
Course
Kit
Template
Bundle
All levels
Beginner
Intermediate
Advanced
Apply
Reset
0 items
Per page
6
9
12
Close
Add to Cart
Toggle Fallows
Open Fallows
`; headerEl.innerHTML = headerHTML; footerEl.innerHTML = footerHTML; function applyTheme(pref) { const root = document.documentElement; if (pref === 'dark') root.classList.add('dark'); else if (pref === 'light') root.classList.remove('dark'); else root.classList.toggle('dark', window.matchMedia('(prefers-color-scheme: dark)').matches); } applyTheme(localStorage.getItem('theme') || 'system'); const h = headerEl; const loginModal = h.querySelector('.js-modal-login'); h.querySelector('.js-open-login')?.addEventListener('click', () => { loginModal.classList.remove('hidden'); loginModal.classList.add('flex'); }); h.querySelector('.js-close-login')?.addEventListener('click', () => { loginModal.classList.add('hidden'); loginModal.classList.remove('flex'); }); const themeModal = h.querySelector('.js-modal-theme'); h.querySelector('.js-open-theme')?.addEventListener('click', () => { themeModal.classList.remove('hidden'); themeModal.classList.add('flex'); }); h.querySelector('.js-close-theme')?.addEventListener('click', () => { themeModal.classList.add('hidden'); themeModal.classList.remove('flex'); }); h.querySelectorAll('.js-choose-theme').forEach(b => b.addEventListener('click', () => { const t = b.getAttribute('data-theme'); localStorage.setItem('theme', t); applyTheme(t); themeModal.classList.add('hidden'); themeModal.classList.remove('flex'); })); h.querySelector('.js-open-menu')?.addEventListener('click', () => { const m = h.querySelector('.js-mobile-nav'); m.classList.toggle('hidden'); }); const f = footerEl; const cookie = f.querySelector('.js-cookie'); if (localStorage.getItem('cookieConsent') !== 'yes') cookie.classList.remove('hidden'); f.querySelector('.js-cookie-accept')?.addEventListener('click', () => { localStorage.setItem('cookieConsent', 'yes'); cookie.classList.add('hidden'); }); })(); const state = { data: [], page: 1, perPage: 9, q: '', cat: '', lvl: '',<|eos|>