/*
Theme Name: Bestattungen Blesgen
Theme URI: https://bestattungen-blesgen.de
Author: RJKL — René Jäkel
Description: Individuelles Theme für Bestattungen Blesgen (RJKL Pitch → Produktion).
Version: 0.2.5
Text Domain: blesgen
*/

:root{
  --papier:#F1ECE3;     /* warmes Limestone-Papier (Hauptfläche) */
  --papier2:#E8E1D4;    /* eine Stufe wärmer/tiefer (Rhythmus) */
  --card:#F8F4EC;       /* warmes Weiß für Karten */
  --anker:#241F1A;      /* tiefer warmer Espresso-Anker (dunkle Sektionen) */
  --anker2:#1C1814;     /* noch eine Spur dunkler */
  --ink:#2A241D;        /* warmes Beinahe-Schwarz, Text auf hell */
  --muted:#8A8073;      /* warmes Taupe-Grau */
  --gold:#A9803B;       /* tieferes Gold für Kontrast auf hell */
  --gold-l:#CDA962;     /* helleres Gold auf dunklem Anker */
  --text-d:#F1ECE3;     /* Text auf dunkel */
  --muted-d:#B2A793;    /* gedämpfter Text auf dunkel */
  --line:rgba(42,36,29,.16);    /* Hairline auf hell */
  --line-g:rgba(169,128,59,.32);/* Gold-Hairline auf hell */
  --line-d:rgba(205,169,98,.26);/* Gold-Hairline auf dunkel */
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--papier);
  color:var(--ink);
  font-family:'Mulish',sans-serif;
  font-size:clamp(1rem,1.1vw,1.15rem);
  line-height:1.7;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(169,128,59,.24);color:var(--ink)}

.wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}
.read{max-width:1000px;margin-inline:auto}

.display{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:1.05;letter-spacing:-.5px}
h2.display{font-weight:400;line-height:1.08;letter-spacing:-.3px}
.h1{font-size:clamp(2.5rem,5.4vw,5rem)}
.h2{font-size:clamp(2rem,4vw,3.4rem)}

.eyebrow{font-family:'Cormorant Garamond',serif;font-variant:small-caps;letter-spacing:.18em;color:var(--gold);font-weight:500;font-size:1.05rem}
.meta{font-size:.82rem;letter-spacing:.04em;color:var(--muted)}
a{color:inherit;text-decoration:none}

/* dunkle Sektionen */
.dark{background:var(--anker);color:var(--text-d)}
.dark .eyebrow{color:var(--gold-l)}
.dark .h2,.dark h2,.dark h3{color:var(--text-d)}

/* ---------- Gold-Punkt (24/7) ---------- */
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(169,128,59,.55);animation:puls 3s ease-in-out infinite;flex:0 0 auto}
.dark .dot{background:var(--gold-l);box-shadow:0 0 8px rgba(205,169,98,.6)}
@keyframes puls{0%,100%{opacity:.3}50%{opacity:1}}

/* ---------- Header ---------- */
#head{position:sticky;top:0;z-index:60;transition:background .4s}
.topbar{background:var(--anker);color:var(--muted-d);font-size:.82rem;letter-spacing:.04em;transition:max-height .45s ease,opacity .35s ease,padding .35s ease;max-height:60px;overflow:hidden}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.6rem;padding-bottom:.6rem}
.topbar a{color:var(--text-d);transition:color .3s}
.topbar a:hover{color:var(--gold-l)}
.topbar .right{display:flex;align-items:center;gap:.6rem}

.brandhead{transition:background .4s,padding .4s;padding-top:1rem;padding-bottom:.9rem;background:var(--papier)}
/* 3-Spalten-Grid: beide Seitenspalten immer exakt gleich breit (minmax(0,1fr))
   → das Logo in der Mitte steht garantiert zentriert, unabhängig davon, wie
   unterschiedlich lang die Linktexte links und rechts sind. */
.brandhead .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(.9rem,2.2vw,2.2rem)}
.nav-side{display:flex;align-items:center;gap:clamp(.6rem,1.4vw,1.15rem);flex:1 1 0;min-width:0;list-style:none;padding:0;margin:0}
.nav-side.left{justify-content:flex-end}
.nav-side.right{justify-content:flex-start}
/* FIX 2 — wp_nav_menu liefert <ul><li class="menu-item"> statt direkte <a>; display:contents
   auf <ul> UND <li> macht die <a>-Kinder zu direkten Flex-Items, sodass das Demo-Layout greift.
   Das <ul> ist nötig für valides HTML (kein verwaistes <li>), bleibt aber layout-neutral. */
.nav-side .nav-list,.nav-side li{display:contents}
/* Overlay-Nav: KEIN display:contents. iOS-Safari rendert einen display:contents-<li>,
   der ein verschachteltes <ul class="sub-menu"> enthält, NICHT — dadurch blieb auf dem
   iPhone der komplette „Leistungen"-Teilbaum (Link + Unterpunkte) unsichtbar, während er
   in Chrome-DevTools (Blink) korrekt erschien. Lösung: echte, zentrierte Flex-Spalten. */
.overlay .nav-list{display:flex;flex-direction:column;align-items:center;gap:.3rem;list-style:none;margin:0;padding:0}
.overlay .menu-item{display:flex;flex-direction:column;align-items:center;list-style:none;margin:0;padding:0}
.brandlogo{flex:0 0 auto;line-height:0}
.brandlogo img{height:clamp(86px,6.8vw,112px);width:auto;display:block;transition:height .4s}
/* FIX 1 — Custom-Logo-Link (wp_nav_menu liefert eigenen <a class="custom-logo-link">) */
.brandhead .custom-logo-link{flex:0 0 auto;line-height:0;display:block}
.brandhead .custom-logo{height:clamp(86px,6.8vw,112px);width:auto;display:block;transition:height .4s}
.nav-link{position:relative;white-space:nowrap;font-family:'Cormorant Garamond',serif;font-variant:small-caps;letter-spacing:.13em;font-size:1.06rem;color:var(--ink);padding-bottom:2px;transition:color .35s,text-shadow .35s}
.nav-link::after{content:"";position:absolute;left:50%;bottom:-5px;width:60%;height:1px;background:var(--gold);transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .42s cubic-bezier(.22,1,.36,1)}
.nav-link:hover,.nav-link:focus-visible{color:var(--gold);text-shadow:0 0 14px rgba(169,128,59,.3)}
.nav-link:hover::after,.nav-link:focus-visible::after,.nav-link.active::after{transform:translateX(-50%) scaleX(1)}

