(function (){
'use strict';
function getPageSelector(){
var body=document.body;
var kitMatch=body.className.match(/elementor-kit-(\d+)/);
var pageMatch=body.className.match(/elementor-page-(\d+)/);
if(kitMatch&&pageMatch){
return 'body.elementor-kit-' + kitMatch[1] + '.elementor-page-' + pageMatch[1];
}
return ':root';
}
function setLiveStyle(type, cssVars){
var id='ecs-scheme-sel-live-' + type;
var styleEl=document.getElementById(id);
if(styleEl&&styleEl.parentNode){
styleEl.parentNode.removeChild(styleEl);
}
if(! styleEl){
styleEl=document.createElement('style');
styleEl.id=id;
}
document.body.appendChild(styleEl);
if(! cssVars){
styleEl.textContent='';
return;
}
styleEl.textContent=getPageSelector() + ' { ' + cssVars + ' }';
}
function loadFontsFromCss(cssVars){
var seen={};
var re=/font-family:\s*([^;]+)/g;
var m;
while(( m=re.exec(cssVars) )!==null){
var family=m[1].trim().replace(/^['"]|['"]$/g, '');
if(! family||seen[ family ]){ continue; }
seen[ family ]=true;
var linkId='ecs-gf-' + family.replace(/\s+/g, '-').toLowerCase();
if(document.getElementById(linkId) ){ continue; }
var link=document.createElement('link');
link.id=linkId;
link.rel='stylesheet';
link.href='https://fonts.googleapis.com/css2?family='
+ encodeURIComponent(family) + ':wght@400;500;600;700&display=swap';
document.head.appendChild(link);
}}
function handleChange(event){
var select=event.target;
if(! select.classList.contains('ecs-scheme-sel-select') ){
return;
}
var wrap=select.closest('.ecs-scheme-sel-wrap');
if(! wrap){
return;
}
var type=wrap.dataset.type||'color';
var schemeId=select.value;
if(! schemeId){
setLiveStyle(type, '');
return;
}
var schemes;
try {
schemes=JSON.parse(wrap.dataset.schemes||'[]');
} catch(e){
return;
}
var scheme=schemes.find(function(s){ return s.id===schemeId; });
if(! scheme){
return;
}
if(type==='font'&&scheme.css){
loadFontsFromCss(scheme.css);
}
setLiveStyle(type, scheme.css||'');
}
document.addEventListener('change', handleChange);
})();