/* Novatis Devis — compteur, chargement, toasts. Les styles de la démo restent prioritaires. */

/* Icône devis du header (compteur de couleur distincte du panier : --nv-devis). */
.nv-devis-link{position:relative;display:inline-grid;place-items:center;color:inherit;text-decoration:none}
.nv-devis-count{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--nv-devis,var(--nv-accent,#1d2327));color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}

/* Conteneurs YITH neutres : le bouton garde la place et la mise en page de la démo, toujours visible.
   (!important : YITH masque/affiche ces blocs en style inline.) */
.nv-devis-bouton,
.yith-ywraq-add-to-quote,
.yith-ywraq-add-to-quote .yith-ywraq-add-button{display:contents!important}

/* Pas de « Browse the list », de message YITH, de loader YITH ni de « Voir le panier ». */
.yith-ywraq-add-to-quote [class*="yith_ywraq_add_item"],
.yith-ywraq-add-to-quote .ajax-loading,
a.added_to_cart.wc-forward{display:none!important}
.add_to_cart_button.added::after,
.nv-loading::after,
.nv-loading::before{content:none!important;display:none!important}

/* Produit déjà dans le devis : bouton désactivé (libellé « Produit ajouté au devis »). */
.nv-devis-ajoute{pointer-events:none;cursor:default;opacity:.6}

/* Chargement : 3 points qui clignotent dans le bouton (taille et style inchangés). */
.nv-loading{position:relative;pointer-events:none;cursor:default;color:transparent!important;transition:none!important}
.nv-loading>*:not(.nv-dots){visibility:hidden}
.nv-dots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;visibility:visible}
.nv-dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--nv-dots,#fff);animation:nv-dots 1s infinite both}
.nv-dots i:nth-child(2){animation-delay:.16s}
.nv-dots i:nth-child(3){animation-delay:.32s}
@keyframes nv-dots{0%,80%,100%{opacity:.2}40%{opacity:1}}

/* Toast. */
.nv-toast{position:fixed;left:50%;bottom:24px;z-index:99999;max-width:calc(100% - 32px);padding:10px 18px;border-radius:10px;background:var(--nv-toast,#1d2327);color:#fff;font-size:14px;line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.18);opacity:0;transform:translate(-50%,12px);transition:opacity .25s,transform .25s;pointer-events:none}
.nv-toast--on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.nv-dots i{animation-duration:2s}.nv-toast{transition:none}}
