:root {
  --brand-green: #2d4a2b;
  --brand-green-light: #4a7548;
  --cream: #faf7f2;
  --cream-dark: #ece6d8;
  --ochre: #c9a875;
  --terracotta: #8a6038;
  --ink: #1a1a1a;
  --ink-muted: #6b6b6b;
  --success: #2d4a2b;
  --warning: #8a6038;
  --error: #c0392b;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-sheet: 24px;
}

html { color: var(--ink); background: var(--cream); }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }

.font-serif { font-family: 'Cormorant Garamond', Georgia, serif; font-feature-settings: "liga" on; }
.tabular-nums { font-variant-numeric: tabular-nums; }

.safe-bottom { padding-bottom: env(safe-area-inset-bottom, 0); }
.pb-nav { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0)); }

.scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.scroll-x::-webkit-scrollbar { display: none; }
.snap-x { scroll-snap-type: x mandatory; }
.snap-start { scroll-snap-align: start; }

.sticky-shadow { box-shadow: 0 -10px 30px rgba(0,0,0,0.08); }

[x-cloak] { display: none !important; }

[data-wishlist-slug].is-wished { color: #c0392b; }
