/* ============================================================
   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;
  z-index: 99998 !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: 99997 !important;
  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; }
}
