/* ==========================================
   CURSOR PERSONALIZADO - WALKING PLATFORMS
   ========================================== */

/* IMPORTANTE: As imagens do cursor devem ter no máximo 32x32px para funcionar corretamente */

/* Cursor padrão (vermelho) - Aplicado globalmente */
html {
  cursor: url('/images/mouse-vermelho.png') 0 0, auto !important;
}

body {
  cursor: url('/images/mouse-vermelho.png') 0 0, auto !important;
}

/* Cursor para elementos clicáveis (click) - Alta especificidade */
a,
a *,
button,
button *,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="checkbox"],
input[type="radio"],
input[type="file"],
select,
select *,
textarea,
[role="button"],
[role="button"] *,
[role="link"],
[role="link"] *,
[role="tab"],
[role="menuitem"],
.clickable,
.clickable *,
.interactive,
.interactive *,
[onclick],
[onclick] *,
[data-clickable],
[data-clickable] *,
label[for],
.cursor-pointer,
.cursor-pointer *,
.premium-logo,
.header-logo,
img[onclick],
div[onclick],
span[onclick] {
  cursor: url('/images/mouse-click.png') 0 0, pointer !important;
}

/* Cursor no hover de elementos clicáveis (azul) */
a:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="checkbox"]:hover,
input[type="radio"]:hover,
input[type="file"]:hover,
select:hover,
textarea:hover,
[role="button"]:hover,
[role="link"]:hover,
[role="tab"]:hover,
[role="menuitem"]:hover,
.clickable:hover,
.interactive:hover,
[onclick]:hover,
[data-clickable]:hover,
label[for]:hover,
.cursor-pointer:hover,
.premium-logo:hover,
.header-logo:hover,
img[onclick]:hover,
div[onclick]:hover,
span[onclick]:hover {
  cursor: url('/images/mouse-azul.png') 0 0, pointer !important;
}

/* Cursor para elementos de vídeo e iframe (clicáveis) */
video,
iframe,
.hero-video-container,
.hero-video-wrapper,
.hero-youtube-video,
.home-hero-video-wrapper,
video *,
iframe * {
  cursor: url('/images/mouse-click.png') 0 0, pointer !important;
}

/* Cursor no hover de vídeos e iframes */
video:hover,
iframe:hover,
.hero-video-container:hover,
.hero-video-wrapper:hover,
.hero-youtube-video:hover,
.home-hero-video-wrapper:hover {
  cursor: url('/images/mouse-azul.png') 0 0, pointer !important;
}

/* Cursor para scrollbars */
::-webkit-scrollbar,
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
  cursor: url('/images/mouse-click.png') 0 0, pointer !important;
}

::-webkit-scrollbar-thumb:hover {
  cursor: url('/images/mouse-azul.png') 0 0, pointer !important;
}

/* Cursor grab e grabbing também devem usar mouse-click.png */
[style*="cursor: grab"],
[style*="cursor:grab"],
.hero-mockup-screen,
.hero-mockup-screen * {
  cursor: url('/images/mouse-click.png') 0 0, grab !important;
}

[style*="cursor: grabbing"],
[style*="cursor:grabbing"],
.hero-mockup-screen:active,
.hero-mockup-screen:active * {
  cursor: url('/images/mouse-click.png') 0 0, grabbing !important;
}

/* ==========================================
   SOBRESCREVER TODOS OS CURSORES POINTER PADRÃO
   ========================================== */
   
/* Esta regra sobrescreve QUALQUER elemento que tenha cursor: pointer em CSS inline ou outros arquivos */

/* Garantir que elementos não clicáveis mantenham o cursor padrão */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"] {
  cursor: url('/images/mouse-vermelho.png') 0 0, text !important;
}

/* ==========================================
   REGRAS ESPECÍFICAS PARA CLASSES COMUNS
   ========================================== */

/* Suporte/Chat e outras classes específicas */
.support-chat-button,
.support-chat-toggle,
.support-chat-close-btn,
.support-chat-question-btn,
.support-chat-send-btn,
.tech-btn,
.tech-btn-primary,
.tech-btn-outline,
.filmora-plan-card,
.filmora-comparison-item,
.hostinger-plan-card,
.plan-card,
.pricing-card,
.premium-nav-link,
.nav-link-tech,
.tech-language-item,
.carousel-btn,
.carousel-btn-prev,
.carousel-btn-next,
.news-item,
.modal-close,
.stripe-nav-link,
.stripe-btn,
.premium-btn,
.premium-btn-primary,
.premium-btn-secondary,
.premium-btn-outline,
.linear-news-modal-close,
.product-modal-close {
  cursor: url('/images/mouse-click.png') 0 0, pointer !important;
}

.support-chat-button:hover,
.support-chat-toggle:hover,
.support-chat-close-btn:hover,
.support-chat-question-btn:hover,
.support-chat-send-btn:hover,
.tech-btn:hover,
.tech-btn-primary:hover,
.tech-btn-outline:hover,
.filmora-plan-card:hover,
.filmora-comparison-item:hover,
.hostinger-plan-card:hover,
.plan-card:hover,
.pricing-card:hover,
.premium-nav-link:hover,
.nav-link-tech:hover,
.tech-language-item:hover,
.carousel-btn:hover,
.carousel-btn-prev:hover,
.carousel-btn-next:hover,
.news-item:hover,
.modal-close:hover,
.stripe-nav-link:hover,
.stripe-btn:hover,
.premium-btn:hover,
.premium-btn-primary:hover,
.premium-btn-secondary:hover,
.premium-btn-outline:hover,
.linear-news-modal-close:hover,
.product-modal-close:hover {
  cursor: url('/images/mouse-azul.png') 0 0, pointer !important;
}

/* ==========================================
   REGRA UNIVERSAL - SOBRESCREVER QUALQUER cursor: pointer E grab
   ========================================== */
   
/* Esta regra FINAL sobrescreve QUALQUER elemento que tenha cursor: pointer ou grab
   em qualquer CSS (inline, stylesheets, etc.) - DEVE SER A ÚLTIMA REGRA */

/* Sobrescrever qualquer elemento com style inline cursor: pointer ou grab */
[style*="cursor: pointer"],
[style*="cursor:pointer"],
[style*="cursor: grab"],
[style*="cursor:grab"] {
  cursor: url('/images/mouse-click.png') 0 0, pointer !important;
}

[style*="cursor: pointer"]:hover,
[style*="cursor:pointer"]:hover,
[style*="cursor: grab"]:hover,
[style*="cursor:grab"]:hover {
  cursor: url('/images/mouse-azul.png') 0 0, pointer !important;
}

/* Cursor grab e grabbing também devem usar mouse-click.png */
[style*="cursor: grabbing"],
[style*="cursor:grabbing"] {
  cursor: url('/images/mouse-click.png') 0 0, grabbing !important;
}

/* Forçar cursor personalizado em TODOS os elementos que normalmente teriam pointer,
   mesmo que não estejam na lista de seletores acima */
html body * {
  /* Esta regra será aplicada via JavaScript */
}

