@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/**
 * @file theme.css
 * shadcn/ui-compatible theme variables for Haven Theme.
 *
 * You can customize these values without rebuilding the compiled CSS.
 * Tools like https://tweakcn.com can help generate these values. Copy this
 * file to your web root, so it sits next to index.php, and clear Drupal's
 * cache. Then, any changes you make in this file should be reflected right away.
 */

:root {
  --background: oklch(0.8417 0.0790 47.357);  /* warm peach — #f7bc9f */
  --foreground: oklch(0.221 0.04 35);          /* deep espresso brown — dark level preserved, warmed */
  --card: oklch(0.99 0.008 70);               /* warm ivory white */
  --card-foreground: oklch(0.221 0.04 35);    /* deep espresso brown */
  --primary: oklch(0.5013 0.0762 119.908);    /* olive green — #5e6a36 */
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.60 0.09 48);           /* warm caramel amber — replaces blue, warm mid-tone */
  --secondary-foreground: oklch(1 0 0);
  --muted: oklch(0.925 0.015 65);             /* warm light sand — replaces neutral gray */
  --muted-foreground: oklch(0.42 0.04 40);    /* warm medium brown for subtle text */
  --accent: oklch(0.935 0.04 70);             /* soft golden cream — replaces yellow-green, same lightness */
  --accent-foreground: oklch(0.221 0.04 35);  /* deep espresso brown */
  --destructive: oklch(0.6368 0.2078 25.3313);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.28 0.05 35);              /* warm brown border — replaces neutral dark border */
  --input: oklch(0.90 0.014 62);              /* warm light input — replaces grayish-blue */
  --font-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Fira Mono", "Menlo", "Consolas", "Liberation Mono", monospace;
  --radius: 1rem;
  --shadow-x: 0;
  --shadow-y: 1px;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-opacity: 0.1;
  --shadow-color: oklch(0 0 0);
  --shadow-2xs: 0 1px 3px 1px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0 1px 3px 1px hsl(0 0% 0% / 0.05), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
  --shadow-sm: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
  --shadow: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
  --shadow-md: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 4px 6px -2px hsl(0 0% 0% / 0.1);
  --shadow-lg: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 8px 10px -2px hsl(0 0% 0% / 0.1);
  --shadow-xl: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 12px 14px -3px hsl(0 0% 0% / 0.1);
  --shadow-2xl: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 16px 18px -3px hsl(0 0% 0% / 0.1);
  --tracking-normal: 0em;
  --spacing: 0.25rem;

  /* Extra color variants for primary, secondary and accent */
  /* color-mix() blends two colors in a specified color space. */
  /* Syntax: color-mix(in <colorspace>, <color1> <percentage>, <color2>) */
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value/color-mix */
  --primary-light: color-mix(in oklch, var(--primary) 80%, white);
  --primary-dark: color-mix(in oklch, var(--primary) 80%, black);
  --secondary-light: color-mix(in oklch, var(--secondary) 90%, white);
  --secondary-dark: color-mix(in oklch, var(--secondary) 85%, black);
  --accent-light: color-mix(in oklch, var(--accent) 95%, white);
  --accent-dark: color-mix(in oklch, var(--accent) 95%, black);

  /* Set navbar height for hero billboard overlay */
  --navbar-height: calc(var(--spacing) * 20);

  @media (min-width: 768px) {
    --navbar-height: calc(var(--spacing) * 28);
  }
  @media (min-width: 1280px) {
    --navbar-height: calc(var(--spacing) * 30);
  }
}

/* Increase logo/branding area to accommodate a larger logo */
.navbar--logo .branding,
.navbar--modal-logo .branding {
  height: 2.5rem;
}

@container navbar (min-width: 42rem) {
  .navbar--logo .branding,
  .navbar--modal-logo .branding {
    height: 3.5rem;
  }
}

/* Increase main menu link font size (theme default is text-sm / 14px) */
.navbar--dropdown-menu li[data-level="1"] {
  font-size: 1rem; /* 16px — up from 14px */
}

/* Headlines use Libre Baskerville display font; body inherits Montserrat via --font-sans */
h1, h2, h3, h4, h5, h6 {
  font-family: "Libre Baskerville", cursive;
  line-height: 1.25; /* theme defaults range from 1.0 (h1) to 1.35 — too tight for a serif */
}

/* Add 2px to paragraph line height above the standard 1.5 baseline */
p {
  line-height: calc(1.5em + 2px);
}

/* Fix Safari stretching the logo image to fill flex container width.
   The haven_theme only applies h-auto/max-h-full to SVGs; raster images
   need explicit width: auto so Safari respects the intrinsic aspect ratio. */
.navbar--logo .branding img,
.navbar--modal-logo .branding img {
  height: 100%;
  width: auto;
  object-fit: contain;
}
