@charset "UTF-8";
/* Was die Entwurfs-Stile auf den Modulen nicht von selbst treffen. Gestaltungswerte wie in entwurf-shell.css/-home.css, nur auf Divis Markup bezogen. */

/* Grundschrift: Divi schreibt sie und die Linkfarbe aus den Theme-Optionen später in die Seite, html body / html a schlagen das */
html body{font-family:var(--sans);font-size:16px;line-height:1.6;font-weight:400;color:var(--ink-2);--ap-zeile:1.6}
html body.ap-seite,html body.ap-kontakt{line-height:1.7;--ap-zeile:1.7}
html a{color:inherit}

/* Abschnitte: Divi setzt Abstände zwischen Zeilen über Variablen */
.et_pb_section.ap-n{--vertical-gap:0px;--horizontal-gap:0px;row-gap:0;column-gap:0}

/* Unsere Zeilen und Spalten: Divi rechnet Breiten und Rinnen (teils später geladen), der Entwurf setzt eigene Raster */
.ap-n .et_pb_row.ap-z{width:100%;max-width:none;margin:0;padding:0;--vertical-gap:0px;--horizontal-gap:0px}
.ap-n .et_pb_row.ap-z>.et_pb_column.ap-s{width:auto;margin:0;padding:0;min-width:0;flex:1 1 0}
.ap-n .et_pb_column.ap-s,.ap-n .et_pb_group.ap-g{--vertical-gap:0px;--horizontal-gap:0px;align-items:stretch}
.ap-n .et_pb_code.ap-t,.ap-n .et_pb_text.ap-t,.ap-n .et_pb_group.ap-g{width:100%}
.ap-n .et_pb_code.ap-t,.ap-n .ap-t .et_pb_code_inner{overflow:visible}
.ap-n .et_pb_text_inner{word-break:normal}
.ap-n .et_pb_row.ap-z.container,.ap-n .et_pb_row.ap-z.erw-in{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.ap-n .et_pb_row.ap-z.slider-kacheln{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;overflow:visible;padding-block:8px 0;max-width:1200px}
.ap-n .et_pb_row.ap-z.intro-grid{display:grid;grid-template-columns:1fr 1fr .95fr;gap:26px;padding-block:46px}
.ap-n .et_pb_row.ap-z.layout{display:grid;grid-template-columns:1fr 312px;gap:40px;padding-top:56px}
.ap-n .et_pb_column.ap-s.cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(min-width:1500px){.ap-n .et_pb_column.ap-s.cards{grid-template-columns:repeat(3,1fr)}}
.ap-n .et_pb_column.ap-s.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ap-n .et_pb_column.ap-s.aside-col{display:flex;flex-direction:column;gap:34px}
.ap-n .et_pb_group.ap-g.aside-block{display:flex;flex-direction:column;gap:8px}
.ap-n .et_pb_group.ap-g.mini{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.ap-n .et_pb_group.ap-g.post-card{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0}
.ap-n .et_pb_group.ap-g.body{display:flex;flex-direction:column;flex-wrap:nowrap;flex:1;gap:0;padding:24px 26px 22px}

/* Im Builder neu eingefügte Textmodule: lesbarer Fließtext (der Entwurf setzt alle Abstände auf 0) */
.et_pb_text:not(.ap-t) .et_pb_text_inner :where(p,ul,ol,h1,h2,h3,h4,h5,h6){margin-bottom:.8em}
.et_pb_text:not(.ap-t) .et_pb_text_inner :where(ul,ol){padding-left:1.3em}
.et_pb_text:not(.ap-t) .et_pb_text_inner a{color:var(--red);text-decoration:underline}

/* Kopf */
.ap-n .et_pb_row.ap-z.ap-header{height:auto;min-height:0}
body:not(.et-fb) .ap-n .et_pb_row.ap-z.ap-header{position:fixed!important;z-index:60!important} /* Divi setzt per Skript position:relative auf Zeilen mit Menü */
.ap-n .et_pb_row.ap-z>.et_pb_column.ap-s.ap-inner{display:flex;flex-direction:column;align-items:center;padding:20px 24px 0;position:relative;transition:padding .35s}
.ap-n .ap-header.is-scrolled>.et_pb_column.ap-s.ap-inner{padding-top:8px}
.ap-n .ap-inner>*{flex-shrink:0}
.ap-n .et_pb_code.ap-marke{width:auto}
.ap-n .et_pb_code.ap-mobil,.ap-n .ap-mobil .et_pb_code_inner{display:contents;position:static}
@media(max-width:1260px){.ap-n .et_pb_row.ap-z>.et_pb_column.ap-s.ap-inner{padding-bottom:12px}}
#ap-header{z-index:60}
.ap-n .et_pb_group.ap-navzeile{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:2px;width:min(1240px,100vw - 2*clamp(16px,2vw,32px));margin:14px auto 0;padding-bottom:8px;transition:margin .35s}
.ap-n .ap-header.is-scrolled .et_pb_group.ap-navzeile{margin-top:4px;padding-bottom:6px}
body:not(.et-fb) .ap-navzeile .ap-hnav,body:not(.et-fb) .ap-hnav .et_pb_menu_inner_container,body:not(.et-fb) .ap-hnav .et_pb_menu__wrap,body:not(.et-fb) .ap-hnav .et_pb_menu__menu,body:not(.et-fb) .ap-hnav .et-menu-nav,body:not(.et-fb) .ap-hnav .et-menu{display:contents!important}
body.et-fb .ap-hnav,body.et-fb .ap-hnav .et_pb_menu_inner_container,body.et-fb .ap-hnav .et_pb_menu__wrap,body.et-fb .ap-hnav .et_pb_menu__menu,body.et-fb .ap-hnav .et-menu-nav{flex:1 1 auto;width:100%}
body.et-fb .ap-hnav .et_pb_menu__menu>nav>ul.et-menu{display:flex;justify-content:space-between;width:100%;margin:0}
body.et-fb .ap-hwrap{height:auto}
.ap-hnav .et_pb_menu__logo-wrap,.ap-hnav .et_mobile_nav_menu,.ap-hnav .et_pb_menu__icon{display:none!important}
.ap-n .ap-hnav .et-menu>li{position:relative;margin:0;padding:0;line-height:inherit}
.ap-n .ap-hnav .et-menu>li>a{display:flex;align-items:center;gap:6px;font-family:var(--serif);font-weight:400;font-size:clamp(15.5px,1.45vw,19.5px);line-height:var(--ap-zeile);color:var(--ink);padding:10px 0;white-space:nowrap;letter-spacing:.03em!important;transition:color .2s}
.ap-n .ap-header.is-scrolled .ap-hnav .et-menu>li>a{font-size:clamp(15px,1.3vw,17.5px);padding:8px 0}
.ap-hnav .et-menu>li>a:hover,.ap-hnav .et-menu>li.on>a,.ap-hnav .et-menu>li:hover>a,.ap-hnav .et-menu>li:focus-within>a{color:var(--red);opacity:1}
.ap-hnav .et-menu>li>a:after{display:none!important}
.ap-hnav .chev{width:9px;height:9px;flex:0 0 auto;opacity:.55;transition:transform .25s}
.ap-hnav .et-menu>li:hover .chev,.ap-hnav .et-menu>li:focus-within .chev{transform:rotate(180deg)}
.ap-hnav .et-menu .sub-menu{position:absolute;top:100%;left:50%;width:auto;min-width:290px;transform:translate(-50%,14px);margin:0;padding:10px 0;list-style:none;background:#fff;border-radius:0 0 8px 8px;border-top:3px solid var(--red);box-shadow:0 24px 44px -18px rgba(40,30,28,.4);opacity:0;visibility:hidden;display:block;transition:opacity .22s,transform .22s,visibility .22s}
.ap-hnav .et-menu>li:hover>.sub-menu,.ap-hnav .et-menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,6px)}
.ap-hnav .et-menu .sub-menu li{display:block;margin:0;padding:0;width:auto}
.ap-hnav .et-menu .sub-menu a{display:block;width:auto;font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink);padding:10px 24px;white-space:nowrap;letter-spacing:.03em!important;transition:background .2s,color .2s,padding .2s}
.ap-hnav .et-menu .sub-menu a:hover{background:var(--red-tint);color:var(--red);padding-left:30px;opacity:1}
.ap-hnav .et-menu .sub-menu li.all a{color:var(--red);font-style:italic;border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:12px}
.ap-n .et_pb_code.ap-lupe{width:auto;flex:0 0 auto}
.ap-hnav .et-menu>li.ap-zu:hover>.sub-menu,.ap-hnav .et-menu>li.ap-zu:focus-within>.sub-menu{opacity:0;visibility:hidden}
.ap-hnav .et-menu>li.ap-zu:hover .chev,.ap-hnav .et-menu>li.ap-zu:focus-within .chev{transform:none}
@media(max-width:1260px){.ap-n .et_pb_group.ap-navzeile{display:none}}

