@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
  --background: 0 0% 100%;
  --foreground: 215 25% 15%;
  
  --card: 0 0% 100%;
  --card-foreground: 215 25% 15%;
  
  --popover: 0 0% 100%;
  --popover-foreground: 215 25% 15%;
  
  --primary: 174 72% 40%;
  --primary-foreground: 0 0% 100%;
  
  --secondary: 210 20% 96%;
  --secondary-foreground: 215 25% 15%;
  
  --muted: 210 20% 96%;
  --muted-foreground: 215 15% 45%;
  
  --accent: 160 84% 39%;
  --accent-foreground: 0 0% 100%;
  
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  
  --border: 214 20% 88%;
  --input: 214 20% 88%;
  --ring: 174 72% 40%;
  
  --radius: 0.5rem;
}

.dark {
  --background: 215 28% 10%;
  --foreground: 210 20% 96%;
  
  --card: 215 25% 14%;
  --card-foreground: 210 20% 96%;
  
  --popover: 215 25% 14%;
  --popover-foreground: 210 20% 96%;
  
  --primary: 174 72% 45%;
  --primary-foreground: 0 0% 100%;
  
  --secondary: 215 20% 18%;
  --secondary-foreground: 210 20% 96%;
  
  --muted: 215 20% 18%;
  --muted-foreground: 215 15% 60%;
  
  --accent: 160 84% 42%;
  --accent-foreground: 0 0% 100%;
  
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  
  --border: 215 20% 22%;
  --input: 215 20% 22%;
  --ring: 174 72% 45%;
}

* {
  border-color: hsl(var(--border));
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "DM Sans", sans-serif;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  overflow-x: clip;
  font-feature-settings: "kern" 1, "liga" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
  font-variant-numeric: tabular-nums;
}

p {
  text-wrap: pretty;
}

.container-custom {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .container-custom {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container-custom {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