/* Dropdown „Leistungen" (Desktop). Wrapper hebt das display:contents der Nav-Items auf. */
.nav-side .nav-item.has-children{display:inline-flex;position:relative;align-items:center}
.nav-parent .caret{margin-left:.28em;font-size:.72em;color:var(--gold);transition:transform .3s}
.nav-item.has-children:hover .caret,.nav-item.has-children:focus-within .caret{transform:translateY(1px) rotate(180deg)}
.nav-sub{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);display:flex;flex-direction:column;gap:.75rem;padding:1.05rem 1.35rem;background:var(--card);border:1px solid var(--line-g);border-radius:6px;box-shadow:0 18px 44px rgba(36,31,26,.16);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,transform .3s;min-width:max-content;z-index:90}
.nav-item.has-children:hover .nav-sub,.nav-item.has-children:focus-within .nav-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(6px)}
.nav-sub .nav-link{white-space:nowrap;font-size:1.02rem}

/* Dropdown für echtes WP-Menü (Desktop): li.menu-item-has-children > ul.sub-menu.
   .sub-menu ist position:absolute (aus dem Fluss) -> das li::after-Caret sitzt direkt hinter dem Link. */
.nav-side li.menu-item-has-children{display:inline-flex;position:relative;align-items:center}
.nav-side li.menu-item-has-children::after{content:"\25BE";font-size:.72em;color:var(--gold);margin-left:.28em;pointer-events:none;transition:transform .3s}
.nav-side li.menu-item-has-children:hover::after,.nav-side li.menu-item-has-children:focus-within::after{transform:translateY(1px) rotate(180deg)}
.nav-side .sub-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);display:flex;flex-direction:column;gap:.75rem;margin:0;padding:1.05rem 1.35rem;list-style:none;background:var(--card);border:1px solid var(--line-g);border-radius:6px;box-shadow:0 18px 44px rgba(36,31,26,.16);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,transform .3s;min-width:max-content;z-index:90}
.nav-side li.menu-item-has-children:hover .sub-menu,.nav-side li.menu-item-has-children:focus-within .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(6px)}
.nav-side .sub-menu li{display:block}
.nav-side .sub-menu .nav-link{white-space:nowrap;font-size:1.02rem}

/* Unsichtbare Hover-Brücke über den Spalt zwischen Link und Dropdown-Panel:
   ohne sie verliert die Maus beim Rübergehen kurz den :hover und das Menü
   klappt zu, bevor man das Panel erreicht. Das transparente ::before deckt
   genau den translateY-Spalt ab (nur aktiv, wenn das Panel sichtbar ist →
   blockiert nichts im Ruhezustand). Gilt für WP-Menü und Fallback-Nav. */
.nav-side .sub-menu::before,
.nav-sub::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}

.burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:6px;padding:6px}
.burger span{display:block;width:26px;height:1px;background:var(--gold);transition:transform .35s,opacity .35s}

#head.compact .topbar{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
#head.compact .brandhead{background:rgba(241,236,227,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
#head.compact .brandlogo img{height:64px}
#head.compact .custom-logo{height:64px}

/* ---------- CTA ---------- */
.cta{display:inline-flex;align-items:center;gap:.6em;border:1px solid var(--gold);color:var(--gold);background:transparent;padding:.95em 1.8em;border-radius:3px;font-family:'Mulish',sans-serif;font-weight:600;font-variant:small-caps;letter-spacing:.07em;font-size:1.05rem;transition:box-shadow .45s,background .45s,border-color .45s,color .45s}
.cta:hover,.cta:focus-visible{box-shadow:0 0 26px rgba(169,128,59,.28);background:rgba(169,128,59,.08);color:var(--ink)}
.dark .cta{border-color:var(--gold-l);color:var(--gold-l)}
.dark .cta:hover,.dark .cta:focus-visible{box-shadow:0 0 26px rgba(205,169,98,.32);background:rgba(205,169,98,.1);color:var(--text-d)}
.cta svg{width:1em;height:1em;flex:0 0 auto}

/* ---------- Hero ---------- */
#hero{position:relative;text-align:center;padding-top:clamp(2.5rem,6vh,5rem);padding-bottom:clamp(4rem,9vh,7rem);overflow:hidden;
  --hero-bg:url('assets/img/hero-bg.jpg'); /* von front-page.php per Inline-Style überschrieben, wenn im Backend ein Bild gesetzt ist */
  background:
    linear-gradient(to bottom,rgba(241,236,227,.80),rgba(241,236,227,.88) 55%,var(--papier) 100%),
    var(--hero-bg) center 30% / cover no-repeat,
    var(--papier)}
#hero::before{content:"";position:absolute;left:50%;top:-4%;transform:translateX(-50%);width:min(900px,120vw);height:540px;background:radial-gradient(ellipse at center top,rgba(169,128,59,.16),rgba(169,128,59,.05) 42%,transparent 72%);pointer-events:none;z-index:0}
#hero .wrap{position:relative;z-index:1}
.kranz{width:clamp(220px,36vw,340px);height:auto;margin:0 auto clamp(1.2rem,3vh,2rem)}
.kranz line{stroke:var(--gold);stroke-width:1.4;stroke-linecap:round}
.dark .kranz line{stroke:var(--gold-l)}
.hero-eyebrow{margin-bottom:1.4rem}
.hero-h1{margin-inline:auto;max-width:min(900px,92vw)}
.hero-sub{margin:1.8rem auto 2.6rem;max-width:640px;color:var(--muted);font-size:1.1rem}
.hero-night{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.3rem;color:var(--muted);font-size:.92rem;letter-spacing:.02em}

