/* ─── Corvo do Pix Halloween — tema global ──────────────────────────────────── */
:root {
  --hw-bg:          #07040c;
  --hw-bg-2:        #0e0818;
  --hw-bg-3:        #160b22;
  --hw-purple:      #7c3aed;
  --hw-purple-2:    #a855f7;
  --hw-purple-3:    #c084fc;
  --hw-orange:      #ff7a18;
  --hw-orange-2:    #ff9f1c;
  --hw-gold:        #e8c36a;
  --hw-red:         #c41e3a;
  --hw-text:        #f4e9d8;
  --hw-muted:       rgba(244, 233, 216, .58);
  --hw-glow:        0 0 24px rgba(255, 122, 24, .28);
  --hw-glow-purple: 0 0 28px rgba(124, 58, 237, .32);

  --pink:        #ff7a18;
  --pink-light:  #ff9f1c;
  --pink-dark:   #e85d04;
  --dark:        #12081a;
  --dark-mid:    #2a1638;
  --green:       #ff9f1c;
  --green-dark:  #e85d04;
  --red:         #c41e3a;
  --blue:        #a855f7;
  --orange:      #ff7a18;
  --white:       #f4e9d8;
  --bg:          radial-gradient(120% 80% at 10% 0%, rgba(124, 58, 237, .22) 0%, transparent 46%),
                 linear-gradient(180deg, #07040c 0%, #0b0614 55%, #12081a 100%);
  --card-bg:     rgba(14, 8, 24, .88);
  --shadow:      0 12px 40px rgba(0, 0, 0, .45);
  --shadow-hover:0 18px 48px rgba(255, 122, 24, .16);
}

html, body {
  background: var(--hw-bg) !important;
  color: var(--hw-text);
}

body {
  position: relative;
}

/* Atmosphere overlay — lightweight CSS, no JS loop */
.hw-atmosphere {
  position: fixed; inset: 0; pointer-events: none; z-index: 2;
  overflow: hidden;
}
.hw-moon {
  position: absolute; top: 4vh; right: 7vw;
  width: min(110px, 22vw); height: min(110px, 22vw);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 35%, #f4e9d8 0%, #e8c36a 38%, #c4a15a 70%, #8a6a32 100%);
  box-shadow: 0 0 40px 12px rgba(232, 195, 106, .22), 0 0 90px 24px rgba(124, 58, 237, .12);
  opacity: .55;
}
.hw-fog {
  position: absolute; left: -10%; right: -10%; bottom: -8%;
  height: 28vh;
  background:
    radial-gradient(ellipse at 20% 80%, rgba(168, 85, 247, .16), transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(255, 122, 24, .1), transparent 50%),
    linear-gradient(180deg, transparent, rgba(7, 4, 12, .55));
  filter: blur(8px);
  animation: hwFog 18s ease-in-out infinite alternate;
}
.hw-bats span {
  position: absolute; width: 18px; height: 8px;
  background: #0a0610;
  border-radius: 50% 50% 40% 40%;
  opacity: .45;
  animation: hwBat 14s linear infinite;
}
.hw-bats span:nth-child(1) { top: 12%; left: -8%; animation-duration: 16s; animation-delay: 0s; }
.hw-bats span:nth-child(2) { top: 22%; left: -12%; width: 14px; animation-duration: 20s; animation-delay: 3s; }
.hw-bats span:nth-child(3) { top: 8%; left: -6%; width: 11px; animation-duration: 13s; animation-delay: 7s; }
.hw-bats span::before,
.hw-bats span::after {
  content: ''; position: absolute; top: 0; width: 10px; height: 8px;
  background: #0a0610; border-radius: 0 80% 0 80%;
}
.hw-bats span::before { left: -7px; transform: rotate(-18deg); }
.hw-bats span::after { right: -7px; transform: scaleX(-1) rotate(-18deg); }

@keyframes hwFog {
  from { transform: translateX(-4%); opacity: .7; }
  to   { transform: translateX(4%); opacity: 1; }
}
@keyframes hwBat {
  0%   { transform: translateX(0) translateY(0) scale(.8); }
  50%  { transform: translateX(60vw) translateY(-18px) scale(1); }
  100% { transform: translateX(118vw) translateY(10px) scale(.75); }
}

.global-loading {
  background: rgba(7, 4, 12, .78) !important;
}
.loading-spinner {
  border-color: rgba(255, 122, 24, .25) !important;
  border-top-color: var(--hw-orange) !important;
}

.toast.success { background: linear-gradient(135deg, #e85d04, #ff9f1c); }
.toast.info    { background: linear-gradient(135deg, #5b21b6, #7c3aed); }
.toast.warning { background: linear-gradient(135deg, #b45309, #f59e0b); }

.btn-primary, .btn-green {
  background: linear-gradient(135deg, #e85d04 0%, #ff9f1c 100%) !important;
  color: #1a0b08 !important;
  box-shadow: 0 8px 24px rgba(255, 122, 24, .35) !important;
}
.btn-primary:hover:not(:disabled),
.btn-green:hover:not(:disabled) {
  filter: brightness(1.06);
}
.btn-primary:disabled,
.btn-green:disabled {
  opacity: .5;
  filter: none;
}

/* Subtle web in top corners — site only */
body::after {
  content: '';
  position: fixed; top: 0; left: 0;
  width: 140px; height: 110px;
  pointer-events: none; z-index: 3;
  opacity: .22;
  background:
    radial-gradient(circle at 0 0, transparent 18px, rgba(244,233,216,.35) 19px, transparent 20px),
    linear-gradient(135deg, rgba(244,233,216,.18) 1px, transparent 1px);
  background-size: 40px 40px, 18px 18px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 70%);
}

.lnd-cta-btn {
  background: linear-gradient(135deg, #e85d04 0%, #ff9f1c 100%) !important;
  color: #1a0b08 !important;
}
.lnd-trust-item {
  background: rgba(255,122,24,0.10) !important;
  border-color: rgba(255,122,24,0.22) !important;
  color: #ffb347 !important;
}
.lnd-win-amount { color: #ffb347 !important; }

@media (max-width: 640px) {
  .hw-moon { width: 72px; height: 72px; top: 10px; right: 12px; opacity: .4; }
  .hw-bats { display: none; }
  .hw-fog { height: 18vh; filter: blur(6px); }
  body::after { display: none; }
}

body:has(#page-jogo.active) .hw-atmosphere,
body:has(#page-jogo.active)::after {
  opacity: 0;
  visibility: hidden;
}
