/* ═══════════════════════════════════════════════════════════
   Monika Tschirren · main.css · v1.0.0
   ═══════════════════════════════════════════════════════════ */

/* ── 1. @font-face ──────────────────────────────────────────── */

@font-face { font-family:'Cormorant Garamond'; font-style:normal;  font-weight:400; font-display:swap;
  src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic;  font-weight:400; font-display:swap;
  src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal;  font-weight:500; font-display:swap;
  src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic;  font-weight:500; font-display:swap;
  src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-500-italic.woff2') format('woff2'); }

@font-face { font-family:'DM Sans'; font-style:normal; font-weight:300; font-display:swap;
  src:url('../fonts/dm-sans/dm-sans-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/dm-sans/dm-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/dm-sans/dm-sans-latin-500-normal.woff2') format('woff2'); }

/* ── 2. Variablen ────────────────────────────────────────────── */
:root {
  --schaum:       #FBF9F4;
  --apricot:      #E6F0EE;
  --sand:         #EFE8DA;
  --sandtief:     #DCD1BC;
  --rose:         #6E9B96;
  --erdbeere:     #B85A4E;
  --erdbeerhell:  #CB6C5F;
  --gold:         #C9A24B;
  --abend:        #3D6E73;
  --abendtief:    #31595E;
  --text:         #3A403F;
  --textleicht:   #6F7876;
  --wrap:         1180px;
}

/* ── 3. Reset & Basis ────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'DM Sans',system-ui,sans-serif;
  font-weight:300;
  background:var(--schaum);
  color:var(--text);
  line-height:1.75;
  font-size:1.06rem;
  hyphens:none;
  -webkit-hyphens:none;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4 { font-family:'Cormorant Garamond',serif; font-weight:500; color:var(--abendtief); line-height:1.2; }
a { color:var(--erdbeere); text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link:focus { position:fixed; top:1rem; left:1rem; z-index:9999; background:var(--abendtief); color:#fff; padding:.5rem 1rem; }

/* ── 4. Layout ───────────────────────────────────────────────── */
.wrap { max-width:var(--wrap); margin:0 auto; padding:0 24px; }
section { position:relative; padding:110px 0; }
.sec-head { margin-bottom:48px; }
.sec-head h2 { font-size:clamp(2rem,4.5vw,3rem); margin-top:14px; }

/* Deko-SVGs */
.deko { position:absolute; fill:var(--gold); opacity:0.48; pointer-events:none; z-index:1; }
.deko-boot       { width:72px; height:72px; }
.deko-palme      { width:66px; height:66px; }
.deko-leuchtturm { width:38px; height:auto; }
@media(max-width:680px){ .deko{display:none} }

/* ── 5. Typografie ───────────────────────────────────────────── */
.label {
  font-size:.95rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--rose); font-weight:400; display:flex; align-items:center; gap:10px;
}
.stern { width:13px; height:13px; fill:var(--gold); flex:none; }

