/* ============================================================
   pages.css – Startseite, Bücherregal, Buchseite, Seite über den Schriftsteller
   ============================================================ */

/* ---------- Startseite ---------- */
.home-hero{padding:clamp(3rem,8vw,6rem) 0 clamp(2.6rem,6vw,4.5rem)}
.home-hero .grid{display:grid;gap:2.8rem;align-items:center}
@media(min-width:900px){.home-hero .grid{grid-template-columns:1.25fr .75fr;gap:4rem}}
.home-hero h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:800;letter-spacing:-.045em}
.home-hero .actions{margin-top:2rem;display:flex;gap:.7rem;flex-wrap:wrap}
.portrait-frame{max-width:300px;margin-inline:auto}
.portrait-frame.links{margin-inline:0}
.portrait-frame img{border:1px solid var(--bone-2);box-shadow:14px 14px 0 -2px var(--pist)}
.portrait-frame figcaption{margin-top:.8rem;font-family:var(--sans);font-size:.76rem;color:var(--ink-2)}

/* ---------- Bücherregal ---------- */
.shelf{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.bookcard{
  display:flex;flex-direction:column;gap:1rem;text-decoration:none;color:inherit;
  background:var(--page);border:1px solid var(--bone-2);border-top:5px solid var(--ink);
  padding:1.3rem;transition:transform .15s,border-top-color .15s,box-shadow .15s;
}
a.bookcard:hover,a.bookcard:focus-visible{
  transform:translateY(-3px);border-top-color:var(--red);
  box-shadow:0 14px 28px -22px rgba(22,33,28,.7);
}
.bookcard.upcoming{background:transparent;border-style:dashed;border-top-color:var(--chrome)}
.bookcard .art{position:relative;background:var(--bone);aspect-ratio:2/3;overflow:hidden}
.bookcard .art img{width:100%;height:100%;object-fit:contain;background:var(--bone)}
.bookcard .placeholder{
  width:100%;height:100%;display:grid;place-content:center;text-align:center;gap:.3rem;
  color:var(--chrome);font-family:var(--hand);font-size:1.05rem;
  background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(181,186,180,.14) 12px 24px);
}
.bookcard h3{font-size:1.35rem}
.bookcard .sub{font-family:var(--sans);font-size:.83rem;color:var(--ink-2);margin-top:.2rem}
.bookcard .genre{font-family:var(--sans);font-size:.76rem;color:var(--red);margin-top:.25rem}
.book-hero .genre{
  font-family:var(--sans);font-size:.85rem;color:var(--red);
  margin-top:.5rem;
}
.bookcard .blurb{font-size:.95rem;margin:0}
.bookcard .foot{margin-top:auto;display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;
  font-family:var(--sans);font-size:.85rem;color:var(--ink-2);
  border-top:1px solid var(--bone-2);padding-top:.7rem}
.bookcard .price{color:var(--ink);font-weight:600}
.bookcard.upcoming .foot{border-top-color:var(--chrome)}

/* Preistabelle auf den Buchseiten */
.prices{display:grid;gap:.5rem;margin:1.4rem 0 0;max-width:420px}
.prices a{
  display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
  padding:.7rem .9rem;background:var(--page);border:1px solid var(--bone-2);
  text-decoration:none;font-family:var(--sans);font-size:.9rem;
}
.prices a:hover{border-color:var(--red)}
.prices .p{font-weight:700;color:var(--red)}
.prices small{display:block;color:var(--ink-2);font-weight:400;font-size:.78rem}

/* ---------- Buch-Kopfbereich ---------- */
.book-hero{padding:clamp(2.6rem,7vw,5rem) 0 clamp(2.4rem,6vw,4rem)}
.book-hero .grid{display:grid;gap:2.6rem;align-items:start}
@media(min-width:880px){.book-hero .grid{grid-template-columns:1.18fr .82fr;gap:4rem}}
/* Die Überschrift kommt aus der Markdown-Datei und darf beliebig
   lang sein. Sie bricht von selbst um, statt fest gesetzt zu
   werden, und schrumpft bei langen Titeln mit. */
