/* Giftu - Main Styles */

/* CSS Variables - Converted from Tailwind theme */
:root {
  color-scheme: light; 
  /* Colors - Coral to Purple gradient palette */
  --background: 0 0% 100%;
  --background-dark: 222.2 84% 4.9%;
  --foreground: 222.2 84% 4.9%;
  --foreground-dark: 210 40% 98%;
  --card: 0 0% 100%;
  --card-dark: 222.2 84% 4.9%;
  --card-foreground: 222.2 84% 4.9%;
  --card-foreground-dark: 210 40% 98%;
  --popover: 0 0% 100%;
  --popover-dark: 222.2 84% 4.9%;
  --popover-foreground: 222.2 84% 4.9%;
  --popover-foreground-dark: 210 40% 98%;
  
  /* Brand Colors */
  --primary: 14 91% 60%;
  --primary-foreground: 210 40% 98%;
  --primary-variant: 280 100% 70%;
  --secondary: 210 40% 96%;
  --secondary-dark: 217.2 32.6% 17.5%;
  --secondary-foreground: 222.2 84% 4.9%;
  --secondary-foreground-dark: 210 40% 98%;
  --muted: 210 40% 96%;
  --muted-dark: 217.2 32.6% 17.5%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --muted-foreground-dark: 215 20.2% 65.1%;
  --accent: 210 40% 96%;
  --accent-dark: 217.2 32.6% 17.5%;
  --accent-foreground: 222.2 84% 4.9%;
  --accent-foreground-dark: 210 40% 98%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 214.3 31.8% 91.4%;
  --border-dark: 217.2 32.6% 17.5%;
  --input: 214.3 31.8% 91.4%;
  --input-dark: 217.2 32.6% 17.5%;
  --ring: 222.2 84% 4.9%;
  --ring-dark: 212.7 26.8% 83.9%;
  
  /* Gradients */
  --gradient-primary: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary-variant)));
  --gradient-subtle: linear-gradient(180deg, hsl(var(--background)), hsl(var(--muted)));
  --gradient-hero: linear-gradient(135deg, #F8BDB2 0%, #F07974 33%, #895182 66%, #331F5B 100%);
  
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --shadow-coral: 0 10px 30px -10px hsl(var(--primary) / 0.3);
  --shadow-glow: 0 0 40px hsl(var(--primary) / 0.4);
  
  /* Typography */
  --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Fira Code', 'JetBrains Mono', Consolas, 'Courier New', monospace;
  
  /* Transitions */
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  /* :root {
    --background: var(--background-dark);
    --foreground: var(--foreground-dark);
    --card: var(--card-dark);
    --card-foreground: var(--card-foreground-dark);
    --popover: var(--popover-dark);
    --popover-foreground: var(--popover-foreground-dark);
    --secondary: var(--secondary-dark);
    --secondary-foreground: var(--secondary-foreground-dark);
    --muted: var(--muted-dark);
    --muted-foreground: var(--muted-foreground-dark);
    --accent: var(--accent-dark);
    --accent-foreground: var(--accent-foreground-dark);
    --border: var(--border-dark);
    --input: var(--input-dark);
    --ring: var(--ring-dark);
  } */
}

/* Base styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Prevent body scroll when mobile menu is open */
body.mobile-menu-open {
  overflow: hidden;
}

/* Container styles */
.section-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}

h1 {
  font-size: 3rem;
}

h2 {
  font-size: 2.5rem;
}

h3 {
  font-size: 1.875rem;
}

h4 {
  font-size: 1.5rem;
}

p {
  margin-bottom: 1rem;
}

/* Links */
a {
  color: hsl(var(--primary));
  text-decoration: none;
  transition: var(--transition-smooth);
}

a:hover {
  opacity: 0.8;
}

/* Buttons */
button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  outline: none;
  transition: var(--transition-smooth);
}

/* Inputs */
input, textarea {
  font-family: inherit;
  outline: none;
  transition: var(--transition-smooth);
}

/* Images */
img {
  max-width: 100%;
  height: auto;
}

/* Utility classes */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Responsive breakpoints */
@media (max-width: 640px) {
  .section-container {
    padding: 0 1rem;
  }
  
  h1 {
    font-size: 2.25rem;
  }
  
  h2 {
    font-size: 1.875rem;
  }
  
  h3 {
    font-size: 1.5rem;
  }
}

@media (min-width: 641px) and (max-width: 768px) {
  .section-container {
    padding: 0 1.5rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .section-container {
    padding: 0 2rem;
  }
}

@media (min-width: 1025px) {
  .section-container {
    padding: 0 2rem;
  }
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: hsl(var(--muted));
}

::-webkit-scrollbar-thumb {
  background: var(--gradient-primary);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  opacity: 0.8;
}

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

::-moz-selection {
  background-color: hsl(var(--primary) / 0.2);
  color: hsl(var(--foreground));
}

/* Focus styles */
*:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 2px;
}