
/* v35 — força modo claro mesmo quando o navegador/SO está em modo escuro */
:root { color-scheme: light only; }
html, body, #root {
  background-color: #FFF0F8 !important;
  color: #7A2D5C !important;
  overflow-x: hidden !important;
  max-width: 100vw;
}
input, textarea, select, button {
  color-scheme: light only;
}
input, textarea, select {
  background-color: #FFF8FB !important;
  color: #7A2D5C !important;
  border-color: #FFB8D9 !important;
}
input::placeholder, textarea::placeholder {
  color: #8f6b7d !important;
  opacity: 1 !important;
}
@media (prefers-color-scheme: dark) {
  html, body, #root {
    background:
      radial-gradient(circle at 10% 20%, #FFE5F0 0%, transparent 40%),
      radial-gradient(circle at 90% 80%, #FFD8E8 0%, transparent 40%),
      linear-gradient(180deg, #FFF0F8 0%, #FFE5F2 100%) !important;
    color: #7A2D5C !important;
  }
  .mlv-loader {
    background: linear-gradient(135deg, #FFE5F0 0%, #FFD8E8 50%, #F0DFFF 100%) !important;
  }
}

/* MLV LOADING SCREEN — coraçãozinho pulsando */
.mlv-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: linear-gradient(135deg, #FFE5F0 0%, #FFD8E8 50%, #F0DFFF 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 24px;
  transition: opacity .22s ease, visibility .22s ease;
  font-family: 'M PLUS Rounded 1c', system-ui, sans-serif;
}
.mlv-loader.mlv-loader-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.mlv-loader-heart {
  width: 100px;
  height: 100px;
  position: relative;
  animation: mlv-loader-pulse 1.2s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgba(255,120,180,.6));
}
.mlv-loader-heart svg {
  width: 100%;
  height: 100%;
}
.mlv-loader-text {
  font-size: 18px;
  font-weight: 800;
  color: #D14A82;
  letter-spacing: .2em;
  text-align: center;
  font-style: italic;
}
.mlv-loader-subtext {
  font-size: 12px;
  color: #9B5278;
  margin-top: 4px;
  letter-spacing: .15em;
  font-weight: 600;
}
.mlv-loader-dots {
  display: inline-block;
  width: 20px;
  text-align: left;
}
.mlv-loader-dots::after {
  content: "";
  animation: mlv-loader-dots 1.5s steps(4, end) infinite;
}
.mlv-loader-sparkles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.mlv-loader-sparkle {
  position: absolute;
  color: #FFD668;
  animation: mlv-loader-sparkle-pop 2s ease-in-out infinite;
  opacity: 0;
  font-size: 24px;
}

@keyframes mlv-loader-pulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 20px rgba(255,120,180,.6));
  }
  20% {
    transform: scale(1.2);
    filter: drop-shadow(0 0 30px rgba(255,120,180,.9));
  }
  40% {
    transform: scale(1);
  }
  60% {
    transform: scale(1.25);
    filter: drop-shadow(0 0 35px rgba(255,120,180,1));
  }
  80% {
    transform: scale(1);
  }
}
@keyframes mlv-loader-dots {
  0%   { content: ""; }
  25%  { content: "."; }
  50%  { content: ".."; }
  75%  { content: "..."; }
  100% { content: ""; }
}
@keyframes mlv-loader-sparkle-pop {
  0%, 100% { opacity: 0; transform: scale(0.5) rotate(0deg); }
  50% { opacity: 1; transform: scale(1) rotate(180deg); }
}
