/* ============================================================
   Hero cursor global (estilo bonin.eng.br): um ponto no cursor +
   um hexagono da marca que segue com suavizacao. A seta nativa e
   escondida em dispositivos com mouse; em toque nao aplica nada.
   ============================================================ */

@media (pointer: fine) {
    /* Esconde o cursor nativo em toda a interface — so o esquema custom aparece. */
    html.tem-hero-cursor,
    html.tem-hero-cursor * {
        cursor: none !important;
    }

    /* Excecao: campos de texto mantem o I-beam (cursor de digitacao), para
       nao atrapalhar a edicao em formularios. */
    html.tem-hero-cursor input[type="text"],
    html.tem-hero-cursor input[type="email"],
    html.tem-hero-cursor input[type="password"],
    html.tem-hero-cursor input[type="search"],
    html.tem-hero-cursor input[type="url"],
    html.tem-hero-cursor input[type="tel"],
    html.tem-hero-cursor input[type="number"],
    html.tem-hero-cursor input:not([type]),
    html.tem-hero-cursor textarea,
    html.tem-hero-cursor [contenteditable="true"],
    html.tem-hero-cursor [contenteditable=""] {
        cursor: text !important;
    }
}

.hero-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ffffff;
    mix-blend-mode: difference;
    pointer-events: none;
    z-index: 2147483647;
    display: none;
    transform: translate(-50%, -50%);
}

.hero-cursor-f {
    position: fixed;
    top: 0;
    left: 0;
    width: 42px;
    height: 42px;
    mix-blend-mode: difference;
    pointer-events: none;
    z-index: 2147483647;
    opacity: 0.7;
    display: none;
    transform: translate(-50%, -50%);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M92,43.07 L77,17.13 Q73,10.2 65,10.2 L35,10.2 Q27,10.2 23,17.13 L8,43.07 Q4,50 8,56.93 L23,82.87 Q27,89.8 35,89.8 L65,89.8 Q73,89.8 77,82.87 L92,56.93 Q96,50 92,43.07 Z' fill='none' stroke='white' stroke-width='3'/%3E%3Cpath d='M85.5,43.94 L73,22.29 Q69.5,16.23 62.5,16.23 L37.5,16.23 Q30.5,16.23 27,22.29 L14.5,43.94 Q11,50 14.5,56.06 L27,77.71 Q30.5,83.77 37.5,83.77 L62.5,83.77 Q69.5,83.77 73,77.71 L85.5,56.06 Q89,50 85.5,43.94 Z' fill='none' stroke='white' stroke-width='1.5' opacity='0.45'/%3E%3C/svg%3E") no-repeat center / contain;
}
