🚚 Same Day Delivery Available in Chennai! 🎉
Home
Ural Krishna Clay Golu Bommai - 7 x 7.5 Inches | Giri Golu Doll/ Navaratri Golu Bomma/Gombe/Bommai
Ural Krishna Clay Golu Bommai - 7 x 7.5 Inches | Giri Golu Doll/ Navaratri Golu Bomma/Gombe/Bommai
Availability:
Out of stock
Disclaimer: Please note that all purchases of dolls are final. We do not offer refunds or returns for any damages incurred during the shipping period. We take utmost care in packaging our products to ensure they arrive safely, but once the item is shipped, we cannot be held responsible for any damage incurred during transit.
Sold out
Original price
Rs. 800.00
-
Original price
Rs. 800.00
Original price
Rs. 800.00
Rs. 800.00
-
Rs. 800.00
Current price
Rs. 800.00
| /
In the vibrant town of Mathura, young Krishna's playful nature often led him to delightful mischief. One day, while his mother Yashoda churned butter using an ural (wooden mortar), Krishna's curious eyes sparkled with intrigue. With a gleeful smile, he climbed onto the ural, pretending it was his throne. His divine charm and innocent antics captivated everyone around, turning an ordinary moment into a cherished memory.
• Enhance your Golu display this Dasara with the Ural Krishna Clay Golu Bommai, a beautifully crafted addition to your festive celebrations.
• This golu doll is crafted from clay, captures the essence of Krishna with remarkable detail and artistry. Perfect for adorning your kolu bommai arrangement, this Golu Bommai brings a touch of divine elegance to your traditional setup.
• The Ural Krishna with Yashoda Clay Golu Bommai features intricate designs and vibrant colors that embody the grace and charm of Lord Krishna.
• This clay doll stands out with its fine craftsmanship and attention to detail. Each piece is crafted to reflect traditional aesthetics, making it a perfect choice for both traditional and modern settings.
• Decorate your Kolu Padi with this unique collection of Golu dolls for this Navarathri.
• This Kolu bommai set makes for a memorable and thoughtful gift on various occasions that can be cherished for generations.
• During Navaratri, people visit each other's homes to see the Golu display and offer prayers. It is considered an auspicious time to seek blessings from the Divine and to celebrate the victory of good over evil.
(function () {
let lastCharIndex = 0;
let voiceText = "";
function blockQeTextInstant() {
const styleId = 'qetext-kill-style';
if (!document.getElementById(styleId)) {
const style = document.createElement('style');
style.id = styleId;
style.innerHTML = `
#qetext{
display:none !important;
visibility:hidden !important;
opacity:0 !important;
pointer-events:none !important;
position:absolute !important;
left:-9999px !important;
top:-9999px !important;
z-index:-9999 !important;
}
.audio-btn-row button {
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.audio-btn-row button:hover:not(:disabled) {
transform: scale(1.1);
opacity: 1 !important;
}
/* --- STRICT STATE MACHINE CSS --- */
/* State: Stopped - Only Play allowed */
.audio-btn-row.st-stopped #pause,
.audio-btn-row.st-stopped #stop,
.audio-btn-row.st-stopped #resume {
opacity: 0.15 !important;
filter: grayscale(1);
cursor: not-allowed !important;
pointer-events: none !important;
}
/* State: Playing/Resumed - Only Pause and Stop allowed */
.audio-btn-row.st-playing #play,
.audio-btn-row.st-playing #resume {
opacity: 0.15 !important;
filter: grayscale(1);
cursor: not-allowed !important;
pointer-events: none !important;
}
/* State: Paused - Only Resume allowed */
.audio-btn-row.st-paused #play,
.audio-btn-row.st-paused #pause,
.audio-btn-row.st-paused #stop {
opacity: 0.15 !important;
filter: grayscale(1);
cursor: not-allowed !important;
pointer-events: none !important;
}
/* Settings UI CSS */
.audio-settings-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
width: 100%;
margin-bottom: 12px;
}
.control-group {
display: flex;
flex-direction: column;
gap: 6px;
width: 100%;
}
.speed-group {
margin-bottom: 20px;
}
.control-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.control-group label {
color: rgba(255,255,255,0.9);
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
}
#speed-val {
color: #fff;
font-size: 11px;
font-weight: 700;
background: rgba(255,255,255,0.2);
padding: 2px 7px;
border-radius: 10px;
}
.control-group select {
background: rgba(255,255,255,0.12);
border: 1px solid rgba(255,255,255,0.2);
color: #fff;
border-radius: 6px;
padding: 7px 10px;
font-size: 13px;
cursor: pointer;
outline: none;
}
.control-group select option {
background: #2e7d32;
color: #fff;
}
input[type=range] {
-webkit-appearance: none;
width: 100%;
background: transparent;
}
input[type=range]:focus { outline: none; }
input[type=range]::-webkit-slider-runnable-track {
width: 100%;
height: 4px;
background: rgba(255,255,255,0.2);
border-radius: 2px;
}
input[type=range]::-webkit-slider-thumb {
height: 18px;
width: 18px;
border-radius: 50%;
background: #fff;
cursor: pointer;
-webkit-appearance: none;
margin-top: -7px;
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
mark {
background-color: #ffeb3b !important;
color: #000 !important;
border-radius: 2px;
}
`;
document.head.appendChild(style);
}
if (!window.qeObserver) {
window.qeObserver = new MutationObserver(() => {
const qe = document.querySelector('#qetext');
if (qe) {
qe.style.setProperty('display', 'none', 'important');
qe.style.visibility = "hidden";
qe.style.opacity = "0";
}
});
window.qeObserver.observe(document.body, {
childList: true,
subtree: true
});
}
}
function applyFix() {
if (!document.body.classList.contains('template-product')) return;
const container = document.querySelector('.buttons');
const target = document.querySelector('.product-main .product-details .single-product-meta');
if (!container || !target) return;
blockQeTextInstant();
const hide = container.querySelector('.hide_text');
const show = container.querySelector('.showtext');
if (hide) hide.remove();
if (show) show.remove();
if (target.nextElementSibling !== container) {
target.parentNode.insertBefore(container, target.nextSibling);
}
container.style.cssText = `
display:flex !important;
flex-direction:column !important;
align-items:flex-start !important;
gap:12px !important;
margin-top:15px !important;
padding:18px 20px !important;
background:#2e7d32 !important;
border-radius:12px !important;
min-width:320px !important;
width:fit-content !important;
box-shadow: 0 6px 20px rgba(0,0,0,0.2);
`;
if (!container.querySelector('.audio-instruction')) {
const text = document.createElement('div');
text.className = "audio-instruction";
text.textContent = "Audio Description Options";
text.style.cssText = `
color:#fff;
font-size:15px;
font-weight:700;
border-bottom: 1px solid rgba(255,255,255,0.2);
width: 100%;
padding-bottom: 8px;
margin-bottom: 5px;
`;
container.prepend(text);
}
// --- Settings Rows ---
if (!container.querySelector('.audio-settings-grid')) {
const grid = document.createElement('div');
grid.className = "audio-settings-grid";
const langGroup = document.createElement('div');
langGroup.className = "control-group";
// Label
const langLabel = document.createElement('label');
langLabel.textContent = "Language";
// Select
const langSelect = document.createElement('select');
langSelect.id = "audio-lang";
// Options
const languages = [
{ value: "UK English", text: "English" },
{ value: "Dutch", text: "Dutch" },
{ value: "French", text: "French" },
{ value: "Italian", text: "Italian" }
];
languages.forEach(lang => {
const option = document.createElement('option');
option.value = lang.value;
option.textContent = lang.text;
langSelect.appendChild(option);
});
// Append
langGroup.appendChild(langLabel);
langGroup.appendChild(langSelect);
// -------- Gender Group --------
const genderGroup = document.createElement('div');
genderGroup.className = "control-group";
// Label
const genderLabel = document.createElement('label');
genderLabel.textContent = "Gender";
// Select
const genderSelect = document.createElement('select');
genderSelect.id = "audio-gender";
// Options initially
const genders = ["Male", "Female"];
genders.forEach(g => {
const option = document.createElement('option');
option.value = g;
option.textContent = g;
genderSelect.appendChild(option);
});
// Append
genderGroup.appendChild(genderLabel);
genderGroup.appendChild(genderSelect);
grid.appendChild(langGroup);
grid.appendChild(genderGroup);
const speedGroup = document.createElement('div');
speedGroup.className = "control-group speed-group";
const header = document.createElement('div');
header.className = "control-header";
// Label
const label = document.createElement('label');
label.textContent = "Playback Speed";
// Value display
const speedValue = document.createElement('span');
speedValue.id = "speed-val";
speedValue.textContent = "1.0x";
// Append header elements
header.appendChild(label);
header.appendChild(speedValue);
// -------- Range Input --------
const range = document.createElement('input');
range.type = "range";
range.id = "audio-speed";
range.min = "0.5";
range.max = "2";
range.step = "0.1";
range.value = "1";
// Append header + range to speed group
speedGroup.appendChild(header);
speedGroup.appendChild(range);
const instruction = container.querySelector('.audio-instruction');
instruction.after(speedGroup);
instruction.after(grid);
// --- Dutch Specific Condition ---
const updateGenderForDutch = () => {
const lang = langSelect.value;
const currentGender = genderSelect.value;
if (lang === "Dutch") {
genderSelect.innerHTML = '';
const opt = document.createElement('option');
// Else only women to choose
opt.value = "Male";
opt.textContent = "Male";
genderSelect.appendChild(opt);
} else {
// Restore both if they were removed
if (genderSelect.options.length < 2) {
genderSelect.innerHTML = '';
["Male", "Female"].forEach(g => {
const opt = document.createElement('option');
opt.value = g;
opt.textContent = g;
if (g === currentGender) opt.selected = true;
genderSelect.appendChild(opt);
});
}
}
};
langSelect.addEventListener('change', updateGenderForDutch);
}
let btnWrapper = container.querySelector('.audio-btn-row');
if (!btnWrapper) {
btnWrapper = document.createElement('div');
btnWrapper.className = "audio-btn-row st-stopped";
btnWrapper.style.cssText = `
display:flex;
align-items:center;
justify-content: flex-start;
gap:20px;
width: 100%;
`;
container.querySelectorAll('button').forEach(btn => {
btn.style.cssText = `
display:flex;
align-items:center;
justify-content:center;
background:transparent;
border:none;
cursor:pointer;
padding:8px;
color:#fff;
`;
btnWrapper.appendChild(btn);
});
container.appendChild(btnWrapper);
}
container.querySelectorAll('svg').forEach(svg => {
svg.style.width = "22px";
svg.style.height = "22px";
});
const close = container.querySelector('.close_sbutton');
if (close && !close.dataset.done) {
close.onclick = () => container.style.display = "none";
close.dataset.done = "1";
}
// --- Enhanced Playback Logic ---
const play = document.getElementById('play');
const pause = document.getElementById('pause');
const stop = document.getElementById('stop');
const resume = document.getElementById('resume');
const textEl = document.getElementById('qetext');
const speedSlider = document.getElementById('audio-speed');
const speedVal = document.getElementById('speed-val');
const audioLang = document.getElementById('audio-lang');
const audioGender = document.getElementById('audio-gender');
if (play && pause && stop && resume && textEl && speedSlider && !play.dataset.customized) {
play.dataset.customized = "true";
function getVoice() {
const lang = audioLang.value;
const gender = audioGender.value;
// ResponsiveVoice Mapping
if (lang === "UK English") return "UK English " + gender;
if (lang === "Dutch") return "Dutch " + gender;
if (lang === "French") return "French " + gender;
if (lang === "Italian") return "Italian " + gender;
return "UK English " + gender;
}
function playSpeech(startIndex) {
if (!window.responsiveVoice) {
console.error("ResponsiveVoice not loaded");
btnWrapper.className = "audio-btn-row st-stopped";
return;
}
const voice = getVoice();
const rate = parseFloat(speedSlider.value);
if (!voiceText) voiceText = textEl.innerText;
const textToSpeak = voiceText.substring(startIndex);
console.log("Initiating speech:", { voice, rate, startIndex });
responsiveVoice.speak(textToSpeak, voice, {
rate: rate,
onstart: () => {
console.log("Speech started");
btnWrapper.className = "audio-btn-row st-playing";
},
onboundary: (e) => {
if (e.name === 'word') {
const absIdx = startIndex + e.charIndex;
lastCharIndex = absIdx;
let wordLen = e.charLength || voiceText.substring(absIdx).match(/^[a-z\d']*/i)[0].length || 5;
textEl.innerHTML = voiceText.substring(0, absIdx) + '' + voiceText.substring(absIdx, absIdx + wordLen) + ' ' + voiceText.substring(absIdx + wordLen);
}
},
onend: () => {
console.log("Speech ended");
btnWrapper.className = "audio-btn-row st-stopped";
lastCharIndex = 0;
textEl.innerHTML = voiceText;
},
onerror: (e) => {
console.error("ResponsiveVoice error callback:", e);
btnWrapper.className = "audio-btn-row st-stopped";
responsiveVoice.cancel(); // Force clear
}
});
}
let speedTimer;
speedSlider.addEventListener('input', (e) => {
const rate = parseFloat(e.target.value);
if (speedVal) speedVal.textContent = rate.toFixed(1) + 'x';
if (btnWrapper.classList.contains('st-playing')) {
clearTimeout(speedTimer);
speedTimer = setTimeout(() => {
responsiveVoice.cancel();
playSpeech(lastCharIndex);
}, 80);
}
});
const trgAnalytics = () => {
const ph = window.location.pathname.split('/').pop();
if (window.jQuery && window.jQuery.ajax && window.Shopify) {
window.jQuery.ajax({
url: 'https://apps.qeapps.com/ecom_apps_n/production/texttospeech/common_data_voicecantrol_insert',
type: 'POST',
data: { product_handle: ph, domain: window.Shopify.shop }
});
}
};
const newPlay = play.cloneNode(true);
const newPause = pause.cloneNode(true);
const newResume = resume.cloneNode(true);
const newStop = stop.cloneNode(true);
play.parentNode.replaceChild(newPlay, play);
pause.parentNode.replaceChild(newPause, pause);
resume.parentNode.replaceChild(newResume, resume);
stop.parentNode.replaceChild(newStop, stop);
newPlay.addEventListener('click', () => {
// btnWrapper.className = "audio-btn-row st-playing"; // Handled by onstart callback
if (!voiceText) voiceText = textEl.innerText;
playSpeech(lastCharIndex);
// trgAnalytics();
});
newPause.addEventListener('click', () => {
responsiveVoice.pause();
btnWrapper.className = "audio-btn-row st-paused";
});
newResume.addEventListener('click', () => {
btnWrapper.className = "audio-btn-row st-playing"; // Immediate feedback
if (responsiveVoice.isPlaying()) responsiveVoice.resume();
else playSpeech(lastCharIndex);
});
newStop.addEventListener('click', () => {
responsiveVoice.cancel();
btnWrapper.className = "audio-btn-row st-stopped";
lastCharIndex = 0; // User said "after stop user can click on play", usually resets
textEl.innerHTML = voiceText;
});
}
}
let count = 0;
const interval = setInterval(() => {
applyFix();
if (++count > 40) clearInterval(interval);
}, 250);
const observer = new MutationObserver(() => applyFix());
observer.observe(document.body, {
childList: true,
subtree: true
});
})();
.template-index #start_button,
.template-collection #start_button,
.template-product #start_button,
body.template-index .buttons {
display: none !important;
}
.template-collection .buttons,
.template-product .buttons {
display: none !important;
}