section{position:relative}
.pad{padding-block:clamp(4.5rem,11vh,8.5rem)}
.center{text-align:center}

/* Schwellen-Strahl */
.schwelle .bogen{display:block;width:min(420px,80vw);height:30px;margin:0 auto clamp(1.6rem,4vh,2.6rem);opacity:.85}
.schwelle .bogen line{stroke:var(--gold-l);stroke-width:1.2;stroke-linecap:round}

/* ---------- 5.1 Erreichbarkeit (dunkler Anker) ---------- */
.tel-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:clamp(2.2rem,5vh,3.4rem)}
.tel-card{border:1px solid var(--line-d);border-radius:4px;padding:1.6rem 1.2rem;text-align:center;transition:border-color .4s,box-shadow .4s,background .4s}
.tel-card:hover,.tel-card:focus-visible{border-color:var(--gold-l);box-shadow:inset 0 0 26px rgba(205,169,98,.1);background:rgba(205,169,98,.04)}
.tel-card .label{font-variant:small-caps;letter-spacing:.14em;color:var(--gold-l);font-family:'Cormorant Garamond',serif;font-size:1.1rem}
.tel-card .num{display:block;margin-top:.5rem;font-size:1.35rem;color:var(--text-d);font-weight:600}

/* ---------- 5.2 Über uns / Karin ---------- */
.haus-grid{display:grid;grid-template-columns:42% 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.karin-foto{position:relative;border-radius:5px;overflow:hidden;aspect-ratio:3/4;background:var(--papier2);box-shadow:0 20px 50px -28px rgba(42,36,29,.45)}
.karin-foto img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.karin-cap{position:absolute;left:0;bottom:0;width:100%;padding:1.4rem 1.4rem 1.1rem;background:linear-gradient(180deg,transparent,rgba(28,24,20,.72));color:var(--text-d)}
.karin-cap .n{font-family:'Cormorant Garamond',serif;font-size:1.5rem;line-height:1.1}
.karin-cap .r{font-variant:small-caps;letter-spacing:.12em;color:var(--gold-l);font-size:.92rem}
.haus-story p{margin-top:1.2rem;color:var(--ink);font-size:1.06rem;max-width:52ch}
.haus-story p:first-of-type{margin-top:1.5rem}
.haus-quote{margin-top:2rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.4vw,2.05rem);line-height:1.3;color:var(--ink);max-width:30ch}
.haus-quote .w{display:inline-block;opacity:.14;will-change:opacity,transform}
.haus-sign{margin-top:1.2rem;font-variant:small-caps;letter-spacing:.14em;color:var(--gold);font-size:1rem}
.haus-gen{margin-top:2.2rem;display:flex;gap:2rem;flex-wrap:wrap}
.haus-gen .g{flex:1 1 140px}
.haus-gen .y{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--gold);line-height:1}
.haus-gen .t{margin-top:.3rem;color:var(--muted);font-size:.96rem}

/* ---------- NEU: Dekorationsbeispiele (horizontale Galerie) ---------- */
#deko{background:var(--papier2);overflow:hidden}
.deko-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.deko-hint{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.9rem;font-variant:small-caps;letter-spacing:.12em}
.deko-hint svg{width:34px;height:10px;stroke:var(--gold);fill:none;stroke-width:1.3}
.deko-stage{overflow:hidden;margin-top:clamp(2rem,5vh,3.2rem)}
.deko-track{display:flex;gap:clamp(1.2rem,2.5vw,2rem);width:max-content;will-change:transform;padding-inline:clamp(1.25rem,5vw,2.5rem)}
.deko-card{flex:0 0 clamp(280px,42vw,440px)}
.deko-img{position:relative;border-radius:5px;overflow:hidden;aspect-ratio:4/3;background:var(--card);border:1px solid var(--line)}
.deko-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.deko-card:hover .deko-img img{transform:scale(1.04)}
.deko-img::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line-g);border-radius:5px;pointer-events:none;opacity:0;transition:opacity .45s}
.deko-card:hover .deko-img::after{opacity:1}
.deko-cap{margin-top:.9rem;display:flex;align-items:baseline;gap:.7rem}
.deko-cap .ix{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:1rem;font-variant:small-caps;letter-spacing:.08em}
.deko-cap .tx{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--ink)}

/* Teaser-Karte am Ende der Startseiten-Galerie → Unterseite */
.deko-card--more{display:block;text-decoration:none}
.deko-more-fill{display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:var(--card);border:1px dashed var(--line-g);box-shadow:none}
.deko-card--more .deko-more-txt{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2.4vw,1.6rem);color:var(--gold);font-variant:small-caps;letter-spacing:.06em;line-height:1.3;transition:color .35s}
.deko-card--more:hover .deko-more-txt{color:var(--ink)}

/* Unterseite „Dekorationsbeispiele" — gleichmäßiges Raster */
.deko-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.8rem,2vw,1.4rem);margin-top:clamp(2rem,5vh,3.2rem)}
.deko-grid-item{margin:0;border-radius:5px;overflow:hidden;aspect-ratio:4/3;background:var(--card);border:1px solid var(--line)}
.deko-grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.deko-grid-item:hover img{transform:scale(1.04)}
@media (min-width:700px){.deko-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.deko-grid{grid-template-columns:repeat(4,1fr)}}
.deko-prog{height:1px;background:var(--line);margin-top:clamp(1.8rem,4vh,2.6rem);position:relative;border-radius:1px}
.deko-prog span{position:absolute;left:0;top:0;height:100%;width:14%;background:var(--gold);border-radius:1px}

