:root{
  --color-primary:#0F2027;
  --color-secondary:#1A3A40;
  --color-accent:#00F5A0;
  --color-bg-light:#ECFDF5;
  --color-bg-alt:#D1FAE5;
}

html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{font-family:'Manrope',system-ui,sans-serif}

::selection{background:rgba(0,245,160,.25)}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(0,245,160,.8);
  outline-offset:2px
}

/* Button fixes */
button,.btn,[class*="btn-"],a[href="#order_form"]{
  white-space:nowrap;
  min-width:fit-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem
}
form button[type="submit"]{
  white-space:normal;
  width:100%
}

/* Utility */
.rotate-180{transform:rotate(180deg)}

/* Animations */
[data-animate]{
  opacity:0;
  transition:opacity .6s ease-out,transform .6s ease-out
}
[data-animate="slide_left"]{transform:translateX(2rem)}
[data-animate="slide_right"]{transform:translateX(-2rem)}
[data-animate="fade_up"]{transform:translateY(1.25rem)}
[data-animate="fade_in"]{transform:none}
[data-animate="zoom_in"]{transform:scale(.96)}
[data-animate].is-visible{
  opacity:1;
  transform:translateX(0) translateY(0) scale(1)
}

/* Premium subtle glow for accent CTAs */
.bg-accent{
  background-color:var(--color-accent)
}
.shadow-accent\/30{
  box-shadow:0 18px 45px rgba(0,245,160,.18)
}
.hover\:shadow-accent\/40:hover{
  box-shadow:0 22px 55px rgba(0,245,160,.25)
}

/* Mobile menu animation */
#mobile-menu{
  transform-origin:top;
}
#mobile-menu.is-open{
  display:block !important;
  animation:menuDrop .18s ease-out
}
@keyframes menuDrop{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}