/* Divi nullt den unteren Außenabstand von Modulen in Gruppen mit höherer Spezifität */
.et_pb_section.ap-n .et_pb_group .et_pb_module.kicker{margin-bottom:10px}
.et_pb_section.ap-n .et_pb_group .et_pb_module.k{margin-bottom:5px}
.et_pb_section.ap-n .et_pb_group .et_pb_module.aside-title{margin-bottom:8px}

/* Karten: der Titel-Link deckt die ganze Karte ab, ein Link je Karte. Divi setzt position:relative auf Module und Text-Hüllen, das fängt das ::after sonst ab */
.post-card,.mini,.slide{position:relative}
.post-card .et_pb_module,.post-card .et_pb_group,.post-card .et_pb_text_inner,.mini .et_pb_module,.mini .et_pb_group,.mini .et_pb_text_inner{position:static}
.post-card .media{position:relative}
.ap-n .post-card .ap-kartenlink,.ap-n .mini .ap-kartenlink,.ap-n .slide .ap-kartenlink{color:inherit;text-decoration:none}
.ap-kartenlink::after{content:"";position:absolute;inset:0;z-index:3}
.slide .ap-kartenlink::after{inset:-1000px}
.slide{overflow:hidden}
.ap-kartenlink:focus-visible{outline:0}
.post-card:has(.ap-kartenlink:focus-visible),.mini:has(.ap-kartenlink:focus-visible),.slide:has(.ap-kartenlink:focus-visible){outline:2px solid var(--red);outline-offset:2px}
body.et-fb .ap-kartenlink::after{display:none}
.post-card .media .et_pb_image_wrap,.mini .media .et_pb_image_wrap{display:block;width:100%;height:100%}
.post-card .more-row{margin-top:0}
.post-card .ap-mehr{margin-top:auto}
.post-card:hover .ap-kartenlink{color:inherit}
.mini .mini-text{min-width:0}
.mini h4{margin:0}
.aside-block .ap-tipp-box a{position:relative;z-index:4}

