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

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 40 30% 97%;
    --foreground: 150 20% 10%;

    --card: 0 0% 100%;
    --card-foreground: 150 20% 10%;

    --popover: 0 0% 100%;
    --popover-foreground: 150 20% 10%;

    --primary: 158 64% 18%;
    --primary-foreground: 45 60% 95%;

    --secondary: 42 65% 52%;
    --secondary-foreground: 150 30% 10%;

    --muted: 40 18% 92%;
    --muted-foreground: 150 8% 38%;

    --accent: 42 65% 52%;
    --accent-foreground: 150 30% 10%;

    --destructive: 0 72% 45%;
    --destructive-foreground: 0 0% 100%;

    --border: 40 15% 87%;
    --input: 40 15% 85%;
    --ring: 42 65% 52%;

    --radius: 0.5rem;

    /* Brand tokens */
    --brand-emerald: 158 64% 18%;
    --brand-emerald-deep: 160 60% 10%;
    --brand-emerald-light: 155 30% 92%;
    --brand-gold: 42 65% 52%;
    --brand-gold-deep: 38 70% 40%;
    --brand-gold-light: 45 70% 90%;
    --brand-sand: 40 30% 94%;
    --brand-ink: 150 25% 8%;

    --shadow-card: 0 4px 24px -6px hsl(150 30% 15% / 0.10);
    --shadow-card-hover: 0 16px 48px -10px hsl(150 30% 15% / 0.22);
    --shadow-hero: 0 24px 70px -16px hsl(150 40% 10% / 0.45);

    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }

  .dark {
    --background: 150 25% 8%;
    --foreground: 40 25% 92%;
    --card: 155 22% 12%;
    --card-foreground: 40 25% 92%;
    --popover: 155 22% 12%;
    --popover-foreground: 40 25% 92%;
    --primary: 42 65% 52%;
    --primary-foreground: 150 30% 10%;
    --secondary: 155 25% 20%;
    --secondary-foreground: 40 25% 92%;
    --muted: 155 18% 18%;
    --muted-foreground: 40 10% 62%;
    --accent: 42 65% 52%;
    --accent-foreground: 150 30% 10%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 100%;
    --border: 155 15% 22%;
    --input: 155 15% 22%;
    --ring: 42 65% 52%;
    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground font-sans antialiased;
  }

  h1, h2, h3, h4, h5, h6 {
    @apply font-display;
  }
}

@layer utilities {
  .text-gradient-gold {
    @apply bg-clip-text text-transparent bg-gradient-to-r from-secondary to-[hsl(var(--brand-gold-deep))];
  }

  .bg-hero-overlay {
    background: linear-gradient(180deg, hsl(var(--brand-ink) / 0.55) 0%, hsl(var(--brand-ink) / 0.35) 45%, hsl(var(--brand-ink) / 0.75) 100%);
  }

  .bg-emerald-deep {
    background: hsl(var(--brand-emerald-deep));
  }

  .bg-sand-section {
    background: hsl(var(--brand-sand));
  }

  .shadow-card {
    box-shadow: var(--shadow-card);
  }

  .shadow-card-hover {
    box-shadow: var(--shadow-card-hover);
  }

  .shadow-hero {
    box-shadow: var(--shadow-hero);
  }
}
