:root{
  --color-primary:#2C1810;
  --color-secondary:#4A2C20;
  --color-accent:#DC2626;
  --bg-light:#FEF2F2;
  --bg-alt:#FEE2E2;
}

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

::selection{background:rgba(220,38,38,.18)}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid rgba(220,38,38,.55);
  outline-offset:2px;
  border-radius:12px;
}

/* Premium subtle noise */
.bg-noise{
  position:relative;
}
.bg-noise:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.06;
  mix-blend-mode:multiply;
  background-image:url("assets/img/noise.png");
  background-size:420px 420px;
}

/* 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%
}

/* Inputs */
.input{
  width:100%;
  border:1px solid #e5e7eb;
  border-radius:9999px;
  padding:.85rem 1rem;
  background:#fff;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.input:focus{
  outline:none;
  border-color:rgba(220,38,38,.45);
  box-shadow:0 0 0 4px rgba(220,38,38,.12);
}
.input[aria-invalid="true"]{
  border-color:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.12);
}

/* Badges */
.badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .75rem;
  border-radius:9999px;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  color:#111827;
  font-size:.8rem;
}

/* Animations */
[data-animate]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease-out, transform .6s ease-out;
  will-change:opacity, transform;
}
[data-animate].is-visible{
  opacity:1;
  transform:translateY(0)
}

[data-animate="slide_right"]{
  opacity:0;
  transform:translateX(-32px);
}
[data-animate="slide_right"].is-visible{
  opacity:1;
  transform:translateX(0);
}

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

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

/* Toast */
.toast{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:1.25rem;
  z-index:120;
  max-width:36rem;
  width:calc(100% - 2rem);
  background:#111827;
  color:#fff;
  border-radius:16px;
  padding:.9rem 1rem;
  box-shadow:0 20px 50px rgba(0,0,0,.3);
  display:none;
}
.toast.show{
  display:block;
  animation:toastIn .18s ease-out both;
}
@keyframes toastIn{
  from{opacity:0;transform:translateX(-50%) translateY(8px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}
}

/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-animate]{transition:none !important;transform:none !important;opacity:1 !important}
  #mobile-menu.is-open{animation:none}
}