/* Shared base styles for nava.de */
:root {
  --primary-color: #0f172a;
  --secondary-color: #475569;
  --accent-color: #2563eb;
  --accent-light: #eff6ff;
  --bg-color: #f8fafc;
  --card-bg: #ffffff;
  --border-color: #e2e8f0;
  --text-main: #334155;
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }

body {
  font-family: var(--font-family), sans-serif;
  background: var(--bg-color);
  color: var(--text-main);
  line-height: 1.7;
  margin: 0;
}

.container { max-width: 900px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }

h1 { font-size: 2rem; color:#0f172a; margin: 1.5rem 0; }
h2 { font-size: 1.25rem; color:#0f172a; margin: 2rem 0 0.75rem; border-left:4px solid var(--accent-color); padding-left:0.6rem; }
p, li { font-size: 1rem; color:#475569; }
a { color: var(--accent-color); text-decoration: none; }

header { background:#0f172a; color:#fff; padding:1.25rem; text-align:center; }
/* Ensure header titles are legible on dark background and have no left border */
header h1, header h2 { color: #fff; }
header h2 { border-left: none; padding-left: 0; }
footer { text-align:center; padding:2rem 1.25rem; color:#64748b; border-top:1px solid #e2e8f0; background:#fff; }

.card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:1.25rem 1.25rem; }

/* Generic description block (used on index and subpages) */
.description { font-size: 1.05rem; color: var(--secondary-color); }

/* Improve spacing for the intro text under "Featured Projects" */
#projects > .description { margin: 0 0 2.5rem 0; }

/* Footer link helpers consistent across pages */
.footer-links { display: inline-flex; gap: 1rem; }
.footer-links a { border-bottom: 1px solid transparent; }
.footer-links a:hover { border-bottom-color: currentColor; }

@media (max-width: 868px) {
  .container { padding: 1.5rem 1rem 3rem; }
}
