/* Media Impression: 1:1-Nachbau des Kadence-Auftritts mit GeneratePress.
   Werte aus der Altseite gemessen (Kadence 1.5.2, Kadence Blocks 3.9). Systemschriften wie dort, keine Webfonts.
   Aufbau: 1 Grundlagen · 2 Kopf · 3 Inhalt · 4 Bausteine · 5 Seiten · 6 Fuß · 7 Handy */

/* ---------- 1 Grundlagen ---------- */
:root {
  --p1: #aecaf7; --p2: #215387; --p3: #1A202C; --p4: #2D3748; --p5: #4A5568; --p6: #718096; --p7: #EDF2F7; --p8: #F7FAFC; --p9: #ffffff;
  --mi-body: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  --mi-head: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --mi-width: 1280px; --mi-edge: 1.5rem;
  --mi-xxs: .5rem; --mi-xs: 1rem; --mi-sm: 1.5rem; --mi-md: 2rem; --mi-lg: 3rem; --mi-xl: 4rem;
}
:root .has-theme-palette-1-background-color { background-color: var(--p1); }
:root .has-theme-palette-1-color { color: var(--p1); }
:root .has-theme-palette-2-background-color { background-color: var(--p2); }
:root .has-theme-palette-2-color { color: var(--p2); }
:root .has-theme-palette-3-background-color { background-color: var(--p3); }
:root .has-theme-palette-3-color { color: var(--p3); }
:root .has-theme-palette-4-background-color { background-color: var(--p4); }
:root .has-theme-palette-4-color { color: var(--p4); }
:root .has-theme-palette-5-color { color: var(--p5); }
:root .has-theme-palette-6-color { color: var(--p6); }
:root .has-theme-palette-7-background-color { background-color: var(--p7); }
:root .has-theme-palette-8-background-color { background-color: var(--p8); }
:root .has-theme-palette-9-background-color { background-color: var(--p9); }
:root .has-theme-palette-9-color { color: var(--p9); }

