/*
Theme Name: EFA Lüdenscheid
Theme URI: https://efa-luedenscheid.de
Author: Marius machts
Author URI: https://marius-machts.de
Description: Onepage-Theme für die Gemeinde Evangelium für Alle Lüdenscheid. Zweisprachig (Deutsch/Russisch), mit verwaltbaren Terminbereichen für Gottesdienste und Veranstaltungen, Kalender-Fenster, optionalen Beiträgen und DSGVO-konformer Karte. Vorbereitet für Unterseiten und Beiträge.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: efa
*/

/* ==========================================================================
   Schriften (lokal, keine Verbindung zu Google)
   ========================================================================== */
@font-face{font-family:'Inter';src:url('assets/fonts/inter-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('assets/fonts/inter-medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('assets/fonts/inter-semibold.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('assets/fonts/inter-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}

/* ==========================================================================
   Grundlagen
   ========================================================================== */
:root{
	--navy:#191348;
	--sky:#04A3DE;
	--sky-ink:#0377A3;
	--sky-soft:#9FDDF4;
	--plaster:#FAF9F6;
	--sand:#EFEBE3;
	--line:#E3D2BE;
	--oak:#B9773A;
	--oak-ink:#8A5424;
	--oak-soft:#E2A86A;
	--ink-2:#3B3866;
	--on-navy:#C9C6E6;
	--font-display:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
	--font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
	--ease:cubic-bezier(.16,1,.3,1);
	--pad:clamp(20px,4vw,28px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;scrollbar-color:var(--navy) #EAE7E0;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--plaster);color:var(--navy);font-family:var(--font-body);font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html,body{width:100%;max-width:none!important;padding-left:0!important;padding-right:0!important}
body>.site-header,body>main,body>.site-footer{width:100%;max-width:none;margin-left:0;margin-right:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration-color:var(--oak);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--sky-ink)}
h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;margin:0}
p{margin:0}
ul{margin:0;padding:0}
address{font-style:normal}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--sky);color:var(--navy)}
:focus-visible{outline:3px solid var(--oak);outline-offset:3px;border-radius:6px}
.modal-open{overflow:hidden}

.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px;color:#fff}

