:root {
  --rot:#a8201a;
  --rot-tief:#7a1612;
  --creme:#f7f1e6;
  --creme-tief:#ede4d0;
  --heide:#6b4a6e;
  --tinte:#1f1a17;
}

/* Consent banner */
#hvf-consent {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 9999;
  background: var(--tinte);
  color: var(--creme);
  border-radius: 2px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
#hvf-consent .hvf-consent-inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
@media (min-width: 768px) {
  #hvf-consent .hvf-consent-inner {
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
  }
}
#hvf-consent .hvf-consent-text { flex: 1; }
#hvf-consent a { color: #e8b87a; text-decoration: underline; }
#hvf-consent .hvf-consent-actions {
  display: flex;
  gap: .5rem;
  flex-shrink: 0;
}
#hvf-consent .hvf-btn {
  font: inherit;
  font-weight: 600;
  padding: .55rem 1.1rem;
  border-radius: 2px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background .15s, color .15s;
}
#hvf-consent .hvf-btn-primary {
  background: var(--rot);
  color: #fff;
}
#hvf-consent .hvf-btn-primary:hover { background: var(--rot-tief); }
#hvf-consent .hvf-btn-ghost {
  background: transparent;
  color: var(--creme);
  border-color: rgba(247,241,230,.35);
}
#hvf-consent .hvf-btn-ghost:hover { background: rgba(247,241,230,.08); }

/* Legal pages */
.legal-prose { max-width: 44rem; }
.legal-prose h1 { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 2.5rem; line-height: 1.1; letter-spacing: -0.01em; }
.legal-prose h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: 1.5rem; margin-top: 2.5rem; margin-bottom: .75rem; color: var(--rot); }
.legal-prose h3 { font-weight: 600; font-size: 1.05rem; margin-top: 1.5rem; margin-bottom: .4rem; }
.legal-prose p, .legal-prose ul { color: #3f3a37; line-height: 1.7; margin-top: .6rem; }
.legal-prose ul { list-style: disc; padding-left: 1.25rem; }
.legal-prose a { color: var(--rot); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.legal-prose a:hover { text-decoration: none; }
.legal-prose strong { color: var(--tinte); }
.legal-prose .placeholder {
  background: #fef3c7;
  color: #78350f;
  padding: 0 .25rem;
  border-radius: 2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .9em;
}