/* Bild-Klick → Lightbox */
.deko-lightbox{display:block;width:100%;height:100%;position:relative;cursor:zoom-in}
.deko-lightbox::after{content:"";position:absolute;inset:0;background:rgba(36,31,26,0);transition:background .4s}
.deko-lightbox:hover::after,.deko-lightbox:focus-visible::after{background:rgba(36,31,26,.14)}
.deko-lightbox:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Lightbox-Overlay */
.lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);background:rgba(20,17,13,.93);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.lb.open{opacity:1;visibility:visible}
.lb-fig{margin:0;max-width:min(1100px,92vw);display:flex;flex-direction:column;align-items:center;gap:1rem}
.lb-img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:4px;box-shadow:0 24px 70px -20px rgba(0,0,0,.7);opacity:0;transform:scale(.98);transition:opacity .4s,transform .4s}
.lb.is-ready .lb-img{opacity:1;transform:none}
.lb-cap{min-height:1em;color:var(--muted-d);font-family:'Cormorant Garamond',serif;font-size:1.15rem;letter-spacing:.04em;text-align:center}
.lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:transparent;border:1px solid rgba(205,169,98,.5);color:var(--gold-l);font-size:1.7rem;line-height:1;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.lb-btn:hover,.lb-btn:focus-visible{background:rgba(205,169,98,.14);border-color:var(--gold-l);color:#fff;outline:none}
.lb-close{top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}
.lb-prev{left:clamp(.5rem,2vw,2rem);top:50%;transform:translateY(-50%)}
.lb-next{right:clamp(.5rem,2vw,2rem);top:50%;transform:translateY(-50%)}
@media (max-width:640px){.lb-btn{width:44px;height:44px;font-size:1.4rem}.lb-prev{left:.5rem}.lb-next{right:.5rem}}

/* „Mehr erfahren"-Link von einer Startseiten-Sektion auf ihre Unterseite */
.mehr-link{display:inline-flex;align-items:center;gap:.5em;margin-top:1.8rem;font-family:'Cormorant Garamond',serif;font-variant:small-caps;letter-spacing:.1em;font-size:1.18rem;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--line-g);padding-bottom:2px;transition:color .35s,border-color .35s}
.mehr-link:hover,.mehr-link:focus-visible{color:var(--ink);border-color:var(--gold)}
.mehr-link .arr{transition:transform .35s}
.mehr-link:hover .arr,.mehr-link:focus-visible .arr{transform:translateX(4px)}
.mehr-link--dark{color:var(--gold-l);border-color:var(--line-d)}
.mehr-link--dark:hover,.mehr-link--dark:focus-visible{color:#fff;border-color:var(--gold-l)}
.mehr-link--center{margin-inline:auto}

/* ---------- 5.2b Rezensionen (Stimmen der Familien) ---------- */
.stimmen-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.1rem,2.2vw,1.6rem);margin-top:clamp(2.4rem,5vh,3.6rem);align-items:start}
@media (min-width:720px){.stimmen-grid{grid-template-columns:1fr 1fr}}
.stimme{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:clamp(1.6rem,2.4vw,2.3rem);display:flex;flex-direction:column;transition:border-color .45s,box-shadow .45s}
.stimme:hover{border-color:var(--line-g);box-shadow:inset 0 0 34px rgba(169,128,59,.05)}
.stimme-sterne{display:inline-flex;gap:.2rem;margin-bottom:1.1rem}
.stimme-sterne span{display:inline-flex}
.stimme-sterne svg{width:19px;height:19px;display:block;fill:currentColor}
.stimme-sterne .on{color:var(--gold)}
.stimme-sterne .off{color:var(--line)}
.stimme-text{color:var(--ink);font-size:1.04rem;line-height:1.72}
.stimme.clamped .stimme-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
.stimme.clamped.open .stimme-text{-webkit-line-clamp:unset;overflow:visible}
.stimme-mehr{align-self:flex-start;margin-top:.9rem;background:none;border:0;border-bottom:1px solid var(--line-g);padding:0 0 1px;cursor:pointer;font-family:'Cormorant Garamond',serif;font-variant:small-caps;letter-spacing:.1em;font-size:1.08rem;color:var(--gold);transition:color .3s,border-color .3s}
.stimme-mehr:hover,.stimme-mehr:focus-visible{color:var(--ink);border-color:var(--gold);outline:none}
.stimme-mehr[hidden]{display:none}
.stimme-autor{margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid var(--line);display:flex;align-items:center;gap:.5rem;font-variant:small-caps;letter-spacing:.1em;font-size:.95rem;color:var(--muted)}
.stimme-autor .g-glyph{width:16px;height:16px;fill:var(--gold);flex:0 0 auto}

/* ---------- 5.3 Leistungen ---------- */
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:1.1rem;margin-top:clamp(2.4rem,5vh,3.6rem)}
.tile{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:clamp(1.6rem,2.4vw,2.4rem);transition:border-color .45s,box-shadow .45s}
.tile:hover{border-color:var(--gold);box-shadow:inset 0 0 34px rgba(169,128,59,.06)}
.tile-a{grid-column:span 2}
.tile h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(1.5rem,2.2vw,2rem);color:var(--ink);line-height:1.15;margin-bottom:1rem}
.tile p{color:var(--muted);font-size:1.02rem}
.tile ul{list-style:none;margin-top:.4rem;display:grid;gap:.7rem}
.tile li{position:relative;padding-left:1.4rem;color:var(--ink);font-size:1.02rem}
.tile li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px rgba(169,128,59,.4)}

/* ---------- 5.4 Andacht (echtes Foto) ---------- */
.andacht{text-align:center;background:var(--papier2)}
.andacht-foto{position:relative;display:inline-block;max-width:520px;width:100%;padding:14px;background:var(--card);border-radius:5px;border:1px solid var(--line);box-shadow:0 22px 55px -32px rgba(42,36,29,.5)}
.andacht-foto img{display:block;width:100%;height:auto;border-radius:3px;will-change:transform,opacity}
.andacht-cap{margin-top:2rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.3rem,2vw,1.7rem);color:var(--ink);max-width:26ch;margin-inline:auto;line-height:1.3}