.link-strong{font-weight:600;padding:8px 0;display:inline-block}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:999px;border:1.5px solid transparent;font-size:17px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(25,19,72,.18)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{color:#fff}
.btn--sky{background:var(--sky);color:var(--navy)}
.btn--sky:hover{color:var(--navy)}
.btn--ghost{background:transparent;color:var(--navy);border-color:rgba(25,19,72,.2);box-shadow:none}
.btn--ghost:hover{background:rgba(25,19,72,.06);color:var(--navy);box-shadow:none}

.icon-btn{width:48px;height:48px;border-radius:999px;border:1.5px solid rgba(25,19,72,.18);background:transparent;color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .25s}
.icon-btn:hover:not(:disabled){background:rgba(25,19,72,.06)}
.icon-btn:disabled{opacity:.35;cursor:default}
.icon-btn--soft{border:0;background:rgba(25,19,72,.08)}

/* ==========================================================================
   Kopfzeile
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:20;background:rgba(250,249,246,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(25,19,72,.08)}
.site-header__inner{max-width:1320px;margin:0 auto;padding:12px var(--pad);display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
.site-header__logo{margin-right:auto}
.logo,.site-header__logo a,.site-footer__logo a{display:inline-flex;align-items:center;min-height:48px}
.logo img,.custom-logo{height:54px;width:auto}
.nav__list{list-style:none;display:flex;flex-wrap:wrap;gap:0 26px;font-size:16px;font-weight:500}
.nav__list a{display:inline-block;padding:12px 0;text-decoration:none;color:var(--navy)}
.nav__list a:hover,.nav__list .current-menu-item>a{color:var(--sky-ink);text-decoration:underline;text-decoration-color:var(--oak)}

.nav-toggle{display:none;align-items:center;gap:10px;min-height:48px;padding:0 18px;background:rgba(25,19,72,.06);border:0;border-radius:999px;font-weight:600;cursor:pointer}
.nav-toggle__bars,.nav-toggle__bars::before{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative}
.nav-toggle__bars::before{content:'';position:absolute;top:6px;left:0}
.nav-toggle__bars{margin-bottom:6px}

.lang{display:flex;gap:2px;background:rgba(25,19,72,.06);border-radius:999px;padding:4px}
.lang__btn{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;color:var(--navy);transition:background-color .3s,color .3s}
.lang__btn.is-current{background:var(--navy);color:#fff}
.lang__btn:not(.is-current):hover{background:rgba(25,19,72,.08);color:var(--navy)}

@media (max-width:900px){
	.js .nav-toggle{display:inline-flex}
	.js .nav{display:none;order:5;flex-basis:100%}
	.js .nav.is-open{display:block}
	.js .nav__list{flex-direction:column;gap:0;padding:6px 0 10px}
	.js .nav__list a{padding:14px 0;width:100%;font-size:18px;border-top:1px solid rgba(25,19,72,.08)}
}

/* ==========================================================================
   Start: Bogenfenster mit Gemeindefoto
   ========================================================================== */
.hero{padding:32px var(--pad) 120px}
.hero__inner{max-width:1320px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-end;gap:40px}

.arch{
	--p:0;
	--rx:calc(50% - (50% - 32px) * var(--p));
	--ry:calc(30% - (30% - 32px) * var(--p));
	flex:1.35 1 520px;min-width:0;position:relative;overflow:hidden;
	height:min(78vh,780px);min-height:440px;
	border-radius:var(--rx) var(--rx) 32px 32px / var(--ry) var(--ry) 32px 32px;
	background:linear-gradient(180deg,var(--sky) 0%,#74CDEE 52%,#E7C8A2 100%);
	box-shadow:0 40px 80px -30px rgba(25,19,72,.35);
	isolation:isolate;
}
.arch__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arch__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--navy);font-size:17px}
.arch__light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,0) 30%,rgba(255,250,235,.3) 48%,rgba(255,255,255,0) 62%);mix-blend-mode:soft-light;animation:efa-sweep 11s cubic-bezier(.45,0,.2,1) infinite alternate}
@keyframes efa-sweep{from{transform:translateX(-55%)}to{transform:translateX(55%)}}

.hero__text{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:28px;padding-bottom:8px}
.hero__title{font-size:clamp(46px,5.4vw,84px);line-height:1;letter-spacing:-.03em;text-wrap:balance}
.hero__lead{font-size:21px;max-width:30ch;color:var(--ink-2)}

