/* 
  Custom Styles for Coffee Flower Franchise 
  Derived from src/styles/theme.css
*/

/* 1. CSS Variables (Theming) */
:root {
  --font-size: 16px;
  --background: #ffffff;
  --foreground: oklch(0.145 0 0);
  --card: #ffffff;
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: #030213;
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.95 0.0058 264.53);
  --secondary-foreground: #030213;
  --muted: #ececf0;
  --muted-foreground: #717182;
  --accent: #e9ebef;
  --accent-foreground: #030213;
  --destructive: #d4183d;
  --destructive-foreground: #ffffff;
  --border: rgba(0, 0, 0, 0.1);
  --input: transparent;
  --input-background: #f3f3f5;
  --switch-background: #cbced4;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: oklch(0.708 0 0);
  --chart-1: oklch(0.646 0.222 41.116);
  --chart-2: oklch(0.6 0.118 184.704);
  --chart-3: oklch(0.398 0.07 227.392);
  --chart-4: oklch(0.828 0.189 84.429);
  --chart-5: oklch(0.769 0.188 70.08);
  --radius: 0.625rem;
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0 0);
  --sidebar-primary: #030213;
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.97 0 0);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.922 0 0);
  --sidebar-ring: oklch(0.708 0 0);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.145 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.145 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.985 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.269 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.396 0.141 25.723);
  --destructive-foreground: oklch(0.637 0.237 25.331);
  --border: oklch(0.269 0 0);
  --input: oklch(0.269 0 0);
  --ring: oklch(0.439 0 0);
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: oklch(0.488 0.243 264.376);
  --chart-2: oklch(0.696 0.17 162.48);
  --chart-3: oklch(0.769 0.188 70.08);
  --chart-4: oklch(0.627 0.265 303.9);
  --chart-5: oklch(0.645 0.246 16.439);
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(0.269 0 0);
  --sidebar-ring: oklch(0.439 0 0);
}

/* 2. Base Styles (Typograhy & Defaults) */
html {
  font-size: var(--font-size);
}

body {
  background-color: var(--background);
  color: var(--foreground);
}

/* Equivalent to @apply border-border outline-ring/50 */
* {
  border-color: var(--border);
  outline-color: color-mix(in oklch, var(--ring), transparent 50%);
}

h1 {
  font-size: 1.5rem; /* text-2xl approximation or override */
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
h2 {
  font-size: 1.25rem; /* text-xl */
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
h3 {
  font-size: 1.125rem; /* text-lg */
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
h4, label, button {
  font-size: 1rem; /* text-base */
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
input {
  font-size: 1rem;
  font-weight: var(--font-weight-normal);
  line-height: 1.5;
}


/* 3. Component Styles (Pie Chart & Animations) */

/* Pie Chart Fallback */
.pie-chart {
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: conic-gradient(
        #e53e3e 0% 35%, 
        #fc8181 35% 70%, 
        #4b5563 70% 100%
    );
    position: relative;
    margin: 0 auto;
}
.pie-chart::after {
    content: "";
    position: absolute;
    inset: 60px; /* Donut hole size */
    background: white;
    border-radius: 50%;
}

/* Custom Animations */
.animate-on-scroll {
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Transition Delays */
.delay-0 { transition-delay: 0ms; }
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-600 { transition-delay: 600ms; }
