


Princess Party Balloon Garland Kit
π Choose your kit size, delivery method, and colors.
π Want custom colors? Select "Custom Colors" as your color option, then type your 3 color choices in the βAdd a noteβ box at checkout. You can choose from any of our 35+ colors listed in the chart below.
π¦ Shipping adds $10. You'll select Pickup or Shipping as a variant.
π¨ Default Color Palette: Tuftex Blossom (Pink), Kalisan Macaron Lilac (Lavender), Tuftex Fog (Blue)
π Choose your kit size, delivery method, and colors.
π Want custom colors? Select "Custom Colors" as your color option, then type your 3 color choices in the βAdd a noteβ box at checkout. You can choose from any of our 35+ colors listed in the chart below.
π¦ Shipping adds $10. You'll select Pickup or Shipping as a variant.
π¨ Default Color Palette: Tuftex Blossom (Pink), Kalisan Macaron Lilac (Lavender), Tuftex Fog (Blue)
π Choose your kit size, delivery method, and colors.
π Want custom colors? Select "Custom Colors" as your color option, then type your 3 color choices in the βAdd a noteβ box at checkout. You can choose from any of our 35+ colors listed in the chart below.
π¦ Shipping adds $10. You'll select Pickup or Shipping as a variant.
π¨ Default Color Palette: Tuftex Blossom (Pink), Kalisan Macaron Lilac (Lavender), Tuftex Fog (Blue)
<div class="color-customizer">
<h3>Customize Your 3 Balloon Colors</h3>
<p>We've pre-selected our signature colors for you, but you can swap any by clicking below. Your choices will automatically be added to your order notes at checkout.</p>
<div class="color-pick-group">
<label>Color 1:</label>
<div class="swatch-container" id="color1-swatches"></div>
</div>
<div class="color-pick-group">
<label>Color 2:</label>
<div class="swatch-container" id="color2-swatches"></div>
</div>
<div class="color-pick-group">
<label>Color 3:</label>
<div class="swatch-container" id="color3-swatches"></div>
</div>
<input type="hidden" id="finalColorNote" name="note" />
</div>
<script>
const colorPalette = [
"#000000", "#21774F", "#27A243", "#4A6B60", "#6F4438", "#75A9D1", "#84AFC2", "#91A883",
"#96BA3F", "#A2CD3A", "#B63A3A", "#B7B2AD", "#B9CEC2", "#C0C0C0", "#C57A84", "#C5DCC4",
"#C7B7E2", "#CC6652", "#D1DBE1", "#D6B257", "#D7A89E", "#D7B494", "#E01878", "#E6E61C",
"#EECED2", "#EFEAF4", "#F3CB2E", "#F4EAD5", "#F7727F", "#F7D9C4", "#F8AFC1", "#F9B8D0",
"#FBB692", "#FDD9DA", "#FDF6B2"
];
const selectedColors = {
color1: "#F8AFC1", // Blossom (Pink)
color2: "#C7B7E2", // Lilac
color3: "#75A9D1" // Fog
};
function renderSwatches(containerId, key) {
const container = document.getElementById(containerId);
colorPalette.forEach(hex => {
const swatch = document.createElement("div");
swatch.classList.add("color-swatch");
swatch.style.backgroundColor = hex;
swatch.dataset.color = hex;
if (selectedColors[key] === hex) {
swatch.classList.add("selected");
}
swatch.addEventListener("click", () => {
selectedColors[key] = hex;
container.querySelectorAll(".color-swatch").forEach(s => s.classList.remove("selected"));
swatch.classList.add("selected");
updateNoteField();
});
container.appendChild(swatch);
});
}
function updateNoteField() {
const note = `Color 1: ${selectedColors.color1}, Color 2: ${selectedColors.color2}, Color 3: ${selectedColors.color3}`;
const finalNote = document.getElementById("finalColorNote");
finalNote.value = note;
// Add note value to real note textarea if it exists on cart page
const realNote = document.querySelector("textarea[name='note']");
if (realNote) realNote.value = note;
}
renderSwatches("color1-swatches", "color1");
renderSwatches("color2-swatches", "color2");
renderSwatches("color3-swatches", "color3");
updateNoteField();
</script>