: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:6rem;}
body{font-family:'Outfit',system-ui,sans-serif;}

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

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%;
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--color-accent);
  outline-offset:2px;
  border-radius:12px;
}

[data-animate]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s ease-out,transform .6s ease-out;
  will-change:opacity,transform;
}

[data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
}

.rotate-180{transform:rotate(180deg);}

.glass-card{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
  border:1px solid rgba(229,231,235,.9);
}

.badge-soft{
  background:rgba(0,245,160,.12);
  border:1px solid rgba(0,245,160,.22);
  color:var(--color-secondary);
}

.shadow-soft{
  box-shadow:0 12px 28px rgba(15,32,39,.12);
}

#cookie-consent{
  animation:cookieUp .18s ease-out;
}

@keyframes cookieUp{
  from{transform:translateY(8px);opacity:.4;}
  to{transform:translateY(0);opacity:1;}
}

input[type="tel"],input[type="text"],input[type="email"],textarea,select{
  -webkit-appearance:none;
  appearance:none;
}

[data-error="true"]{
  border-color:#ef4444 !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12);
}

.form-hint{
  font-size:.8125rem;
  color:#6b7280;
}

.form-error{
  font-size:.8125rem;
  color:#b91c1c;
}