﻿/* Telgentio — design tokens & base styles
   Mirrors the original Tailwind v4 @theme + :root setup.
   These variables back custom colors registered in the Tailwind CDN config. */

:root {
  --radius: 1rem;

  --background: oklch(0.97 0.012 90);
  --foreground: oklch(0.18 0.015 80);

  --card: oklch(0.99 0.008 90);
  --card-foreground: oklch(0.18 0.015 80);

  --popover: oklch(0.99 0.008 90);
  --popover-foreground: oklch(0.18 0.015 80);

  --primary: oklch(0.18 0.015 80);
  --primary-foreground: oklch(0.97 0.012 90);

  --secondary: oklch(0.93 0.018 85);
  --secondary-foreground: oklch(0.18 0.015 80);

  --muted: oklch(0.93 0.018 85);
  --muted-foreground: oklch(0.45 0.02 80);

  --accent: oklch(0.86 0.19 130);
  --accent-foreground: oklch(0.18 0.015 80);

  --ink: oklch(0.14 0.012 80);
  --cream: oklch(0.97 0.012 90);
  --cream-deep: oklch(0.93 0.022 85);
  --lime: oklch(0.86 0.19 130);
  --terracotta: oklch(0.65 0.16 45);

  --shadow-soft:
    0 1px 0 oklch(0.18 0.015 80 / 0.06),
    0 8px 30px -12px oklch(0.18 0.015 80 / 0.18);
  --shadow-card: 0 1px 0 oklch(0.18 0.015 80 / 0.05);

  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(0.984 0.003 247.858);
  --border: oklch(0.85 0.02 85);
  --input: oklch(0.85 0.02 85);
  --ring: oklch(0.18 0.015 80);

  --font-display: "Instrument Serif", ui-serif, Georgia, serif;
  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
}

* {
  border-color: var(--border);
}

html {
  font-family: var(--font-sans);
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--background);
  color: var(--foreground);
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

/* Display font helper used by Tailwind class `font-display`. */
.font-display {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* Animations from the original styles.css */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.animate-marquee {
  animation: marquee 35s linear infinite;
}

@keyframes blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%      { transform: translate(20px, -30px) scale(1.05); }
  66%      { transform: translate(-15px, 15px) scale(0.95); }
}
.animate-blob {
  animation: blob 14s ease-in-out infinite;
}

/* Native arrow on number/date inputs etc. — keep clean look */
input,
textarea,
button,
select {
  font: inherit;
  color: inherit;
}

/* Active nav state (set in JS based on current page) */
[data-nav-link].is-active {
  background-color: var(--secondary);
  color: var(--foreground);
}
[data-nav-link-mobile].is-active {
  font-weight: 500;
  color: var(--foreground);
}

/* Hide elements via [hidden] reliably even when display utilities collide */
[hidden] { display: none !important; }

/* Legal pages (Impressum, Datenschutz, AGB) */
.legal-prose h2 {
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
  font-family: var(--font-display);
  font-size: 1.75rem;
  line-height: 1.2;
  color: var(--foreground);
}
.legal-prose h2:first-child {
  margin-top: 0;
}
.legal-prose h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
}
.legal-prose p,
.legal-prose li {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: oklch(0.18 0.015 80 / 0.78);
}
.legal-prose ul,
.legal-prose ol {
  margin: 0.75rem 0;
  padding-left: 1.25rem;
}
.legal-prose li + li {
  margin-top: 0.35rem;
}
.legal-prose a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-prose a:hover {
  color: var(--foreground);
}
