@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..800;1,400..800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");

:root {
  /* Warm French Patisserie Palette: Soft Vanilla & Rich Rose Gold & Dark Chocolate */
  --background: oklch(0.985 0.012 75); /* Warm creamy alabaster */
  --foreground: oklch(0.24 0.04 45); /* Rich dark roasted cacao */
  --card: oklch(0.995 0.005 75);
  --card-foreground: oklch(0.24 0.04 45);
  --popover: oklch(0.995 0.005 75);
  --popover-foreground: oklch(0.24 0.04 45);
  --primary: oklch(0.58 0.14 25); /* Warm Rose Caramel / Berry Velvet */
  --primary-foreground: oklch(0.98 0.01 75);
  --secondary: oklch(0.94 0.025 65); /* Warm biscuit / almond pastry tone */
  --secondary-foreground: oklch(0.3 0.05 45);
  --muted: oklch(0.95 0.015 70);
  --muted-foreground: oklch(0.5 0.04 50);
  --accent: oklch(0.72 0.14 60); /* Golden praline highlight */
  --accent-foreground: oklch(0.2 0.04 45);
  --destructive: oklch(0.58 0.2 25);
  --destructive-foreground: oklch(0.98 0 0);
  --border: oklch(0.9 0.02 65);
  --input: oklch(0.9 0.02 65);
  --ring: oklch(0.58 0.14 25);
  --radius: 1rem;
}

.dark {
  --background: oklch(0.18 0.03 45);
  --foreground: oklch(0.96 0.01 75);
  --card: oklch(0.22 0.03 45);
  --card-foreground: oklch(0.96 0.01 75);
  --popover: oklch(0.22 0.03 45);
  --popover-foreground: oklch(0.96 0.01 75);
  --primary: oklch(0.68 0.15 25);
  --primary-foreground: oklch(0.15 0.03 45);
  --secondary: oklch(0.28 0.03 45);
  --secondary-foreground: oklch(0.96 0.01 75);
  --muted: oklch(0.26 0.03 45);
  --muted-foreground: oklch(0.7 0.02 65);
  --accent: oklch(0.75 0.14 60);
  --accent-foreground: oklch(0.15 0.03 45);
  --border: oklch(0.28 0.03 45);
  --input: oklch(0.28 0.03 45);
  --ring: oklch(0.68 0.15 25);
}

html, body {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  background-color: var(--background);
  color: var(--foreground);
}

.font-display {
  font-family: "Playfair Display", Georgia, serif;
}

/* Selection */
::selection {
  background: var(--primary);
  color: var(--primary-foreground);
}

/* Focus ring */
:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Custom scrollbars */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--background);
}
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--muted-foreground);
}

/* Animations */
@keyframes fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes scale-in { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes slide-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } }

.animate-fade-in { animation: fade-in 0.5s cubic-bezier(0.16, 1, 0.3, 1) both; }
.animate-scale-in { animation: scale-in 0.4s ease-out both; }
.animate-slide-up { animation: slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
.animate-float { animation: float 5s ease-in-out infinite; }

.hover-lift {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.hover-lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -8px rgba(0,0,0,0.08);
}