/* ── 6. Buttons ──────────────────────────────────────────────── */
.btn {
  display:inline-block; background:var(--erdbeere); color:#fff;
  padding:15px 34px; border-radius:2px; font-weight:400;
  letter-spacing:.06em; font-size:1rem; transition:background .25s;
  border:none; cursor:pointer; font-family:'DM Sans',sans-serif;
  text-decoration:none;
}
.btn:hover { background:var(--erdbeerhell); color:#fff; }
.btn.ghost { background:transparent; color:var(--abendtief); border:1px solid var(--abendtief); }
.btn.ghost:hover { background:var(--abendtief); color:#fff; }
.btn.ghost.hell { color:#EDF5F3; border-color:#EDF5F3; }
.btn.ghost.hell:hover { background:#EDF5F3; color:var(--abendtief); }
.btn.small { padding:10px 22px; font-size:.9rem; }
.btn-small { padding:11px 26px; font-size:.9rem; }

/* ── 7. Animationen ──────────────────────────────────────────── */
@keyframes funkeln { 0%,100%{opacity:.3} 50%{opacity:1} }
@keyframes punkt-blink { 0%,100%{opacity:.15} 50%{opacity:.75} }
@media(prefers-reduced-motion:no-preference){
  .funkel { animation:funkeln 4.5s ease-in-out infinite; }
  .f2{animation-delay:1.1s}.f3{animation-delay:2.2s}
  .f4{animation-delay:.6s} .f5{animation-delay:1.7s}.f6{animation-delay:2.9s}
  .punkt { animation:punkt-blink var(--dur,4s) ease-in-out var(--del,0s) infinite; }
}

/* ── 8. Reveal (IntersectionObserver) ───────────────────────── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease,transform .8s ease; }
.reveal.da { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} }
:focus-visible { outline:2px solid var(--erdbeere); outline-offset:3px; }

/* ── 9. Sterntrenner ─────────────────────────────────────────── */
.sterntrenner {
  display:flex; align-items:center; justify-content:center; gap:16px;
  max-width:220px; margin:0 auto; padding:34px 24px;
}
.sterntrenner .linie { flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.sterntrenner .stern { width:12px; height:12px; fill:var(--gold); flex:none; animation:funkeln 4.5s ease-in-out infinite; }

/* Wellen-Trenner */
.trenner { padding:0; line-height:0; }
.trenner svg { display:block; width:100%; height:auto; }

/* ── 10. Navigation ──────────────────────────────────────────── */
#site-nav {
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(251,247,240,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(61,110,115,.14);
}
.navin {
  max-width:var(--wrap); margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.navname {
  font-family:'Cormorant Garamond',serif; font-size:1.3rem;
  color:var(--abendtief); display:flex; align-items:center; gap:11px; text-decoration:none;
}
.navlogo { width:42px; height:42px; object-fit:contain; mix-blend-mode:multiply; flex:none; }
.navlinks { display:flex; gap:26px; list-style:none; }
.navlinks li a { color:var(--text); font-size:.95rem; font-weight:400; transition:color .2s; }
.navlinks li a:hover { color:var(--erdbeere); }
/* Startseite: dunkle Nav */
.home #site-nav, .dark-nav #site-nav { background:var(--abend); border-bottom:none; }
.home .navname, .dark-nav .navname { color:#FDFDFC; }
.home .navlogo, .dark-nav .navlogo { mix-blend-mode:normal; }
.home .navlinks li a, .dark-nav .navlinks li a { color:#FDFDFC; }
.home .navlinks li a:hover, .dark-nav .navlinks li a:hover { color:var(--gold); }
/* Nav-Welle (nur Startseite) */
.navwave { display:none; position:absolute; left:0; right:0; top:100%; height:28px; line-height:0; pointer-events:none; }
.navwave svg { width:100%; height:100%; display:block; }
.home .navwave, .dark-nav .navwave { display:block; }
/* Mobile Toggle */
.nav-toggle {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; padding:4px; cursor:pointer;
}
.nav-toggle span { display:block; width:24px; height:2px; border-radius:2px; background:var(--abendtief); transition:.3s; }
.home .nav-toggle span, .dark-nav .nav-toggle span { background:#fff; }
@media(max-width:680px){ .navlinks{display:none} .nav-toggle{display:flex} }

/* WordPress-Admin-Bar-Offset */
body.admin-bar #site-nav { top:32px; }
@media(max-width:782px){ body.admin-bar #site-nav { top:46px; } }

/* Mobile-Menü-Overlay */
.mobile-menu {
  display:none; position:fixed; inset:0; z-index:49; background:var(--abendtief);
  padding-top:80px; padding-inline:24px;
}
.mobile-menu.open { display:flex; flex-direction:column; justify-content:center; gap:24px; }
.mobile-menu .mobile-navlinks { list-style:none; display:flex; flex-direction:column; gap:8px; }
.mobile-menu .mobile-navlinks a { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; color:#fff; display:block; padding:8px 0; }

/* ── 11. Hero ────────────────────────────────────────────────── */
.site-hero {
  position:relative; min-height:88vh;
  display:flex; flex-direction:column; justify-content:center;
  overflow:hidden; padding-top:80px; background:var(--schaum);
}
.herobild { position:absolute; inset:0; z-index:0; }
.herobild img { width:100%; height:100%; object-fit:cover; object-position:center 60%; filter:saturate(1.25) contrast(1.04); }
.herobild::after {
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(251,249,244,0.85) 0%, rgba(251,249,244,0.60) 32%, rgba(251,249,244,0.10) 60%, rgba(251,249,244,0.02) 78%),
    linear-gradient(180deg, rgba(251,249,244,0.44) 0%, rgba(251,249,244,0) 28%, rgba(251,249,244,0) 62%, var(--schaum) 100%);
}
/* Sternenhimmel */
.sternenhimmel { position:absolute; inset:0; z-index:1; pointer-events:none; }
.punkt {
  position:absolute; border-radius:50%; background:var(--gold);
  animation-name:punkt-blink;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
}
/* Hero-Inhalt */
.heroin {
  position:relative; z-index:2; max-width:var(--wrap); margin:0 auto;
  padding:0 24px 90px; width:100%;
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center;
}
.hero-eyebrow { font-size:.95rem; letter-spacing:.24em; text-transform:uppercase; color:var(--textleicht); margin-top:40px; margin-bottom:22px; font-weight:400; }
h1 { font-size:clamp(2.7rem,7vw,5rem); margin-bottom:14px; }
.tagline {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(1.3rem,2.8vw,1.8rem); color:var(--abendtief);
  display:flex; align-items:center; gap:12px; margin-bottom:30px;
}
.tagline .stern { width:11px; height:11px; }
.herotext { max-width:480px; color:#2C3231; margin-bottom:34px; }
.herobtns { display:flex; gap:16px; flex-wrap:wrap; }
.herologo { margin:0 auto; text-align:center; }
.herologo img { max-width:100%; height:auto; display:inline-block; filter:drop-shadow(0 14px 34px rgba(49,89,94,.28)); }
.cover-placeholder { width:240px; height:240px; margin:0 auto; background:var(--sand); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--textleicht); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; border:2px dashed var(--sandtief); }
.horizont { position:absolute; bottom:0; left:0; right:0; z-index:1; pointer-events:none; }
.horizont svg { display:block; width:100%; height:auto; }
@media(max-width:820px){
  .heroin { grid-template-columns:1fr; gap:10px; padding-bottom:150px; }
  .herologo { order:-1; max-width:250px; margin:0 auto; }
}

/* ── 12. Inselwelt ───────────────────────────────────────────── */
.sec-inselwelt { padding:110px 0; }
.inselintro { max-width:600px; color:var(--textleicht); margin-top:18px; }
.inselmotto { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; color:var(--rose); margin-top:12px; }
.inselgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px; margin-top:10px; }
.insel {
  position:relative; border-radius:3px; padding:150px 30px 34px; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end; gap:6px;
  color:#fff; transition:transform .3s ease;
}
a.insel:hover { transform:translateY(-6px); text-decoration:none; }
.inselnr {
  position:absolute; top:-18px; right:6px;
  font-family:'Cormorant Garamond',serif; font-size:6.5rem; font-weight:500;
  color:rgba(255,255,255,.16); line-height:1; pointer-events:none;
}
.insel .status { font-size:.92rem; letter-spacing:.18em; text-transform:uppercase; opacity:.85; font-weight:400; }
.insel h3 { font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:500; color:#fff; line-height:1.15; }
.insel p { font-size:1rem; max-width:90%; opacity:.92; line-height:1.55; }
.insel.sylt   { background:linear-gradient(165deg,#7396A8,#456E80); }
.insel.ibiza  { background:linear-gradient(165deg,#5BA9A3,#357F7C); }
.insel.hawaii { background:linear-gradient(165deg,#6BA37C,#427A5A); }
.insel.geheim { background:var(--sand); color:var(--abendtief); }
.insel.geheim h3 { color:var(--abendtief); }
.insel.geheim .status { color:var(--rose); }
.insel.geheim p { opacity:1; color:var(--textleicht); }
.insel.geheim .stern { width:26px; height:26px; margin-bottom:4px; fill:var(--gold); }
.formel {
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:28px; padding:18px 24px;
  background:var(--sand); border-radius:3px;
}
.formel p { font-size:.95rem; color:var(--textleicht); margin:0; }

/* ── 13. Buch-Section ────────────────────────────────────────── */
.buchsec { background:var(--abend); color:#EDF5F3; padding:110px 0; }
.buchsec h2, .buchsec h3 { color:#F7FBFA; }
.buchtitel { font-size:clamp(1.9rem,4vw,2.7rem); margin-bottom:10px; }
.buchsec .label { color:#A9CBC7; }
.buchsec .label .stern { fill:var(--gold); }
.buch { display:grid; grid-template-columns:minmax(250px,350px) 1fr; gap:64px; align-items:center; }
.coverbild { max-width:280px; margin:0 auto; }
.coverbild img { max-width:100%; height:auto; filter:drop-shadow(0 26px 44px rgba(0,0,0,.38)); }
.buchmeta { font-size:.98rem; letter-spacing:.14em; text-transform:uppercase; color:#A9CBC7; margin-bottom:6px; font-weight:400; }
.motto {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.25rem; color:var(--gold);
  display:flex; align-items:center; gap:10px; margin-bottom:26px;
}
.teaser p { margin-bottom:18px; font-size:1.12rem; }
.teaser em { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.35rem; color:#F7FBFA; }
.preise { display:flex; gap:34px; margin:30px 0; flex-wrap:wrap; }
.preis span { display:block; font-size:.92rem; letter-spacing:.14em; text-transform:uppercase; color:#A9CBC7; }
.preis strong { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:500; color:#F7FBFA; }
.kaufleiste { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.kaufhinweis { font-size:.95rem; color:#A9CBC7; margin-bottom:22px; }
.verlagszeile { font-size:.95rem; letter-spacing:.08em; color:#9CC0BC; }
.verlagszeile a { color:#A9CBC7; border-bottom:1px solid rgba(169,203,199,.45); }
@media(max-width:820px){ .buch{grid-template-columns:1fr;gap:40px} .coverbild{max-width:240px} }

/* ── 14. Über mich / Bullaugen ───────────────────────────────── */
.sec-ueber { padding:110px 0; }
.ueber { display:grid; grid-template-columns:minmax(280px,400px) 1fr; gap:70px; align-items:start; }
/* Bullaugen-Rahmen */
.bullaugen { position:relative; width:100%; max-width:340px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:20px; }
.bullauge {
  width:94%;
  position:relative; border-radius:50%; aspect-ratio:1/1;
  background:linear-gradient(155deg,#E7C978,var(--gold) 55%,#A67F2E 100%);
  box-shadow:0 18px 38px rgba(35,64,68,.26), 0 0 0 1px rgba(124,94,28,.35), inset 0 0 0 3px rgba(255,255,255,.4);
}
.bullauge::before {
  content:""; position:absolute; inset:-6px; border-radius:50%;
  border:1px solid rgba(201,162,75,.55); z-index:-1;
}
.bullauge .glas {
  position:absolute; inset:10%; border-radius:50%; overflow:hidden;
  background:#1c2f30;
  box-shadow:inset 0 0 0 4px rgba(0,0,0,.14), inset 0 6px 20px rgba(0,0,0,.4);
}
.bullauge .glas img { width:100%; height:100%; object-fit:cover; }
.bullauge.gross { width:94%; }
.bullauge.gross .glas img { object-position:50% 22%; }
.bullauge.klein { width:94%; }
.bullauge.klein .glas img { object-position:50% 18%; }
.bullauge.dritte { width:94%; }
.bfunkel { position:absolute; width:13px; height:13px; fill:var(--gold); top:-4%; right:6%; z-index:4; animation:funkeln 4.5s ease-in-out infinite; }
/* Bio-Text */
.pseudonym {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.3rem; color:var(--erdbeere); display:flex; align-items:center; gap:10px; margin-top:6px; margin-bottom:26px;
}
.sec-ueber p { margin-bottom:22px; }
.namensmoment {
  display:flex; align-items:flex-start; gap:16px; padding:26px 28px;
  background:var(--sand); border-radius:3px; margin-top:34px;
}
.namensmoment .stern { width:20px; height:20px; fill:var(--gold); flex:none; margin-top:4px; }
.namensmoment p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; line-height:1.55; color:var(--abendtief); margin:0; }
.markensatz {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.25rem; color:var(--abendtief);
  border-left:2px solid var(--gold); padding-left:22px; margin-top:30px;
}
@media(max-width:820px){ .ueber{grid-template-columns:1fr;gap:44px} .bullaugen{max-width:280px} }

/* ── 15. Neues & Termine (.neues wie Original) ──────────────── */
.neues { background:var(--schaum); padding:110px 0; }
.newsliste { display:flex; flex-direction:column; gap:0; margin-top:10px; }
.newsitem { display:grid; grid-template-columns:150px 1fr; gap:28px; padding:24px 0; border-bottom:1px solid rgba(61,110,115,.14); }
.newsitem:first-child { padding-top:0; }
.newsitem:last-child { border-bottom:none; }
.newsitem .ndatum { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--erdbeere); font-size:1.15rem; }
.newsitem h3 { font-size:1.3rem; margin-bottom:6px; }
.newsitem p { color:var(--textleicht); margin:0; }
.neueshinweis { font-size:.95rem; color:var(--textleicht); font-style:italic; margin-top:34px; }

/* ── Lesereise (.lesung wie Original) ───────────────────────── */
.lesung { background:var(--sand); padding:100px 0; }
.lesung p { margin-bottom:20px; }
.lesungin { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.lesetermine { display:flex; flex-direction:column; gap:22px; }
.lesetermin { display:flex; align-items:baseline; gap:18px; }
.lesetermin .tdatum { font-family:'Cormorant Garamond',serif; font-size:clamp(2.1rem,4.8vw,2.9rem); color:var(--abendtief); line-height:1; flex:none; min-width:88px; }
.lesetermin .tort { font-size:1.15rem; color:var(--erdbeere); font-style:italic; font-family:'Cormorant Garamond',serif; }
.lesungnote { font-size:.95rem; letter-spacing:.1em; text-transform:uppercase; color:var(--textleicht); font-weight:400; margin-top:8px; }
@media(max-width:680px){ .lesungin{grid-template-columns:1fr;gap:36px} }
.tort-art { display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-style:normal; font-family:'DM Sans',sans-serif; margin-top:2px; }

/* ── Neues & Termine – Archiv (Karten-Optik) ────────────────── */
.termine-karten-sec { padding:80px 0; }
.termin-intro { max-width:640px; margin-bottom:44px; }
.termin-intro p { margin-bottom:16px; }
.termin-karten { display:flex; flex-direction:column; gap:22px; }
.termin-karte {
  display:grid; grid-template-columns:170px 1fr; gap:0;
  background:#fff; border:1px solid rgba(61,110,115,.16); border-radius:4px; overflow:hidden;
  transition:box-shadow .25s ease, transform .25s ease;
}
.termin-karte:hover { box-shadow:0 12px 30px rgba(49,89,94,.12); transform:translateY(-2px); }
/* Datum-Badge (teal-Spalte links) */
.tk-badge {
  background:var(--abend); color:#EDF5F3;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  padding:28px 18px; text-align:center;
}
.tk-badge .tk-datum { font-family:'Cormorant Garamond',serif; font-size:1.7rem; line-height:1.1; color:#F7FBFA; }
.tk-badge .tk-uhrzeit { font-size:.9rem; color:#A9CBC7; letter-spacing:.06em; }
/* Inhalt */
.tk-body { padding:28px 30px; }
.tk-art { display:inline-block; font-size:.72rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.tk-titel { font-size:1.6rem; margin-bottom:8px; }
.tk-ort { color:var(--rose); font-style:italic; font-family:'Cormorant Garamond',serif; font-size:1.1rem; margin-bottom:12px; }
.tk-beschr { color:var(--textleicht); margin-bottom:14px; line-height:1.7; }
.tk-tickets { color:var(--erdbeere); font-size:.95rem; letter-spacing:.04em; }
@media(max-width:600px){ .termin-karte{grid-template-columns:1fr} .tk-badge{flex-direction:row;gap:14px;padding:16px 20px;justify-content:flex-start} }

/* ── Leseprobe-Sektion (Startseite, .probe wie Original) ────── */
.probe { background:var(--sand); padding:110px 0; }
.probe p { color:var(--text); margin-bottom:20px; }
.probein { display:grid; grid-template-columns:minmax(230px,380px) 1fr; gap:64px; align-items:center; }
.probebild { max-width:330px; margin:0 auto; }
.probebild img { width:100%; height:auto; border-radius:3px; display:block; box-shadow:0 20px 44px rgba(49,89,94,.20); }
.probeintro { max-width:520px; }
@media(max-width:820px){ .probein{grid-template-columns:1fr;gap:34px} }

/* ── Stimmungsbild (Vollbreite mit Zitat-Overlay) ───────────── */
.stimmung { position:relative; padding:0; line-height:0; }
.stimmung img { width:100%; height:clamp(280px,42vw,520px); object-fit:cover; display:block; }
.stimmung .stimmungtext {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  line-height:1.4; padding:0 24px;
  background:linear-gradient(180deg,rgba(49,89,94,.18),rgba(49,89,94,.34));
}
.stimmung .stimmungtext p {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(1.5rem,3.4vw,2.5rem); color:#fff;
  text-shadow:0 2px 18px rgba(40,70,74,.55); max-width:660px; margin:0;
}
.stimmung .stimmungtext span {
  margin-top:14px; font-size:.95rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.9); text-shadow:0 2px 12px rgba(40,70,74,.5);
}

/* ── Meine Herzensorte (.orte wie Original) ─────────────────── */
.orte { background:var(--schaum); padding:100px 0; }
.orte .inselintro { max-width:600px; color:var(--textleicht); margin-top:18px; }
.ortegrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:30px; margin-top:10px; }
.ort { background:#fff; border:1px solid rgba(61,110,115,.14); border-radius:3px; padding:30px 28px; }
.ort h3 { font-size:1.5rem; margin-bottom:12px; }
.ort p { color:var(--textleicht); margin-bottom:14px; }
.ort .tipp { font-size:.95rem; color:var(--erdbeere); font-style:italic; font-family:'Cormorant Garamond',serif; margin:0; }
.orteschluss { margin-top:34px; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; color:var(--rose); }

/* ── 16. Kanäle (.kanaele wie Original) ─────────────────────── */
.kanaele { background:var(--sand); padding:110px 0; }
.blogbox {
  background:#fff; border:1px solid rgba(61,110,115,.16); border-radius:3px;
  padding:40px; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center;
}
.blogbox h3 { font-size:1.8rem; margin-bottom:12px; }
.blogbox p { color:var(--textleicht); margin:0; max-width:560px; }
.kanalgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px; margin-top:22px; }
.kanal { background:#fff; border:1px solid rgba(61,110,115,.14); border-radius:3px; padding:26px 24px; display:flex; flex-direction:column; gap:10px; }
.kanal h4 { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:500; color:var(--abendtief); }
.kanal p { color:var(--textleicht); font-size:.98rem; margin:0; flex:1; }
.kanal a { color:var(--erdbeere); font-size:.95rem; letter-spacing:.04em; }
@media(max-width:640px){ .blogbox{grid-template-columns:1fr;gap:22px} }

/* ── 17. Newsletter (.news wie Original, zentriert) ─────────── */
.news { background:var(--abend); color:#EDF5F3; padding:90px 0; text-align:center; }
.news h2 { color:#F7FBFA; font-size:clamp(1.9rem,4vw,2.7rem); margin-bottom:16px; }
.news p { max-width:520px; margin:0 auto 36px; color:#EDF5F3; }
.newsplus { color:#A9CBC7 !important; font-size:1rem; margin-bottom:36px; }
.newshinweis { font-size:.95rem; color:#A9CBC7 !important; margin-top:20px; }
.newshinweis a { color:#EDF5F3; border-bottom:1px solid rgba(237,245,243,.45); }
.kit-embed { max-width:520px; margin:0 auto 16px; }
.kit-placeholder { padding:24px; background:rgba(255,255,255,.06); border:1px dashed rgba(255,255,255,.2); border-radius:2px; color:#A9CBC7; font-size:.9rem; text-align:center; max-width:520px; margin:0 auto 16px; }

/* ── 18. Leseprobe ───────────────────────────────────────────── */
.lesehero { padding:120px 0 70px; background:linear-gradient(175deg,var(--schaum) 40%,var(--apricot) 100%); }
.lesemeta { color:var(--textleicht); font-size:.95rem; margin:12px 0 28px; }
.lesetext { padding:80px 0; }
.lesewrap { max-width:660px; margin:0 auto; padding:0 24px; }
.lesewrap p { font-size:1.06rem; line-height:1.9; color:var(--text); margin-bottom:26px; }
.lesewrap em { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.06em; }
.lesewrap h2 { font-size:clamp(1.9rem,4vw,2.6rem); color:var(--abendtief); margin-bottom:40px; }
.szenentrenner { text-align:center; color:var(--gold); letter-spacing:.3em; margin:8px 0 30px; }
.leseende { max-width:660px; margin:20px auto 0; padding:36px 24px 0; border-top:1px solid rgba(61,110,115,.18); text-align:center; }
.leseende p { color:var(--textleicht); margin-bottom:24px; }

/* ── 19. Presse ──────────────────────────────────────────────── */
.presshero { padding:120px 0 70px; background:var(--abendtief); color:#EDF5F3; }
/* Presse: teal Nav geht nahtlos in teal Hero über, Welle stört -> aus */
/* Welle jetzt auf allen dark-nav-Seiten sichtbar (Konsistenz) */
.presshero .label { color:rgba(237,245,243,.6); }
.presshero h1 { color:#F7FBFA; font-size:clamp(2.4rem,5vw,4rem); margin:12px 0; }
.presshero p { color:rgba(237,245,243,.7); max-width:600px; }
.pressvita-sec, .pressefotos-sec, .themen { padding:80px 0; }
#buchinfo { padding:90px 0; }
.pressvita { max-width:760px; }
.pressvita p { margin-bottom:18px; }
#buchinfo .pressvita p { color:#EDF5F3; }
#buchinfo .factbox { margin-top:36px; }
.zitat { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.3rem; color:var(--erdbeere); border-left:2px solid var(--gold); padding-left:22px; margin:26px 0; }
#buchinfo .zitat { color:#F7FBFA; border-color:var(--gold); }
.factbox { background:var(--sand); border-radius:3px; padding:34px 36px; }
.factbox dl { display:grid; grid-template-columns:auto 1fr; gap:10px 22px; }
.factbox dt { color:var(--textleicht); font-size:.95rem; letter-spacing:.05em; }
.factbox dd { font-weight:400; }
#buchinfo .factbox { background:rgba(255,255,255,.08); }
#buchinfo .factbox dt { color:#A9CBC7; }
#buchinfo .factbox dd { color:#EDF5F3; }
.pressgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:26px; margin-top:10px; }
.presscard { background:var(--schaum); border:1px solid rgba(61,110,115,.16); border-radius:3px; overflow:hidden; display:flex; flex-direction:column; }
.presscard .pthumb { aspect-ratio:1/1; background:var(--sand); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.presscard .pthumb img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.presscard .pthumb.foto img { object-fit:cover; mix-blend-mode:normal; }
.presscard .pinfo { padding:16px 18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.presscard .pinfo span { font-size:.92rem; color:var(--textleicht); }
.presscard .pinfo a { font-size:.92rem; color:var(--erdbeere); }
.presskitbox { background:var(--abend); color:#EDF5F3; border-radius:3px; padding:40px; display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; margin-top:20px; }
.presskitbox h3 { color:#F7FBFA; margin-bottom:6px; }
.presskitbox p { color:#BFD8D5; margin:0; }
.themagrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.thema { padding:28px 24px; background:var(--schaum); border:1px solid rgba(61,110,115,.12); border-radius:3px; }
.thema h3 { font-size:1.2rem; margin-bottom:10px; }
.thema p { font-size:.95rem; color:var(--textleicht); }

/* ── Termine-Archiv (eigene Seite) ──────────────────────────── */
.termine-hero { padding:130px 0 70px; background:linear-gradient(175deg,var(--schaum) 40%,var(--apricot) 100%); text-align:center; }
.termine-hero .label { justify-content:center; }
.termine-hero h1 { font-size:clamp(2.4rem,5vw,3.6rem); margin:12px 0 16px; }
.termine-hero p { max-width:600px; margin:0 auto; color:var(--textleicht); }
.termine-tour { padding:80px 0; }
.termine-tour .lesungin { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.termine-tour p { margin-bottom:20px; }
@media(max-width:680px){ .termine-tour .lesungin{grid-template-columns:1fr;gap:36px} }
.sec-termine .sec-head { margin-bottom:36px; }

/* ── 20. Lesungen-Archiv ─────────────────────────────────────── */
.sec-termine { padding:80px 0; }
.termine-liste { border:1px solid rgba(61,110,115,.16); border-radius:3px; overflow:hidden; }
.termine-card { display:grid; grid-template-columns:180px 1fr auto; gap:16px; align-items:center; padding:20px 24px; background:#fff; border-bottom:1px solid rgba(61,110,115,.1); transition:background .2s; }
.termine-card:last-child { border-bottom:none; }
.termine-card:hover { background:var(--apricot); }
.tc-datum { display:flex; flex-direction:column; gap:3px; }
.t-datum { font-family:'Cormorant Garamond',serif; font-size:.95rem; color:var(--abendtief); font-weight:500; }
.t-uhrzeit { font-size:.8rem; color:var(--textleicht); }
.tc-titel a { color:var(--text); font-size:1.05rem; font-weight:400; }
.tc-titel a:hover { color:var(--erdbeere); }
.tc-ort { font-size:.88rem; color:var(--textleicht); margin-top:3px; }
.termine-leer { text-align:center; padding:60px 24px; }
.lesung-detail { padding:100px 0; }
.back-link { display:inline-block; color:var(--rose); font-size:.88rem; margin-bottom:28px; }

/* ── 21. Allgemeine Seiten ───────────────────────────────────── */
.generic-page { padding:120px 0 80px; }
.page-header { margin-bottom:36px; }
.page-header h1 { font-size:clamp(2rem,4vw,3.2rem); }
.entry-content h2 { font-size:1.7rem; margin-top:2.5rem; margin-bottom:.75rem; }
.entry-content h3 { font-size:1.3rem; margin-top:2rem; margin-bottom:.5rem; }
.entry-content p { font-size:1.06rem; margin-bottom:1.25rem; }
.entry-content a { color:var(--erdbeere); text-decoration:underline; }
.entry-content ul,.entry-content ol { padding-left:1.5rem; margin-bottom:1.25rem; }

/* ── 22. Blog ────────────────────────────────────────────────── */
.sec-blog { padding:120px 0 80px; }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.post-card { background:#fff; border:1px solid rgba(61,110,115,.12); border-radius:3px; overflow:hidden; }
.post-thumb img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.post-body { padding:24px; }
.post-date { display:block; font-size:.78rem; letter-spacing:.1em; color:var(--rose); text-transform:uppercase; margin-bottom:10px; }
.post-body h2 { font-size:1.3rem; margin-bottom:12px; }
.post-body h2 a { color:var(--abendtief); }
.post-body h2 a:hover { color:var(--erdbeere); }
.post-excerpt p { font-size:.92rem; color:var(--textleicht); line-height:1.7; }
.post-single { padding:120px 0 80px; }
.post-hero img { border-radius:3px; width:100%; margin-bottom:40px; }

/* ── 23. Footer ──────────────────────────────────────────────── */
.site-footer { background:var(--abendtief); color:#EDF5F3; padding:50px 24px 30px; text-align:center; }
.footin { max-width:var(--wrap); margin:0 auto; }
.footname { display:inline-flex; align-items:center; gap:10px; font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:rgba(237,245,243,.85); margin-bottom:24px; }
.footname .stern { fill:var(--gold); }
.footlinks { display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem 1.2rem; margin-bottom:20px; }
.footlinks a,.foot-nav-list a { color:rgba(237,245,243,.55); font-size:.88rem; letter-spacing:.06em; transition:color .2s; }
.footlinks a:hover,.foot-nav-list a:hover { color:rgba(237,245,243,.9); }
.foot-nav-list { display:contents; }
.foot-nav-list li { display:contents; }
.verlag { font-size:.82rem; color:rgba(237,245,243,.35); margin-top:16px; }
.verlag a { color:rgba(237,245,243,.5); text-decoration:underline; }

/* ── 24. Responsive ──────────────────────────────────────────── */
@media(max-width:820px){
  section { padding:70px 0; }
  .heroin { padding-bottom:100px; }
  .blogbox { flex-direction:column; }
  .termine-card { grid-template-columns:1fr auto; }
  .tc-datum { display:none; }
  .buch { grid-template-columns:1fr; gap:40px; }
}
@media(max-width:520px){
  .newsitem { grid-template-columns:1fr; gap:6px; }
  .inselgrid { grid-template-columns:1fr 1fr; gap:12px; }
  .insel { padding:110px 18px 26px; }
  .insel h3 { font-size:1.4rem; }
  .kaufleiste { flex-direction:column; }
  .kaufleiste .btn { text-align:center; }
  .ueber { grid-template-columns:1fr; }
  .bullaugen { max-width:240px; }
  .lesungitem { grid-template-columns:1fr; gap:4px; }
  .termine-card { grid-template-columns:1fr; }
}

/* ── Schmaler Wrap (Formular-/Status-Seiten) ────────────────── */
.wrap-narrow { max-width:640px; margin:0 auto; padding:0 24px; }

/* ── Newsletter-Status-Seiten (Danke / Bestätigt) ───────────── */
.nl-status-sec { padding:150px 0 100px; text-align:center; min-height:50vh; }
.nl-status-sec h1 { font-size:clamp(2.2rem,4.5vw,3.2rem); margin-bottom:20px; }
.nl-status-sec p { color:var(--textleicht); margin-bottom:16px; }
.nl-hint { font-size:.92rem; }
.nl-hint a { color:var(--erdbeere); }

/* ── Anmeldeseite ────────────────────────────────────────────── */
.anmeldung-hero { padding:150px 0 60px; background:linear-gradient(175deg,var(--schaum) 40%,var(--apricot) 100%); text-align:center; }
.anmeldung-hero .label { justify-content:center; }
.anmeldung-hero h1 { font-size:clamp(2.2rem,4.5vw,3.2rem); margin:12px 0 16px; }
.anmeldung-hero p { color:var(--textleicht); max-width:520px; margin:0 auto; }
.anmeldung-event { font-size:1.05rem; }
.anmeldung-event strong { display:inline-block; font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--abendtief); margin-top:4px; }
.anmeldung-meta { display:block; font-size:.9rem; color:var(--rose); font-style:italic; font-family:'Cormorant Garamond',serif; margin-top:6px; }
.anmeldung-form-sec { padding:60px 0 90px; }
.anmeldung-box {
  background:#fff; border:1px solid rgba(61,110,115,.16); border-radius:6px;
  padding:40px; box-shadow:0 12px 34px rgba(49,89,94,.08);
}
.anmeldung-hinweis { text-align:center; font-size:.85rem; color:var(--textleicht); margin-top:24px; }
.anmeldung-hinweis a { color:var(--erdbeere); }

/* ══════════════════════════════════════════════════════════════
   Linktree – schlanke Bio-Link-Seite (eigener Header/Footer)
   ══════════════════════════════════════════════════════════════ */
.lt-body { background:linear-gradient(175deg,var(--schaum) 0%,var(--apricot) 100%); min-height:100vh; }
.lt-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:48px 20px; }
.lt-card { width:100%; max-width:420px; text-align:center; }

.lt-avatar { width:96px; height:96px; margin:0 auto 20px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:0 10px 28px rgba(49,89,94,.18); }
.lt-avatar img { width:100%; height:100%; object-fit:cover; display:block; }

.lt-name { font-size:1.7rem; margin-bottom:4px; }
.lt-sub { font-size:.92rem; color:var(--textleicht); letter-spacing:.03em; margin-bottom:34px; }

.lt-links { display:flex; flex-direction:column; gap:14px; }
.lt-link {
  display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.3;
  background:#fff; border:1px solid rgba(61,110,115,.18); border-radius:40px;
  padding:17px 24px; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  box-shadow:0 2px 8px rgba(49,89,94,.06);
}
.lt-link:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(49,89,94,.14); background:var(--apricot); }
.lt-link-titel { font-family:'DM Sans',sans-serif; font-size:1.05rem; color:var(--abendtief); font-weight:500; letter-spacing:.01em; }
.lt-link-sub { font-size:1.05rem; color:var(--erdbeere); font-style:italic; font-family:'Cormorant Garamond',serif; font-weight:500; margin-top:3px; }

.lt-empty { color:var(--textleicht); margin-bottom:24px; }
.lt-back { display:inline-block; margin-top:36px; font-size:.85rem; color:var(--textleicht); letter-spacing:.04em; }
.lt-back:hover { color:var(--erdbeere); }

@media(max-width:400px){ .lt-avatar{width:80px;height:80px} .lt-name{font-size:1.4rem} }