/* ---------- 5.5 Kontakt ---------- */
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:stretch}
.kontakt-list{display:grid;gap:1.1rem;margin-top:1.8rem}
.kontakt-list .row{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline}
.kontakt-list .k{font-variant:small-caps;letter-spacing:.12em;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:1.05rem;white-space:nowrap}
.kontakt-list .v{color:var(--ink);font-size:1.12rem}
.kontakt-list .v a:hover{color:var(--gold)}
.kontakt-night{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.92rem;margin-bottom:.4rem}
.kontakt-foto{position:relative;align-self:start;border-radius:5px;overflow:hidden;background:var(--papier2)}
/* Bild in seinem eigenen Seitenverhältnis zeigen — nicht auf die Höhe der
   Kontaktspalte strecken (sonst Verzerrung + unscharfe Skalierung). */
.kontakt-foto img{width:100%;height:auto;display:block;filter:sepia(.32) saturate(1.15) brightness(1.04) contrast(.98)}
.kontakt-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(169,128,59,.05),rgba(36,31,26,.34))}
.kontakt-foto .stamp{position:absolute;left:0;bottom:0;padding:1.4rem 1.6rem;font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--text-d);z-index:1;text-shadow:0 1px 12px rgba(0,0,0,.45)}

/* ---------- 5.6 Schlussruf (dunkler Anker) ---------- */
.schluss{text-align:center}

/* ---------- Footer (dunkel) ---------- */
footer{background:var(--anker2);border-top:1px solid var(--line-d);color:var(--text-d)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:clamp(2rem,4vw,3.5rem);padding-block:clamp(3.2rem,6vh,4.8rem)}
.foot-grid img{height:clamp(96px,10vw,140px);width:auto;display:block;margin-bottom:1.2rem}
.foot-since{color:var(--muted-d);font-family:'Cormorant Garamond',serif;font-variant:small-caps;letter-spacing:.12em;font-size:1.05rem}
.foot-col h3{font-variant:small-caps;letter-spacing:.14em;color:var(--gold-l);font-family:'Cormorant Garamond',serif;font-size:1.15rem;margin-bottom:1rem;font-weight:500}
.foot-col a,.foot-col p{color:var(--text-d);display:block;margin-bottom:.5rem;font-size:1rem}
.foot-col a:hover{color:var(--gold-l)}
.foot-nav a,.foot-social a{color:var(--muted-d)}
.foot-nav a:hover,.foot-social a:hover{color:var(--gold-l)}
/* wp_nav_menu liefert <ul><li>-Wrapper — kein Layout-Bruch im Footer */
.foot-nav ul,.foot-nav li{list-style:none;margin:0;padding:0}
.foot-nav li{display:contents}
/* Social-Icons als Reihe (überschreibt das display:block der Footer-Links) */
.foot-social{display:flex;gap:1rem;margin-bottom:0}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;border:1px solid var(--line-d,rgba(255,255,255,.16));border-radius:50%;transition:color .3s,border-color .3s}
.foot-social a:hover{border-color:var(--gold-l)}
.foot-social svg{width:20px;height:20px;display:block}
.foot-meta{border-top:1px solid rgba(205,169,98,.14);padding-block:1.4rem;text-align:center}
.foot-meta .meta{color:var(--muted-d)}
.foot-meta a{color:var(--muted-d)}
.foot-meta a:hover{color:var(--gold-l)}

/* ---------- Mobile-Overlay ---------- */
.overlay{position:fixed;inset:0;z-index:80;background:var(--anker);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.overlay.open{opacity:1;visibility:visible}
.overlay .ov-tel{display:flex;align-items:center;gap:.55rem;color:var(--gold-l);font-size:1.2rem;margin-bottom:2rem;font-weight:600}
.overlay .nav-link{font-size:1.7rem;padding:.5rem 0;color:var(--text-d)}
.overlay .nav-link::after{background:var(--gold-l)}
.overlay .nav-link:hover{color:var(--gold-l)}

/* Mobile-Overlay: „Leistungen"-Untergruppe, dauerhaft aufgeklappt */
.overlay .nav-sub-m{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:.1rem 0 .5rem}
.overlay .nav-sub-link{font-size:1.15rem;color:var(--gold-l);opacity:.85}
.overlay .nav-sub-link:hover{opacity:1}
/* Echtes WP-Menü im Overlay: Untermenü (sub-menu) dauerhaft aufgeklappt, eingerückt */
.overlay .sub-menu{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:.1rem 0 .5rem;padding:0;list-style:none}
.overlay .sub-menu .nav-link{font-size:1.15rem;color:var(--gold-l);opacity:.85}
.overlay .sub-menu .nav-link:hover{opacity:1}
.overlay .ov-close{position:absolute;top:1.4rem;right:1.6rem;background:none;border:0;color:var(--gold-l);font-size:2rem;cursor:pointer;line-height:1;font-family:'Cormorant Garamond',serif}

.reveal{opacity:0;transform:translateY(24px)}
.hero-load{opacity:0}

/* Hero-Eyebrow + H1 sind das LCP-Element → sofort sichtbar (kein Opacity-Gate,
   nicht an GSAP gebunden). Nur ein sanftes Hochgleiten per CSS, das schon beim
   ersten Frame läuft: so paint der Text sofort und der LCP wartet nicht auf JS. */
.hero-rise{animation:heroRise .9s cubic-bezier(.2,.6,.2,1) both}
.hero-h1.hero-rise{animation-delay:.09s}
@keyframes heroRise{from{transform:translateY(16px)}to{transform:translateY(0)}}

/* ---------- FIX 3 — Fluent Forms Marken-Styling ---------- */
/* Felder: .ff-el-form-control (input + textarea) */
.fluentform .ff-el-form-control{
  width:100%;background:var(--card);border:1px solid var(--line);border-radius:3px;
  padding:.85em 1em;font-family:'Mulish',sans-serif;font-size:1rem;color:var(--ink);
  transition:border-color .35s,box-shadow .35s;-webkit-appearance:none;appearance:none}
.fluentform .ff-el-form-control:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,128,59,.12)}
.fluentform .ff-el-form-control::placeholder{color:var(--muted);opacity:1}
/* Labels */
.fluentform .ff-el-input--label label{
  font-variant:small-caps;letter-spacing:.08em;color:var(--gold);
  font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:500;
  display:block;margin-bottom:.4em}
