:root {
  --color-primary: #4A3728;
  --color-secondary: #9C8B7A;
  --color-accent: #E07B54;
}

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

/* Button fixes - prevent text overflow */
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: 0.5rem;
}

/* Form button full width exception */
form button[type="submit"] {
  white-space: normal;
  width: 100%;
}

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

/* FAQ accordion */
.rotate-180 { transform: rotate(180deg); }

.site-header {
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
  background: linear-gradient(180deg, rgba(74,55,40,.75) 0%, rgba(74,55,40,.35) 70%, rgba(74,55,40,0) 100%);
}
.site-header.is-solid {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(229,231,235,1);
  box-shadow: 0 10px 30px rgba(17,24,39,.08);
}
.site-header a, .site-header button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, filter .2s ease; }

.btn-cta:focus-visible,
#cookie-accept:focus-visible,
#cookie-decline:focus-visible,
#mobile-menu-btn:focus-visible {
  outline: 3px solid rgba(224,123,84,.35);
  outline-offset: 2px;
}

input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(224,123,84,.25);
  outline-offset: 2px;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(156,139,122,.35); border-radius: 999px; }
::-webkit-scrollbar-track { background: rgba(255,245,240,.8); }