.next-card{
	background:rgba(255,255,255,.74);
	-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
	border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:30px 32px;
	box-shadow:0 24px 60px -12px rgba(25,19,72,.22);
	display:flex;flex-direction:column;gap:16px;position:relative;z-index:2;
}
@media (min-width:1100px){.next-card{margin-left:-150px}}
.next-card__label{font-size:17px;font-weight:600;color:var(--oak-ink);letter-spacing:0}
.next-card__when{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.next-card__date{font-family:var(--font-display);font-size:clamp(26px,2.4vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.02em}
.next-card__time{font-family:var(--font-display);font-size:clamp(26px,2.4vw,34px);font-weight:500;line-height:1.15;color:var(--sky-ink)}
.next-card__what{font-size:18px;font-weight:600}
.next-card__info{display:flex;flex-direction:column;gap:4px;font-size:17px;color:var(--ink-2)}
.next-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}

.rise{animation:efa-rise 1.1s var(--ease) both}
.rise--2{animation-delay:.15s}
.rise--3{animation-delay:.3s}
@keyframes efa-rise{from{opacity:.001;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* ==========================================================================
   Willkommen und Wir glauben (Blöcke der Startseite)
   ========================================================================== */
.efa-welcome{background:var(--sky);border-radius:50% 50% 0 0 / 90px 90px 0 0;padding:140px var(--pad) 130px;display:flex;flex-direction:column;gap:36px;align-items:center}
.efa-welcome>*{width:100%;max-width:1100px;margin-block:0}
.efa-welcome h2{font-size:clamp(34px,3.8vw,54px);line-height:1.12;max-width:18ch;text-wrap:balance}
.efa-lead{font-size:clamp(21px,2vw,27px);line-height:1.55;max-width:44ch!important}
.efa-note{font-size:20px;font-weight:600}

.efa-belief{padding:130px var(--pad);max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:56px clamp(32px,6vw,88px);align-items:start}
.front-blocks .wp-block-group__inner-container{display:contents}
.efa-belief>p:empty,.efa-belief>br{display:none}
.efa-belief__head{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:44px}
.efa-belief__head>*{margin:0}
.efa-belief__head>*+*{margin-top:44px}
.efa-belief h2{font-size:clamp(34px,3.6vw,50px);line-height:1.1;text-wrap:balance}
.efa-belief__photo{margin:0;max-width:400px}
.efa-belief__photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 28px 28px;background:linear-gradient(180deg,rgba(4,163,222,.18),rgba(185,119,58,.14))}
.efa-belief__photo img:not([src]),.efa-belief__photo img[src=""]{min-height:360px}
.efa-belief__list{grid-column:2;grid-row:1;display:flex;flex-direction:column;padding-top:8px}
.efa-belief__item{padding:26px 0;border-top:2px solid var(--line);display:flex;flex-direction:column;gap:6px}
.efa-belief__item h3{font-size:23px;font-weight:600}
.efa-belief__item p{color:var(--ink-2);max-width:56ch}
.efa-belief__link{margin-top:12px}
.efa-belief__link a{font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}

/* ==========================================================================
   Termine
   ========================================================================== */
.dates{background:var(--navy);color:#fff;padding:130px var(--pad)}
.dates__inner{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:56px}
.dates__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.dates h2{font-size:clamp(36px,4vw,56px);line-height:1.05}
.dates__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:40px 64px}
.dates__col{display:flex;flex-direction:column}
.dates__colhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.2)}
.dates__colhead h3{font-size:26px;font-weight:600}
.dates__colhead span{color:var(--sky-soft);font-size:16px}
.dates__empty{padding:22px 0;color:var(--on-navy)}
.rows{list-style:none}
.row{display:flex;align-items:center;gap:22px;padding:20px 8px;border-bottom:1px solid rgba(255,255,255,.12);border-radius:4px;transition:background-color .3s}
.row:hover{background:rgba(255,255,255,.06)}
.row__date{width:64px;flex:none;text-align:center;line-height:1.1;display:flex;flex-direction:column}
.row__day{font-family:var(--font-display);font-size:34px;font-weight:700}
.row--svc .row__day{color:var(--sky)}
.row--evt .row__day{color:var(--oak-soft)}
.row__mon{font-size:14px;font-weight:600;color:var(--on-navy)}
.row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.row__title{font-size:20px;font-weight:600;line-height:1.35}
.row__meta{color:var(--on-navy);font-size:16px}
.row__flyer{flex:none;display:block;width:56px;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(14,42,50,.25);transition:transform .25s}
.row__flyer:hover{transform:scale(1.06)}
.row__flyer img{display:block;width:100%;height:72px;object-fit:cover}
.cal__flyer{display:block;margin-top:12px;max-width:180px;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px rgba(14,42,50,.18)}
.cal__flyer img{display:block;width:100%;height:auto}
.row__badge{flex:none;font-size:13px;font-weight:600;color:var(--navy);background:var(--sky-soft);padding:5px 10px;border-radius:999px}

/* ==========================================================================
   Aktuelles (Beiträge, ohne Bild)
   ========================================================================== */