/* Abstand zwischen Feldern */
.fluentform .ff-el-group{margin-bottom:1.2rem}
/* Submit-Button — an .cta angelehnt */
.fluentform .ff-btn-submit,.fluentform .ff-btn-submit.ff_btn_style{
  border:1px solid var(--gold)!important;color:var(--gold)!important;
  background:transparent!important;padding:.9em 1.8em;border-radius:3px;
  font-family:'Mulish',sans-serif;font-weight:600;font-variant:small-caps;
  letter-spacing:.07em;font-size:1.05rem;cursor:pointer;
  transition:box-shadow .4s,background .4s,color .4s}
.fluentform .ff-btn-submit:hover,.fluentform .ff-btn-submit.ff_btn_style:hover{
  background:rgba(169,128,59,.08)!important;
  box-shadow:0 0 26px rgba(169,128,59,.28);color:var(--ink)!important}
/* Fehler-Texte */
.fluentform .error.text{color:#c0392b;font-size:.88rem;margin-top:.3em}

/* ---------- Responsive ---------- */
/* Nav schaltet auf Burger, sobald für [gleich breite Nav-Spalten + mittiges
   Logo] kein Platz mehr ist (unter ~1240px läuft die längere Seite sonst über). */
@media (max-width:1240px){
  .nav-side{display:none}
  .burger{display:flex}
  .brandhead .wrap{display:flex;justify-content:space-between;gap:1rem}
  .brandlogo img{height:78px}
  #head.compact .brandlogo img{height:60px}
  .brandhead .custom-logo{height:78px}
  #head.compact .custom-logo{height:60px}
}

@media (max-width:880px){
  /* Topbar mobil: Einzugsgebiet (Wesseling/Bonn …) raus, nur die Telefon-Zeile, zentriert */
  .topbar .wrap{justify-content:center}
  .topbar .wrap > span:first-child{display:none}
  .topbar .right{white-space:nowrap;font-size:.78rem}
  .tel-row{grid-template-columns:1fr;gap:.9rem}
  .haus-grid{grid-template-columns:1fr}
  .karin-foto{aspect-ratio:4/5;max-height:480px}
  .haus-quote{max-width:none}
  .hero-h1{font-size:clamp(1.9rem,7vw,3rem)}
  .deko-stage{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .deko-card{flex:0 0 78vw}
  .bento{grid-template-columns:1fr}
  .tile-a{grid-column:span 1}
  .kontakt-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:2.4rem;text-align:center}
  .foot-grid img{margin-inline:auto}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .dot{animation:none;opacity:.85}
  .reveal,.hero-load{opacity:1;transform:none}
  .hero-rise{animation:none;transform:none}
  .haus-quote .w{opacity:1}
  .kranz line{stroke-dashoffset:0 !important}
}

/* ===== Systematische Ebene: Inhaltsstyling ===== */

/* ---------- .seitenkopf — schlankes Titelband ---------- */
.seitenkopf{
  background:var(--papier);
  border-bottom:1px solid var(--line);
  padding-block:clamp(3rem,7vh,5.5rem);
  text-align:center}
.seitenkopf .eyebrow{display:block;margin-bottom:.9rem}
.seitenkopf h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:1.08;
  letter-spacing:-.3px;
  color:var(--ink)}

/* ---------- .beitrag-meta — Datum/Autor ---------- */
.beitrag-meta{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;flex-wrap:wrap;
  color:var(--muted);font-size:.88rem;letter-spacing:.04em;
  margin-top:.7rem}
.beitrag-meta a{color:var(--muted);transition:color .3s}
.beitrag-meta a:hover{color:var(--gold)}

/* ---------- .beitrag-liste + .beitrag-card ---------- */
.beitrag-liste{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));
  gap:1.4rem;
  margin-top:clamp(2.4rem,5vh,3.6rem)}
.beitrag-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:5px;
  overflow:hidden;
  transition:border-color .45s,box-shadow .45s;
  display:flex;flex-direction:column}
.beitrag-card:hover{border-color:var(--gold);box-shadow:inset 0 0 34px rgba(169,128,59,.06)}
.beitrag-card-bild{
  aspect-ratio:16/9;overflow:hidden;background:var(--papier2)}
.beitrag-card-bild img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.beitrag-card:hover .beitrag-card-bild img{transform:scale(1.04)}
.beitrag-card-body{padding:clamp(1.2rem,2vw,1.8rem);flex:1;display:flex;flex-direction:column;gap:.7rem}
.beitrag-card-datum{
  font-size:.82rem;letter-spacing:.06em;color:var(--muted);
  font-variant:small-caps;font-family:'Cormorant Garamond',serif}
.beitrag-card h2,.beitrag-card h3{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;font-size:clamp(1.3rem,1.8vw,1.7rem);
  line-height:1.2;color:var(--ink)}
.beitrag-card h2 a,.beitrag-card h3 a{
  color:inherit;text-decoration:none;transition:color .35s}
