*{margin:0;padding:0;box-sizing:border-box}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:#050505}
::-webkit-scrollbar-thumb{background:#537d01;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#34d399}
body{font-family:'Inter',system-ui,sans-serif;background:#050505;color:#eee;overflow-x:hidden}
::selection{background:#537d01;color:#000}

/* Loading Screen */
#loader{position:fixed;inset:0;z-index:10000;background:#050505;display:flex;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
#loader.hidden{opacity:0;visibility:hidden}
.loader-ring{width:60px;height:60px;border:3px solid rgba(16,185,129,.15);border-top-color:#537d01;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Age Gate */
#ageGate{position:fixed;inset:0;z-index:9000;background:rgba(5,5,5,.97);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s}
#ageGate.hidden{opacity:0;visibility:hidden;pointer-events:none}
.age-card{background:rgba(17,17,17,.8);border:1px solid rgba(16,185,129,.2);border-radius:24px;padding:48px;max-width:520px;width:90%;text-align:center;position:relative;overflow:hidden}
@keyframes agePulse{0%,100%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1);opacity:1}}

/* Smoke Effect */
.smoke-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.smoke{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(80px);opacity:.12;animation:smokeFloat 8s ease-in-out infinite}
.smoke:nth-child(1){background:#537d01;top:20%;left:10%;animation-delay:0s}
.smoke:nth-child(2){background:#537d01;top:60%;right:10%;animation-delay:2s;animation-duration:10s}
.smoke:nth-child(3){background:#34d399;bottom:10%;left:40%;animation-delay:4s;animation-duration:12s}
@keyframes smokeFloat{0%,100%{transform:translateY(0) scale(1);opacity:.08}50%{transform:translateY(-40px) scale(1.2);opacity:.15}}

/* Particles Canvas */
#particles{position:fixed;inset:0;z-index:0;pointer-events:none}

/* Glassmorphism */
.glass{background:rgba(17,17,17,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.glass-strong{background:rgba(17,17,17,.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px}

/* Glow Effects */
.glow-green{box-shadow:0 0 30px rgba(16,185,129,.15),0 0 60px rgba(16,185,129,.05)}
.glow-green-strong{box-shadow:0 0 20px rgba(16,185,129,.3),0 0 40px rgba(16,185,129,.1)}
.glow-gold{box-shadow:0 0 30px rgba(212,165,116,.15)}
.text-glow{text-shadow:0 0 40px rgba(16,185,129,.3)}

/* Product Card */
.product-card{transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.product-card:hover::before{opacity:1}
.product-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(16,185,129,.1),0 0 40px rgba(16,185,129,.05)}
.product-card .card-img{transition:transform .6s cubic-bezier(.16,1,.3,1)}
.product-card:hover .card-img{transform:scale(1.08)}

/* THC Meter */
.thc-meter{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.thc-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#537d01,#34d399);transition:width 1s ease-out}

/* Badge */
.badge-sativa{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000}
.badge-hybrid{background:linear-gradient(135deg,#537d01,#537d01);color:#000}
.badge-indica{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}
.badge-tier{background:linear-gradient(135deg,#d4a574,#b8860b);color:#000}

/* Tier Section */
.tier-section{border-left:2px solid rgba(16,185,129,.2);padding-left:24px;position:relative}
.tier-section::before{content:'';position:absolute;left:-6px;top:0;width:10px;height:10px;background:#537d01;border-radius:50%;box-shadow:0 0 12px #537d01}

/* Mega Menu */
.mega-menu{opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:700px}
.nav-item:hover .mega-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* Filter Buttons */
.filter-btn{transition:all .3s}
.filter-btn.active{background:linear-gradient(135deg,#537d01,#537d01);color:#000;box-shadow:0 0 20px rgba(16,185,129,.3)}

/* Accordion */
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1)}
.faq-answer.open{max-height:300px}

/* Animations */
.fade-up{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.16,1,.3,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.slide-in-left{opacity:0;transform:translateX(-40px);transition:all .8s cubic-bezier(.16,1,.3,1)}
.slide-in-left.visible{opacity:1;transform:translateX(0)}
.slide-in-right{opacity:0;transform:translateX(40px);transition:all .8s cubic-bezier(.16,1,.3,1)}
.slide-in-right.visible{opacity:1;transform:translateX(0)}
.scale-in{opacity:0;transform:scale(.9);transition:all .6s cubic-bezier(.16,1,.3,1)}
.scale-in.visible{opacity:1;transform:scale(1)}

/* Hero Text Animation */
.hero-text span{display:inline-block;opacity:0;transform:translateY(40px);animation:heroReveal .8s forwards}
@keyframes heroReveal{to{opacity:1;transform:translateY(0)}}

/* Floating */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
.float{animation:float 4s ease-in-out infinite}
.float-delay{animation:float 4s ease-in-out infinite;animation-delay:1s}
.float-delay-2{animation:float 4s ease-in-out infinite;animation-delay:2s}

/* Neon Pulse */
@keyframes neonPulse{0%,100%{box-shadow:0 0 10px rgba(16,185,129,.2),0 0 20px rgba(16,185,129,.1)}50%{box-shadow:0 0 20px rgba(16,185,129,.4),0 0 40px rgba(16,185,129,.2)}}
.neon-pulse{animation:neonPulse 2s ease-in-out infinite}

/* Counter Animation */
.counter{font-variant-numeric:tabular-nums}

/* Admin Panel */
#adminPanel{position:fixed;top:0;right:0;width:90%;max-width:480px;height:100vh;background:#0a0a0a;border-left:1px solid rgba(16,185,129,.2);z-index:8000;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);overflow-y:auto}
#adminPanel.open{transform:translateX(0)}
#adminOverlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:7999;opacity:0;visibility:hidden;transition:all .3s}
#adminOverlay.open{opacity:1;visibility:visible}

/* Search */
#searchResults{max-height:400px;overflow-y:auto}
.search-result-item{transition:background .2s}
.search-result-item:hover{background:rgba(16,185,129,.1)}

/* Toast */
.toast{position:fixed;bottom:30px;right:30px;z-index:9500;padding:16px 24px;border-radius:12px;background:rgba(16,185,129,.9);color:#000;font-weight:600;transform:translateY(100px);opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1)}
.toast.show{transform:translateY(0);opacity:1}

/* Mobile Menu */
#mobileMenu{position:fixed;inset:0;background:rgba(5,5,5,.98);z-index:7000;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);overflow-y:auto}
#mobileMenu.open{transform:translateX(0)}

/* Leaf Animation */
@keyframes leafFall{0%{transform:translateY(-10vh) rotate(0deg);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}
.leaf{position:absolute;color:rgba(16,185,129,.3);animation:leafFall linear infinite;pointer-events:none}

/* Hero Slider */
.hero-slide{opacity:0;visibility:hidden;transition:opacity .8s ease-in-out,visibility .8s ease-in-out}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide img{filter:grayscale(60%) contrast(1.2) brightness(.5);transform:scale(1.02)}
.hero-dot{width:10px;height:10px;border-radius:9999px;background:rgba(255,255,255,.35);transition:all .3s ease}
.hero-dot.active{background:#10b981;transform:scale(1.2);box-shadow:0 0 12px rgba(16,185,129,.6)}

/* Responsive */
@media(max-width:768px){
  .age-card{padding:32px 24px}
  .mega-menu{display:none!important}
  .tier-grid{grid-template-columns:1fr!important}
}