/*
Theme Name: Kauhujuhlat 2025
Author: Mikael
Description: Halloween-landing + Easter Egg Hunt. Tailwind optional; fallback CSS included.
Version: 1.2.0
Text Domain: kauhujuhlat-2025
*/
:root{ --color-halloween-orange:#ff7518; --color-spooky-purple:#4a235a; --color-midnight:#1a1a2e; --color-ghost-white:#f8f9fa;}
html{scroll-behavior:smooth;}
body.site{font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--color-ghost-white);background:linear-gradient(135deg,#111827,#1a1a2e);}
.font-spooky{font-family:"Creepster","Open Sans",cursive;}
.text-halloween-orange{color:var(--color-halloween-orange)!important;}
.bg-spooky-purple\/80{background-color:rgba(74,35,90,.8);} .border-halloween-orange{border-color:var(--color-halloween-orange);}
.text-ghost-white{color:var(--color-ghost-white);} .bg-black\/30{background:rgba(0,0,0,.30);} .bg-black\/40{background:rgba(0,0,0,.40);}
.bg-gradient-to-r{background:linear-gradient(90deg,#4a235a,#1a1a2e);} .bg-gradient-to-br{background:linear-gradient(135deg,#111827,#1a1a2e);}
.backdrop-blur-sm{backdrop-filter:blur(6px);} .container{max-width:1100px;margin-inline:auto;}
.spooky-header{position:sticky;top:0;z-index:50;border-bottom:2px solid var(--color-halloween-orange);}
.card{transition:transform .25s ease, box-shadow .25s ease;border-radius:.75rem;} .card:hover{transform:scale(1.03);box-shadow:0 12px 30px rgba(0,0,0,.35);}
.tab-panel.hidden{display:none;} .tab-panel.active{display:block;} .tab-button{border-bottom:2px solid transparent;transition:color .2s,transform .2s,border-color .2s;cursor:pointer;}
.tab-button.active{color:var(--color-halloween-orange);border-color:var(--color-halloween-orange);}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}} @keyframes wiggly{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.animate-float{animation:floaty 3s ease-in-out infinite;} .animate-wiggle{animation:wiggly 1s ease-in-out infinite;} .animate-pulse-slow{animation:pulse 3s ease-in-out infinite;} .animate-bounce-slow{animation:bounce 2s ease-in-out infinite;}

/* Preloader */
#preloader{opacity:1;transition:opacity .5s ease;} #preloader.hidden{opacity:0;pointer-events:none;} .preloader-ghost{animation:floaty 2s ease-in-out infinite, pulse 1.8s ease-in-out infinite;}

/* Eggs */
.egg{position:absolute;cursor:pointer;opacity:.8;transition:transform .2s,opacity .2s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));}
.egg:hover{transform:scale(1.15) rotate(-2deg);opacity:1;}
header .egg-1{right:-16px;top:-8px;font-size:22px;}
.hero .egg-2{position:absolute;right:6%;top:10%;font-size:26px;}
.egg-2{pointer-events:auto;animation:batflap 1.4s ease-in-out infinite;transform-origin:center;}
@keyframes batflap{0%,100%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-6px) rotate(-6deg) scale(1.05)}}
#info .egg-3{margin-left:8px;} #info .egg-4{margin-left:8px;}
#food-drinks .egg-5{float:right;} #food-drinks .egg-6{margin-left:8px;} #food-drinks .egg-7{float:right;}
#location .egg-8{margin-left:8px;} #location .egg-9{position:absolute;right:10px;top:10px;font-size:22px;} footer .egg-10{margin-left:6px;}

/* Hidden digits on map */
.hidden-digit{position:absolute;color:#ffedd5;opacity:.08;font-size:clamp(18px,2.8vw,28px);font-weight:700;pointer-events:none;user-select:none;mix-blend-mode:screen;}

/* Toast + modal + challenge card */
.hunt-toast{backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.5);animation:toast-pop .25s ease;}
@keyframes toast-pop{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.hunt-modal{display:flex;} .challenge-card{animation:temuPop .45s cubic-bezier(.18,.89,.32,1.28);box-shadow:0 12px 40px rgba(0,0,0,.5);}
@keyframes temuPop{from{transform:scale(.85) rotate(-2deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
