:root{
  --color-primary:#3D2914;
  --color-secondary:#5C4020;
  --color-accent:#FF8C00;
  --bg-light:#FFFBF0;
  --bg-alt:#FEF0C7;
}

html{scroll-behavior:smooth;scroll-padding-top:5rem;}
body{font-family:'Space Grotesk',system-ui,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

::selection{background:rgba(255,140,0,.25);}

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

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

/* Transparent header behavior */
.header--transparent{
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,0));
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.header--solid{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(17,24,39,.08);
  box-shadow:0 10px 30px rgba(17,24,39,.08);
}
.header--solid .header-link{color:rgb(17 24 39 / 1) !important;}
.header--solid .header-link:hover{color:rgb(0 0 0 / 1) !important;}
.header--solid a.header-link{opacity:1;}
.header--solid #mobile-menu-btn{
  background:rgba(17,24,39,.04) !important;
  border-color:rgba(17,24,39,.10) !important;
  color:rgb(17 24 39 / 1) !important;
}

/* Animations (available even when disabled by design setting) */
[data-animate]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
}

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

/* Cookie banner */
#cookie-consent.hidden{display:none;}
#cookie-consent .shadow-2xl{box-shadow:0 30px 80px rgba(17,24,39,.25);}

/* Small utility for accent */
.text-accent{color:var(--color-accent);}

/* Better tap targets */
#mobile-menu a{min-height:44px;}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  [data-animate]{transition:none;transform:none;opacity:1;}
  .header--transparent, .header--solid{transition:none;}
}