.beitrag-card h2 a:hover,.beitrag-card h3 a:hover{color:var(--gold)}
.beitrag-card p{color:var(--muted);font-size:1rem;flex:1}
.beitrag-card .weiterlesen{
  margin-top:auto;align-self:flex-start;
  color:var(--gold);font-size:.92rem;font-variant:small-caps;
  letter-spacing:.1em;font-family:'Cormorant Garamond',serif;
  text-decoration:none;border-bottom:1px solid var(--line-g);
  padding-bottom:1px;transition:border-color .35s,color .35s}
.beitrag-card .weiterlesen:hover{border-color:var(--gold);color:var(--ink)}

/* ---------- .pagination ---------- */
.pagination{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:.5rem;
  margin-top:clamp(2.4rem,5vh,3.6rem);padding-top:1.6rem;
  border-top:1px solid var(--line)}
.pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:2.4rem;height:2.4rem;padding-inline:.6rem;
  border:1px solid var(--line);border-radius:3px;
  color:var(--ink);font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;text-decoration:none;
  transition:border-color .35s,color .35s,background .35s}
.pagination .page-numbers:hover,.pagination .page-numbers:focus-visible{
  border-color:var(--gold);color:var(--gold)}
.pagination .page-numbers.current{
  background:var(--anker);color:var(--text-d);border-color:var(--anker)}
.pagination .page-numbers.dots{border-color:transparent;background:transparent}

/* ---------- .entry-content — Inhaltsstyling ---------- */
.entry-content{
  font-family:'Mulish',sans-serif;
  line-height:1.7;
  color:var(--ink);
  font-size:clamp(1rem,1.08vw,1.12rem)}

/* Überschriften */
.entry-content h1{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.3px;
  color:var(--ink);margin-top:2.4em;margin-bottom:.7em}
.entry-content h2{
  font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.2px;
  color:var(--ink);margin-top:2em;margin-bottom:.6em}
.entry-content h3{
  font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.2;
  color:var(--ink);margin-top:1.8em;margin-bottom:.5em}
.entry-content h4{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.3;
  color:var(--ink);margin-top:1.6em;margin-bottom:.5em}
.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child{margin-top:0}

/* Absätze */
.entry-content p{margin-bottom:1.4em}
.entry-content p:last-child{margin-bottom:0}

/* Links */
.entry-content a{
  color:var(--gold);text-decoration:underline;
  text-decoration-color:var(--line-g);
  text-underline-offset:3px;
  transition:color .3s,text-decoration-color .3s}
.entry-content a:hover{
  color:var(--ink);text-decoration-color:var(--gold)}

/* Blockquote */
.entry-content blockquote{
  margin:2em 0;
  padding:.9em 1.4em;
  border-left:2px solid var(--gold);
  background:var(--card);
  border-radius:0 4px 4px 0}
.entry-content blockquote p{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:300;
  font-size:clamp(1.2rem,1.9vw,1.6rem);
  line-height:1.35;color:var(--ink);margin-bottom:0}
.entry-content blockquote cite{
  display:block;margin-top:.7em;
  font-family:'Mulish',sans-serif;
  font-style:normal;font-size:.88rem;
  letter-spacing:.04em;color:var(--muted)}

/* Listen */
.entry-content ul,.entry-content ol{
  margin:0 0 1.4em 0;padding-left:1.5em;display:grid;gap:.5em}
.entry-content ul{list-style:none;padding-left:0}
.entry-content ul li{
  position:relative;padding-left:1.4rem}
.entry-content ul li::before{
  content:"";position:absolute;
  left:0;top:.65em;
  width:6px;height:6px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 6px rgba(169,128,59,.4)}
.entry-content ol{list-style:decimal;color:var(--ink)}
.entry-content ol li::marker{color:var(--gold);font-family:'Cormorant Garamond',serif}

/* Bilder & Figuren */
.entry-content img,.entry-content figure img{
  max-width:100%;height:auto;display:block;
  border-radius:4px;
  box-shadow:0 8px 28px -14px rgba(42,36,29,.28)}
.entry-content figure{
  margin:2em 0;display:grid;gap:.7rem}
.entry-content figcaption{
  font-size:.86rem;color:var(--muted);letter-spacing:.03em;
  text-align:center;font-style:italic}

/* Medien-Text-Block (Kernblock „Medien & Text"): Text + Bild nebeneinander.
   Defensiv gestylt, damit das Layout auch ohne Core-Block-CSS steht; die
   Spaltenaufteilung kommt aus dem Inline-Style des Blocks (z. B. auto 50%). */
.entry-content .wp-block-media-text{
  display:grid;gap:clamp(1.4rem,4vw,3rem);align-items:center;margin:2.6em 0}
.entry-content .wp-block-media-text__media{margin:0}
.entry-content .wp-block-media-text__media img{
  width:100%;height:auto;border-radius:4px;
  /* dezenter Aufheller: etwas frischer & lebendiger, ohne überzogen zu wirken */
  filter:brightness(1.08) saturate(1.18) contrast(1.05);
  box-shadow:0 14px 40px -20px rgba(42,36,29,.4)}
.entry-content .wp-block-media-text__content > :first-child{margin-top:0}
.entry-content .wp-block-media-text__content > :last-child{margin-bottom:0}
@media (max-width:640px){
  .entry-content .wp-block-media-text{grid-template-columns:1fr !important}
}

/* Tabellen */
.entry-content table{
  width:100%;border-collapse:collapse;
  margin:1.8em 0;font-size:.96rem}
.entry-content th{
  font-family:'Cormorant Garamond',serif;
  font-variant:small-caps;letter-spacing:.1em;
  font-weight:500;color:var(--gold);
  padding:.7em 1em;border-bottom:1px solid var(--line-g);
  text-align:left}
.entry-content td{
  padding:.6em 1em;border-bottom:1px solid var(--line);
  color:var(--ink);vertical-align:top}
.entry-content tr:last-child td{border-bottom:none}
.entry-content tbody tr:hover td{background:rgba(169,128,59,.04)}

