/* TENANT: Holsteiner Verband  (holsteiner.auction)
   Brand identity is navy + bright azure, taken from the site's own design
   tokens: --color-primary/themecolor is #102D69 (navy, and the logo fills
   #0F2D69), .bg-secondary/.text-secondary is the bright azure #009EE3
   (used for buttons/CTAs), and .text-accent/.border-accent is the red
   #E42213 (special emphasis). A lime #BAD159 appears on some links.
   Navy -> --primary, azure -> --accent (CTA), red -> --accent-alt.
   The azure is too light for white text, so per the Stal Tops rule it
   keeps its true value with a dark foreground. Because the accent-alt is
   red, --destructive shifts toward orange-scarlet to stay distinct, and
   because the brand is blue, --info shifts toward teal. Font is Montserrat
   (self-hosted by the site, weights 200-700). */

:root {
  /* BRAND ADAPTATION GUIDE
     1. Analyse the target tenant website, logo and existing brand palette first.
     2. Map the strongest brand color to --primary.
     3. Map the main call-to-action / highlight color to --accent.
     4. Keep backgrounds light unless the tenant website is clearly dark.
     5. Use --accent-soft and --accent-strong as lighter/darker versions of --accent.
     6. Keep status colors functional unless the tenant brand clearly overrides them.
     7. Always check contrast for foreground variables against their matching background variables.
  */

  /* TYPOGRAPHY
     Body is used for regular UI text.
     Display is used for headings, auction titles, hero titles and prominent prices.
  */
  --font-body: 'Montserrat', system-ui, sans-serif; /* site font */
  --font-display: 'Montserrat', system-ui, sans-serif; /* site font */

  /* ELEVATION
     Card shadow is used for auction cards, lot cards, panels and elevated content blocks.
  */
  --shadow-card: 0 4px 12px oklch(0% 0 0 / 0.08);

  /* BASE COLORS
     Background is the base surface behind content.
     Foreground is the default content-layer color (text, icons and similar elements) on top of background surfaces.
  */
  --background: oklch(99% 0.004 258); /* near-white, faint cool tint */
  --foreground: oklch(27% 0.015 262); /* #0F0F0F/#4A4A49 family, navy-neutral near-black */

  /* SURFACES
     Card is used for lots, auction cards, bidding panels and content sections.
  */
  --card: oklch(100% 0 0);
  --card-foreground: oklch(27% 0.015 262);

  /* POPOVER SURFACES
     Popover is used for dropdowns, menus, overlays and modal-like floating surfaces.
  */
  --popover: oklch(100% 0 0);
  --popover-foreground: oklch(27% 0.015 262);

  /* BRAND COLORS
     Primary is used for hero overlay tint, default badges, outline buttons and selected pagination states.
     It should represent the strongest/base brand tone, but most call-to-action buttons use --accent.
     Primary foreground must stay readable on top of primary.
  */
  --primary: oklch(31.6% 0.111 262); /* #102D69 Holsteiner navy (topbar/primary surfaces, white text 13:1) */
  --primary-foreground: oklch(100% 0 0);

  /* SECONDARY SURFACES
     Secondary is used for subtle backgrounds, inactive controls and low-emphasis panels
     (for example: soft section backgrounds or neutral chips).
     Use secondary when you need more emphasis than muted, but less emphasis than primary/accent surfaces.
     Secondary foreground is the readable text/icon color on secondary.
  */
  --secondary: oklch(96% 0.006 258); /* light cool-neutral fill */
  --secondary-foreground: oklch(30% 0.015 262);

  /* MUTED UI
     Muted is used for subdued backgrounds and separators.
     Muted foreground is used for helper text, metadata, dates, labels and less important copy.
  */
  --muted: oklch(96.5% 0.006 258);
  --muted-foreground: oklch(50% 0.012 258);

  /* ACCENT COLORS
     Accent is the main call-to-action/highlight color for buttons, links, active states and auction emphasis.
     Accent foreground must stay readable on accent buttons and badges.
     Accent soft is a lighter accent for hover states, subtle highlights and gentle backgrounds.
     Accent strong is a darker accent for pressed states, emphasis and high-contrast details.
  */
  --accent: oklch(66.4% 0.148 238); /* #009EE3 bright azure (CTA) — dark text (Stal Tops rule) */
  --accent-foreground: oklch(26% 0.05 258); /* deep navy-black on azure (5.2:1) */
  --accent-soft: oklch(90% 0.06 232); /* light azure — hover/soft highlight, dark text */
  --accent-strong: oklch(50% 0.13 240); /* deeper azure — pressed/high-contrast, white text (5.7:1) */

  /* ALTERNATIVE ACCENT
     Accent alt is a secondary brand tone, often used for luxury, contrast or special emphasis.
     Accent alt foreground must stay readable on accent-alt backgrounds.
  */
  --accent-alt: oklch(58.8% 0.226 30); /* #E42213 brand red (special emphasis) — white text (4.6:1) */
  --accent-alt-foreground: oklch(100% 0 0);

  /* FUNCTIONAL FEEDBACK COLORS
     Destructive is used for danger, errors, removal actions and urgent/live warning surfaces.
     Success is used for positive states such as active/accepted/highest bidder feedback.
     Info is used for informative states such as upcoming auctions.
     Warning is used for cautionary states that need attention but are not errors.
  */
  --destructive: oklch(55% 0.20 38); /* orange-scarlet — shifted off the red accent-alt to stay distinct (white 5.3:1) */
  --destructive-foreground: oklch(100% 0 0);
  --success: oklch(54% 0.14 150); /* functional green (white 4.8:1) */
  --success-foreground: oklch(100% 0 0);
  --info: oklch(55% 0.105 208); /* teal-shifted to stay distinct from the blue primary/accent (white 4.6:1) */
  --info-foreground: oklch(100% 0 0);
  --warning: oklch(80% 0.14 78); /* amber (dark text 9.5:1) */
  --warning-foreground: oklch(20% 0 0);

  /* FORM AND FOCUS COLORS
     Border is used for cards, section dividers and outlined controls.
     Input is used for form fields and input borders.
     Ring is used for keyboard focus rings and should usually match --accent.
  */
  --border: oklch(90% 0.006 258);
  --input: oklch(90% 0.006 258);
  --ring: var(--accent);

  /* AUCTION STATUS COLORS
     Live should feel urgent and attention-grabbing.
     Active should feel positive/safe.
     Upcoming should feel informative.
     These usually remain functional colors, even when brand colors change.
  */
  --status-live: var(--destructive);
  --status-active: var(--success);
  --status-upcoming: var(--info);

  /* SHAPE
     Radius controls the default roundness of cards, buttons, inputs and badges.
  */
  --radius: 0.5rem;
}