.news{padding:130px var(--pad) 110px}
.news__inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px 80px}
.news__head{flex:1 1 280px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.news h2{font-size:clamp(34px,3.6vw,50px);line-height:1.1}
.news__list{flex:1.8 1 480px;display:flex;flex-direction:column}
.news-row{text-decoration:none;color:var(--navy);padding:24px 0;border-top:1px solid rgba(25,19,72,.14);display:grid;grid-template-columns:168px minmax(0,1fr);gap:28px;align-items:center}
.news-row__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.news-row__thumb{display:block;width:168px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--sand)}
.news-row__thumb img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .6s var(--ease)}
.news-row:hover .news-row__thumb img{transform:scale(1.05)}
.news-row__thumb--empty{background:linear-gradient(180deg,#EAF4F9 0%,#F3ECE0 100%)}
.news-row__thumb--empty svg{width:100%;height:100%;display:block}
.news-row__date{font-size:15px;color:var(--oak-ink);font-weight:500}
.news-row__title{font-family:var(--font-display);font-size:25px;font-weight:600;line-height:1.25;transition:color .3s}
.news-row:hover .news-row__title{color:var(--sky-ink)}
.news-row__excerpt{color:var(--ink-2);max-width:60ch}

/* ==========================================================================
   Anfahrt
   ========================================================================== */
.route{padding:40px var(--pad) 72px}
.route__panel{max-width:1240px;margin:0 auto;background:var(--sand);border-radius:40px;padding:clamp(24px,4vw,56px);display:flex;flex-wrap:wrap;gap:40px}
.route__info{flex:1 1 340px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.route h2{font-size:clamp(32px,3.4vw,46px);line-height:1.1}
.route address{display:flex;flex-direction:column;gap:2px;font-size:20px}
.route__contact{display:flex;flex-direction:column;gap:2px;color:var(--ink-2);font-size:17px}
.route__contact a{color:var(--ink-2)}
.route__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}

.map{flex:1.4 1 440px;min-height:380px;border-radius:28px;overflow:hidden;position:relative;
	background:repeating-linear-gradient(0deg,rgba(25,19,72,.05) 0 1px,transparent 1px 44px),repeating-linear-gradient(90deg,rgba(25,19,72,.05) 0 1px,transparent 1px 44px),#DCE9EF}
.map__consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:16px;padding:32px}
.map__consent p{font-size:16px;max-width:46ch}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map.is-loaded{background:#DCE9EF}

/* ==========================================================================
   Fußzeile
   ========================================================================== */
.site-footer{border-top:1px solid rgba(25,19,72,.1);margin:0;background:var(--plaster)}
.site-footer__inner{max-width:1240px;margin:0 auto;padding:36px var(--pad) 28px;display:flex;flex-direction:column;gap:24px;font-size:16px;line-height:1.4;color:var(--ink-2)}
.site-footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.site-footer__logo a{min-height:0}
.site-footer .logo img{height:44px;width:auto}
.footer-nav{list-style:none;display:flex;flex-wrap:wrap;gap:4px 28px;margin:0;padding:0}
.footer-nav a{display:inline-block;padding:10px 0;color:var(--navy);font-weight:500;text-decoration:none}
.footer-nav a:hover{color:var(--sky-ink);text-decoration:underline;text-decoration-color:var(--oak)}
.site-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:20px;border-top:1px solid rgba(25,19,72,.08);font-size:15px}
a.mm-qp{--mm-accent:#FF4500;all:unset;box-sizing:border-box;display:inline-flex;align-items:stretch;vertical-align:middle;border-radius:6px;overflow:hidden;color:inherit;cursor:pointer;font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;letter-spacing:0;text-transform:none;box-shadow:0 0 0 1px rgba(128,128,128,.35);box-shadow:0 0 0 1px color-mix(in srgb,currentColor 22%,transparent)}
a.mm-qp span{all:unset;padding:.6em .8em;transition:background .25s,color .25s,opacity .25s}
a.mm-qp span:first-child{background:rgba(128,128,128,.15);background:color-mix(in srgb,currentColor 12%,transparent);color:var(--mm-accent);font-weight:700}
a.mm-qp span:last-child{opacity:.7}
a.mm-qp:hover span:first-child,a.mm-qp:focus-visible span:first-child{background:var(--mm-accent);color:#fff}
a.mm-qp:hover span:last-child,a.mm-qp:focus-visible span:last-child{opacity:1}
a.mm-qp:focus-visible{outline:2px solid var(--mm-accent);outline-offset:2px}

/* ==========================================================================
   Kalender-Fenster
   ========================================================================== */
.cal{border:0;padding:0;background:var(--plaster);color:var(--navy);border-radius:32px;width:min(920px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 40px 100px -20px rgba(25,19,72,.5)}
.cal[open]{display:flex;flex-wrap:wrap;animation:efa-pop .5s var(--ease) both}
.cal::backdrop{background:rgba(25,19,72,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@keyframes efa-pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.cal__main{flex:1.4 1 420px;padding:32px;display:flex;flex-direction:column;gap:20px;min-width:0}
.cal__bar{display:flex;align-items:center;gap:10px}
.cal__month{margin:0 auto 0 0;font-size:30px;font-weight:700}
.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal__wd{font-size:14px;font-weight:600;color:#6B6890;padding:6px 0}
.cal__cell{border:0;background:transparent;cursor:pointer;min-height:56px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:17px;transition:background-color .25s}
.cal__cell.has-items{font-weight:600}
.cal__cell:hover{background:#EEF7FB}
.cal__cell.is-today{box-shadow:inset 0 0 0 1.5px var(--oak)}
.cal__cell.is-selected{background:var(--navy);color:#fff}
.cal__dots{display:flex;gap:4px;height:7px}
.dot{width:7px;height:7px;border-radius:999px;display:inline-block}
.dot--svc{background:var(--sky)}
.dot--evt{background:var(--oak)}
.cal__legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px;color:var(--ink-2)}
.cal__legend li{display:flex;align-items:center;gap:8px}
.cal__legend .dot{width:10px;height:10px}
.cal__side{flex:1 1 300px;background:var(--sand);padding:32px;display:flex;flex-direction:column;gap:16px;min-width:0}
.cal__close{display:flex;justify-content:flex-end}
.cal__day{font-size:22px;font-weight:600}
.cal__list{display:flex;flex-direction:column;gap:12px}
.cal__none{color:var(--ink-2);font-size:17px}
.cal__item{background:#fff;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.cal__item-title{font-size:19px;font-weight:600}
.cal__item-meta{color:var(--ink-2);font-size:16px}
.cal__item-desc{color:var(--ink-2);font-size:16px;margin-top:4px}
.tag{align-self:flex-start;font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px}
.tag--gd{background:#D7F0FA;color:#0E2A32}
.tag--ev{background:#F3E3CF;color:#5E3815}

/* ==========================================================================
   Unterseiten, Beiträge
   ========================================================================== */
.efa-page{max-width:820px;margin:0 auto;padding:72px var(--pad) 120px}
.efa-page--wide{max-width:1100px}
.efa-page--wide .entry>:not(.wp-block-gallery){max-width:820px}
.page__head{margin-bottom:40px;display:flex;flex-direction:column;gap:10px}
.page__head h1{font-size:clamp(36px,4.4vw,60px);line-height:1.08;text-wrap:balance}
.page__date{color:var(--oak-ink);font-weight:500}
.page__back{margin-top:56px}
.crumbs{margin-bottom:26px;font-size:15px;line-height:1.4}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin:0;padding:0;color:var(--ink-2)}
.crumbs li{display:inline-flex;align-items:center;min-width:0}
.crumbs li+li::before{content:"\203A";margin:0 10px;color:var(--oak);font-weight:700}
.crumbs a{color:var(--ink-2);text-decoration:none;padding:8px 0;border-bottom:1.5px solid transparent}
.crumbs a:hover{color:var(--sky-ink);border-bottom-color:var(--oak)}
.crumbs [aria-current]{color:var(--navy);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(52ch,60vw)}
.entry{font-size:20px;line-height:1.7;color:var(--ink-2)}
.entry>*+*{margin-top:1.1em}
.entry h2{font-size:clamp(28px,3vw,36px);line-height:1.15;color:var(--navy);margin-top:1.8em}
.entry h3{font-size:24px;color:var(--navy);margin-top:1.6em}
.entry a{color:var(--navy)}
.entry ul,.entry ol{padding-left:1.3em}
.entry li+li{margin-top:.4em}
.entry img{border-radius:20px}
.entry .wp-block-gallery.has-nested-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:1.6em 0}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image{width:auto!important;margin:0;flex:none;position:relative}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image a{display:block;overflow:hidden;border-radius:16px;cursor:zoom-in}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;transition:transform .6s var(--ease)}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image a:hover img{transform:scale(1.04)}
.entry .wp-block-gallery figcaption{display:none}
@media (max-width:700px){.entry .wp-block-gallery.has-nested-images{grid-template-columns:repeat(2,1fr);gap:10px}}
.entry blockquote{margin-left:0;padding:4px 0 4px 24px;border-left:1px solid var(--oak);font-size:1.1em;color:var(--navy)}
.entry .wp-block-image figcaption,.entry figcaption{font-size:15px;color:var(--ink-2);margin-top:8px}
.post-list{display:flex;flex-direction:column}
.post-list .news-row:last-child{border-bottom:1px solid rgba(25,19,72,.14)}
.pagination{margin-top:48px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between}
.pagination .page-numbers{display:inline-block;padding:10px 4px;font-weight:600}
.pagination .current{color:var(--sky-ink)}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{margin-left:auto;margin-right:auto}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

@media (max-width:720px){
	.efa-belief{grid-template-columns:1fr;gap:40px}
	.efa-belief__head,.efa-belief__list{grid-column:1;grid-row:auto}
	.efa-belief__head>*+*{margin-top:32px}
	.efa-belief__photo{max-width:420px}
}

/* ==========================================================================
   Kleine Bildschirme
   ========================================================================== */
@media (max-width:700px){
	body{font-size:18px}
	.hero{padding-bottom:96px}
	.arch{height:58vh;min-height:380px}
	.efa-welcome{padding:110px var(--pad) 100px;border-radius:50% 50% 0 0 / 56px 56px 0 0}
	.efa-belief{padding:96px var(--pad)}
	.efa-belief__photo{max-width:100%}
	.dates,.news{padding-top:96px;padding-bottom:96px}
	.news-row{grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:start}
	.news-row__thumb{width:104px;border-radius:12px}
	.news-row__title{font-size:21px}
	.news-row__excerpt{display:none}
	.row{gap:16px}
	.row__badge{display:none}
	.cal__main,.cal__side{padding:22px}
	.cal__month{font-size:24px}
}

/* ==========================================================================
   Lightbox
   ========================================================================== */
.lb{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(14,10,40,.94);color:#fff;overflow:hidden}
.lb::backdrop{background:rgba(14,10,40,.94)}
.lb[open]{display:grid;grid-template-columns:72px 1fr 72px;grid-template-rows:64px 1fr;align-items:center}
.lb__bar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 14px 0}
.lb__count{margin-right:auto;font-size:16px;color:var(--on-navy)}
.lb__btn{width:48px;height:48px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lb__btn:hover{background:rgba(255,255,255,.14)}
.lb__play{font-size:16px}
.lb__nav{grid-row:2;width:56px;height:56px;margin:0 auto;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding-bottom:5px}
.lb__nav:hover{background:rgba(255,255,255,.14)}
.lb__nav--prev{grid-column:1}.lb__nav--next{grid-column:3}
.lb__fig{grid-column:2;grid-row:2;margin:0;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-bottom:20px}
.lb__img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb__cap{font-size:18px;color:var(--on-navy);text-align:center;max-width:70ch}
.lb--single .lb__nav{visibility:hidden}
.lb__progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.12)}
.lb__progress i{display:block;height:100%;width:0;background:var(--sky)}
.lb :focus-visible{outline:3px solid var(--sky-soft);outline-offset:3px}
@media (max-width:700px){
	.lb[open]{grid-template-columns:1fr;grid-template-rows:64px 1fr}
	.lb__fig{grid-column:1}
	.lb__nav{position:absolute;bottom:18px;grid-row:auto;width:52px;height:52px;background:rgba(14,10,40,.7)}
	.lb__nav--prev{left:14px}.lb__nav--next{right:14px}
	.lb__img{max-height:calc(100vh - 200px)}
}

/* ==========================================================================
   Weniger Bewegung
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.arch__light{display:none}
	.rise,.cal[open]{animation:none}
	.btn,.row,.cal__cell,.news-row__title,.news-row__thumb img,.entry .wp-block-gallery figure.wp-block-image img{transition:none}
}
