// Hace inertes las celdas bloqueadas (también para teclado)
function inertifyBlocked(scope){
var blocked = (scope||document).querySelectorAll(
'.mphb-date-cell.mphb-not-available-date,'+
'.mphb-date-cell.mphb-unselectable-date--check-in,'+
'.mphb-date-cell.mphb-unselectable-date--check-out,'+
'.mphb-date-cell.va-ical-blocked-fallback'
);
blocked.forEach(function(el){
el.setAttribute('aria-disabled','true');
el.setAttribute('tabindex','-1');
});
}
// Llama tras marcar los días
inertifyBlocked(document);
// Y evita cualquier click que se cuele por bubbling
document.addEventListener('click', function(e){
var bad = e.target.closest(
'.mphb-date-cell.mphb-not-available-date,'+
'.mphb-date-cell.mphb-unselectable-date--check-in,'+
'.mphb-date-cell.mphb-unselectable-date--check-out,'+
'.mphb-date-cell.va-ical-blocked-fallback'
);
if (bad){ e.preventDefault(); e.stopPropagation(); }
}, true);
// Si tu observer vuelve a pintar el calendario, re-aplica:
var _vaOldObserverCallback = function(){ inertifyBlocked(document); };
setTimeout(_vaOldObserverCallback, 500);