/* ==== Local Fonts ==== */
@font-face {
  font-family: "Cinzel";
  src: url("assets/fonts/cinzel.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter.woff2") format("woff2");
  font-display: swap;
}

/* ==== Design Tokens (warm, textured, leise) ==== */
:root{
  --bg: #f7f3ee;          /* warmes Papier */
  --paper: #ffffff;       /* Karten-Hintergrund */
  --ink: #2e2a27;         /* Textfarbe (dunkles Sepia) */
  --muted: #5a544f;       /* sekundärer Text */
  --accent: #8a5e3b;      /* warmes Braun (Buttons/Links) */
  --accent-strong:#7b5334;
  --accent-hover:#a8744a; /* heller, bei Hover */
  --shadow: rgba(20,14,10,0.06);
  --ring: rgba(138,94,59,0.18);
  --max: 980px;
}

/* ==== Base ==== */
*{box-sizing:border-box}
html,body{
  margin:0; padding:0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
}

/* Dezente Papierstruktur (ohne externe Dateien) */
body{
  background-image:
    radial-gradient(1200px 600px at 10% -10%, rgba(80,60,40,0.06), transparent 60%),
    radial-gradient(900px 500px at 100% 10%, rgba(120,90,60,0.05), transparent 60%),
    linear-gradient(0deg, rgba(255,255,255,0.4), rgba(255,255,255,0.4));
  background-blend-mode: multiply, multiply, normal;
}

/* Typo */
h1,h2{
  font-family: "Cinzel", serif;
  letter-spacing:.02em;
  color: var(--ink);
  margin: 0 0 .5rem 0;
}
p{margin:.4rem 0 1rem}

/* Layout */
section{
  max-width: var(--max);
  margin: 0 auto;
  padding: 2.2rem 1.2rem;
}
.container{
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 1.2rem;
}

/* Kartenstil für ruhige Blöcke */
.card{
  background: var(--paper);
  border-radius: 10px;
  box-shadow: 0 10px 24px var(--shadow);
  border: 1px solid rgba(90,84,79,0.08);
  padding: 1.8rem;
}

/* ==== HERO ==== */
.hero{
  padding: 3rem 1.2rem 1rem;
  text-align: center;
}
.portrait{
  width: 180px; height: 220px; object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 8px 22px var(--shadow);
  border: 1px solid rgba(90,84,79,0.12);
  background: var(--paper);
}
h1{ font-size: clamp(1.8rem, 3vw, 2.4rem); margin-top:1rem; }
.tagline{ color: var(--muted); margin-top:.3rem; }

/* Actions (Buttons) */
.actions{ margin-top: 1.4rem; display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
.btn{
  background: var(--accent);
  color: #fff;
  padding: .7rem 1.2rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 6px 16px var(--shadow);
  border: 1px solid var(--accent-strong);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.btn:hover{ background: var(--accent-hover); transform: translateY(-2px); box-shadow: 0 10px 24px var(--shadow); }

.btn.btn-outline{
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
}
.btn.btn-outline:hover{
  background: rgba(167,116,74,0.08);
}

/* ==== ABOUT ==== */
.about p{ margin: 0 auto; max-width: 58ch; color: var(--ink); }

/* ==== BOOKS ==== */
.books .grid{
  display: grid;
  grid-template-columns: repeat( auto-fit, minmax(260px, 1fr) );
  gap: 1rem;
  margin-top: 1rem;
}
.cover{
  width: 220px; max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 8px 18px var(--shadow);
  border: 1px solid rgba(90,84,79,0.12);
  background: #fff;
}
.book-block{ text-align: center; }
.book-block p em{ color: var(--muted); }

/* ==== MUSIC ==== */
.links{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }
.links a{
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
  padding: .2rem .4rem;
  border-radius: 4px;
  transition: background .15s ease, color .15s ease;
}
.links a:hover{ background: rgba(167,116,74,0.1); color: var(--accent-strong); }

/* ==== CONTACT ==== */
.contact .card{ text-align:center; }
.contact a{ color: var(--accent); text-decoration:none; font-weight:600; }
.contact a:hover{ color: var(--accent-hover); }

/* ==== FOOTER ==== */
footer{
  margin-top: .5rem;
  padding: 1.4rem 1.2rem 2.2rem;
  color: var(--muted);
  text-align: center;
}
footer nav a{
  color: var(--accent);
  margin: 0 .5rem;
  text-decoration: none;
}
footer nav a:hover{ color: var(--accent-hover); }

/* Spacing helpers */
.spacer-s{ height:.5rem }
.spacer-m{ height:1rem }
.spacer-l{ height:1.6rem }

/* Responsive tweak */
@media (min-width: 860px){
  .hero{ padding: 4rem 1.2rem 1.6rem; }
}
