/* ═══════════════════════════════════════════════════════════════
   INHALTSSEITEN — Impressum, Datenschutz, Blog, 404
═══════════════════════════════════════════════════════════════ */

/* ═══ SEITENKOPF (Aubergine) ═══════════════════════════════════ */
.legal-hero{background:var(--aubergine);color:#fff;padding:calc(var(--nav-h) + clamp(2.5rem,7vh,5rem)) 0 clamp(2.5rem,7vh,4.5rem)}
.legal-hero .kicker{display:block;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:.85rem}
.legal-hero .kicker a:hover,.legal-hero .kicker a:focus-visible{color:#fff}
.legal-hero h1{font-family:var(--serif);font-weight:300;line-height:1.05;font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.01em;color:#fff;margin-bottom:1rem;max-width:22ch}
.legal-hero h1:last-child{margin-bottom:0}
.legal-hero h1 em{color:var(--terra)}
.legal-hero p:not(.kicker){font-family:var(--serif);font-weight:300;font-size:clamp(.95rem,2vw,1.15rem);color:rgba(255,255,255,.66);max-width:60ch}

/* ═══ INHALT ═══════════════════════════════════════════════════ */
.legal{background:var(--cream);padding:clamp(3rem,7vh,5.5rem) 0}
.legal-wrap{max-width:720px;margin:0 auto;padding:0 var(--pad)}
.legal p,.legal li{font-size:.98rem;line-height:1.75;color:#3e3540}
.legal p{margin-bottom:.9rem}
.legal-wrap>:last-child{margin-bottom:0}
.legal strong{font-weight:500;color:var(--aubergine)}
.legal .credits strong{font-weight:700;color:inherit}   /* Fotonachweis/Website: fett wie im Original */
.legal a{color:var(--terra);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
.legal a:hover{color:var(--plum)}
.legal ul,.legal ol{margin:.5rem 0 1rem}
.legal ul li{padding-left:1.1rem;position:relative;margin-bottom:.4rem}
.legal ul li::before{content:'';position:absolute;left:0;top:.8rem;width:5px;height:1px;background:var(--terra)}
.legal ol{list-style:decimal;padding-left:1.25rem}
.legal ol li{margin-bottom:.4rem;padding-left:.25rem}
.legal ol li::marker{color:var(--terra);font-weight:600}
.legal h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,2vw,1.4rem);color:var(--aubergine);margin-bottom:1rem;letter-spacing:-.005em}
.legal h2 em,.legal h3 em{color:var(--terra)}
.legal h3{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);margin:1.5rem 0 .5rem}
.legal .meta{font-size:.85rem;color:var(--muted);margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.legal code{font-size:.9em;background:var(--cream2);padding:.1em .35em;border-radius:3px}
/* Rechtstexte: jede Zwischenüberschrift eröffnet einen Abschnitt mit Trennlinie */
.legal-wrap:not(.entry){padding-bottom:1.75rem}
.legal-wrap:not(.entry)>h2:not(:first-child){margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--line)}

/* ═══ BLOGARTIKEL ══════════════════════════════════════════════ */
.entry>*+*{margin-top:1.1rem}
.entry>p{margin-bottom:0}
.entry>p:first-child{font-size:1.12rem;line-height:1.7;font-weight:500;color:var(--aubergine)}  /* Vorspann */
.entry>h2{margin:2.5rem 0 0;font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.3}
.entry>h3{margin-top:2rem}
.entry>h2+*,.entry>h3+*{margin-top:.75rem}
.entry u{text-decoration-thickness:1px;text-underline-offset:3px}
.entry figure{margin-top:2rem;margin-bottom:2rem}
.entry figure+*{margin-top:0}
.entry img{border-radius:4px;height:auto}
.entry figcaption,.entry .wp-element-caption{font-size:.8rem;line-height:1.55;color:var(--muted);margin-top:.6rem}
.entry .wp-block-gallery{display:flex;flex-wrap:wrap;gap:.75rem}
.entry blockquote{border-left:2px solid var(--terra);padding:.25rem 0 .25rem 1.25rem;margin:2rem 0}
.entry blockquote p{font-family:var(--serif);font-size:1.2rem;line-height:1.5;color:var(--aubergine)}
.entry blockquote cite{display:block;margin-top:.5rem;font-size:.8rem;color:var(--muted)}
.entry .wp-block-video video,.entry .wp-block-embed iframe{width:100%;border-radius:4px}
.entry .wp-block-embed__wrapper{position:relative}
.entry hr{border:none;border-top:1px solid var(--line);margin:2.5rem 0}
.alignwide{max-width:none}

.post-hero-img{max-width:960px;margin:clamp(-2.5rem,-5vh,-1.5rem) auto 0;padding:0 var(--pad);position:relative;z-index:1}
.post-hero-img img{width:100%;height:auto;border-radius:6px;box-shadow:0 20px 50px rgba(62,31,60,.18)}
.post-hero-img figcaption{font-size:.8rem;color:var(--muted);margin-top:.6rem}
.has-hero-img .legal-hero{padding-bottom:clamp(4rem,10vh,6rem)}

.post-foot{max-width:720px;margin:clamp(2.5rem,6vh,4rem) auto 0;padding:1.5rem var(--pad) 0;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.post-foot a{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);text-decoration:none;border-top:1px solid var(--line);padding-top:1rem;flex:1 1 200px}
.post-foot a:last-child:not(:first-child){text-align:right}
.post-foot a span{display:block;font-family:var(--serif);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--aubergine);margin-top:.25rem}
.post-foot a:hover span{color:var(--terra)}

/* ═══ BLOG-ÜBERSICHT ═══════════════════════════════════════════ */
.post-list{display:flex;flex-direction:column}
.post-card{display:grid;grid-template-columns:1fr;gap:1.25rem;padding:2rem 0;border-top:1px solid var(--line)}
.post-card:first-child{border-top:none;padding-top:0}
.post-card.has-thumb{grid-template-columns:200px 1fr;align-items:start}
.post-card .thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.post-card .date{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:.4rem}
.post-card h2{margin-bottom:.5rem}
.post-card h2 a{color:var(--aubergine);text-decoration:none;font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.25;transition:color .2s}
.post-card h2 a:hover,.post-card h2 a:focus-visible{color:var(--terra)}
.post-card .excerpt{margin-bottom:.6rem}
.post-card .more{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.empty-note{color:var(--muted)}
.pagination .nav-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.pagination .page-numbers{font-size:.8rem;font-weight:600;min-width:2.4rem;height:2.4rem;padding:0 .75rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:100px;text-decoration:none;color:var(--aubergine)}
.pagination .page-numbers.current{background:var(--aubergine);border-color:var(--aubergine);color:#fff}
.pagination a.page-numbers:hover{border-color:var(--terra);color:var(--terra)}

/* ═══ EXTERNE INHALTE (Zwei-Klick) ═════════════════════════════ */
.kb-consent{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1.5rem;border-radius:4px;background:var(--aubergine);color:#fff}
.legal .kb-consent p{color:rgba(255,255,255,.75);font-size:.85rem;max-width:44ch;margin:0}
.legal .kb-consent strong{color:#fff}
.legal .kb-consent a{color:#fff}
.wp-has-aspect-ratio .kb-consent{position:absolute;inset:0;aspect-ratio:auto}
.kb-consent-btn{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--terra);color:#fff;border-radius:100px;padding:.8em 1.6em;transition:transform .2s}
.kb-consent-btn:hover,.kb-consent-btn:focus-visible{transform:translateY(-2px)}

/* ═══ 404 ══════════════════════════════════════════════════════ */
.err{background:var(--aubergine);color:#fff;min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;padding:calc(var(--nav-h) + clamp(2.5rem,8vh,5rem)) 0 clamp(3rem,8vh,5rem)}
.err .kicker{display:block;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:1rem}
.err h1{font-family:var(--serif);font-weight:300;line-height:1.02;font-size:clamp(2.8rem,11vw,6rem);letter-spacing:-.015em;color:#fff;margin-bottom:1.25rem}
.err h1 em{color:var(--terra)}
.err-lead{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.1rem,2.6vw,1.5rem);line-height:1.4;color:rgba(255,255,255,.82);max-width:34ch;margin-bottom:.75rem}
.err-sub{font-size:.95rem;color:rgba(255,255,255,.55);max-width:46ch;margin-bottom:2.25rem}
.err-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.err-actions a{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 1.5rem;border-radius:100px;transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.err-actions .btn-primary{background:var(--terra);color:#fff}
.err-actions .btn-primary:hover,.err-actions .btn-primary:focus-visible{transform:translateY(-2px);background:#e05c30}
.err-actions .btn-ghost{border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.8)}
.err-actions .btn-ghost:hover,.err-actions .btn-ghost:focus-visible{border-color:var(--terra);color:#fff;transform:translateY(-2px)}

@media(max-width:600px){
  .post-card.has-thumb{grid-template-columns:1fr}
  .legal-wrap:not(.entry){padding-bottom:1.5rem}
  .legal-wrap:not(.entry)>h2:not(:first-child){margin-top:1.5rem;padding-top:1.5rem}
}
@media print{
  .legal-hero{background:#fff;color:#000;padding:1cm 0}
  .legal a{text-decoration:underline}
}

/* ═══ SUCHERGEBNISSE ═══════════════════════════════════════════ */
.search-again{display:flex;gap:.5rem;margin-top:1.75rem;max-width:520px}
.search-again input{flex:1;min-width:0;font:inherit;font-size:.95rem;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:.65rem 1.1rem;outline:none;-webkit-appearance:none;appearance:none}
.search-again input::placeholder{color:rgba(255,255,255,.4)}
.search-again input:focus{border-color:var(--terra)}
.search-again button{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--terra);border-radius:100px;padding:.65rem 1.3rem;transition:filter .2s}
.search-again button:hover,.search-again button:focus-visible{filter:brightness(1.1)}
.hit-list{display:flex;flex-direction:column}
.legal .hit{padding:1.6rem 0;border-top:1px solid var(--line);margin:0}
.legal .hit::before{content:none}
.hit:first-child{border-top:none;padding-top:0}
.legal .hit-type{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:.35rem}
.hit h2{margin-bottom:.4rem}
.hit h2 a{color:var(--aubergine);text-decoration:none;font-size:clamp(1.2rem,2.2vw,1.45rem);line-height:1.3;transition:color .2s}
.hit h2 a:hover,.hit h2 a:focus-visible{color:var(--terra)}
.legal .hit-snippet{margin:0;font-size:.95rem}
.hit-snippet mark{background:rgba(201,178,220,.6);color:var(--aubergine);border-radius:2px;padding:0 .1em}
.legal .hit-list{list-style:none;padding-left:0;margin:0}