.book-hero h1{
  font-size:clamp(2.1rem,6.4vw,4.6rem);
  font-weight:800;letter-spacing:-.04em;line-height:1.02;
  text-wrap:balance;overflow-wrap:break-word;
}
.byline{margin-top:1.3rem;font-family:var(--sans);font-size:1.1rem;font-weight:500}
.blurb-box{margin:2rem 0 0;padding:1.2rem 1.3rem;background:var(--page);border-top:3px solid var(--red);max-width:46ch}
.blurb-box p:last-child{margin-bottom:0}
.epigraph{margin:1.8rem 0 0;font-style:italic;color:var(--ink-2);max-width:40ch}
.epigraph cite{display:block;font-style:normal;font-family:var(--sans);font-size:.78rem;margin-top:.4rem}
.factstrip{margin-top:2.2rem;display:flex;flex-wrap:wrap;border-top:1px solid var(--bone-2)}
.factstrip div{padding:.9rem 1.6rem .9rem 0;margin-right:1.6rem;border-right:1px solid var(--bone-2);font-family:var(--sans);font-size:.8rem;color:var(--ink-2)}
.factstrip div:last-child{border-right:0;margin-right:0}
.factstrip b{display:block;font-size:1.65rem;color:var(--ink);font-weight:700;letter-spacing:-.03em}
.cover-fig{max-width:340px;margin-inline:auto}
.cover-fig img{width:100%;box-shadow:-8px 0 0 -2px #0C120F, 18px 20px 0 -4px var(--bone-2)}
.cover-fig figcaption{margin-top:.9rem;font-family:var(--sans);font-size:.74rem;color:var(--ink-2);text-align:center}

/* ---------- Personen ---------- */
.people{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}
.pcard{
  text-align:left;font:inherit;cursor:pointer;background:var(--page);
  border:1px solid var(--bone-2);border-left-width:5px;border-radius:0;
  padding:1.1rem 1.2rem;transition:background .15s,transform .15s;
}
.pcard:hover{background:#fff;transform:translateY(-2px)}
.pcard[aria-expanded="true"]{background:var(--ink);color:var(--bone)}
.pcard[aria-expanded="true"] .role{color:rgba(230,231,225,.65)}
.pcard h4{font-size:1.1rem}
.pcard .role{font-family:var(--sans);font-size:.83rem;color:var(--ink-2);margin-top:.2rem}
.pdetail{grid-column:1/-1;background:var(--page);border:1px solid var(--bone-2);border-top:5px solid var(--ink);padding:clamp(1.3rem,3vw,2.2rem)}
.pdetail h3{font-size:1.7rem;margin-bottom:.25rem}
.pdetail .role{font-family:var(--sans);font-size:.9rem;margin-bottom:1.1rem}
.facts{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:.45rem}
.facts li{padding-left:1.2rem;position:relative;font-size:.95rem}
.facts li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:2px;background:var(--red)}
.closex{float:right;background:none;border:none;font:inherit;cursor:pointer;color:var(--ink-2);font-size:1.5rem;line-height:1}

/* ---------- Seite über den Schriftsteller ---------- */
.author-hero{display:grid;gap:2.6rem;align-items:start}
@media(min-width:840px){.author-hero{grid-template-columns:320px 1fr;gap:3.6rem}}
.author-hero h1{font-size:clamp(2.4rem,6vw,4rem);font-weight:800;letter-spacing:-.04em}
.leadtext{font-size:1.12rem}
.author-hero .leadtext{margin-top:1.3rem}
.narrow.links{margin-inline:0}
.timeline{list-style:none;margin:0;padding:0;max-width:680px;border-left:2px solid var(--bone-2)}
.timeline li{position:relative;padding:0 0 1.6rem 1.6rem}
.timeline li::before{content:"";position:absolute;left:-6px;top:.65em;width:10px;height:10px;background:var(--red)}
.timeline b{font-family:var(--sans);display:block;font-size:.85rem;color:var(--ink-2)}
.cols{display:grid;gap:2rem}
@media(min-width:800px){.cols{grid-template-columns:1fr 1fr;gap:3rem}}
.panel{background:var(--page);border:1px solid var(--bone-2);padding:1.4rem 1.5rem}
.panel h3{font-size:1.25rem;margin-bottom:.7rem}
.panel ul{margin:0;padding-left:1.1rem}
.panel li{margin-bottom:.35rem}

.dl{display:grid;gap:0;margin-top:1.4rem;border-top:2px solid var(--ink)}
.dl.schmal{max-width:660px}
.dl div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--bone-2);font-size:.9rem}
.dl dt{font-family:var(--sans);color:var(--ink-2)}
.dl dd{margin:0}
@media(max-width:520px){.dl div{grid-template-columns:1fr}}
