:root{
  --color-primary:#0F2027;
  --color-secondary:#1A3A40;
  --color-accent:#00F5A0;
}

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

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

.btn-cta{
  white-space:nowrap;
  min-width:fit-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:9999px;
  transition:all .2s ease;
}

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:3px solid rgba(0,245,160,.55);
  outline-offset:2px;
  border-radius:14px;
}

[data-animate]{
  opacity:0;
  transform:scale(.95);
  transition:opacity .5s ease-out, transform .5s ease-out;
  will-change:opacity,transform;
}

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

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

.input-error{
  border-color:#ef4444 !important;
  box-shadow:0 0 0 4px rgba(239,68,68,.12);
}

.form-alert{
  border-radius:16px;
  border:1px solid rgba(17,24,39,.12);
  padding:12px 14px;
  font-size:14px;
  line-height:1.3;
}

.form-alert--error{
  background:rgba(239,68,68,.08);
  border-color:rgba(239,68,68,.25);
  color:#991b1b;
}

.form-alert--success{
  background:rgba(34,197,94,.08);
  border-color:rgba(34,197,94,.22);
  color:#14532d;
}