/* ============================================================
   LA FÉE DE CURSEUR — améthyste & bleu
   ============================================================ */

/* le pointeur système disparaît... */
body.mrd-fee-on,
body.mrd-fee-on * { cursor: none !important; }

/* ...sauf là où l'on écrit : on ne cache jamais un curseur de saisie */
body.mrd-fee-on input,
body.mrd-fee-on textarea,
body.mrd-fee-on select,
body.mrd-fee-on [contenteditable="true"] { cursor: auto !important; }

/* la fée */
.mrd-fee {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;

  /* ════════════════════════════════════════════════════════════════
     UN CURSEUR EST AU-DESSUS DE TOUT. PAR DÉFINITION. (1.2.0, 31/08/2026)

     Elle était à 99998. Le volet des filtres de Boutique est à 99999 et
     son voile à 99998 ; le bandeau de cookies se pose lui aussi au-dessus.
     La fée était donc PEINTE SOUS eux — et comme cette feuille cache le
     vrai pointeur partout (`cursor:none` plus bas), il ne restait, sur ces
     deux écrans-là, AUCUN pointeur visible. Ni le vrai, ni la fée. Aurore
     visait à l'aveugle : « le curseur ne permet pas de fermer les filtres
     ni de valider le bandeau de cookies ».

     Les clics, eux, passaient : `pointer-events: none` est juste en
     dessous et n'a jamais bougé. Ce n'était pas un blocage, c'était une
     cécité.

     2147483647 est le maximum d'un entier 32 bits signé. Ce n'est pas de
     la surenchère : rien ne doit jamais passer devant un curseur, et rien
     ne le peut au-dessus de cette valeur.
     ════════════════════════════════════════════════════════════════ */
  z-index: 2147483647 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
  opacity: 0;
  transition: opacity .25s ease;
  will-change: transform;
}
.mrd-fee.mrd-visible { opacity: 1; }

.mrd-fee .mrd-halo {
  position: absolute !important;
  left: 50%; top: 50%;
  width: 132px; height: 132px;
  margin: -66px 0 0 -66px;
  border-radius: 50%;
  background: radial-gradient(circle, #8B4AD4 0%, #3FBEEF 42%, rgba(63,190,239,0) 68%);
  opacity: .38;
  filter: blur(10px);
  animation: mrd-respire 3.1s ease-in-out infinite;
}

.mrd-fee .mrd-ailes {
  position: absolute !important;
  left: 50%; top: 50%;
  width: 126px; height: 97px;
  margin: -58px 0 0 -63px;
  transform-origin: 50% 56%;
  animation: mrd-battement .36s ease-in-out infinite alternate;
}

.mrd-fee .mrd-noyau {
  position: absolute !important;
  left: 50%; top: 50%;
  width: 26px; height: 26px;
  margin: -13px 0 0 -13px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 40% 34%, #fff 0%, #fff 17%, rgba(255,255,255,.9) 27%, rgba(255,255,255,0) 60%),
    linear-gradient(145deg, #C89BF5 0%, #8B4AD4 34%, #5A6FE0 62%, #3FBEEF 100%);
  box-shadow: 0 0 13px #8B4AD4, 0 0 30px #3FBEEF, 0 0 58px #3FBEEF;
  animation: mrd-respire 3.1s ease-in-out infinite;
}

@keyframes mrd-respire { 0%,100% { transform: scale(1); } 50% { transform: scale(1.1); } }
@keyframes mrd-battement { from { transform: scaleX(1) rotate(-1.5deg); } to { transform: scaleX(.74) rotate(1.5deg); } }

/* un grain de poussière */
.mrd-grain {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 2147483646 !important;   /* juste sous la fée — voir plus haut */
  pointer-events: none !important;
  background-repeat: no-repeat;
  background-size: contain;
  will-change: transform, opacity;
}

/* l'interrupteur discret du pied de page */
.mrd-fee-bascule {
  display: inline-block;
  margin: 18px auto 0;
  padding: 5px 14px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 14px;
  letter-spacing: .04em;
  color: #FFFDF9 !important;
  background: transparent !important;
  border: 1px solid rgba(255,253,249,.35) !important;
  border-radius: 999px;
  cursor: pointer;
  opacity: .55;
  transition: opacity .25s ease, border-color .25s ease;
}
.mrd-fee-bascule:hover { opacity: 1; border-color: rgba(200,155,60,.8) !important; }
.mrd-fee-bascule.mrd-flottante {
  position: fixed !important;
  left: 16px; bottom: 16px;
  z-index: 99996 !important;
  background: rgba(42,74,61,.9) !important;
}

/* pas de fée là où l'on ne veut pas d'elle */
@media (pointer: coarse), (hover: none) {
  .mrd-fee, .mrd-grain, .mrd-fee-bascule { display: none !important; }
  body.mrd-fee-on, body.mrd-fee-on * { cursor: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  .mrd-fee, .mrd-grain { display: none !important; }
  body.mrd-fee-on, body.mrd-fee-on * { cursor: auto !important; }
}

/* ============================================================
   LA LIVRÉE « ÉTINCELLE DE FORGE »  (1.3.0 — 16/09/2026)
   ------------------------------------------------------------
   Même code, deux costumes : chez Merydar la fée d'améthyste,
   chez Le Couman Souriant l'étincelle qui saute de l'enclume.
   Pas d'ailes, un noyau incandescent, un halo de braise — et des
   grains qui retombent au lieu de flotter (c'est le JS qui règle
   la chute, ici on ne fait que la couleur).
   ============================================================ */
.mrd-fee--etincelle .mrd-halo {
  background: radial-gradient(circle, #FF9331 0%, #E2701A 40%, rgba(226,112,26,0) 70%);
  animation-duration: 1.9s;
}

.mrd-fee--etincelle .mrd-noyau {
  width: 20px; height: 20px;
  margin: -10px 0 0 -10px;
  background:
    radial-gradient(circle at 42% 34%, #FFF6E2 0%, #FFF6E2 20%, rgba(255,246,226,.85) 32%, rgba(255,246,226,0) 62%),
    linear-gradient(145deg, #FFC46B 0%, #FF9331 38%, #E2701A 70%, #9C4208 100%);
  box-shadow: 0 0 10px #FF9331, 0 0 24px #E2701A, 0 0 46px rgba(226,112,26,.7);
  animation-duration: 1.9s;
}

/* l'interrupteur, aux couleurs de la forge */
.mrd-fee--etincelle ~ .mrd-fee-bascule,
body.mrd-fee-on .mrd-fee-bascule.mrd-bascule-forge {
  border-color: rgba(217,184,122,.55) !important;
}
