/* Normale Inhaltsseiten, Beiträge, Landingpages, Übersichten und Projekte. */
.ikopf{border-bottom:1px solid var(--ln)}
.ikopf .wrap{padding-top:40px;padding-bottom:56px}
.ikopf-h1{margin:28px 0 0;font-size:clamp(36px,5.2vw,84px);line-height:.98;max-width:22ch;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.ikopf-meta{margin:20px 0 0;color:var(--mut);font-size:15px}
.inhalt{padding-top:64px;padding-bottom:96px;font-size:18px;line-height:1.7;color:#D9DCD2}
.inhalt>*{max-width:72ch}
.inhalt>.dhb-gallery-mosaic,.inhalt>figure,.inhalt>.wp-block-image,.inhalt>.wp-block-gallery,.inhalt>.wp-block-embed,.inhalt>iframe,.inhalt>p:has(>iframe),.inhalt>.inhalt-bild{max-width:1100px}
.inhalt h2,.inhalt h3,.inhalt h4{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;letter-spacing:-0.02em;color:var(--tx);line-height:1.1;text-wrap:balance}
.inhalt h2{font-size:clamp(28px,3vw,42px);margin:64px 0 18px}
.inhalt h3{font-size:clamp(22px,2.2vw,30px);margin:48px 0 14px}
.inhalt h4{font-size:20px;margin:36px 0 10px}
.inhalt p,.inhalt ul,.inhalt ol{margin:0 0 22px}
.inhalt li{margin:6px 0}
.inhalt a{color:var(--tx);text-decoration:underline;text-decoration-color:var(--gr)}
.inhalt strong,.inhalt b{color:var(--tx)}
.inhalt img{max-width:100%;height:auto;border-radius:6px}
.inhalt figure{margin:36px 0}
.inhalt figcaption{font-size:14px;color:var(--mut);margin-top:8px}
.inhalt blockquote{margin:36px 0;padding:0 0 0 24px;border-left:1px solid var(--gr);font-size:22px;color:var(--tx)}
.inhalt iframe{max-width:100%;border:0}
.inhalt p:has(>iframe),.inhalt .embed-responsive,.inhalt .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9;width:100%}
.inhalt p:has(>iframe) iframe,.inhalt .embed-responsive iframe,.inhalt .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
.inhalt table{border-collapse:collapse;width:100%;font-size:16px}
.inhalt th,.inhalt td{border-bottom:1px solid var(--ln);padding:10px 12px 10px 0;text-align:left;vertical-align:top}
.inhalt hr{border:0;border-top:1px solid var(--ln);margin:48px 0}
.inhalt .alignleft{float:left;margin:6px 24px 16px 0}
.inhalt .alignright{float:right;margin:6px 0 16px 24px}
.inhalt .aligncenter{display:block;margin-left:auto;margin-right:auto}
.inhalt::after{content:"";display:table;clear:both}
.inhalt-bild{margin:0 0 40px}
.inhalt-bild img{width:100%;height:auto;border-radius:8px}
/* Alte Bootstrap Klassen in Inhalten aus dem bisherigen Theme. */
.inhalt .row{display:flex;flex-wrap:wrap;gap:24px}
.inhalt [class*="col-"]{flex:1 1 280px;min-width:0}
.inhalt .img-responsive{max-width:100%;height:auto}
.inhalt .wpcf7 input:not([type=submit]):not([type=checkbox]),.inhalt .wpcf7 textarea,.inhalt .wpcf7 select{width:100%;min-height:48px;padding:12px 14px;border-radius:8px;border:1px solid var(--ln2);background:var(--panel);color:var(--tx);font:inherit}
.inhalt .wpcf7 textarea{min-height:160px}
.inhalt .wpcf7 input[type=submit]{min-height:48px;padding:0 26px;border-radius:999px;border:0;background:var(--gr);color:var(--ink);font:600 16px/1 "Instrument Sans",sans-serif;cursor:pointer}
.inhalt .wpcf7 label{display:block;font-size:15px;color:var(--mut)}
/* Übersichten */
.ilist{padding-top:64px;padding-bottom:110px}
.ilist .h2{margin-bottom:36px}
.karten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.karte-i-link{display:block;text-decoration:none}
.karte-i-bild{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:8px;background:var(--panel)}
.karte-i-bild img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 400ms var(--ease-out)}
.karte-i-titel{margin:18px 0 0;font:700 22px/1.2 "Bricolage Grotesque",sans-serif;letter-spacing:-0.01em;text-wrap:balance}
.karte-i-meta{margin:8px 0 0;font-size:14px;color:var(--mut)}
@media (hover:hover) and (pointer:fine){.karte-i-link:hover .karte-i-bild img{transform:scale(1.03)}.karte-i-link:hover .karte-i-titel{color:var(--gr)}}
.pagination,.navigation.pagination{margin-top:64px}
.nav-links{display:flex;flex-wrap:wrap;gap:8px}
.nav-links a,.nav-links span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 14px;border-radius:999px;border:1px solid var(--ln2);text-decoration:none;font-weight:600}
.nav-links .current{background:var(--gr);color:var(--ink);border-color:var(--gr)}
.weiter{list-style:none;padding:0;margin:24px 0 40px;display:grid;gap:4px}
.weiter a{display:inline-flex;min-height:44px;align-items:center;font:700 24px/1.2 "Bricolage Grotesque",sans-serif}
.search-form{display:flex;gap:10px;flex-wrap:wrap;max-width:560px}
.search-form label{flex:1 1 260px}
.search-field{width:100%;min-height:48px;padding:0 16px;border-radius:999px;border:1px solid var(--ln2);background:var(--panel);color:var(--tx);font:inherit}
.search-submit{min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--gr);color:var(--ink);font:600 16px/1 "Instrument Sans",sans-serif;cursor:pointer}
@media (max-width:900px){.karten{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.karten{grid-template-columns:minmax(0,1fr)}.inhalt{font-size:17px;padding-top:40px}.inhalt .alignleft,.inhalt .alignright{float:none;margin:0 0 16px}}
/* Projektseite */
.pvideo{margin:0 auto;max-width:1440px;padding:0 48px}
.pvideo-rahmen{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;border-radius:10px;overflow:hidden}
.pvideo-rahmen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pvideo-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;border:0;background:linear-gradient(0deg,rgba(14,15,12,.55),rgba(14,15,12,.15));color:var(--tx);font:600 17px/1 "Instrument Sans",sans-serif;cursor:pointer}
.pvideo-start span.k{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:999px;background:var(--gr);color:var(--ink);transition:transform 160ms ease-out}
.pvideo-start:active span.k{transform:scale(.97)}
.pvideo-hinweis{margin:12px 0 0;font-size:13px;color:var(--mut);max-width:72ch}
.pweiter{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
@media (max-width:767px){.pvideo{padding:0 20px}.pvideo-start span.k{width:64px;height:64px}}
.pvideo-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
/* Kurzcodes aus dem alten Theme (Plugin dhb-inhalte). */
.inhalt .containerpage{max-width:1100px}
.inhalt .col-md-4,.inhalt .col-md-6,.inhalt .col-md-8{box-sizing:border-box}
@media (min-width:768px){
.inhalt .col-md-4,.inhalt .col-md-6,.inhalt .col-md-8{float:left;padding-right:32px}
.inhalt .col-md-4{width:33.333%}.inhalt .col-md-6{width:50%}.inhalt .col-md-8{width:66.666%}
}
.inhalt .col-md-4 img,.inhalt .col-md-6 img,.inhalt .col-md-8 img{max-width:100%;height:auto}
.inhalt .dhbi-clear{clear:both}
.inhalt .smalltext{font-size:15px;color:var(--mut)}
.inhalt .headerpage{background:var(--panel) center/cover no-repeat;border-radius:8px;padding:96px 32px;margin:0 0 40px;max-width:1100px}
.inhalt .headerpage h2,.inhalt .h1doubleheader,.inhalt .bigheadline{margin-top:0}
.inhalt .headerpage-unter,.inhalt .h2doubleheader{font-size:20px;color:var(--tx)}
.inhalt .preisschild{display:inline-block;padding:20px 28px;border:1px solid var(--ln2);border-radius:8px;margin:0 16px 16px 0;color:var(--tx)}
.inhalt .preisschild .preis{font:800 32px/1.2 "Bricolage Grotesque",sans-serif;color:var(--gr)}
.inhalt .preisbutton{margin:0 0 24px}
.inhalt .preisbutton a,.inhalt .dhbi-knopf a{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;background:var(--gr);color:var(--ink);text-decoration:none;font-weight:600}
.kontakt-raster{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:64px;padding-top:0}
.kontakt-raster .inhalt{padding-left:0;padding-right:0}
.kontakt-daten{padding-top:64px;font-size:18px;line-height:1.7}
.kontakt-daten h2{font-size:32px;margin:0 0 16px}
@media (max-width:900px){.kontakt-raster{grid-template-columns:minmax(0,1fr);gap:0}.kontakt-daten{padding-top:0;padding-bottom:80px}}
.impressum-adresse{margin-bottom:40px}
.impressum-adresse img{display:none}
.verzeichnis{margin-top:64px;columns:2 320px;column-gap:48px}
.verzeichnis h2{break-after:avoid;font-size:28px}
.verzeichnis ul{padding-left:18px;font-size:16px}
.karte-i-auszug{margin:10px 0 0;font-size:16px;line-height:1.55;color:var(--mut)}
.impressum-adresse p,.impressum-adresse div{text-align:left!important}
.navigation.pagination.endlos-aktiv{display:none}
.endlos{margin-top:48px;display:flex;flex-direction:column;align-items:center;gap:16px}
.endlos-status{margin:0;font-size:15px;color:var(--mut);min-height:1.4em}
.endlos-marke{height:1px;width:100%}
/* Eigene Anfrageformulare aus dhb-werkzeuge (Ersatz für Contact Form 7). */
.dhbw-form{position:relative;max-width:640px}
.dhbw-form form{display:grid;gap:18px}
.dhbw-form p{margin:0}
.dhbw-feld label{margin-bottom:8px}
.dhbw-optional{color:var(--mut);font-size:14px}
.inhalt .dhbw-form input:focus,.inhalt .dhbw-form textarea:focus{outline:none;border-color:var(--gr)}
.dhbw-dsgvo label{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.55}
.dhbw-dsgvo input{width:20px;height:20px;margin:3px 0 0;accent-color:#CCE310}
.dhbw-fehler{margin:0 0 18px!important;padding:14px 16px;border:1px solid #FF8A7A;border-radius:8px;color:#FFB4A8}
.dhbw-danke{padding:20px 22px;border:1px solid var(--gr);border-radius:8px;color:var(--tx)}
.dhbw-danke:focus{outline:none}
.inhalt .pvideo-inhalt{margin:28px 0;max-width:100%}
.inhalt .pvideo-rahmen .pvideo-bild{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover}
.inhalt>.pvideo-inhalt{max-width:1100px}
.inhalt .pvideo-inhalt.pvideo-absolut{margin:0;max-width:none;aspect-ratio:auto}
.inhalt .wp-block-embed__wrapper>.pvideo-inhalt{position:absolute;inset:0;margin:0;max-width:none;aspect-ratio:auto}
.pvideo-start:focus-visible{outline:2px solid var(--gr);outline-offset:-4px}
