/* Tutorial interativo de primeiro acesso (custom, sem dependência). */
.gr-tour-overlay { position: fixed; inset: 0; z-index: 3000; display: none; }
.gr-tour-overlay.show { display: block; }

/* "buraco" iluminado sobre o elemento em foco (o resto escurece via box-shadow) */
.gr-tour-spot {
    position: fixed; border-radius: 8px; z-index: 3001; pointer-events: none;
    box-shadow: 0 0 0 9999px rgba(15, 23, 42, .60);
    transition: left .2s ease, top .2s ease, width .2s ease, height .2s ease, opacity .2s ease;
}

.gr-tour-pop {
    position: fixed; z-index: 3002; width: 300px; max-width: calc(100vw - 20px);
    background: #fff; color: #1e293b; border-radius: 12px; box-shadow: 0 14px 38px rgba(0, 0, 0, .30);
    padding: 16px 16px 14px; border: 1px solid #e2e8f0;
}
.gr-tour-title { font-weight: 700; font-size: 1.05rem; margin-bottom: 6px; }
.gr-tour-text { color: #475569; font-size: .92rem; line-height: 1.5; }
.gr-tour-foot { display: flex; align-items: center; margin-top: 14px; gap: 8px; }
.gr-tour-count { font-size: .8rem; color: #94a3b8; font-variant-numeric: tabular-nums; }
.gr-tour-btns { margin-left: auto; display: flex; gap: 6px; }
.gr-tour-btns button { border: 1px solid #e2e8f0; background: #fff; color: #1e293b; border-radius: 8px; padding: 5px 12px; font-size: .85rem; cursor: pointer; }
.gr-tour-btns button:hover { background: #f1f5f9; }
.gr-tour-next { background: #2563eb !important; color: #fff !important; border-color: #2563eb !important; }
.gr-tour-next:hover { filter: brightness(1.07); }
.gr-tour-skip { color: #64748b; }

/* Persona em vídeo (talking-head 9:16) — flutua no canto e troca a cada passo. */
.gr-tour-video {
    position: fixed; z-index: 3003; right: 18px; bottom: 18px; display: none;
    width: 176px; border-radius: 14px; overflow: hidden; background: #0f172a;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .38); border: 2px solid #fff;
    animation: gr-tour-video-in .28s ease;
}
.gr-tour-video.show { display: block; }
.gr-tour-video video { display: block; width: 100%; height: auto; cursor: pointer; }
.gr-tour-video .gr-tour-mute {
    position: absolute; top: 8px; right: 8px; z-index: 1; width: 30px; height: 30px;
    border: none; border-radius: 50%; background: rgba(15, 23, 42, .55); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: .9rem;
}
.gr-tour-video .gr-tour-mute:hover { background: rgba(15, 23, 42, .8); }
@keyframes gr-tour-video-in { from { opacity: 0; transform: translateY(12px) scale(.96); } to { opacity: 1; transform: none; } }

@media (max-width: 575px) {
    .gr-tour-pop { width: calc(100vw - 20px); }
    .gr-tour-video { width: 128px; right: 10px; bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) { .gr-tour-spot, .gr-tour-video { transition: none; animation: none; } }
