/* vajra — Buddha Studium re-skin. Source: docs/vajra Design System/tokens/* */

@font-face {
  font-family: 'Outfit';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('fonts/Outfit-Variable.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal; font-weight: 100 800; font-display: swap;
  src: url('fonts/JetBrainsMono-Variable.woff2') format('woff2');
}

:root {
  /* vajra v3.0 „Esse" — Messing (Primär) / Glut (Akzent) / warmes Ink.
     Variablennamen aus v2.0 (--vajra-lapis-*/--vajra-brass*) beibehalten,
     zeigen jetzt auf die Esse-Werte. */
  --vajra-lapis-700:#9A6F22; --vajra-lapis-600:#CC9648; --vajra-lapis-500:#DAA856; --vajra-lapis-400:#E6B968;
  --vajra-brass:#D2742E; --vajra-brass-300:#E89A5C;
  --vajra-ink:#15120D; --vajra-ink-raised:#1F1B14; --vajra-border:#342E22; --border-strong:#443C2D;
  --vajra-muted:#7E7666; --vajra-secondary:#B2A892; --vajra-text:#F1ECE1; --vajra-white:#FFFFFF;
  --color-success:#3FA06A; --color-warning:#E0A53A; --color-error:#D14A3A;
  --surface-page:var(--vajra-ink); --surface-card:var(--vajra-ink-raised);
  --text-primary:var(--vajra-text); --text-secondary:var(--vajra-secondary); --text-muted:var(--vajra-muted);
  --text-on-primary:#1A1409; /* dunkle Tinte auf Messing-Gold */
  --color-primary:var(--vajra-lapis-600); --color-primary-hover:var(--vajra-lapis-500); --color-primary-active:var(--vajra-lapis-700);
  --color-accent:var(--vajra-brass); --color-accent-hover:var(--vajra-brass-300);
  --border-default:var(--vajra-border); --ring-focus:var(--vajra-lapis-400);
  /* type / radius / motion */
  --font-body:'Outfit',system-ui,-apple-system,sans-serif; --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --fw-medium:500; --fw-bold:700;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.40); --shadow-md:0 4px 12px rgba(0,0,0,.45);
  --ease-standard:cubic-bezier(.2,0,.1,1); --dur-fast:120ms; --dur-normal:200ms;
}

body { font-family:var(--font-body); background:var(--surface-page); color:var(--text-primary); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5 { font-family:var(--font-body); letter-spacing:-0.015em; }
::selection { background:var(--vajra-lapis-500); color:var(--text-on-primary); }
.font-mono, code, pre, kbd { font-family:var(--font-mono); }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 20px;
  font-family:var(--font-body); font-size:1rem; font-weight:var(--fw-medium); letter-spacing:-0.01em; line-height:1;
  border:1px solid transparent; border-radius:var(--radius-sm); cursor:pointer; white-space:nowrap;
  transition:filter var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard); }
.btn:hover { filter:brightness(1.12); }
.btn:active { transform:translateY(1px); }
.btn:disabled { opacity:.45; cursor:not-allowed; filter:none; transform:none; }
.btn-sm { height:36px; padding:0 14px; font-size:.875rem; }
.btn-lg { height:54px; padding:0 28px; font-size:1.125rem; }
.btn-primary { background:var(--color-primary); color:var(--text-on-primary); }
.btn-accent { background:var(--color-accent); color:var(--vajra-ink); }
.btn-secondary { background:var(--surface-card); color:var(--text-primary); border-color:var(--border-default); }
.btn-ghost { background:transparent; color:var(--text-secondary); border-color:var(--border-default); }
.btn-ghost:hover { color:#fff; border-color:var(--color-primary); filter:none; }
.btn-danger { background:transparent; color:var(--color-error); border-color:rgba(209,67,67,.5); }
.btn-danger:hover { background:var(--color-error); color:#fff; filter:none; }

/* Card */
.card { background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm); transition:border-color var(--dur-normal) var(--ease-standard), box-shadow var(--dur-normal) var(--ease-standard); }
.card-accent { border-top:2px solid var(--color-primary); }
.card-interactive { cursor:pointer; }
.card-interactive:hover { border-color:var(--border-strong); box-shadow:var(--shadow-md); }

/* Badge */
.badge { display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 9px; font-size:.75rem;
  font-weight:var(--fw-medium); letter-spacing:.04em; line-height:1; border-radius:999px; white-space:nowrap; border:1px solid transparent; }
.badge-neutral { background:var(--vajra-ink); color:var(--text-secondary); border-color:var(--border-default); }
.badge-lapis { background:rgba(204,150,72,.16); color:var(--vajra-lapis-400); border-color:rgba(204,150,72,.40); }
.badge-brass { background:rgba(210,116,46,.14); color:var(--vajra-brass-300); border-color:rgba(210,116,46,.40); }
.badge-success { background:rgba(63,160,106,.14); color:var(--color-success); border-color:rgba(63,160,106,.40); }
.badge-warning { background:rgba(224,165,58,.14); color:var(--color-warning); border-color:rgba(224,165,58,.40); }
.badge-error { background:rgba(209,67,67,.14); color:var(--color-error); border-color:rgba(209,67,67,.40); }

/* Form fields (class name kept from admin pages) */
.input-field { width:100%; background:var(--surface-card); border:1px solid var(--border-default); color:var(--text-primary);
  border-radius:var(--radius-sm); padding:0 12px; height:44px; font-size:1rem; outline:none;
  transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard); }
textarea.input-field { height:auto; padding:10px 12px; resize:vertical; }
.input-field:focus { border-color:var(--ring-focus); box-shadow:0 0 0 3px rgba(204,150,72,.22); }
.input-field::placeholder { color:var(--text-muted); }

/* Tabs */
.tab { position:relative; display:inline-flex; align-items:center; gap:8px; padding:12px 14px; background:transparent;
  border:none; cursor:pointer; font-family:var(--font-body); font-size:1rem; color:var(--text-muted);
  transition:color var(--dur-fast) var(--ease-standard); }
.tab-active { color:var(--text-primary); font-weight:var(--fw-medium); }
.tab-active::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--color-primary); }

/* Markdown prose (replaces per-page .md-prose / .prose) */
.md-prose h1,.md-prose h2,.prose h1,.prose h2 { font-size:1.15rem; font-weight:700; color:var(--text-primary); margin:1.5rem 0 .5rem; }
.md-prose h3,.prose h3 { font-size:1rem; font-weight:600; color:var(--vajra-secondary); margin:1.25rem 0 .4rem; }
.md-prose p,.prose p { color:var(--text-secondary); line-height:1.85; margin:.6rem 0; }
.md-prose strong,.prose strong { color:var(--text-primary); }
.md-prose em { color:var(--vajra-lapis-400); }
.md-prose hr { border-color:var(--border-default); margin:1.5rem 0; }
.md-prose ul,.md-prose ol,.prose ul,.prose ol { color:var(--text-secondary); padding-left:1.5rem; margin:.6rem 0; }
.md-prose ul { list-style:disc; } .md-prose ol { list-style:decimal; }
.md-prose li { margin:.35rem 0; line-height:1.75; }
.md-prose blockquote { border-left:3px solid var(--border-default); padding-left:1rem; color:var(--text-muted); margin:.75rem 0; }