/* Code */
.entry-content code{
  font-family:ui-monospace,'SFMono-Regular',monospace;
  font-size:.88em;
  background:var(--papier2);
  padding:.15em .4em;border-radius:3px;
  color:var(--ink)}
.entry-content pre{
  overflow-x:auto;
  background:var(--anker);color:var(--text-d);
  border-radius:5px;padding:1.3em 1.5em;
  margin:1.8em 0}
.entry-content pre code{
  background:transparent;padding:0;
  font-size:.9em;color:inherit}

/* Horizontale Linie */
.entry-content hr{
  border:0;border-top:1px solid var(--line);
  margin:2.5em 0}

/* Gutenberg-Button-Block */
.entry-content .wp-block-button__link{
  display:inline-flex;align-items:center;gap:.5em;
  border:1px solid var(--gold);color:var(--gold);background:transparent;
  padding:.85em 1.6em;border-radius:3px;
  font-family:'Mulish',sans-serif;font-weight:600;
  font-variant:small-caps;letter-spacing:.07em;font-size:1rem;
  text-decoration:none;cursor:pointer;
  transition:box-shadow .45s,background .45s,color .45s}
.entry-content .wp-block-button__link:hover,
.entry-content .wp-block-button__link:focus-visible{
  box-shadow:0 0 26px rgba(169,128,59,.28);
  background:rgba(169,128,59,.08);color:var(--ink)}
.entry-content .wp-block-buttons{margin:1.5em 0}

/* Gutenberg-Separator */
.entry-content .wp-block-separator{
  border:0;border-top:1px solid var(--line);
  max-width:4rem;margin:2em auto;
  opacity:1}
.entry-content .wp-block-separator.is-style-wide{max-width:none}

/* ===== Block-Harmonisierung — Core-Gutenberg-Blöcke ans .entry-content-Raster =====
   Kernproblem: WordPress-Core liefert für manche Blöcke eigene Default-Abstände
   (z. B. Medien&Text-Textspalte padding:0 8% → Text springt gegenüber dem übrigen
   Seitentext ein). Diese Sektion gleicht die gängigen Struktur-Blöcke einmal
   zentral an den Content-Rhythmus an, damit im Seiten-Editor zusammengesteckte
   Blöcke ohne Abstands-/Ausrichtungsfehler ins Layout greifen.
   Spezifität bewusst ≥ Core (`.wp-block-media-text .__content`), damit die
   Überschreibung unabhängig von der Stylesheet-Ladereihenfolge gewinnt. */

/* Einheitlicher vertikaler Rhythmus für Struktur-Blöcke (Core setzt einigen margin:0). */
.entry-content > .wp-block-media-text,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-gallery,
.entry-content > .wp-block-table,
.entry-content > .wp-block-embed,
.entry-content > .wp-block-quote{margin-block:1.8em}

/* Medien & Text: statt der einspringenden 8%-Polsterung außen bündig zum übrigen
   Text, nur zur Bildseite hin ein sauberer Zwischenraum. */
.entry-content .wp-block-media-text .wp-block-media-text__content{padding:0}
.entry-content .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content{padding-left:clamp(1.3rem,2.6vw,2.4rem)}
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{padding-right:clamp(1.3rem,2.6vw,2.4rem)}
.entry-content .wp-block-media-text__content > :first-child{margin-top:0}
.entry-content .wp-block-media-text__content > :last-child{margin-bottom:0}
/* Auf Schmal stapelt der Core den Block (ab 600px) → Innen-Padding zurücknehmen,
   Text bündig, etwas Abstand nach dem Bild. */
@media (max-width:600px){
  .entry-content .wp-block-media-text .wp-block-media-text__content{padding:1.2rem 0 0}
}

/* Columns / Gruppe: gleicher Innen-Rhythmus, kein doppelter Außenrand. */
.entry-content .wp-block-columns{gap:clamp(1.2rem,3vw,2.4rem)}
.entry-content .wp-block-column > :first-child,
.entry-content .wp-block-group > :first-child{margin-top:0}
.entry-content .wp-block-column > :last-child,
.entry-content .wp-block-group > :last-child{margin-bottom:0}

/* Ausrichtungen in der bewusst schmalen .read-Spalte zähmen: „Breit"/„Vollbreit"
   füllen sauber die Textspalte statt überzulaufen; links/rechts umfließen als Float. */
.entry-content .alignwide,
.entry-content .alignfull{margin-inline:auto;max-width:100%;width:100%}
.entry-content .aligncenter{margin-inline:auto}
.entry-content .alignleft{float:left;margin:.4em 1.8em 1.2em 0;max-width:50%}
.entry-content .alignright{float:right;margin:.4em 0 1.2em 1.8em;max-width:50%}
.entry-content h2,.entry-content h3{clear:both}

/* Beitragsbild / Featured Image */
.beitrag-featured-img{
  width:100%;max-height:520px;object-fit:cover;
  display:block;border-radius:0;
  margin-bottom:clamp(2rem,4vh,3rem)}

/* ===== Rich-Text-Felder (Editor „Schlicht": Fett + Link) ===== */
/* Einzelabsatz-Felder als Container: inneres <p> ohne Eigen-Rand, damit
   die bestehende .hero-sub/.andacht-cap-Optik 1:1 erhalten bleibt. */
.hero-sub.rtf p{margin:0}
.hero-sub.rtf p + p{margin-top:.7em}
.andacht-cap.rtf p{margin:0}
.andacht-cap.rtf p + p{margin-top:.5em}
/* Links in Fließtexten: dezent gold, unterstrichen; auf dunklem Anker heller. */
.hero-sub a,.haus-story a,.andacht-cap a,.tile p a{
  color:var(--gold);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px;transition:color .3s}
.hero-sub a:hover,.haus-story a:hover,.andacht-cap a:hover,.tile p a:hover{color:var(--ink)}
.dark .hero-sub a{color:var(--gold-l)}
.dark .hero-sub a:hover{color:#fff}

/* ===== Ende Inhaltsstyling ===== */
