/* ========================================
   TASK HOVER FIX — Apple-smooth animations
   v2: zero layout shift, zero débordement
   ======================================== */

/* Base: transition rapide, overflow caché pour pas déborder */
.bubble,
.task-bubble {
    transition: filter 0.18s ease, box-shadow 0.18s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

/* ZERO transform au hover — juste un glow subtil */
.bubble:hover,
.task-bubble:hover {
    transform: none !important;
    filter: brightness(1.1) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 16px rgba(0,0,0,0.25) !important;
}

[data-theme]:not([data-theme="academie"]) .bubble:hover,
[data-theme]:not([data-theme="academie"]) .task-bubble:hover {
    transform: none !important;
    filter: brightness(1.12) !important;
    box-shadow: 0 0 0 1px var(--accent, rgba(255,255,255,0.1)), 0 4px 20px rgba(0,0,0,0.3) !important;
}

[data-theme="executive"] .bubble:hover,
[data-theme="executive"] .task-bubble:hover,
[data-theme="corporate"] .bubble:hover,
[data-theme="corporate"] .task-bubble:hover,
[data-theme="minimal"] .bubble:hover,
[data-theme="minimal"] .task-bubble:hover {
    transform: none !important;
    filter: brightness(1.04) !important;
}

/* Done hover */
.bubble.done:hover,
.task-bubble.done:hover {
    transform: none !important;
    filter: brightness(1.12) !important;
}

[data-theme]:not([data-theme="academie"]) .bubble.done:hover,
[data-theme]:not([data-theme="academie"]) .task-bubble.done:hover {
    transform: none !important;
    filter: brightness(1.15) !important;
}

[data-theme="executive"] .bubble.done:hover,
[data-theme="executive"] .task-bubble.done:hover,
[data-theme="corporate"] .bubble.done:hover,
[data-theme="corporate"] .task-bubble.done:hover,
[data-theme="minimal"] .bubble.done:hover,
[data-theme="minimal"] .task-bubble.done:hover {
    transform: none !important;
    filter: brightness(1.04) !important;
}

/* === BOUTONS D'ACTION — toujours visibles, pas de layout shift === */
.bubble-actions,
.task-actions {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    visibility: visible !important;
    display: flex !important;
    margin-top: 8px !important;
}

/* Annuler tout hide/show au hover */
.bubble:hover .bubble-actions,
.bubble:hover .task-actions,
.task-bubble:hover .bubble-actions,
.task-bubble:hover .task-actions {
    opacity: 1 !important;
    animation: none !important;
}

[data-theme]:not([data-theme="academie"]) .bubble:hover .bubble-actions,
[data-theme]:not([data-theme="academie"]) .bubble:hover .task-actions,
[data-theme]:not([data-theme="academie"]) .task-bubble:hover .bubble-actions,
[data-theme]:not([data-theme="academie"]) .task-bubble:hover .task-actions {
    animation: none !important;
    opacity: 1 !important;
}

/* Boutons individuels — hover subtil */
.task-action-btn:hover,
.bubble-action-btn:hover {
    transform: scale(1.08) !important;
    transition: transform 0.1s ease !important;
    filter: brightness(1.2) !important;
}

/* popIn plus rapide, sans rebond */
.bubble,
.task-bubble {
    animation: popIn 0.2s ease-out !important;
}

/* Neon theme */
[data-theme="neon"] .task-card:hover {
    transform: none !important;
}
