/* NAPSIA — effets discrets au survol (remplacent le curseur personnalisé). Rien ne suit la souris. */

/* Transitions (posées en permanence pour un retour en douceur) */
.np-btn, .bouton, .bouton-reverse, input[type="submit"], button[type="submit"] {
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.nc-card, .np-card, .hp-c, .nx-f, .c-article--card {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}

/* Liens dans le texte (hors boutons, cartes, menus, en-tête et pied de page) */
:where(p, li, td, dd, blockquote, figcaption) a:not(.np-btn):not(.bouton):not(.bouton-reverse):not(.nc-card):not(.np-card):not(.hp-c):not(.nx-f):not([class*="btn"]):not(:where(nav, header, footer, .p-menu, .p-nav, .p-footer) *) {
    background-image: linear-gradient(#FBC400, #FBC400);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0% 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    transition: background-size .25s ease;
}

/* Effets uniquement sur les appareils avec souris (pas d'effet « collé » sur mobile) */
@media (hover: hover) and (pointer: fine) {
    html body .np-btn:hover, html body .bouton:hover, html body .bouton-reverse:hover, html body input[type="submit"]:hover, html body button[type="submit"]:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(251, 196, 0, .35) !important;
    }
    html body .nc-card:hover, html body .np-card:hover, html body a.np-card:hover, html body .hp-c:hover, html body .nx-f:hover, html body .c-article--card:hover {
        transform: translateY(-4px) !important;
        box-shadow: 0 10px 28px rgba(0, 0, 0, .10) !important;
    }
    :where(p, li, td, dd, blockquote, figcaption) a:not(.np-btn):not(.bouton):not(.bouton-reverse):not(.nc-card):not(.np-card):not(.hp-c):not(.nx-f):not([class*="btn"]):not(:where(nav, header, footer, .p-menu, .p-nav, .p-footer) *):hover {
        background-size: 100% 2px;
    }
}

/* Visiteurs ayant réduit les animations : aucun mouvement ni transition */
@media (prefers-reduced-motion: reduce) {
    .np-btn, .bouton, .bouton-reverse, input[type="submit"], button[type="submit"],
    .nc-card, .np-card, .hp-c, .nx-f, .c-article--card,
    :where(p, li, td, dd, blockquote, figcaption) a {
        transition: none !important;
    }
    html body .np-btn:hover, html body .bouton:hover, html body .bouton-reverse:hover, html body input[type="submit"]:hover, html body button[type="submit"]:hover,
    html body .nc-card:hover, html body .np-card:hover, html body a.np-card:hover, html body .hp-c:hover, html body .nx-f:hover, html body .c-article--card:hover {
        transform: none !important;
    }
}
