(function () {
/* Palabras clave adicionales por tarjeta (clave = título de la tarjeta normalizado) */
var KW = {
'edemas oseos': 'edema hueso oseo huesos rodilla tobillo cadera femur tibia astragalo pie fractura estres resonancia rmn contusion',
'hernias y protusiones': 'hernia hernias protusion protrusion protusiones disco discal lumbar lumbares cervical cervicales espalda columna lumbalgia cervicalgia ciatica cuello',
'artrosis': 'artrosis desgaste cartilago rodilla cadera mano manos dedos columna articulacion articular rigidez condromalacia menisco',
'neuralgias': 'neuralgia neuralgias nervio nervios ciatica hormigueo hormigueos entumecimiento adormecimiento quemazon calambre trigemino tunel carpiano intercostal neuropatico neuropatia',
'tendinitis y tendinosis': 'tendinitis tendinosis tendon tendones hombro codo epicondilitis tenista golfista rotuliana aquiles fascitis plantar deportista deporte manguito'
};
var STOP = ['de','del','la','el','los','las','en','me','mi','mis','y','o','con','por','para','un','una','que','al','se','tengo','duele','duelen','dolor','dolores','molestia','molestias','muy','mucho'];
function norm(s) {
return (s || '').toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/[^a-z0-9ñ\s]/g, ' ').replace(/\s+/g, ' ').trim();
}
function init(wrap) {
if (!wrap || wrap.getAttribute('data-fl-ready')) return;
wrap.setAttribute('data-fl-ready', '1');
var input = wrap.querySelector('.fl-search-input');
var clear = wrap.querySelector('.fl-search-clear');
var status = wrap.querySelector('.fl-search-status');
/* Sección exterior que contiene el buscador y las tarjetas (sin depender de .elementor-widget-container) */
var sec = wrap.closest('.elementor-top-section') || wrap.closest('section.elementor-section:not(.elementor-inner-section)');
if (!sec || !input) return;
var rows = [].slice.call(sec.querySelectorAll('.elementor-inner-section'));
var items = [];
rows.forEach(function (row) {
[].slice.call(row.querySelectorAll(':scope > .elementor-container > .elementor-column')).forEach(function (col) {
var h = col.querySelector('.elementor-heading-title');
var name = norm(h ? h.textContent : '');
items.push({ el: col, row: row, fallback: name.indexOf('mas de') === 0, txt: ' ' + norm(col.textContent) + ' ' + (KW[name] || '') + ' ' });
});
});
function match(it, terms, all) {
var fn = function (t) { return it.txt.indexOf(t) > -1; };
return all ? terms.every(fn) : terms.some(fn);
}
function run() {
var q = norm(input.value);
clear.hidden = !q;
var terms = q.split(' ').filter(function (w) { return w.length > 2 && STOP.indexOf(w) === -1; });
var visible = 0;
if (!terms.length) {
items.forEach(function (it) { it.el.classList.remove('fl-hidden'); });
status.innerHTML = '';
} else {
var mode = items.some(function (it) { return !it.fallback && match(it, terms, true); });
items.forEach(function (it) {
var show = it.fallback || match(it, terms, mode);
if (show && !it.fallback) visible++;
it.el.classList.toggle('fl-hidden', !show);
});
status.innerHTML = visible
? visible + (visible === 1 ? ' tratamiento relacionado' : ' tratamientos relacionados')
: 'No encontramos ese síntoma en la lista.
Cuéntanos tu caso y te orientamos sin compromiso.';
}
rows.forEach(function (row) {
row.classList.toggle('fl-hidden', !row.querySelector('.elementor-column:not(.fl-hidden)'));
});
}
input.addEventListener('input', run);
input.addEventListener('keydown', function (e) { if (e.key === 'Escape') { input.value = ''; run(); } });
clear.addEventListener('click', function () { input.value = ''; run(); input.focus(); });
}
function boot() { [].slice.call(document.querySelectorAll('.fl-search-wrap')).forEach(init); }
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot); else boot();
if (window.jQuery) jQuery(window).on('elementor/frontend/init', function () {
if (window.elementorFrontend && elementorFrontend.hooks) elementorFrontend.hooks.addAction('frontend/element_ready/html.default', function ($s) { var w = $s[0].querySelector('.fl-search-wrap'); if (w) init(w); });
});
})();
.fl-search-wrap{max-width:600px;margin:0 auto 28px;}
.fl-search-box{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #E2EBF0;border-radius:8px;padding:14px 18px;transition:border-color .2s,box-shadow .2s;}
.fl-search-box:focus-within{border-color:#1B98E0;box-shadow:0 0 0 4px rgba(27,152,224,.12);}
.fl-search-ico{flex-shrink:0;color:#8AA0B0;}
.fl-search-box input.fl-search-input{border:none!important;outline:none!important;box-shadow:none!important;width:100%;padding:0!important;margin:0;font-family:Montserrat,sans-serif;font-size:15px;color:#1A2A36;background:transparent!important;-webkit-appearance:none;appearance:none;}
.fl-search-box input.fl-search-input::-webkit-search-cancel-button{display:none;}
.fl-search-box input.fl-search-input::placeholder{color:#8AA0B0;opacity:1;}
.fl-search-clear{flex-shrink:0;border:none;background:transparent;color:#8AA0B0;font-size:22px;line-height:1;cursor:pointer;padding:0 2px;}
.fl-search-clear:hover{color:#1B98E0;background:transparent;}
.fl-search-status{margin:10px 0 0;min-height:1.2em;text-align:center;font-family:Montserrat,sans-serif;font-size:13px;color:#4A6070;}
.fl-search-status a{color:#1B98E0;font-weight:600;text-decoration:underline;}
.fl-hidden{display:none!important;}
[data-fl-theme='dark'] .fl-search-box{background:#0D1B26;border-color:#234559;}
[data-fl-theme='dark'] .fl-search-box:focus-within{border-color:#42BAFF;box-shadow:0 0 0 4px rgba(66,186,255,.15);}
[data-fl-theme='dark'] .fl-search-box input.fl-search-input{color:#D4E8F5;}
[data-fl-theme='dark'] .fl-search-box input.fl-search-input::placeholder,[data-fl-theme='dark'] .fl-search-ico,[data-fl-theme='dark'] .fl-search-clear{color:#3D6A85;}
[data-fl-theme='dark'] .fl-search-status{color:#7AAFC8;}
[data-fl-theme='dark'] .fl-search-status a{color:#42BAFF;}