/* Démo guidée : faux curseur animé + bulles explicatives sous les champs */
.dg-cursor {
    position: fixed; z-index: 20000; width: 24px; height: 24px; margin: -2px 0 0 -2px;
    pointer-events: none;
    transition: left .8s cubic-bezier(.4,.1,.2,1), top .8s cubic-bezier(.4,.1,.2,1);
    filter: drop-shadow(0 2px 3px rgba(0,0,0,.4));
}
.dg-cursor svg { width: 100%; height: 100%; }
.dg-cursor.dg-click { animation: dg-click .25s ease; }
@keyframes dg-click { 50% { transform: scale(.7); } }

/* Menu déroulant simulé (overlay sur body) */
.dg-menu {
    position: fixed; z-index: 20001; max-height: 260px; overflow: auto;
    background: #fff; border: 1px solid var(--uneeti-accent,#0d6efd); border-radius: 6px;
    box-shadow: 0 12px 32px rgba(0,0,0,.30);
    opacity: 0; transform: translateY(-6px); transition: opacity .18s, transform .18s;
}
.dg-menu.dg-show { opacity: 1; transform: translateY(0); }
.dg-menu-item { padding: 7px 14px; font-size: .88rem; color: #212529; white-space: nowrap; cursor: default; }
.dg-menu-item.dg-hl { background: var(--uneeti-accent,#0d6efd); color: #fff; }

.dg-highlight {
    outline: 3px solid var(--uneeti-accent,#0d6efd) !important; outline-offset: 2px; border-radius: 4px;
    box-shadow: 0 0 0 6px rgba(13,110,253,.15) !important;
    transition: outline-color .2s, box-shadow .2s;
}

.dg-bubble {
    position: fixed; z-index: 20000; max-width: 320px;
    background: var(--uneeti-accent,#0d6efd); color: #fff; padding: 10px 14px; border-radius: 8px;
    font-size: .85rem; line-height: 1.35; box-shadow: 0 6px 20px rgba(0,0,0,.25);
    pointer-events: none; opacity: 0; transform: translateY(6px);
    transition: opacity .25s, transform .25s, left .4s, top .4s;
}
.dg-bubble.dg-show { opacity: 1; transform: translateY(0); }
.dg-bubble::before {
    content: ""; position: absolute; top: -7px; left: 22px;
    border: 7px solid transparent; border-top: 0; border-bottom-color: var(--uneeti-accent,#0d6efd);
}

.dg-toast {
    position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 20000;
    background: var(--uneeti-success,#198754); color: #fff; padding: 10px 18px; border-radius: 30px; font-size: .9rem;
    box-shadow: 0 6px 20px rgba(0,0,0,.25); opacity: 0; transition: opacity .3s;
}
.dg-toast.dg-show { opacity: 1; }