body.mi-site, .mi-site button, .mi-site input, .mi-site select, .mi-site textarea {
  font-family: var(--mi-body); font-size: 17px; font-weight: 400; line-height: 1.6; color: var(--p4);
}
body.mi-site { display: flex; flex-direction: column; min-height: 100vh; }
body.mi-site > .site-header, body.mi-site > .site, body.mi-site > .site-footer { width: 100%; }
body.mi-site > .site { flex: 1 0 auto; }
body.mi-site { background: var(--p8); -webkit-font-smoothing: auto; text-rendering: auto; font-feature-settings: normal; }
.mi-site.mi-unboxed .site, .mi-site.mi-unboxed .site-content { background: var(--p9); }
.mi-site h1, .mi-site h2, .mi-site h3, .mi-site h4, .mi-site h5, .mi-site h6 {
  font-family: var(--mi-head); font-weight: 700; line-height: 1.5; text-wrap: wrap; margin: 0; padding: 0; text-transform: none; letter-spacing: normal;
}
.mi-site h1 { font-size: 32px; color: var(--p3); }
.mi-site h2 { font-size: 28px; color: var(--p3); }
.mi-site h3 { font-size: 24px; color: var(--p3); }
.mi-site h4 { font-size: 22px; color: var(--p4); }
.mi-site h5 { font-size: 20px; color: var(--p4); }
.mi-site h6 { font-size: 18px; color: var(--p5); }
.mi-site p { text-wrap: wrap; }
.mi-site a { color: var(--p1); text-underline-offset: .1em; text-decoration-thickness: auto; transition: all .1s linear; }
.mi-site a:hover, .mi-site a:focus, .mi-site a:active { color: var(--p2); text-underline-offset: .25em; }
.mi-site img { border-radius: 0; display: block; height: auto; max-width: 100%; }
.mi-site :focus-visible { outline: auto; outline-offset: 0; box-shadow: none; }
.mi-site .screen-reader-text:focus { background: #fff; color: var(--p4); }

/* GeneratePress-Rahmen auf Kadence-Maße bringen */
.mi-site .site.grid-container, .mi-site .grid-container { max-width: none; }
.mi-site .site-content { display: block; padding: 0; }
.mi-site.one-container .site-content, .mi-site .inside-article { padding: 0; }
.mi-site .inside-article, .mi-site .site-main, .mi-site .content-area { margin: 0; }
.mi-site .site-main > article { margin-bottom: 0; }
.mi-site .entry-content:not(:first-child), .mi-site .entry-summary:not(:first-child), .mi-site .page-content:not(:first-child) { margin-top: 0; }
.mi-site .entry-content > p, .mi-site .entry-content > ul, .mi-site .entry-content > ol { max-width: none; }

/* ---------- 2 Kopf ---------- */
.mi-site .site-header { background: #fff; border-bottom: 0; }
.mi-site .inside-header {
  max-width: var(--mi-width); margin: 0 auto; padding: 0 var(--mi-edge); min-height: 150px;
  display: flex; align-items: center; justify-content: space-between; box-sizing: border-box;
}
.mi-site .site-branding-container { display: flex; align-items: center; margin: 0; }
.mi-site .site-logo { margin: 0; }
.mi-site .site-logo img, .mi-site .header-image { width: 192px; height: 56px; max-width: 200px; }
.mi-site .site-branding { display: none; }
.mi-site .main-navigation, .mi-site .main-navigation ul ul { background: transparent; }
.mi-site #site-navigation { margin-left: auto; }
.mi-site .main-navigation .inside-navigation { padding: 0; max-width: none; }
.mi-site .main-navigation .main-nav > ul { display: flex; align-items: center; }
.mi-site .main-navigation .main-nav > ul > li > a {
  font-size: 17px; line-height: 27.2px; padding: 10.2px; color: var(--p5); font-family: inherit; transition: color .1s linear;
}
.mi-site .main-navigation .main-nav > ul > li > a:hover, .mi-site .main-navigation .main-nav > ul > li:hover > a,
.mi-site .main-navigation .main-nav > ul > li.sfHover > a { color: var(--p1); background: transparent; }
.mi-site .main-navigation .main-nav > ul > li[class*="current-menu-"] > a { color: var(--p5); }
.mi-site .main-navigation .main-nav > ul > li.current-menu-item > a { color: var(--p3); }
.mi-site .main-navigation .main-nav > ul > li.menu-item-has-children > a { padding-right: 10.2px; }
.mi-site .main-navigation .menu-item-has-children .dropdown-menu-toggle {
  padding: 0; margin-left: 2px; width: 15.3px; height: 15.3px; display: inline-flex; vertical-align: -2px; line-height: 1; float: none;
}
.mi-site .main-navigation .dropdown-menu-toggle .gp-icon svg { width: 15.3px; height: 15.3px; top: 0; }
.mi-site .main-navigation .menu-item-has-children > a > .dropdown-menu-toggle .gp-icon { font-size: 15.3px; }
/* Untermenü */
.mi-site .main-navigation ul ul {
  background: var(--p3); box-shadow: 0 2px 13px 0 rgba(0, 0, 0, .1); width: auto; top: 100%; padding: 0;
}
.mi-site .main-navigation .main-nav ul ul li { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.mi-site .main-navigation .main-nav ul ul li a {
  width: 200px; box-sizing: border-box; padding: 1em; font-size: 12px; line-height: 1.6; color: var(--p8); background: transparent;
}
.mi-site .main-navigation .main-nav ul ul li a:hover, .mi-site .main-navigation .main-nav ul ul li.current-menu-item > a {
  color: var(--p9); background: var(--p4);
}
.mi-site .main-navigation .main-nav ul ul li[class*="current-menu-"]:not(.current-menu-item) > a { color: var(--p8); background: transparent; }
.mi-site .menu-toggle, .mi-site #mobile-menu-control-wrapper { display: none !important; }
.mi-site .mi-drawer-open { display: none; }

/* ---------- 3 Inhalt (Kadence .single-content) ---------- */
.mi-site .entry-content { word-break: break-word; }
.mi-site .entry-content::after { content: ""; display: table; clear: both; }
.mi-site .entry-content :where(address, figure, hr, p, table, pre, form, .wp-block-buttons, .wp-block-group, .wp-block-columns) { margin-top: 0; margin-bottom: var(--mi-md); }
.mi-site .entry-content :where(h1, h2, h3, h4, h5, h6) { margin: 1.5em 0 .5em; }
.mi-site .entry-content :where(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }
.mi-site .entry-content :where(h1, h2, h3, h4, h5, h6) + * { margin-top: 0; }
.mi-site .entry-content :where(ul, ol) { margin: 0 0 var(--mi-md); padding-left: 2em; }
.mi-site .entry-content li > :where(ul, ol) { margin: 0; }
.mi-site .entry-content li { margin: 0; }
.mi-site .entry-content :where(address, figure, hr, p, table, pre, form, .wp-block-buttons, .wp-block-group, .wp-block-columns, h1, h2, h3, h4, h5, h6, ul, ol):last-child { margin-bottom: 0; }
.mi-site .entry-content .wp-block-buttons .wp-block-button { margin-bottom: 0; }
.mi-site .entry-content .wp-block-image { margin-top: 0; }
.mi-site .entry-content figure.wp-block-image { margin-bottom: var(--mi-md); }
.mi-site .entry-content .wp-block-image .alignright, .mi-site .entry-content figure.wp-block-image.alignright { float: right; margin: .5em 0 var(--mi-md) var(--mi-md); }
.mi-site .entry-content figure.wp-block-image.alignleft { float: left; margin: .5em var(--mi-md) var(--mi-md) 0; }
.mi-site .entry-content .wp-block-image figcaption { font-size: 80%; text-align: center; margin: .5em 0 1em; color: inherit; }
.mi-site .entry-content :where(.wp-block-group, .wp-block-column) { margin-bottom: 0; }
.mi-site .entry-content .wp-block-group.has-background { padding: 20px 30px; }
.mi-site .entry-content blockquote { padding-left: 1em; border-left: 4px solid var(--p4); margin: 0 0 var(--mi-md); font-style: normal; font-size: inherit; }
.mi-site .entry-content hr, .mi-site .entry-content .wp-block-separator {
  border: 0; border-top: 2px solid #808080; height: 0; width: 100%; max-width: 160px; margin: 0 auto var(--mi-md); opacity: 1; background: none; color: #808080;
}
.mi-site .entry-content hr:last-child { margin-bottom: 0; }
.mi-site .entry-content figure { margin: 0 0 var(--mi-md); }
.mi-site .entry-content figure:last-child { margin-bottom: 0; }
.mi-site .entry-content figure.aligncenter { margin-left: auto; margin-right: auto; display: table; }
:where(.mi-site .entry-content) :where(strong, b) { font-weight: 700; }

/* Seitentitel als Balken (Block „Beitragstitel“ mit Hintergrund Palette 1) */
.mi-site .entry-content > .wp-block-post-title { margin: 0 0 .5em; padding: 0; font-size: 28px; line-height: 1.5; }

/* Allgemeine Kadence-Spalten/Zeilen */
.mi-site .mi-col { display: flow-root; position: relative; min-width: 0; }
.mi-site .mi-col:is(.mi-dir-vertical, .mi-dir-vertical-reverse) { display: flex; flex-direction: column; }
.mi-site .mi-col.mi-dir-horizontal { display: flex; flex-direction: row; gap: 0 1rem; }
.mi-site .mi-col.mi-dir-horizontal > * { flex: 1; min-width: 0; }
.mi-site .entry-content .wp-block-image > figure { margin-bottom: var(--mi-md); }
.mi-site .entry-content .wp-block-image:last-child > figure { margin-bottom: 0; }
:where(.mi-site .mi-col) > * { max-width: 100%; }
.mi-site .mi-dir-vertical-reverse { flex-direction: column-reverse; justify-content: center; align-items: flex-start; }
.mi-site .mi-dir-vertical-reverse > * { width: 100%; }
.mi-site .mi-w-70 { max-width: 70%; margin-left: auto; margin-right: auto; width: 100%; }
.mi-site .mi-w-60 { max-width: 60%; margin-left: auto; margin-right: auto; width: 100%; }
.mi-site .mi-mb-lg { margin-bottom: var(--mi-lg) !important; }
.mi-site .mi-mt-md { margin-top: var(--mi-md) !important; }
.mi-site .mi-pb-10 { padding-bottom: 10px; }
.mi-site .mi-bg-palette1 { background: var(--p1); }
.mi-site .entry-content .wp-block-columns.mi-row {
  display: grid; gap: var(--mi-md); margin: 0 auto; padding: var(--mi-sm) var(--mi-edge); box-sizing: border-box;
  max-width: var(--mi-width); grid-auto-flow: row; align-items: start; width: 100%;
}
.mi-site .entry-content .wp-block-columns.mi-row > .wp-block-column { flex-basis: auto !important; width: auto; margin: 0; }
.mi-site .mi-row.mi-cols-2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.mi-site .mi-row.mi-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mi-site .entry-content .wp-block-columns.mi-row.mi-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mi-site .entry-content .wp-block-columns.mi-row.mi-gap-64 { gap: 64px; }
.mi-site .entry-content :is(.mi-w-70, .mi-w-60) .wp-block-columns.mi-row { max-width: none; padding-left: 0; padding-right: 0; }
.mi-site .entry-content .wp-block-columns.mi-row.mi-w-70 { max-width: 70%; padding-left: 0; padding-right: 0; }
/* Ganze Spalte verlinkt */
.mi-site .mi-has-link > .mi-link, .mi-site .mi-has-link > p:has(> .mi-link) { position: absolute; inset: 0; z-index: 2; margin: 0; }
.mi-site .mi-link { display: block; position: absolute; inset: 0; }
.mi-site .entry-content .mi-has-link > :nth-last-child(2) { margin-bottom: 0; }
.mi-site .mi-hover-palette6 { transition: background .3s ease; }
.mi-site .mi-hover-palette6:hover { background: var(--p6); }

/* ---------- 4 Bausteine ---------- */
/* Buttons (Kadence „global fill“) */
.mi-site .wp-block-buttons.mi-btns { display: flex; gap: var(--mi-xs); flex-wrap: wrap; }
.mi-site .mi-btn .wp-block-button__link {
  background: var(--p1); color: var(--p9); font-family: var(--mi-body); font-size: 18px; line-height: 1.6; font-weight: 400;
  padding: .4em 1em; border-radius: 3px; border: 0; box-shadow: 0 0 0 -7px rgba(0, 0, 0, 0); text-decoration: none;
  transition: all .2s ease;
}
.mi-site .mi-btn .wp-block-button__link:hover, .mi-site .mi-btn .wp-block-button__link:focus {
  background: var(--p2); color: var(--p9); box-shadow: 0 15px 25px -7px rgba(0, 0, 0, .1);
}

/* Icons */
.mi-site .mi-icons { display: flex; justify-content: center; margin: 0; line-height: 0; }
.mi-site .mi-icon { display: inline-flex; justify-content: center; color: var(--p4); line-height: 0; }
.mi-site .mi-icon svg { width: var(--mi-icon, 100px); height: var(--mi-icon, 100px); display: block; }

/* Slider */
.mi-site .mi-slider { position: relative; height: 250px; overflow: hidden; margin: 0 !important; width: 100%; }
.mi-site .mi-slide {
  position: absolute; inset: 0; opacity: 0; transition: opacity .4s ease; background-color: #f2f2f2;
  background-size: cover; background-repeat: no-repeat; padding: 0 20px 0 0;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 32px; margin: 0 !important;
}
.mi-site .mi-slider-pl .mi-slide { padding-left: 20px; }
.mi-site .mi-slider:not(.is-ready) > .mi-slide:first-child, .mi-site .mi-slide.is-active { opacity: 1; z-index: 1; }
.mi-site .entry-content .mi-slide-label {
  margin: 0; display: inline-flex; font-size: 26.4px; line-height: 1.6; color: var(--p9); background: var(--p1);
  padding: .4em 1em; border-radius: 3px; white-space: nowrap; text-transform: none;
}
.mi-site .entry-content .mi-slide-label-2 { background: var(--p4); }

/* Tabs (Kadence Tabs) */
.mi-site .mi-tabs { margin-bottom: 0; }
.mi-site .mi-tabs:last-child { margin-bottom: 0; }
.mi-site .mi-tab-nav { display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
.mi-site .mi-tab-nav > .mi-tab-btn { margin-right: 8px; }
.mi-site .mi-tab-nav > .mi-tab-btn:last-child { margin-right: 0; }
.mi-site .mi-tab-btn {
  font-family: var(--mi-body); font-size: 17px; line-height: 1.4em; font-weight: 400; text-transform: none; letter-spacing: normal;
  padding: 8px 20px; border-radius: 4px 4px 0 0; border: 0 solid var(--p7); cursor: pointer; text-align: left; margin: 0;
  background: var(--p7); color: var(--p4); box-shadow: none; transition: all .2s ease;
}
.mi-site .mi-tab-btn:hover { background: var(--p8); color: var(--p3); box-shadow: none; }
.mi-site .mi-tab-btn.is-active, .mi-site .mi-tab-btn.is-active:hover { background: #0a6689; color: #fff; }
.mi-site .mi-tab { background: var(--p9); border-top: 3px solid #0a6689; padding: 20px; text-align: left; margin: 0 !important; clear: both; }
.mi-site .mi-tab > .mi-tab-title, .mi-site .mi-tabs:not(.is-ready) > .mi-tab:not(:first-child) { display: none; }
.mi-site .mi-tab[hidden] { display: none; }
/* Kontakt: helle Tabs mit Rahmen */
.mi-site .mi-tabs-light .mi-tab-btn {
  background: var(--p9); color: var(--p5); border-width: 1px 1px 0 1px; border-color: var(--p7); margin-bottom: -1px; position: relative; z-index: 1;
}
.mi-site .mi-tabs-light .mi-tab-btn:hover { background: var(--p9); color: var(--p5); border-color: var(--p8); }
.mi-site .mi-tabs-light .mi-tab-btn.is-active, .mi-site .mi-tabs-light .mi-tab-btn.is-active:hover { background: var(--p9); color: var(--p5); border-color: #bcbcbc; }
.mi-site .mi-tabs-light .mi-tab { background: var(--p7); border: 1px solid var(--p1); }

/* Karten (Leaflet) */
.mi-site .mi-map { position: relative; z-index: 0; background: #ddd; }
.mi-site .leaflet-container { font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.5; }
.mi-site .leaflet-container a { color: #0078A8; transition: none; }
.mi-site .leaflet-container img { max-width: none; display: inline; }
.mi-site .leaflet-bar a { color: #000; }

/* Service-Filter und Karten */
.mi-site .mi-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 5.05px; margin: 0 0 var(--mi-md); }
.mi-site .mi-filter-btn {
  font-family: var(--mi-body); font-size: 14.4px; line-height: 1.6; padding: 4.76px 13.4px; background: var(--p9); color: var(--p3);
  border: 1px solid var(--p3); border-radius: 3px; cursor: pointer; box-shadow: none; text-transform: none; font-weight: 400; transition: all .2s ease;
}
.mi-site .mi-filter-btn:hover, .mi-site .mi-filter-btn:focus { background: var(--p9); color: var(--p3); border-color: var(--p3); box-shadow: none; }
.mi-site .mi-filter-btn.is-active, .mi-site .mi-filter-btn.is-active:hover { background: var(--p6); color: var(--p9); border-color: var(--p9); }
.mi-site .mi-services .wp-block-post-template.is-layout-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem 80px; padding: 0; margin: 0; list-style: none; }
.mi-site .mi-services .wp-block-post-template > li {
  margin: 0; box-shadow: 0 0 14px 0 rgba(0, 0, 0, .1); border-radius: 4px; overflow: hidden; background: var(--p9); position: relative;
}
.mi-site .mi-services .wp-block-post-template > li[hidden] { display: none; }
.mi-site .mi-services .mi-card-img { margin: 0; aspect-ratio: 3 / 2; }
.mi-site .mi-services .mi-card-img img { width: 100%; height: 100%; object-fit: cover; }
.mi-site .mi-services .mi-card-body { padding: var(--mi-sm) var(--mi-xxs); text-align: center; display: flex; flex-direction: column; justify-content: center; }
.mi-site .mi-services .mi-card-title { font-size: 19px; margin: 0 0 .5em; line-height: 1.5; }
.mi-site .mi-services .mi-card-title a { color: var(--p3); text-decoration: none; }
.mi-site .mi-services .mi-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.mi-site .mi-services .mi-card-kurz { font-family: var(--mi-head); font-size: 12px; font-weight: 700; line-height: 1.5; color: var(--p3); margin: 0; }

/* ---------- 5 Seiten ---------- */
/* Startseite */
.mi-site .entry-content > .mi-col:first-child { margin-bottom: 0; }
.mi-site .mi-col > h1.has-background { margin: 0 0 8.5px; font-size: 17px; line-height: 1.5; padding: 1.25em 2.375em; }
.mi-site .mi-bg-palette1 > h2 { margin: 0; }
.mi-site .mi-row.mi-cols-3 .mi-btns { justify-content: center; }

/* Service-Seiten: Kasten auf grauem Grund */
.mi-site.mi-boxed .site, .mi-site.mi-boxed .container, .mi-site.mi-boxed .site-main { background: transparent; }
.mi-site.mi-boxed .site-content { padding: 5rem var(--mi-edge); max-width: var(--mi-width); margin: 0 auto; box-sizing: border-box; background: transparent; }
.mi-site.mi-boxed.single .site-main > article {
  background: var(--p9); border-radius: .25rem; box-shadow: 0 15px 15px -10px rgba(0, 0, 0, .05); padding: 2rem;
}
.mi-site.mi-boxed .entry-header { margin: 0; }
.mi-site.mi-boxed .entry-title { font-size: 32px; line-height: 1.5; color: var(--p3); margin: 0; }
.mi-site.mi-boxed .entry-content { margin-top: var(--mi-md); }
.mi-site .mi-service-bar { margin: 0; font-size: 28px; line-height: 1.5; text-align: center; color: var(--p3); }
.mi-site .mi-service-bar.has-background { padding: 0; }

/* 404, Suche, Archive */
.mi-site.mi-boxed .page-header { margin: 0 0 17px; padding: 0; background: transparent; }
.mi-site.mi-boxed .page-header .page-title { font-size: 32px; line-height: 1.5; margin: 0; }
.mi-site.error404 .site-main > .inside-article, .mi-site.error404 .site-main > article {
  background: var(--p9); border-radius: .25rem; box-shadow: 0 15px 25px -10px rgba(0, 0, 0, .05); padding: 2rem;
}
.mi-site.error404 .entry-title { font-size: 32px; line-height: 1.5; margin: 0 0 calc(2rem + 6px); }
.mi-site.error404 .entry-content p, .mi-site .no-results p { margin: 1em 0; }
.mi-site .mi-search { position: relative; display: block; max-width: none; }
.mi-site .mi-search label { display: block; }
.mi-site .mi-search .search-field {
  width: 100%; box-sizing: border-box; padding: .4em 60px .4em .5em; font-size: 17px; line-height: 1.6; color: var(--p5);
  background: var(--p9); border: 1px solid #CBD5E0; border-radius: 3px; box-shadow: 0 0 0 -7px rgba(0, 0, 0, 0);
}
.mi-site .mi-search .search-submit {
  position: absolute; right: 0; top: 0; bottom: 0; width: 50px; padding: 0; background: transparent; border: 0; color: var(--p6);
  display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none;
}
.mi-site .mi-search .search-submit:hover, .mi-site .mi-search .search-submit:focus { background: transparent; color: var(--p4); }
.mi-site .mi-hero { background: var(--p7); min-height: 200px; display: flex; align-items: center; justify-content: center; padding: 0 var(--mi-edge); }
.mi-site .mi-hero .page-title { font-size: 32px; line-height: 1.5; margin: 0; text-align: center; color: var(--p3); }
.mi-site.archive .site-main, .mi-site.search-results .site-main { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; align-items: start; }
.mi-site:is(.archive, .search-results) .site-main > :not(article) { grid-column: 1 / -1; }
.mi-site:is(.archive, .search-results) .site-main > .page-header { margin-bottom: calc(17px - 2.5rem); }
.mi-site:is(.archive, .search-results) .site-main > article {
  background: var(--p9); border-radius: .25rem; box-shadow: 0 15px 15px -10px rgba(0, 0, 0, .05); overflow: hidden; margin: 0;
}
.mi-site:is(.archive, .search-results) .inside-article { display: flex; flex-direction: column; padding: 0 2rem 2rem; }
.mi-site:is(.archive, .search-results) .post-image { order: -1; margin: 0 -2rem 2rem; }
.mi-site:is(.archive, .search-results) .post-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.mi-site:is(.archive, .search-results) article .inside-article:not(:has(.post-image)) > :first-child { margin-top: 2rem; }
.mi-site.archive .no-results .entry-header { display: none; }
.mi-site .no-results .inside-article > * { margin-top: 0 !important; }
.mi-site.archive .no-results .inside-article, .mi-site.search .no-results .inside-article { padding: 0; display: block; }
.mi-site.archive .no-results .entry-content p { margin: 0 0 17px; }
.mi-site .mi-cats { font-size: 11.9px; line-height: 1.6; text-transform: uppercase; margin: 0 0 .5em; }
.mi-site .mi-cats a { font-weight: 700; text-decoration: none; letter-spacing: .05em; }
.mi-site .mi-cats .sep { margin: 0 .3em; }
.mi-site:is(.archive, .search-results) .entry-title { font-size: 28px; line-height: 1.5; margin: 0; }
.mi-site:is(.archive, .search-results) .entry-title a { color: var(--p3); text-decoration: none; }
.mi-site:is(.archive, .search-results) .entry-meta { font-size: 13.6px; line-height: 1.6; margin: 19px 0 0; color: var(--p4); }
.mi-site:is(.archive, .search-results) .entry-meta a { color: inherit; text-decoration: none; }
.mi-site:is(.archive, .search-results) .entry-summary { margin: 0; }
.mi-site:is(.archive, .search-results) .entry-summary p { margin: 16px 0 0; }
.mi-site .mi-more { margin: 23px 0 0; }
.mi-site .mi-more a { font-size: 13.6px; font-weight: 700; text-transform: uppercase; color: var(--p4); text-decoration: none; letter-spacing: .05em; }
.mi-site .mi-more a:hover { color: var(--p1); }

/* ---------- 6 Fuß ---------- */
.mi-site .site-footer { background: var(--p3); }
.mi-site .site-info { background: var(--p3); color: #fff; padding: 0; }
.mi-site .inside-site-info { max-width: var(--mi-width); margin: 0 auto; padding: 30px var(--mi-edge); box-sizing: border-box; display: block; }
.mi-site .copyright-bar { font-size: 17px; line-height: 1.6; color: #fff; text-align: center; width: 100%; margin: 1em 0; }
.mi-site .site-info a { color: #fff; }

/* Nach-oben-Knopf (Kadence „outline“) */
.mi-site .mi-up, .mi-up {
  position: fixed; right: 30px; bottom: 30px; z-index: 1000; display: flex; padding: .4em; font-size: 1.2em; line-height: 1;
  border: 2px solid currentColor; color: var(--p4); background: transparent; border-radius: 0;
  opacity: 0; transform: translateY(40px); transition: all .2s ease; pointer-events: none;
}
.mi-up svg { width: 1em; height: 1em; }
.mi-site .mi-up.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.mi-site .mi-up:hover, .mi-site .mi-up:focus { color: var(--p5); text-underline-offset: 0; }

/* Mobiles Menü (Kadence-Seitenpanel) */
.mi-drawer[hidden] { display: none; }
.mi-drawer { position: fixed; inset: 0; z-index: 100000; }
.mi-drawer-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .4); opacity: 0; transition: opacity .25s ease; cursor: pointer; }
.mi-drawer-inner {
  position: fixed; top: 0; right: 0; bottom: 0; width: 100%; max-width: 90%; overflow: auto; background: #090c10; color: #fff;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, .1); display: flex; flex-direction: column; opacity: 0; transform: translateX(100%);
  transition: transform .3s cubic-bezier(.77, .2, .05, 1), opacity .25s cubic-bezier(.77, .2, .05, 1);
  font-family: var(--mi-body);
}
.mi-drawer.is-open .mi-drawer-overlay { opacity: 1; }
.mi-drawer.is-open .mi-drawer-inner { opacity: 1; transform: none; }
.mi-drawer-shown body { overflow: hidden; }
.mi-drawer-head { padding: 0 1.5em; display: flex; justify-content: flex-end; align-items: flex-start; height: calc(1.2em + 24px); font-size: 17px; }
.mi-site .mi-drawer-close, .mi-drawer-close {
  background: transparent; border: 0; font-size: 24px; line-height: 1; padding: .6em .15em; color: inherit; display: flex; box-shadow: none;
  border-radius: 0; width: 1em; height: 1em; box-sizing: content-box; position: relative; cursor: pointer;
}
.mi-drawer-close:hover, .mi-drawer-close:focus { background: transparent; color: inherit; }
.mi-drawer-close span {
  width: .75em; height: .08em; background: currentColor; position: absolute; top: 50%; left: 50%; margin: -.04em 0 0 -.375em;
  border-radius: .08em; transform: rotate(45deg);
}
.mi-drawer-close span:last-child { transform: rotate(-45deg); }
.mi-drawer-nav { padding: 0 1.5em 1.5em; }
.mi-drawer-menu, .mi-drawer-menu ul { list-style: none; margin: 0; padding: 0; }
.mi-drawer-menu li { font-size: 14px; line-height: 1.6; }
.mi-drawer-menu a { display: block; padding: 1em .5em; color: var(--p8); text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.mi-drawer-menu a:hover { color: var(--p8); }
.mi-drawer-menu li.current-menu-item > a, .mi-drawer-menu li.current-menu-item > .mi-drop-wrap > a { color: var(--p1); }
.mi-drop-wrap { display: flex; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.mi-drop-wrap > a { flex: 1; border-bottom: 0; }
.mi-site .mi-sub-toggle, .mi-sub-toggle {
  background: transparent; border: 0; border-left: 1px solid rgba(255, 255, 255, .1); color: var(--p8); font-size: 18px; padding: .5em .7em;
  display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; border-radius: 0;
}
.mi-sub-toggle:hover, .mi-sub-toggle:focus { background: transparent; color: var(--p8); }
.mi-sub-toggle svg { transition: transform .2s ease; }
.mi-drawer-menu li.is-open > .mi-drop-wrap .mi-sub-toggle svg { transform: rotate(180deg); }
.mi-drawer-menu .sub-menu { display: none; padding-left: 1em; }
.mi-drawer-menu li.is-open > .sub-menu { display: block; }

/* ---------- 7 Tablet und Handy (Kadence: Kopf ab 1024 px mobil, Spalten ab 767 px untereinander) ---------- */
@media (max-width: 1024px) {
  .mi-site #site-navigation { display: none; }
  .mi-site .mi-drawer-open {
    display: flex; align-items: center; margin-left: auto; background: transparent; border: 0; color: var(--p5); padding: .4em .6em;
    font-size: 14px; line-height: 1.6; cursor: pointer; box-shadow: none; border-radius: 0;
  }
  .mi-site .mi-drawer-open:hover, .mi-site .mi-drawer-open:focus-visible { color: var(--p1); background: transparent; }
  .mi-site .mi-drawer-open svg { width: 20px; height: 20px; }
  .mi-site.mi-boxed .site-content { padding-top: 3rem; padding-bottom: 3rem; }
  .mi-site .entry-content .wp-block-columns.mi-row.mi-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mi-site .mi-services .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, 1fr); }
  .mi-site.archive .site-main, .mi-site.search-results .site-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .mi-site .entry-content .wp-block-columns.mi-row:is(.mi-cols-2, .mi-cols-3, .mi-cols-4) { grid-template-columns: minmax(0, 1fr); }
  .mi-site .mi-services .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
  .mi-site.archive .site-main, .mi-site.search-results .site-main { grid-template-columns: minmax(0, 1fr); }
  .mi-site.mi-boxed .site-content { padding-top: 2rem; padding-bottom: 2rem; }
  .mi-site.mi-boxed.single .site-main > article { padding: 1.5rem; margin: 0 -16px; }
  .mi-up { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mi-site .mi-slide, .mi-drawer-inner, .mi-drawer-overlay, .mi-up { transition: none; }
}

/* Startseite: „Lesen Sie mehr“-Buttons in Spaltenreihen auf gleicher Höhe (Wunsch Kunde 12.11.2026, bewusste Abweichung von der Altseite) */
.mi-site .entry-content .wp-block-columns.mi-row:has(> .mi-col > .mi-btns:last-child) { align-items: stretch; }
.mi-site .mi-row:has(> .mi-col > .mi-btns:last-child) > .mi-col:has(> .mi-btns:last-child) { display: flex; flex-direction: column; }
.mi-site .mi-row > .mi-col > .mi-btns:last-child { margin-top: auto; }
