/* ANDRA2 Halloween: seasonal overrides, loaded after existing styles. */
body.andra-halloween {
	background: #09070e url('../img/theme/halloween-background.webp') center top / cover fixed no-repeat !important;
}
body.andra-halloween .make-body {
	background: transparent !important;
}
body.andra-halloween .andra-home {
	background: transparent !important;
}
body.andra-halloween .make-header {
	background: #09070e !important;
	border-bottom-color: rgba(246,152,69,.24) !important;
}
body.andra-halloween .make-header:after {
	background: linear-gradient(to bottom,transparent,#09070e 96%) !important;
}
body.andra-halloween .andra-hero-video-v15 {
	display: none !important;
}
body.andra-halloween .andra-hero > .andra-hero-bg {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	opacity: 1 !important;
	background: #09070e url('../img/theme/halloween-hero.webp') center center / cover no-repeat !important;
	z-index: 0 !important;
}
body.andra-halloween .andra-hero-shade {
	background: linear-gradient(180deg,rgba(7,4,12,.22),rgba(7,4,12,.12) 45%,rgba(9,7,14,.75)),radial-gradient(ellipse at center,rgba(8,5,13,.40),transparent 80%) !important;
}
body.andra-halloween .andra-kicker {
	color: #ffc180 !important;
}
body.andra-halloween .andra-btn-primary {
	background: linear-gradient(180deg,#ffd095,#e48b40) !important;
	border-color: #ffce94 !important;
	color: #21120a !important;
	box-shadow: 0 10px 32px rgba(231,117,36,.22) !important;
}
body.andra-halloween .andra-btn-secondary {
	border-color: rgba(244,165,92,.36) !important;
	background: rgba(21,12,30,.84) !important;
}
body.andra-halloween .andra-btn-secondary:hover {
	border-color: #ffc180 !important;
	background: rgba(48,23,42,.94) !important;
}
body.andra-halloween .make-header .make-nav {
	border-bottom-color: rgba(244,165,92,.20) !important;
}
body.andra-halloween .make-header .make-nav a:hover {
	color: #ffc180 !important;
}
body.andra-halloween .andra-home-section-head h2,
body.andra-halloween .andra-home-events-head h2 {
	text-shadow: 0 2px 20px rgba(200,115,42,.14);
}
@media (max-width:900px) {
	body.andra-halloween { background-attachment: scroll !important; }
	body.andra-halloween .andra-hero > .andra-hero-bg { background-position: 50% center !important; }
}

/* Halloween panel palette and seamless hero transition. */
body.andra-halloween #andraLaunch {
	display: none !important;
}
body.andra-halloween .make-header {
	border-bottom: 0 !important;
}
body.andra-halloween .andra-hero-shade {
	background: linear-gradient(180deg,rgba(7,4,12,.22),rgba(7,4,12,.12) 45%,#09070e 100%),radial-gradient(ellipse at center,rgba(8,5,13,.40),transparent 80%) !important;
}
body.andra-halloween .make-body {
	background: linear-gradient(180deg,#09070e 0,rgba(9,7,14,.70) 130px,transparent 320px) !important;
}
body.andra-halloween .andra-home-telemetry-menu,
body.andra-halloween .andra-home-status,
body.andra-halloween .andra-home-news,
body.andra-halloween .andra-home-ranking,
body.andra-halloween .andra-home-server,
body.andra-halloween .andra-home-cta,
body.andra-halloween .andra-home-events,
body.andra-halloween .andra-weekly-schedule {
	border-color: rgba(244,165,92,.26) !important;
	background: radial-gradient(ellipse at 85% 0,rgba(122,65,163,.18),transparent 65%),linear-gradient(180deg,rgba(25,15,35,.97),rgba(13,9,21,.98)) !important;
	box-shadow: 0 18px 48px rgba(0,0,0,.32) !important;
}
body.andra-halloween .andra-home-telemetry-menu:before,
body.andra-halloween .andra-home-status:before,
body.andra-halloween .andra-home-news:before,
body.andra-halloween .andra-home-ranking:before,
body.andra-halloween .andra-home-server:before,
body.andra-halloween .andra-home-events:before {
	background: linear-gradient(90deg,#ffc180,#a879d8,transparent) !important;
	box-shadow: 0 0 15px rgba(244,165,92,.30) !important;
}
body.andra-halloween .andra-stat-mini,
body.andra-halloween .andra-home-stat,
body.andra-halloween .andra-home-news-card,
body.andra-halloween .andra-home-event-card,
body.andra-halloween .andra-home-events-empty,
body.andra-halloween .andra-home-events-next-strip,
body.andra-halloween .andra-weekly-day,
body.andra-halloween .andra-system-card {
	border-color: rgba(187,140,215,.22) !important;
	background: linear-gradient(145deg,rgba(47,28,61,.80),rgba(18,12,29,.94)) !important;
}
body.andra-halloween .andra-stat-mini:hover,
body.andra-halloween .andra-home-news-card:hover,
body.andra-halloween .andra-home-event-card:hover,
body.andra-halloween .andra-system-card:hover,
body.andra-halloween .andra-weekly-day.is-today {
	border-color: rgba(255,193,128,.65) !important;
}
body.andra-halloween .andra-stat-mini:before {
	background: #ffc180 !important;
	box-shadow: 0 0 8px rgba(255,193,128,.30) !important;
}
body.andra-halloween .andra-stat-mini-1:before {
	background: #69f7b0 !important;
	box-shadow: 0 0 10px rgba(105,247,176,.45) !important;
}
body.andra-halloween .andra-stat-mini-label {
	color: #ad98b8 !important;
}
body.andra-halloween .andra-stat-mini-2 .andra-stat-mini-value,
body.andra-halloween .andra-stat-mini-5 .andra-stat-mini-value {
	color: #ffd2a3 !important;
}
body.andra-halloween .andra-home-section-head > div > span,
body.andra-halloween .andra-home-telemetry-copy > span,
body.andra-halloween .andra-home-events-copy > span,
body.andra-halloween .andra-home-eyebrow,
body.andra-halloween .andra-home-read,
body.andra-halloween .andra-home-events-next-copy > small,
body.andra-halloween .andra-weekly-entry time,
body.andra-halloween .andra-weekly-day.is-today h3 {
	color: #ffc180 !important;
}
body.andra-halloween .andra-system-top i {
	color: #ffc180 !important;
	border-color: rgba(244,165,92,.30) !important;
	background: rgba(244,165,92,.07) !important;
}

/* Seasonal atmosphere: no interaction-blocking decoration. */
body.andra-halloween .andra-hero { overflow: hidden !important; }
body.andra-halloween .andra-halloween-fog { position:absolute; left:-20%; bottom:-15px; width:140%; height:145px; z-index:3; pointer-events:none; background:radial-gradient(ellipse at 20% 80%,rgba(185,150,206,.20),transparent 45%),radial-gradient(ellipse at 75% 95%,rgba(185,150,206,.17),transparent 48%); filter:blur(18px); animation:andraFog 24s ease-in-out infinite alternate; }
@keyframes andraFog { to { transform:translateX(7%); opacity:.65; } }
.andra-halloween-pumpkin { position:fixed; bottom:26px; z-index:1100; font-size:52px; line-height:1.2; filter:drop-shadow(0 0 13px rgba(255,139,39,.60)); animation:andraPumpkinGlow 4s ease-in-out infinite alternate; }
.andra-halloween-pumpkin.is-left { left:12px; }
.andra-halloween-pumpkin.is-right { right:12px; }
.andra-halloween-pumpkin:after { content:'✦ ✧ ✦'; position:absolute; left:-10px; top:-20px; color:#ffd69b; font-size:18px; opacity:0; transform:translateY(10px); transition:opacity .3s,transform .5s; }
.andra-halloween-pumpkin:hover:after { opacity:1; transform:translateY(-8px); }
@keyframes andraPumpkinGlow { to { filter:drop-shadow(0 0 22px rgba(255,139,39,.85)); } }
.andra-halloween-leaves { position:fixed; inset:0; pointer-events:none; z-index:1050; overflow:hidden; }
.andra-halloween-leaves span { position:absolute; top:-50px; font-size:19px; opacity:.45; animation:andraLeafFall 23s linear infinite; }
@keyframes andraLeafFall { 0% { transform:translate3d(0,-40px,0) rotate(0); } 100% { transform:translate3d(65px,110vh,0) rotate(290deg); } }
.andra-halloween-next,.andra-halloween-rewards { margin:0 0 20px; padding:25px 30px; border:1px solid rgba(255,173,87,.30); border-radius:12px; background:radial-gradient(ellipse at 95% 0,rgba(127,60,159,.22),transparent 65%),linear-gradient(145deg,#21142d,#100c18); color:#f5edf9; }
.andra-halloween-next { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.andra-halloween-next small,.andra-halloween-rewards small { display:block; color:#ffc180; font-size:10px; font-weight:800; letter-spacing:.12em; }
.andra-halloween-next h3,.andra-halloween-rewards h2 { margin:10px 0!important; color:#fff!important; }
.andra-halloween-next p,.andra-halloween-rewards p { margin:0; color:#baaac6; line-height:1.6; }
.andra-halloween-next-clock { text-align:right; flex-shrink:0; }
.andra-halloween-next-clock strong { display:block; margin-top:8px; color:#ffd3a2; font-size:26px; font-variant-numeric:tabular-nums; }
.andra-halloween-rewards-head { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.andra-halloween-locked { padding:8px 13px; border:1px solid rgba(255,193,128,.30); border-radius:20px; color:#ffd3a2; white-space:nowrap; font-size:12px; }
.andra-halloween-reward-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:22px 0 17px; }
.andra-halloween-reward-placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; min-height:130px; background:rgba(0,0,0,.20); border:1px dashed rgba(181,141,206,.28); border-radius:8px; color:#bba6ca; }
.andra-halloween-reward-placeholder b { font-size:32px; color:#ffc180; }
.andra-halloween-rewards-note { font-size:12px; }
body.andra-halloween .andra-halloween-news-tag { color:#ffc180!important; border-color:rgba(255,193,128,.35)!important; background:rgba(57,26,12,.70)!important; padding:5px 9px; border-radius:4px; }
.andra-halloween-ghost { position:fixed; right:24px; bottom:105px; z-index:1101; padding:8px; border:0; background:transparent; font-size:35px; cursor:pointer; animation:andraGhostFloat 4s ease-in-out infinite alternate; }
.andra-halloween-ghost.is-left { right:auto; left:24px; }
.andra-halloween-ghost:focus-visible { outline:2px solid #ffc180; border-radius:8px; }
@keyframes andraGhostFloat { to { transform:translateY(-9px); } }
.andra-halloween-ghost-text { position:fixed; right:26px; bottom:170px; z-index:1102; max-width:270px; padding:14px 17px; border:1px solid #b180d0; border-radius:10px; background:#21142d; color:#f5edf9; box-shadow:0 10px 25px #0008; font-size:13px; }
.andra-halloween-ghost-text[hidden] { display:none!important; }
body.andra-halloween .andra-weekly { border-color:rgba(244,165,92,.26)!important; background:linear-gradient(145deg,#21142d,#100c18)!important; }
@media(max-width:900px) { .andra-halloween-pumpkin { display:none; } .andra-halloween-fog { animation:none!important; opacity:.65; } .andra-halloween-ghost { font-size:27px; right:8px; bottom:18px; } .andra-halloween-ghost.is-left { left:8px; } .andra-halloween-ghost-text { right:14px; bottom:75px; } }
@media(max-width:650px) { .andra-halloween-next,.andra-halloween-rewards { padding:20px 17px; } .andra-halloween-next { align-items:flex-start; flex-direction:column; } .andra-halloween-next-clock { text-align:left; } .andra-halloween-rewards-head { flex-wrap:wrap; } .andra-halloween-reward-grid { grid-template-columns:1fr; } .andra-halloween-reward-placeholder { min-height:95px; } }
@media(prefers-reduced-motion:reduce) { .andra-halloween-fog,.andra-halloween-pumpkin,.andra-halloween-ghost,.andra-halloween-leaves span { animation:none!important; } .andra-halloween-leaves { display:none; } }

/* Candle headings, blood moon and seasonal brand. */
body.andra-halloween .make-nav > .logo-head img { width:110px!important; height:85px!important; max-width:110px!important; object-fit:contain; filter:drop-shadow(0 0 9px rgba(239,117,39,.25)); }
body.andra-halloween .make-footer .logo-head img { width:130px!important; height:auto!important; }
.andra-halloween-candle { position:relative; display:inline-block; width:15px; height:25px; margin:0 13px 0 5px; vertical-align:middle; border-radius:3px 3px 2px 2px; background:linear-gradient(90deg,#8f4732,#ffe0ac 45%,#bd7251); box-shadow:0 0 16px rgba(255,157,63,.18); }
.andra-halloween-candle:before { content:''; position:absolute; width:9px; height:17px; left:3px; top:-17px; border-radius:70% 30% 60% 40%; background:radial-gradient(ellipse at 50% 80%,#fffbd0 0,#ffd277 40%,#f27927 75%,transparent 90%); box-shadow:0 0 15px #ff9d3f88; transform-origin:center bottom; animation:andraCandleFlame 1.7s ease-in-out infinite alternate; }
.andra-halloween-candle:after { content:''; position:absolute; left:5px; top:-34px; width:5px; height:20px; border-radius:50%; background:linear-gradient(0deg,#bda6ca60,transparent); filter:blur(2px); animation:andraCandleSmoke 4s ease-out infinite; }
@keyframes andraCandleFlame { 30% { transform:rotate(-7deg) scaleY(.9); opacity:.85; } 65% { transform:rotate(5deg) scaleX(.85); } 100% { transform:rotate(-3deg) scaleY(1.12); } }
@keyframes andraCandleSmoke { 0% { opacity:0; transform:translate(0,5px) scale(.7); } 30% { opacity:.5; } 100% { opacity:0; transform:translate(10px,-15px) scale(1.5); } }
.andra-halloween-blood-moon { position:absolute; right:15%; top:8%; width:clamp(65px,8vw,115px); aspect-ratio:1; border-radius:50%; z-index:1; pointer-events:none; background:radial-gradient(circle at 32% 28%,#eaa28b99 0,transparent 13%),radial-gradient(circle at 70% 63%,#4c101755 0,transparent 20%),radial-gradient(circle at 40% 36%,#edb298,#b94236 48%,#741c28 78%,#341221); box-shadow:0 0 28px #d7463c66,0 0 80px #af233b33; opacity:.78; animation:andraBloodMoon 9s ease-in-out infinite alternate; }
@keyframes andraBloodMoon { to { opacity:.95; box-shadow:0 0 40px #d7463c88,0 0 100px #af233b55; } }
@media(max-width:900px) { body.andra-halloween .make-nav > .logo-head img { width:74px!important; height:64px!important; max-width:74px!important; } .andra-halloween-blood-moon { right:8%; top:5%; width:65px; opacity:.6; } }
@media(prefers-reduced-motion:reduce) { .andra-halloween-candle:before,.andra-halloween-candle:after,.andra-halloween-blood-moon { animation:none!important; } }

/* Keep the blood moon clear of the character on the right. */
body.andra-halloween .andra-halloween-blood-moon {
	left: 56% !important;
	right: auto !important;
	top: 13% !important;
	width: clamp(60px, 5vw, 85px) !important;
	transform: translateX(-50%);
}
@media (max-width: 1100px) {
	body.andra-halloween .andra-halloween-blood-moon { display: none !important; }
}
