/* ═══════════════════════════════════════════════════════════════════════════
   BAID — Hover effects "vivants" sur les CTAs primaires
   ───────────────────────────────────────────────────────────────────────────
   Objectif : renforcer la sensation premium au hover des CTAs principaux de
   la plateforme employé/pilote via un scale subtil + glow coloré contextuel
   + transition fluide ~150ms.

   Pattern :
   - transition declarée à l'état non-hover (sortie fluide)
   - :hover = translateY(-1px) + scale(1.02) + filter brightness + glow
   - glow adapté à la couleur canonique du module (idée=vert, problème=corail,
     défi=indigo, tempête=violet, etc.)
   - respect strict de prefers-reduced-motion : pas de scale/transform pour
     les users qui ont désactivé les animations (on garde juste le glow doux)
   - [disabled] : pas de hover (cohérence avec l'état désactivé)

   Classes ciblées :
     .cta-primary-accueil      — CTA principal pages listing + accueil orga
     .idee-vote-btn            — vote soutien sur idées (vignette + single)
     .pb-vote-btn              — vote intérêt sur problèmes (vignette + single)
     .pb-sol-vote-btn          — vote sur solution proposée à un problème
     .baid-single-vote-btn     — bouton vote dans les singles (multi-module)
     .pilo-offer-cta           — CTAs des offres dans le dashboard pilote
     .baid-single-sol-submit   — bouton "proposer une solution" sur problème
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Transitions de base (toujours présentes pour fluidité à la sortie) ─── */
.cta-primary-accueil,
.idee-vote-btn,
.pb-vote-btn,
.pb-sol-vote-btn,
.baid-single-vote-btn,
.pilo-offer-cta,
.baid-single-sol-submit {
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    will-change: transform;
}

/* ─── Effet hover : appliqué uniquement si l'utilisateur n'a pas demandé
       à réduire les animations (a11y respectée) ──────────────────────────── */
@media (prefers-reduced-motion: no-preference) {

    /* Hover générique : scale + lift + brightness boost
       (le box-shadow coloré est défini par sélecteur dédié plus bas) */
    .cta-primary-accueil:hover:not([disabled]),
    .idee-vote-btn:hover:not([disabled]),
    .pb-vote-btn:hover:not([disabled]),
    .pb-sol-vote-btn:hover:not([disabled]),
    .baid-single-vote-btn:hover:not([disabled]),
    .pilo-offer-cta:hover:not([disabled]),
    .baid-single-sol-submit:hover:not([disabled]) {
        transform: translateY(-1px) scale(1.02);
        filter: brightness(1.05);
    }
}

/* ─── Glow coloré par contexte (indépendant de prefers-reduced-motion :
       le glow seul reste discret et n'implique aucun mouvement, donc on le
       garde même quand l'utilisateur a désactivé les animations) ────────── */

/* CTA générique accueil — glow violet/rose (gradient violet→rose) */
.cta-primary-accueil:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(139, 92, 246, .35);
}

/* Idée (vert) — soutenir une idée */
.idee-vote-btn:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(22, 163, 74, .35);
}

/* Problème (rouge corail) — "J'ai ce problème aussi" */
.pb-vote-btn:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(225, 29, 72, .35);
}

/* Solution retenue (vert intense) — vote sur solution proposée */
.pb-sol-vote-btn:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(22, 163, 74, .4);
}

/* Vote dans single — couleur adaptée au module via data-module
   Par défaut (sans data-voted ni module précis) : ton neutre slate */
.baid-single-vote-btn:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(100, 116, 139, .3);
}
.baid-single-vote-btn[data-module="idee"]:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(22, 163, 74, .35);
}
.baid-single-vote-btn[data-module="probleme"]:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(225, 29, 72, .35);
}
.baid-single-vote-btn[data-module="defi"]:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(79, 70, 229, .35);
}
.baid-single-vote-btn[data-module="tempete"]:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(147, 51, 234, .35);
}

/* Offre pilotage — utilise les variables CSS de l'offre (--oc-color)
   pour rester cohérent avec la couleur de chaque offre (Starter, Pro, etc.) */
.pilo-offer-cta:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px var(--oc-color, rgba(139, 92, 246, .35));
}

/* Proposer une solution (violet 700) */
.baid-single-sol-submit:hover:not([disabled]) {
    box-shadow: 0 8px 22px -6px rgba(124, 58, 237, .4);
}

/* ─── États désactivés : aucune interaction visuelle, curseur explicite ── */
.cta-primary-accueil[disabled],
.idee-vote-btn[disabled],
.pb-vote-btn[disabled],
.pb-sol-vote-btn[disabled],
.baid-single-vote-btn[disabled],
.pilo-offer-cta[disabled],
.baid-single-sol-submit[disabled] {
    cursor: not-allowed;
}
