@import 'tailwindcss';

/*
 * Design system extracted from Tailwind UI "Oatmeal Olive Familjen" template.
 * Matches tailwind-oatmeal-olive-familjen/tailwind.css exactly.
 */

@theme {
  /* === Fonts === */
  --font-display: 'Familjen Grotesk', sans-serif;
  --font-sans: 'Inter', system-ui, sans-serif;

  /* === Olive color palette === */
  --color-olive-50: oklch(98.8% 0.003 106.5);
  --color-olive-100: oklch(96.6% 0.005 106.5);
  --color-olive-200: oklch(93% 0.007 106.5);
  --color-olive-300: oklch(88% 0.011 106.6);
  --color-olive-400: oklch(73.7% 0.021 106.9);
  --color-olive-500: oklch(58% 0.031 107.3);
  --color-olive-600: oklch(46.6% 0.025 107.3);
  --color-olive-700: oklch(39.4% 0.023 107.4);
  --color-olive-800: oklch(28.6% 0.016 107.4);
  --color-olive-900: oklch(22.8% 0.013 107.4);
  --color-olive-950: oklch(15.3% 0.006 107.1);
}

@layer base {
  /* Match template base styles exactly */
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--color-olive-100);
    --scroll-padding-top: 0;
    scroll-padding-top: var(--scroll-padding-top);
  }

  /*
   * Neutralize Bootstrap resets so Tailwind classes work as expected.
   * Bootstrap sets its own font-family, font-size, line-height, margins
   * on body/headings/paragraphs/links/lists which fight Tailwind utilities.
   */
  body {
    background: var(--color-olive-100) !important;
    font-family: var(--font-sans) !important;
    color: var(--color-olive-950) !important;
    line-height: inherit;
  }

  /* Reset Bootstrap heading margins/sizes so Tailwind classes take full control */
  h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
  }

  /* Reset Bootstrap paragraph margins */
  p {
    margin: 0;
  }

  /* Reset Bootstrap link styles so Tailwind text-color/hover work */
  a {
    color: inherit;
    text-decoration: inherit;
  }

  /* Reset Bootstrap list margins/padding */
  ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  /* Reset Bootstrap button styles */
  button {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    cursor: pointer;
  }

  /* Reset Bootstrap figure margin */
  figure {
    margin: 0;
  }

  /* Reset Bootstrap blockquote */
  blockquote {
    margin: 0;
  }

  /* Reset Bootstrap hr */
  hr {
    margin: 0;
    border: none;
  }
}

/*
 * Flash messages styled to match the template aesthetic.
 */
@layer components {
  .tw-flash {
    @apply mx-auto mb-4 max-w-2xl rounded-full px-4 py-2 text-sm/7 font-medium md:max-w-3xl lg:max-w-7xl;
  }
  .tw-flash-notice {
    @apply bg-olive-950/5 text-olive-950;
  }
  .tw-flash-alert {
    @apply bg-red-50 text-red-800;
  }
}
