@layer base {
  body { font-family: 'Inter', system-ui, -apple-system, sans-serif; color: #657078; }
  h1, h2, h3, h4, h5, h6 { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif; letter-spacing: -0.02em; }
}
.praxis-topbar { background-color: #2a2a2a !important; border-color: #202020 !important; color: #f4f6f7 !important; }
.praxis-topbar .text-brand-300 { color: #ffffff !important; }
.praxis-topbar .text-slate-300 { color: #f2f4f5 !important; }
.praxis-topbar .text-brand-200 { color: #eef1f2 !important; }
.praxis-footer { background-color: #2a2a2a !important; border-color: #202020 !important; color: #f3f5f6 !important; }
.praxis-footer .border-slate-800, .praxis-footer .border-slate-700, .praxis-footer .border-slate-700\/60 { border-color: rgba(255,255,255,.22) !important; }
.praxis-footer .text-slate-400, .praxis-footer .text-slate-500 { color: #dfe4e7 !important; }
.praxis-footer .text-slate-700 { color: rgba(230,235,238,.56) !important; }
.praxis-footer [class*="bg-slate-800"] { background-color: #202020 !important; }
.praxis-footer .text-brand-300, .praxis-footer .text-brand-400, .praxis-footer .text-brand-500 { color: #eef1f2 !important; }
.praxis-footer a:hover { color: #ffffff !important; }
/* Tailwind CDN wird nach dieser Datei erzeugt; !important verhindert dessen Navy-Override (#0f172a). */
main h1 { color: #2a2a2a !important; }
main h1.text-slate-900 { color: #2a2a2a !important; }
main h2, main h3, main h4, main h5, main h6 { color: #555c62 !important; }
.text-slate-900, main .text-slate-900 { color: #555c62 !important; }
.text-slate-800 { color: #59656d; }
.text-slate-700 { color: #626d75; }
.text-slate-600 { color: #6b767e; }
.text-slate-500 { color: #78838a; }
.nav-link {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.5rem 0.625rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 500;
  color: #626d75;
  transition: background-color 160ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms cubic-bezier(0.23, 1, 0.32, 1);
}
.nav-link:hover { background: #f2f8fd; color: #505b63; }
.nav-active { background: #f2f8fd; color: #505b63; font-weight: 700; }
.nav-privacy-active { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.dropdown-link { display: block; border-radius: 0.75rem; padding: 0.625rem 0.75rem; transition: background-color 160ms; }
.dropdown-link:hover { background: #f2f8fd; }
.dropdown-link span { display: block; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: #59656d; }
.dropdown-link small { display: block; font-size: 0.75rem; line-height: 1rem; color: #78838a; }
.legal-card { border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; padding: 1.5rem; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.legal-card h2 { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: 1.125rem; font-weight: 800; color: #505b63; border-bottom: 1px solid #f1f5f9; padding-bottom: .75rem; margin-bottom: 1rem; }
.legal-card > div { font-size: .875rem; line-height: 1.75rem; color: #657078; }
.form-input { width: 100%; border: 1px solid #cbd5e1; border-radius: .75rem; padding: .75rem 1rem; font-size: .875rem; color: #59656d; outline: none; }
.form-input:focus { border-color: #418ad3; box-shadow: 0 0 0 2px rgba(65,138,211,.2); }
.form-check { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid #e2e8f0; border-radius: .5rem; padding: .5rem .75rem; font-size: .875rem; color: #657078; }
.form-check:hover { border-color: #93c6eb; }
/* Gedämpftes Bronze statt grellem Gold in der Kontaktbox. */
.contact-panel h2 { color: #b8794d !important; }
.contact-form-notice { color: #68737b; }
/* Ein heller Bronzeakzent als gut lesbares Pendant zur Kontaktbox. */
.imprint-address-icon { color: #d6a574 !important; filter: drop-shadow(0 1px 5px rgba(214,165,116,.22)); }
.imprint-address-heading { color: #d6a574 !important; }
/* Unklassifizierte Textlinks behalten nach einem Besuch Praxisblau statt Browser-Violett. */
a:not([class]):visited { color: #3177bd; }
.privacy-original { max-width: 100%; }
.privacy-original h3 { margin: 2.25rem 0 .75rem; font-size: 1.05rem; font-weight: 800; line-height: 1.45; color: #555c62 !important; }
.privacy-original h3:first-child { margin-top: 0; }
.privacy-original p, .privacy-original .privacy-definition { margin: 0 0 1rem; }
.privacy-original .privacy-definition { padding: .9rem 1rem; border-left: 3px solid #b9dcf5; background: rgba(242, 248, 253, .7); border-radius: 0 .5rem .5rem 0; }
.privacy-original a { color: #245a91; font-weight: 600; text-decoration: underline; }
