:root{
  --color-primary:#1B4332;
  --color-secondary:#2D6A4F;
  --color-accent:#40C057;
  --color-bg-light:#F0FDF4;
  --color-bg-alt:#DCFCE7;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:5.5rem;
}

body{
  font-family:'Outfit',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

::selection{
  background:rgba(64,192,87,.22);
}

img{
  max-width:100%;
  height:auto;
}

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, button{
  outline:none;
}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid rgba(64,192,87,.65);
  outline-offset:3px;
}

[data-animate]{
  will-change:transform,opacity;
}

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

#cookie-consent{
  padding-bottom:max(1rem, env(safe-area-inset-bottom));
}

.no-scroll{
  overflow:hidden;
}

.input-invalid{
  border-color: rgb(239 68 68) !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.15) !important;
}

.form-error{
  color: rgb(220 38 38);
}

.form-success{
  color: rgb(22 163 74);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  [data-animate]{
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
  }
}