/* Slider: erste Slide ohne JavaScript sichtbar */
body.et-fb .featured .kachel>.slide[data-loop-item="0"]{opacity:1;z-index:1}
body.et-fb .slide__band,body.et-fb .slide__band a,body.et-fb .slide__kicker{color:#fff!important}
.featured .kachel:not(.ap-js) .slide[data-loop-item="0"]{opacity:1;z-index:1}
.featured .slide__bild,.featured .slide__bild .et_pb_image_wrap{display:block;width:100%;height:100%}
.featured .kachel .slide__kicker:has(.et_pb_text_inner:empty){display:none}
.featured .kachel:not(.ap-js) .slide:not([data-loop-item="0"]){visibility:hidden}
body.et-fb .featured .kachel .slide{visibility:visible}
.featured .kachel .ap-pfeile,.featured .kachel .ap-pfeile .et_pb_code_inner{position:static}
.slide__band a{color:#fff}
.ap-n .et_pb_text.slide__kicker{width:auto}
.ap-n .et_pb_text.slide__band{width:auto;padding:13px 18px}

/* Fuß */
.ap-n .et_pb_group.ap-g.ap-f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:46px}
.ap-n .et_pb_group.ap-g.ap-f-bot{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:42px;padding-top:22px;padding-right:80px;border-top:1px solid #3a3633;font-size:12.5px;color:#8f8a83}
.ap-n .ap-f-bot .et_pb_text.ap-t,.ap-n .ap-f-bot .et_pb_code.ap-t{width:auto}
.ap-f-brand p:has(.ap-word){margin-top:0;display:contents}
.ap-n .ap-f-col ul{list-style:none;display:grid;gap:10px;padding:0;margin:0;line-height:var(--ap-zeile)}
.ap-n .ap-f-col li{padding:0}
@media(max-width:900px){.ap-n .et_pb_group.ap-g.ap-f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ap-n .et_pb_group.ap-g.ap-f-grid{grid-template-columns:1fr}}

/* Intro */
.ap-n .et_pb_row.ap-z>.et_pb_column.ap-s.intro-text{padding-left:8px}
.ap-n .et_pb_row.ap-z>.et_pb_column.ap-s.intro-spalte{display:flex;flex-direction:column;min-width:0}
.ap-n .intro-spalte>.post-card{flex:1 1 auto;width:100%}

/* Schmale Breiten: gleiche Stufen wie entwurf-home.css und zusatz.css, nur mit der Spezifität der Raster oben */
@media(max-width:1000px){
.ap-n .et_pb_row.ap-z.slider-kacheln{grid-template-columns:1fr 1fr}
.ap-n .et_pb_row.ap-z.intro-grid{grid-template-columns:1fr 1fr;gap:20px}
.ap-n .et_pb_row.ap-z>.et_pb_column.ap-s.intro-text{grid-column:1/-1;padding-left:0;margin-top:8px}
.ap-n .et_pb_row.ap-z.layout{grid-template-columns:1fr;gap:48px}
.ap-n .et_pb_column.ap-s.cards-4{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
.ap-n .et_pb_row.ap-z.slider-kacheln,.ap-n .et_pb_row.ap-z.intro-grid,.ap-n .et_pb_column.ap-s.cards,.ap-n .et_pb_column.ap-s.cards-4{grid-template-columns:1fr}
}

/* Kommentare: Divis Stile für #commentform und #respond zurücknehmen, Formular wie im Entwurf */
a.comment-reply-link{color:inherit}
#respond{padding-top:0}
#commentform{padding-bottom:0}
#commentform input[type=email],#commentform input[type=text],#commentform input[type=url]{width:100%}
#commentform input[type=email],#commentform input[type=text],#commentform input[type=url],#commentform textarea{padding:13px 16px;color:var(--ink);line-height:1.6;background-color:#fff;font-size:15px;border:1px solid var(--feld)}
#commentform textarea{padding:14px 16px}

/* Rumpf der anderen Seitenarten: Divis Element- und Modulregeln zurücknehmen */
.single:not(.et-fb) a.post{padding-bottom:0}
.ap-video .grid article>h1{line-height:1.1;font-family:var(--serif)}
.kgrid .kh,.kcard .kh{line-height:1.7}
.ap-intro li strong{font-weight:900}
.prose .wp-caption{background:none;border:0;padding:0;margin-bottom:0;max-width:none;text-align:start}
.prose .wp-caption img{max-width:100%;width:auto}
.prose .wp-caption .wp-caption-text{text-align:start;padding:0;margin:0}
.prose code{margin-bottom:0;font-family:monospace}
.prose table{border-collapse:separate;border-spacing:2px}
.prose sub{font-size:smaller;vertical-align:sub;position:static;line-height:inherit;height:auto;top:auto;bottom:auto}
.prose sup{font-size:smaller;vertical-align:super;position:static;line-height:inherit;height:auto;top:auto;bottom:auto}
.prose .wp-block-pullquote{margin:0 0 14px}
.prose .wp-block-divi-layout{margin-bottom:0}
.prose h5{font-size:.83em;font-weight:700;line-height:1.75;font-family:var(--serif)}

/* Leinwand im Builder: Divi schreibt dort Überschriften und Farben für alle Module */
.home .layout .cards>:nth-child(n+7){display:revert}
@media(max-width:1499px){.home .layout .cards>:nth-child(n+7 of .post-card){display:none}}
body.et-fb .post-card h3,body.et-fb .post-card .h3{line-height:1.2}
body.et-fb .post-card.sm h3{line-height:1.25}
body.et-fb .mini h4{line-height:1.25}
body.et-fb .intro-text h1{line-height:1.1}
body.et-fb .post-card .kicker{line-height:1.6;color:var(--ink-3)}

/* Divis .alignright lässt Galerien sonst umfließen; Einzelbilder regelt inhalt.css */
.prose .wp-block-gallery.alignright { float: none; }
.ap-f-h { line-height: 1.7; } /* Divi setzt Überschriften auf 1.6 */
