
/* ==========================================================
   MAINLAND IMMOBILIEN – Zusätzliches CSS (bereinigt)
   Stand: 31.07.2026

   Es werden nur noch die beiden Systemwerte verwendet:
   976 px = Tablet (Astra astra_tablet_breakpoint = Spectra
   UAGB_TABLET_BREAKPOINT), 767 px = Mobil (Astra
   astra_mobile_breakpoint = Spectra UAGB_MOBILE_BREAKPOINT).
   FIX v8 wurde auf eine einzige Regel eingedampft. Es gibt
   keine Hash-ID-abhängigen Regeln mehr: die Hero-H1-Regel
   wurde entfernt, weil der Spectra-Block die Farbe #fff
   bereits selbst ausgibt. Bereinigt am 07.10.2026: alle Regeln fuer Spectra
   Legacy (uagb) und nachweislich wirkungslose Regeln entfernt
   (Pruefung aller Seiten in 1440/1024/800/375 px).
   ========================================================== */

/* Rundet nur Bilder innerhalb des Inhaltsbereichs ab */
.entry-content img,
.wp-block-image img {
    border-radius: 15px !important;
}

/* Trustindex-Disclaimer-Link ausblenden */
.ti-disclaimer a[href*="trustindex.io"] {
    display: none;
}

/* Footer-Padding */
.site-primary-footer-wrap {
    padding-top: 48px;
    padding-bottom: 48px;
}


/* Below-Footer */
.site-below-footer-wrap {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Navigationslinks */
.main-header-menu .menu-link {
    padding-left: 16px;
    padding-right: 16px;
}

.main-header-menu .sub-menu .menu-link {
    padding-top: 16px;
    padding-bottom: 16px;
}

/* Überschriften-Abstände */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 24px;
}

/* Absatz-Abstände */
p {
    margin-bottom: 16px;
}


/* Alle Buttons einheitlich 15px Radius, ohne Rahmen */
button,
.ast-button,
.button,
input[type="submit"],
a.wp-block-button__link,
.wp-block-button__link {
    border-radius: 15px !important;
    border: none !important;
}


/* Aufeinanderfolgende Absätze ohne Doppelabstand */
.wp-block-paragraph + .wp-block-paragraph {
    margin-top: 0;
}


/* ==========================================================
   Metric-Adjusted Fallback für Open Sans
   ========================================================== */

@font-face{   
    font-family: "Open Sans Fallback";
    src: local("Arial"), local("ArialMT");
    size-adjust: 106.55%;
    ascent-override: 101.17%;
    descent-override: 27.73%;
    line-gap-override: 0%;
    font-display: swap;
   }

:where(
    body,
    button,
    input,
    select,
    textarea,
    .ast-container,
    .entry-content,
    .site-title,
    .site-description,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6
) {
    font-family:
        "Open Sans",
        "Open Sans Fallback",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

/* ==========================================================
   Mobile-Overflow- und Silbentrennungs-Fixes
   (zusammengeführt – vorher gab es zwei sich teils
   widersprechende Regelblöcke für dieselben Selektoren)
   ========================================================== */

/* Tabellen responsiv begrenzen */
.entry-content table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

.entry-content table th,
.entry-content table td {
    padding: 0.6em 0.5em;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

/* Content-Elemente nie breiter als ihr Elternelement */
:where(.entry-content) > * {
    max-width: 100%;
}

:where(.entry-content .wp-block-uagb-advanced-heading),
:where(.entry-content ul.wp-block-list),
:where(.entry-content ol.wp-block-list) {
    max-width: 100%;
    box-sizing: border-box;
}

/* Silbentrennung für Fließtext, Listen und lange Wörter
   (z. B. "Scheidungsfolgevereinbarung", "Spekulationssteuer") */
.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th,
.entry-content blockquote,
.entry-content figcaption {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

/* ==========================================================
   FIX (24.07.2026): Blog-Beiträge – #primary-Padding korrigieren
   Ursache: Astra rendert #primary mit padding: 24em (statt Default),
   dadurch schrumpft der Artikelinhalt auf 0–50px.
   Ziel: Standard-Astra-Verhalten für Boxed-Container wiederherstellen.
   ========================================================== */
.ast-separate-container #primary,
.ast-narrow-container #primary {
    padding-left: 5.714em !important;
    padding-right: 5.714em !important;
}

@media (max-width: 976px) {
    .ast-separate-container #primary,
    .ast-narrow-container #primary {
        padding-left: 1em !important;
        padding-right: 1em !important;
    }
}


/* ===========================================================
   Situationscheck-Banner, Teil 1 von 2: CSS
   MAINLAND IMMOBILIEN, Stand 5. August 2026

   WOHIN: Design, dann Customizer, dann "Zusaetzliches CSS".
   Dort unten anfuegen und veroeffentlichen.

   Dieses Teil enthaelt bewusst keine spitzen Klammern und
   keine HTML-Kommentare, damit der Blockeditor nichts
   davon als Markup interpretieren kann.
   =========================================================== */

.mlisc,.mlisc *{box-sizing:border-box}
.mlisc{
  /* ==== HIER die Farbe anpassen ==== */
  --mlisc-blau:#0c2c74;        /* Hintergrund = Hero-Blau Ihrer Startseite */
  --mlisc-blau-2:#0c2c74;      /* Schriftfarbe im orangen Button */
  --mlisc-orange:#ff9103;
  --mlisc-orange-dark:#e07f00;
  --mlisc-radius:15px;
  background:var(--mlisc-blau);
  color:#fff;
  padding:56px 44px 52px;
  margin:0;
  border-radius:var(--mlisc-radius);
  font-family:inherit;
  line-height:1.65;
}
.mlisc-inner{max-width:1200px;margin:0 auto}

/* Harter Reset: neutralisiert alle Abstände, die Astra oder Spectra
   mitbringen. Die einzelnen Abstände werden danach bewusst neu gesetzt. */
.mlisc h2,
.mlisc p,
.mlisc ol,
.mlisc li,
.mlisc dl,
.mlisc dt,
.mlisc dd{margin:0;padding:0;list-style:none}
.mlisc-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.mlisc .mlisc-kicker{
  font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mlisc-orange);margin:0 0 10px;
}
.mlisc h2.mlisc-h2{
  font-size:clamp(1.55rem,1.25rem + 1.3vw,2rem);line-height:1.24;font-weight:700;
  color:#fff;margin:0 0 16px;text-transform:none;
}
.mlisc .mlisc-lead{font-size:17px;line-height:1.66;color:#ccd2ec;margin:0 0 28px;max-width:56ch}

/* ---- Die drei Schritte: gleiche Abstände, jeder Schritt eine Zeile ---- */
.mlisc ol.mlisc-schritte{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;row-gap:18px;
}
.mlisc ol.mlisc-schritte > li{
  display:flex;gap:14px;align-items:flex-start;
  font-size:16px;line-height:1.5;color:#e8eaf6;
  margin:0;padding:0;list-style:none;
}
.mlisc ol.mlisc-schritte > li::before,
.mlisc ol.mlisc-schritte > li::marker{content:none;display:none}
.mlisc .mlisc-num{
  flex:0 0 auto;width:27px;height:27px;border-radius:50%;
  background:rgba(255,145,3,.18);border:1px solid rgba(255,145,3,.55);
  color:var(--mlisc-orange);font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  margin-top:0;
}

/* ---- Eigener Block für den Button, damit der Abstand nicht von der
        Liste abhängt und nichts überlappen kann ---- */
.mlisc .mlisc-cta{margin:38px 0 0;padding:0}
/* Der Button muss sich gegen die Link-Unterstreichung des Themes durchsetzen,
   deshalb der doppelte Selektor und !important nur bei text-decoration. */
.mlisc a.mlisc-btn,
.mlisc a.mlisc-btn:link,
.mlisc a.mlisc-btn:visited{
  display:inline-block;background:var(--mlisc-orange);color:var(--mlisc-blau-2);
  font-size:16px;font-weight:700;
  text-decoration:none !important;border-bottom:0 !important;box-shadow:none;
  padding:14px 26px;border-radius:var(--mlisc-radius);line-height:1.35;border:0;
  transition:background .15s ease;
}
.mlisc a.mlisc-btn:hover,
.mlisc a.mlisc-btn:focus,
.mlisc a.mlisc-btn:active{
  background:var(--mlisc-orange-dark);color:var(--mlisc-blau-2);
  text-decoration:none !important;
}
.mlisc a.mlisc-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mlisc .mlisc-unter{font-size:14px;line-height:1.55;color:#a9b1d4;margin:18px 0 0;max-width:60ch}
.mlisc-karte{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--mlisc-radius);padding:26px 24px;
}
.mlisc .mlisc-kt{
  font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--mlisc-orange);margin:0 0 18px;
}
.mlisc .mlisc-karte dl{margin:0;display:grid;gap:15px}
.mlisc-row{
  display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:13px;
}
.mlisc-row:last-child{border-bottom:0;padding-bottom:0}
.mlisc .mlisc-karte dt{font-size:15px;line-height:1.5;color:#ccd2ec;margin:0}
.mlisc .mlisc-karte dd{font-size:16px;line-height:1.5;font-weight:700;color:#fff;margin:0;text-align:right;white-space:nowrap}

@media (max-width:900px){
  .mlisc{padding:48px 32px}
  .mlisc-grid{grid-template-columns:1fr;gap:34px}
}
@media (max-width:640px){
  .mlisc{padding:36px 20px;border-radius:12px}
  .mlisc a.mlisc-btn{display:block;text-align:center}
  .mlisc-row{flex-direction:column;align-items:flex-start;gap:3px;padding-bottom:12px}
  .mlisc-karte dd{text-align:left;white-space:normal}
}
/* Ankersprung: Sticky-Header nicht ueber das Tool legen */
#mainland-check-wrap{scroll-margin-top:120px}

/* ==== MAINLAND: Spectra Blocks – Astra-Abstaende in Textabschnitten (Umstellung von Spectra Legacy, 06.10.2026) ====
   Spectra Blocks setzt die Aussenabstaende der Inhalte in Containern auf 0.
   Containern mit der Klasse "mainland-text" geben diese Regeln die Astra-Abstaende zurueck.
   Globale Spectra-Stile (z. B. h-blue-600) und Einstellungen am einzelnen Block haben weiterhin Vorrang. */
body .mainland-text > :is(h1, h2, h3, h4, h5, h6) { margin-top: 1.5em; margin-bottom: calc(0.3em + 10px); }
body .mainland-text > p { margin-top: 0; margin-bottom: 1.2em; }
body .mainland-text > :is(ul, ol) { margin-top: 1em; margin-bottom: 1em; }
body .mainland-text > :is(ul, ol) { margin-left: 20px; } /* Legacy-Container: Listen-Einzug */
/* ==== Ende MAINLAND Spectra Blocks ==== */

/* ==== MAINLAND: Einheitliche Abstaende und Bilder in Blogbeitraegen (06.10.2026) ==== */
body.single-post .mainland-text.mainland-text { row-gap: 0; }
body.single-post .mainland-text.mainland-text > * { margin-top: 0; margin-bottom: 0; }
body.single-post .mainland-text.mainland-text > p:empty { display: none; }
body.single-post .mainland-text.mainland-text > * + * { margin-top: 20px; }
body.single-post .mainland-text.mainland-text > * + h2 { margin-top: 85px; }
body.single-post .mainland-text.mainland-text > * + h3 { margin-top: 60px; }
body.single-post .mainland-text.mainland-text > * + :is(h4, h5, h6) { margin-top: 40px; }
body.single-post .mainland-text.mainland-text > :is(h1, h2, h3, h4, h5, h6) + :not(h1, h2, h3, h4, h5, h6) { margin-top: 20px; }
body.single-post .mainland-text.mainland-text > :is(h1, h2) + h3 { margin-top: 30px; }
body.single-post .mainland-text.mainland-text > * + figure.wp-block-image,
body.single-post .mainland-text.mainland-text > figure.wp-block-image + * { margin-top: 40px; }
body.single-post .mainland-text.mainland-text > figure.wp-block-image + h2 { margin-top: 85px; }
body.single-post .mainland-text.mainland-text > figure.wp-block-image + h3 { margin-top: 60px; }
body.single-post .mainland-text.mainland-text > figure.wp-block-image { float: none; margin-bottom: 0; align-self: stretch; width: 100%; max-width: 100%; text-align: center; }
body.single-post .mainland-text.mainland-text > figure.wp-block-image img { display: block; margin-left: auto; margin-right: auto; width: auto; height: auto; max-width: min(600px, 100%); max-height: 600px; }
@media (max-width: 767px) {
  body.single-post .mainland-text.mainland-text > * + h2, body.single-post .mainland-text.mainland-text > figure.wp-block-image + h2 { margin-top: 70px; }
  body.single-post .mainland-text.mainland-text > * + h3, body.single-post .mainland-text.mainland-text > figure.wp-block-image + h3 { margin-top: 50px; }
  body.single-post .mainland-text.mainland-text > * + figure.wp-block-image, body.single-post .mainland-text.mainland-text > figure.wp-block-image + * { margin-top: 32px; }
}
/* Trennung Ueberschriften Handy: lange Woerter mit Bindestrich trennen (Schriftgroesse unveraendert) */
@media (max-width: 767px) {
  body.single-post .entry-content :is(h1, h2, h3) { -webkit-hyphens: auto; hyphens: auto; }
}
/* Seitenrand auch bei ausgeblendetem Titel (Astra setzt die 20 px sonst nur bei sichtbarem Titel) */
body.single-post.ast-page-builder-template:not(.ast-normal-title-enabled) .site-main > article { padding-left: 20px; padding-right: 20px; }
/* Innenabstand von Ueberschriften aus Stilvorlagen neutralisieren, damit nach jeder Ueberschrift 20 px gelten */
body.single-post .mainland-text.mainland-text > :is(h1, h2, h3, h4, h5, h6) { padding-top: 0; padding-bottom: 0; }
/* ==== Ende Abstaende Blogbeitraege ==== */


/* ==== MAINLAND: FAQ-Akkordeon im Stil der bisherigen Legacy-FAQ (06.10.2026) ==== */
body .wp-block-spectra-accordion.mainland-faq { row-gap: 10px; gap: 10px; }
body .wp-block-spectra-accordion.mainland-faq > .wp-block-spectra-accordion-child-item { border: 1px solid #d2d2d2; border-radius: 2px; }
body .wp-block-spectra-accordion.mainland-faq .wp-block-spectra-accordion-child-header { padding: 10px; gap: 10px; text-align: left; }


/* ==== Ende FAQ-Akkordeon ==== */


/* ==== MAINLAND: Zweispaltiger Bereich (Text/Bild nebeneinander, am Handy untereinander) ==== */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 20px; padding: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig > * { flex: 0 0 calc(50% - 10px); width: calc(50% - 10px); max-width: calc(50% - 10px); min-width: 0; margin: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig > figure img { width: 100%; height: auto; }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig { flex-direction: column; align-items: stretch; } body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig > * { flex: 0 0 auto; width: 100%; max-width: 100%; } }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig > :is(.wp-block-spectra-container, .wp-block-group):not(.mainland-karte):not(.mainland-box) { padding: 0; }
/* ==== Ende Zweispaltiger Bereich ==== */


/* ==== MAINLAND: Karten und Textkaesten (grauer Hintergrund, abgerundet) ==== */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-karte { background: var(--ast-global-color-5); border-radius: 20px; padding: 20px; gap: 20px; text-align: center; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-karte > * { margin: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-karte img { display: block; width: 100%; height: auto; border-radius: 15px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-box { background: var(--ast-global-color-5); border-radius: 20px; padding: 50px 20px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-schmal { max-width: 900px; width: 100%; margin-left: auto; margin-right: auto; align-items: stretch; }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-box { padding: 28px 16px; } }
/* ==== Ende Karten und Textkaesten ==== */


/* ==== MAINLAND: Kasten-Varianten (hellgrau mit Rahmen, weiss mit Rahmen, dunkelblau) ==== */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-box-hell { background: #f7f8fb; border: 1px solid #d9dee8; border-radius: 0; padding: 48px 28px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-box-rahmen { background: #ffffff; border: 1px solid #d9dee8; border-radius: 0; padding: 48px 28px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-box-blau { background: var(--ast-global-color-1); border-radius: 20px; padding: 48px 28px; color: #ffffff; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-box-blau :is(h1, h2, h3, h4, h5, h6, p, li) { color: #ffffff; }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group):is(.mainland-box-hell, .mainland-box-rahmen, .mainland-box-blau) { padding: 28px 18px; } }
/* Abstand vor und nach Kaesten in Beitraegen wie bei Bildern */
body.single-post .mainland-text.mainland-text > * + .mainland-box, body.single-post .mainland-text.mainland-text > .mainland-box + * { margin-top: 40px; }
@media (max-width: 767px) { body.single-post .mainland-text.mainland-text > * + .mainland-box, body.single-post .mainland-text.mainland-text > .mainland-box + * { margin-top: 32px; } }
body.single-post .mainland-text.mainland-text > .mainland-box + h2 { margin-top: 85px; }
body.single-post .mainland-text.mainland-text > .mainland-box + h3 { margin-top: 60px; }
@media (max-width: 767px) { body.single-post .mainland-text.mainland-text > .mainland-box + h2 { margin-top: 70px; } body.single-post .mainland-text.mainland-text > .mainland-box + h3 { margin-top: 50px; } }
/* ==== Ende Kasten-Varianten ==== */


/* ==== MAINLAND: Energieeffizienz-Tabelle mittig (Beitrag Energieeffizienz Immobilienwert) ==== */
body .mainland-energy-table-wrap { margin-left: auto !important; margin-right: auto !important; align-self: center; }


/* ==== MAINLAND: Seiten-Bausteine (Bereiche, Spalten, Infobox, Hinweis, Zeitstrahl) ==== */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-bereich-rose { background: var(--ast-global-color-7); border-radius: 15px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-bereich-grau { background: var(--ast-global-color-5); border-radius: 15px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-bereich-schatten { box-shadow: 3px 8px 12px 0 rgba(0, 0, 0, 0.44); border-radius: 15px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-breit-links > :first-child { flex: 0 0 calc(75% - 20px); width: calc(75% - 20px); max-width: calc(75% - 20px); }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-breit-links > :last-child { flex: 0 0 25%; width: 25%; max-width: 25%; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-oben { align-items: flex-start; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-dreispaltig { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; gap: 20px; padding: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-dreispaltig > * { flex: 1 1 0; min-width: 0; margin: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox { display: block; text-align: center; padding: 15px 0 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox::before { content: ""; display: block; width: 30px; height: 30px; margin: 0 auto 18px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20512%20512'%3E%3Cpath%20fill%3D'%23ff9103'%20d%3D'M256%200C114.6%200%200%20114.6%200%20256c0%20141.4%20114.6%20256%20256%20256s256-114.6%20256-256C512%20114.6%20397.4%200%20256%200zM382.6%20302.6l-103.1%20103.1C270.7%20414.6%20260.9%20416%20256%20416c-4.881%200-14.65-1.391-22.65-9.398L129.4%20302.6c-12.5-12.5-12.5-32.75%200-45.25s32.75-12.5%2045.25%200L224%20306.8V128c0-17.690%2014.33-32%2032-32s32%2014.31%2032%2032v178.8l49.380-49.38c12.5-12.5%2032.75-12.5%2045.25%200S395.1%20290.1%20382.6%20302.6z'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox > :is(h2, h3, h4) { margin: 0; font-size: 20px; line-height: 26px; font-weight: 600; text-transform: uppercase; color: var(--ast-global-color-1); text-align: center; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox > :is(h2, h3, h4)::after { content: ""; display: block; width: 104px; height: 2px; margin: 28px auto 0; background: #333333; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox > p { margin: 10px 0 0; text-align: center; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox > p.mainland-infobox-link { margin-top: 20px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox > p.mainland-infobox-link a { color: #0c2c74; font-weight: 600; text-decoration: none; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox > p.mainland-infobox-link a::after { content: ""; display: inline-block; width: 15px; height: 15px; margin-left: 5px; vertical-align: -2px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20512%20512'%3E%3Cpath%20fill%3D'%230c2c74'%20d%3D'M504.3%20273.6l-112.1%20104c-6.992%206.484-17.18%208.218-25.94%204.406c-8.758-3.812-14.42-12.45-14.42-21.1L351.9%20288H32C14.33%20288%20.0002%20273.7%20.0002%20255.1S14.33%20224%2032%20224h319.9l0-72c0-9.547%205.66-18.19%2014.42-22c8.754-3.809%2018.950-2.075%2025.94%204.41l112.1%20104C514.6%20247.9%20514.6%20264.1%20504.3%20273.6z'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-hinweis { display: block; background: var(--ast-global-color-5); border-left: 10px solid #0c2c74; padding: 15px 15px 10px 20px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-hinweis > :is(h2, h3, h4) { margin: 0 0 5px; font-size: 20px; line-height: 26px; font-weight: 600; text-transform: uppercase; color: var(--ast-global-color-1); }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-hinweis > p { margin: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-ablauf { display: flex; flex-direction: column; gap: 15px; padding: 0 0 0 45px; position: relative; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-ablauf::before { content: ""; position: absolute; left: 16px; top: 17px; bottom: 17px; width: 3px; background: #eeeeee; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-ablauf > .mainland-ablauf-schritt { display: block; position: relative; background: #eeeeee; border-radius: 15px; padding: 5px 15px; margin: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-ablauf > .mainland-ablauf-schritt::before { content: ""; position: absolute; left: -45px; top: 17px; width: 35px; height: 35px; border-radius: 50%; background: #ff9103 url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20512%20512'%3E%3Cpath%20fill%3D'%230c2c74'%20d%3D'M256%200C114.6%200%200%20114.6%200%20256c0%20141.4%20114.6%20256%20256%20256s256-114.6%20256-256C512%20114.6%20397.4%200%20256%200zM406.6%20278.6l-103.1%20103.1c-12.5%2012.5-32.75%2012.5-45.25%200s-12.5-32.750%200-45.25L306.8%20288H128C110.3%20288%2096%20273.7%2096%20256s14.31-32%2032-32h178.8l-49.38-49.38c-12.5-12.5-12.5-32.75%200-45.25s32.75-12.5%2045.25%200l103.1%20103.1C414.6%20241.3%20416%20251.1%20416%20256C416%20260.9%20414.6%20270.7%20406.6%20278.6z'%2F%3E%3C%2Fsvg%3E") no-repeat center / 20px 20px; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-ablauf > .mainland-ablauf-schritt > :is(h2, h3, h4) { margin: 0 0 5px; font-size: 20px; line-height: 26px; font-weight: 600; text-transform: uppercase; color: var(--ast-global-color-1); }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-ablauf > .mainland-ablauf-schritt > p { margin: 0; }
body .mainland-dachzeile { color: var(--ast-global-color-0); margin-bottom: 15px; }
body .wp-block-spectra-button.mainland-button-orange { background: var(--ast-global-color-0); }
@media (max-width: 767px) {
  body :is(.wp-block-spectra-container, .wp-block-group).mainland-dreispaltig { flex-direction: column; }
  body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-breit-links > :first-child, body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-breit-links > :last-child { flex: 0 0 auto; width: 100%; max-width: 100%; }
}
body .mainland-text > .mainland-ah { margin-top: 0; margin-bottom: 0; }
body .mainland-text > h1.mainland-ah { margin-bottom: 15px; }
body .mainland-text > .mainland-dachzeile { margin-top: 0; margin-bottom: 0; }
body:not(.single-post) .mainland-text > :is(ul, ol) { margin-top: 0; margin-bottom: 0; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-breit-links > *, body :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig.mainland-breit-links > :is(.wp-block-spectra-container, .wp-block-group):not(.mainland-karte) { padding: 10px; box-sizing: border-box; }
body .wp-block-spectra-button.mainland-pfeil::after { content: ""; display: inline-block; width: 15px; height: 15px; margin-left: 8px; vertical-align: -2px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20512%20512'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M504.3%20273.6l-112.1%20104c-6.992%206.484-17.18%208.218-25.94%204.406c-8.758-3.812-14.42-12.45-14.42-21.1L351.9%20288H32C14.33%20288%20.0002%20273.7%20.0002%20255.1S14.33%20224%2032%20224h319.9l0-72c0-9.547%205.66-18.19%2014.42-22c8.754-3.809%2018.95-2.075%2025.94%204.41l112.1%20104C514.6%20247.9%20514.6%20264.1%20504.3%20273.6z'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain; }
/* Spalten in Seiten: wie Legacy nur 20-px-Raster, keine Astra-Aussenabstaende */
body:not(.single-post) :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig > .mainland-text { gap: 20px; }
body:not(.single-post) :is(.wp-block-spectra-container, .wp-block-group).mainland-zweispaltig > .mainland-text > figure { margin-top: 0; margin-bottom: 0; }
/* ==== Ende Seiten-Bausteine ==== */

/* MAINLAND: Seiten - Ueberschriften direkt im Textabschnitt wie Legacy (0 oben, 20 px unten) */
body.page:not(.page-id-33070) .mainland-text.mainland-text > :is(h1,h2,h3,h4,h5,h6):not(.mainland-ah) { margin-top: 0; margin-bottom: 20px; }

/* MAINLAND: Telefonzeile (Nummer und Anruf-Button nebeneinander) */
body .mainland-text > .mainland-telefonzeile { gap: 10px 20px; align-items: center; margin-top: 0; margin-bottom: 0; }
body .mainland-telefonzeile > p { margin: 0; }
body .mainland-text > .mainland-telefonzeile + p { margin-top: 20px; }

/* MAINLAND: Luft unter Ueberschrift/Dachzeile in Abschnitten ohne Abstand */
body .mainland-text.mainland-text > .mainland-luft { margin-bottom: 20px; }

/* MAINLAND: Kurzfazit-Kasten (grau, oranger Rand links, Schatten) */
body .mainland-box.mainland-kurzfazit { background: #f4f4f6; border-left: 6px solid #ff9103; border-radius: 15px; box-shadow: 3px 8px 12px 0 rgba(0,0,0,.44); padding: 30px 34px; }
@media (max-width: 767px) { body .mainland-box.mainland-kurzfazit { padding: 24px 18px; } }

/* MAINLAND: Checkliste (Liste mit orangem Haken-Kreis) */
body .mainland-text.mainland-text > ul.mainland-checkliste, body ul.mainland-checkliste { list-style: none; margin-left: 0; padding-left: 6px; }
body ul.mainland-checkliste > li { position: relative; padding-left: 40px; min-height: 28px; font-weight: 600; line-height: 1.5; margin: 0; }
body ul.mainland-checkliste > li + li { margin-top: 14px; }
body ul.mainland-checkliste > li::before { content: ""; position: absolute; left: 0; top: 0; width: 28px; height: 28px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ff9103' d='M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM371.8 211.8C382.7 200.9 382.7 183.1 371.8 172.2C360.9 161.3 343.1 161.3 332.2 172.2L224 280.4L179.8 236.2C168.9 225.3 151.1 225.3 140.2 236.2C129.3 247.1 129.3 264.9 140.2 275.8L204.2 339.8C215.1 350.7 232.9 350.7 243.8 339.8L371.8 211.8z'/%3E%3C/svg%3E") no-repeat center / 28px 28px; }

/* MAINLAND: Preistabellen (vorher Stil im HTML-Block der Seite Immobilienmarkt) */

.immo-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}

.immo-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  border: 1px solid #e6e6e6;
  font-size: 16px;
  line-height: 1.45;
}

.immo-table colgroup col:nth-child(1) { width: 38%; }
.immo-table colgroup col:nth-child(2) { width: 27%; }
.immo-table colgroup col:nth-child(3) { width: 35%; }

.immo-table th,
.immo-table td {
  padding: 14px 18px;
  border: 1px solid #e9e9e9;
  vertical-align: middle;
}

.immo-table thead th {
  font-weight: 700;
  text-align: left;
  background: #fafafa;
  color: #222;
}

.immo-table thead th:last-child,
.immo-table tbody td:last-child {
  text-align: right;
  white-space: nowrap;
}

.immo-table tbody tr.highlight-row td {
  font-weight: 700;
  background: #fcfcfc;
}

.immo-table tbody tr:hover td {
  background: #fafafa;
}

/* Tablet: 768 bis 976 px – Breakpoint identisch mit Astra und Spectra */
@media (max-width: 976px) {
  .immo-table {
    min-width: 580px;
    font-size: 15px;
  }

  .immo-table th,
  .immo-table td {
    padding: 12px 14px;
  }
}

/* Mobil: bis 767 px – Breakpoint identisch mit Astra und Spectra.
   Ab hier kein Mindestbreitenzwang mehr, die Tabelle passt sich der
   Bildschirmbreite an. Damit entfaellt das seitliche Scrollen. */
@media (max-width: 767px) {
  .immo-table {
    min-width: 0;
    font-size: 14px;
  }

  .immo-table th,
  .immo-table td {
    padding: 10px 8px;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  .immo-table thead th {
    font-size: 13px;
    line-height: 1.3;
  }

  /* Preisspalte darf jetzt umbrechen, sonst erzwingt sie Breite */
  .immo-table thead th:last-child,
  .immo-table tbody td:last-child {
    white-space: normal;
  }

  .immo-table colgroup col:nth-child(1) { width: 40%; }
  .immo-table colgroup col:nth-child(2) { width: 24%; }
  .immo-table colgroup col:nth-child(3) { width: 36%; }
}


/* MAINLAND: Seiten - Bilder direkt im Abschnitt ohne Aussenabstand (Abstand kommt vom Abschnitt) */
body.page .mainland-text.mainland-text > figure.wp-block-image { margin-top: 0; margin-bottom: 0; }
body .mainland-text.mainland-text > .immo-table-wrap { margin: 18px 0 24px; }

/* MAINLAND: Zweispalter 2/3 zu 1/3 */
body .mainland-zweispaltig.mainland-zweidrittel > :first-child { flex: 0 0 calc(66.666% - 10px); max-width: calc(66.666% - 10px); }
body .mainland-zweispaltig.mainland-zweidrittel > :last-child { flex: 0 0 calc(33.333% - 10px); max-width: calc(33.333% - 10px); }
@media (max-width: 767px) { body .mainland-zweispaltig.mainland-zweidrittel > :is(:first-child, :last-child) { flex: 0 0 100%; width: 100%; max-width: 100%; } }

/* MAINLAND: Textlink mit Pfeil-Symbol davor */
body p.mainland-linkpfeil { display: flex; align-items: center; gap: 15px; }
body p.mainland-linkpfeil::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM406.6 278.6l-103.1 103.1c-12.5 12.5-32.75 12.5-45.25 0s-12.5-32.75 0-45.25L306.8 288H128C110.3 288 96 273.7 96 256s14.31-32 32-32h178.8l-49.38-49.38c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l103.1 103.1C414.6 241.3 416 251.1 416 256C416 260.9 414.6 270.7 406.6 278.6z'/%3E%3C/svg%3E") no-repeat center / 16px 16px; }
body p.mainland-linkpfeil a { color: var(--ast-global-color-0); text-decoration: none; }

/* MAINLAND: Kasten hellblau */
body .mainland-box.mainland-box-blauhell { background: rgba(11, 42, 115, .08); }

/* MAINLAND: Erbschaft-Tabellen (vorher Stil im HTML-Block der Seite Geerbte Immobilie) */

.mli-tab-wrap,.mli-tab-wrap *{box-sizing:border-box}
.mli-tab-wrap{
  --mli-blue:#011381;
  --mli-blue-soft:#e6e8f4;
  --mli-border:#d5d9e6;
  --mli-zebra:#f6f7fb;
  --mli-text:#141a33;
  --mli-muted:#5c6379;
  margin:2rem 0;
  font-variant-numeric:tabular-nums;
  color:var(--mli-text);
}
.mli-tab-wrap h3{
  font-size:1.0625rem;margin:0 0 .5rem;line-height:1.3;
}
.mli-tab-wrap table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--mli-border);border-radius:8px;overflow:hidden;
  font-size:.9375rem;
}
.mli-tab-wrap caption{
  caption-side:top;text-align:left;font-size:.8125rem;color:var(--mli-muted);
  padding:0 0 .5rem;
}
.mli-tab-wrap thead th{
  background:var(--mli-blue);color:#fff;font-weight:650;text-align:left;
  padding:.7rem .85rem;font-size:.875rem;line-height:1.3;
}
.mli-tab-wrap thead th.mli-num{text-align:right}
.mli-tab-wrap tbody th{
  text-align:left;font-weight:650;padding:.7rem .85rem;vertical-align:top;
}
.mli-tab-wrap tbody td{
  padding:.7rem .85rem;vertical-align:top;
}
.mli-tab-wrap tbody td.mli-num{text-align:right;white-space:nowrap;font-weight:650}
.mli-tab-wrap tbody tr:nth-child(even){background:var(--mli-zebra)}
.mli-tab-wrap tbody tr + tr{border-top:1px solid var(--mli-border)}
.mli-tab-wrap .mli-quelle{
  font-size:.8125rem;color:var(--mli-muted);margin:.6rem 0 0;
}
.mli-tab-wrap .mli-quelle a{color:var(--mli-blue)}

/* ---- Mobil: Tabelle wird zur Karte ---- */
@media (max-width:640px){
  .mli-tab-wrap table,
  .mli-tab-wrap caption,
  .mli-tab-wrap thead,
  .mli-tab-wrap tbody,
  .mli-tab-wrap tr,
  .mli-tab-wrap th,
  .mli-tab-wrap td{display:block;width:auto;max-width:100%}
  .mli-tab-wrap table{border:0;border-radius:0;background:transparent;width:100%}
  .mli-tab-wrap caption{padding-bottom:.6rem}
  .mli-tab-wrap thead{
    position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;
  }
  .mli-tab-wrap tbody tr{
    border:1px solid var(--mli-border);border-radius:8px;
    margin-bottom:.75rem;background:#fff;overflow:hidden;
  }
  .mli-tab-wrap tbody tr:nth-child(even){background:#fff}
  .mli-tab-wrap tbody th{
    background:var(--mli-blue-soft);color:var(--mli-blue);
    padding:.6rem .85rem;font-size:.9375rem;overflow-wrap:break-word;
  }
  .mli-tab-wrap tbody td{
    display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
    padding:.55rem .85rem;border-top:1px solid var(--mli-border);
    text-align:right;white-space:normal;
  }
  .mli-tab-wrap tbody td::before{
    content:attr(data-label);
    font-weight:400;color:var(--mli-muted);font-size:.875rem;
    flex:1 1 auto;text-align:left;
  }
  .mli-tab-wrap tbody td.mli-num{white-space:nowrap}
}

body .entry-content p.mainland-linkpfeil a { text-decoration: none; }
body .entry-content p.mainland-linkpfeil a:hover { text-decoration: underline; }

/* MAINLAND: Seiten - kompaktere Abschnittsabstaende (06.10.2026) */
body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { padding-top: 40px !important; padding-bottom: 40px !important; margin-top: 0; }
body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt:is(.mainland-bereich, .mainland-box), body.page .entry-content > :is(.mainland-bereich, .mainland-box) + .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { margin-top: 40px; }
body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-autor { padding-top: 0 !important; padding-bottom: 0 !important; }
@media (max-width: 767px) { body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { padding-top: 30px !important; padding-bottom: 30px !important; } body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt:is(.mainland-bereich, .mainland-box), body.page .entry-content > :is(.mainland-bereich, .mainland-box) + .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { margin-top: 30px; } body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-autor { padding-top: 0 !important; padding-bottom: 0 !important; } }
body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt:has(> .mainland-box:only-child) { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 40px; }
body.page .entry-content > :has(> .mainland-box:only-child) + .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { margin-top: 40px; }
@media (max-width: 767px) { body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt:has(> .mainland-box:only-child), body.page .entry-content > :has(> .mainland-box:only-child) + .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { margin-top: 30px; } }
/* Spectra setzt vor jeden Abschnitt ein <style>-Element, daher auch + style + */
body.page .entry-content > :is(.mainland-bereich, .mainland-box, :has(> .mainland-box:only-child)) + style + .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { margin-top: 40px; }
@media (max-width: 767px) { body.page .entry-content > :is(.mainland-bereich, .mainland-box, :has(> .mainland-box:only-child)) + style + .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt { margin-top: 30px; } }

/* MAINLAND: Kacheln (4 nebeneinander, Tablet 2, Handy 1) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 0; }
@media (max-width: 976px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln { grid-template-columns: 1fr; } }
body .mainland-box.mainland-kachel { padding: 20px; margin: 0; }

/* MAINLAND: Infokarte (Rahmen, blaues Symbol, Linie ueber dem Titel) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-infokarte { border: 1px solid var(--ast-global-color-1); border-radius: 20px; padding: 24px 20px; }
body .mainland-infobox.mainland-infokarte::before { width: 44px; height: 40px; margin: 0 auto 18px; background-size: contain; background-position: center; background-repeat: no-repeat; }
body .mainland-infokarte.mainland-icon-haus::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23011381' d='M511.8 287.6L512.5 447.7C512.5 450.5 512.3 453.1 512 455.8V472C512 494.1 494.1 512 472 512H456C454.9 512 453.8 511.1 452.7 511.9C451.3 511.1 449.9 512 448.5 512H392C369.9 512 352 494.1 352 472V384C352 366.3 337.7 352 320 352H256C238.3 352 224 366.3 224 384V472C224 494.1 206.1 512 184 512H128.1C126.6 512 125.1 511.9 123.6 511.8C122.4 511.9 121.2 512 120 512H104C81.91 512 64 494.1 64 472V360C64 359.1 64.03 358.1 64.09 357.2V287.6H32.05C14.02 287.6 0 273.5 0 255.5C0 246.5 3.004 238.5 10.01 231.5L266.4 8.016C273.4 1.002 281.4 0 288.4 0C295.4 0 303.4 2.004 309.5 7.014L416 100.7V64C416 46.33 430.3 32 448 32H480C497.7 32 512 46.33 512 64V185L564.8 231.5C572.8 238.5 576.9 246.5 575.8 255.5C575.8 273.5 560.8 287.6 543.8 287.6L511.8 287.6z'/%3E%3C/svg%3E"); }
body .mainland-infokarte.mainland-icon-hand::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23011381' d='M488 191.1h-152l.0001 51.86c.0001 37.66-27.08 72-64.55 75.77c-43.09 4.333-79.45-29.42-79.45-71.63V126.4l-24.51 14.73C123.2 167.8 96.04 215.7 96.04 267.5L16.04 313.8c-15.25 8.751-20.63 28.38-11.75 43.63l80 138.6c8.875 15.25 28.5 20.5 43.75 11.75l103.4-59.75h136.6c35.25 0 64-28.75 64-64c26.51 0 48-21.49 48-48V288h8c13.25 0 24-10.75 24-24l.0001-48C512 202.7 501.3 191.1 488 191.1zM635.7 154.5l-79.95-138.6c-8.875-15.25-28.5-20.5-43.75-11.75l-103.4 59.75h-62.57c-37.85 0-74.93 10.61-107.1 30.63C229.7 100.4 224 110.6 224 121.6l-.0004 126.4c0 22.13 17.88 40 40 40c22.13 0 40-17.88 40-40V159.1h184c30.93 0 56 25.07 56 56v28.5l80-46.25C639.3 189.4 644.5 169.8 635.7 154.5z'/%3E%3C/svg%3E"); }
body .mainland-infokarte.mainland-icon-kalender::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23011381' d='M96 32C96 14.33 110.3 0 128 0C145.7 0 160 14.33 160 32V64H288V32C288 14.33 302.3 0 320 0C337.7 0 352 14.33 352 32V64H400C426.5 64 448 85.49 448 112V160H0V112C0 85.49 21.49 64 48 64H96V32zM448 464C448 490.5 426.5 512 400 512H48C21.49 512 0 490.5 0 464V192H448V464z'/%3E%3C/svg%3E"); }
body .mainland-infobox.mainland-infokarte h3::after { display: none; }
body .mainland-infobox.mainland-infokarte h3::before { content: ""; display: block; width: 104px; height: 2px; background: #333; margin: 0 auto 22px; }

/* MAINLAND: Seiten - H2 mitten im Abschnitt (neues Thema) mit 40 px Luft davor */
body.page .mainland-text.mainland-text > h2:not(:first-child) { margin-top: 40px; }
@media (max-width: 767px) { body.page .mainland-text.mainland-text > h2:not(:first-child) { margin-top: 30px; } }
body.page .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-autor { margin-bottom: 0 !important; }

/* MAINLAND: Bilder in Spalten mittig */
body .mainland-zweispaltig figure.wp-block-image, body .mainland-zweispaltig > :is(.wp-block-spectra-container, .wp-block-group) > figure.wp-block-image { text-align: center; }
body .mainland-zweispaltig figure.wp-block-image img { margin-left: auto; margin-right: auto; }

/* MAINLAND: Seiten - einheitlicher Seitenrand (06.10.2026): Text und Kaesten enden links/rechts buendig */
body.page .entry-content > :is(:is(.wp-block-spectra-container.spectra-is-root-container, .wp-block-group.mainland-abschnitt), .wp-block-group.mainland-tool):not(.mainland-bereich):not(.mainland-box) { padding-left: 24px !important; padding-right: 24px !important; }
body.page .entry-content > :is(.spectra-is-root-container, .mainland-abschnitt):is(.mainland-bereich, .mainland-box) { max-width: 1152px !important; width: calc(100% - 48px); margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) {
  body.page .entry-content > :is(:is(.wp-block-spectra-container.spectra-is-root-container, .wp-block-group.mainland-abschnitt), .wp-block-group.mainland-tool):not(.mainland-bereich):not(.mainland-box) { padding-left: 20px !important; padding-right: 20px !important; }
  body.page .entry-content > :is(.spectra-is-root-container, .mainland-abschnitt):is(.mainland-bereich, .mainland-box) { width: calc(100% - 40px); }
}
body.page.ast-page-builder-template .site-main > article:has(> .entry-content > :is(.spectra-is-root-container, .mainland-abschnitt)) { padding-left: 0; padding-right: 0; }

/* MAINLAND: Infokarte orange (Rahmen orange, Symbol als Bild) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-infokarte.mainland-infokarte-orange { border-color: var(--ast-global-color-0); }
body .mainland-infobox.mainland-infokarte-orange::before, body .mainland-infobox.mainland-infokarte-orange h3::before { display: none; }
body .mainland-infokarte-orange > figure.wp-block-image { margin: 0 auto 14px; }

/* MAINLAND: Tabellen Provision und Hauspreise (vorher Stil im HTML-Block der Seite Haus verkaufen) */

#mi-provision {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  font-family: inherit;
  color: #393939;
}

#mi-provision * {
  box-sizing: border-box;
}

#mi-provision .table-title {
  padding: 14px;
  background: #f4f4f6;
  color: #011381;
  border: 1px solid #d9dce8;
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  font-weight: 700;
}

#mi-provision .table-shell {
  overflow: hidden;
  border: 1px solid #d9dce8;
  border-radius: 0 0 15px 15px;
  box-shadow: 0 4px 16px rgba(1,19,129,0.06);
}

#mi-provision table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
}

#mi-provision th,
#mi-provision td {
  padding: 13px 12px;
  border: 0;
  border-bottom: 1px solid #e4dfdf;
}

#mi-provision th {
  background: #011381;
  color: #ffffff;
  text-align: left;
}

#mi-provision th:nth-child(2),
#mi-provision th:nth-child(3),
#mi-provision td:nth-child(2),
#mi-provision td:nth-child(3) {
  text-align: right;
}

#mi-provision tbody tr:nth-child(even) {
  background: #f4f4f6;
}

#mi-provision tbody tr:last-child td {
  border-bottom: 0;
}

#mi-provision td:first-child {
  color: #011381;
  font-weight: 700;
}

/* Tablet und Mobil */
@media (max-width: 921px) {
  #mi-provision .table-title {
    margin-bottom: 10px;
    border: 0;
    border-radius: 12px;
  }

  #mi-provision .table-shell {
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #mi-provision table,
  #mi-provision tbody,
  #mi-provision tr,
  #mi-provision td {
    display: block;
    width: 100%;
  }

  #mi-provision thead {
    display: none;
  }

  #mi-provision tbody tr {
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid #d9dce8;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 3px 10px rgba(1,19,129,0.05);
  }

  #mi-provision tbody tr:nth-child(even) {
    background: #ffffff;
  }

  #mi-provision td {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 16px;
    padding: 10px 14px;
    border: 0;
    text-align: right !important;
  }

  #mi-provision td::before {
    content: attr(data-label);
    color: #393939;
    font-weight: 600;
    text-align: left;
  }

  #mi-provision td:first-child {
    display: block;
    padding: 13px 14px;
    background: #f4f4f6;
    color: #011381;
    font-size: 16px;
    text-align: left !important;
  }

  #mi-provision td:first-child::before {
    content: none;
  }
}


#mi-hauspreise {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  font-family: inherit;
  color: #393939;
}

#mi-hauspreise * {
  box-sizing: border-box;
}

#mi-hauspreise .table-title {
  padding: 14px;
  background: #f4f4f6;
  color: #011381;
  border: 1px solid #d9dce8;
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  font-weight: 700;
}

#mi-hauspreise .table-shell {
  overflow: hidden;
  border: 1px solid #d9dce8;
  border-radius: 0 0 15px 15px;
  box-shadow: 0 4px 16px rgba(1,19,129,0.06);
}

#mi-hauspreise table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
}

#mi-hauspreise th,
#mi-hauspreise td {
  padding: 13px 12px;
  border: 0;
  border-bottom: 1px solid #e4dfdf;
}

#mi-hauspreise th {
  background: #011381;
  color: #ffffff;
  text-align: left;
}

#mi-hauspreise th:last-child,
#mi-hauspreise td:last-child {
  text-align: right;
}

#mi-hauspreise tbody tr:nth-child(even) {
  background: #f4f4f6;
}

#mi-hauspreise tbody tr:last-child td {
  border-bottom: 0;
}

#mi-hauspreise td:first-child {
  color: #011381;
  font-weight: 700;
}

/* Tablet und Mobil */
@media (max-width: 921px) {
  #mi-hauspreise .table-title {
    margin-bottom: 10px;
    border: 0;
    border-radius: 12px;
  }

  #mi-hauspreise .table-shell {
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #mi-hauspreise table,
  #mi-hauspreise tbody,
  #mi-hauspreise tr,
  #mi-hauspreise td {
    display: block;
    width: 100%;
  }

  #mi-hauspreise thead {
    display: none;
  }

  #mi-hauspreise tbody tr {
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid #d9dce8;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 3px 10px rgba(1,19,129,0.05);
  }

  #mi-hauspreise tbody tr:nth-child(even) {
    background: #ffffff;
  }

  #mi-hauspreise td {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 16px;
    padding: 10px 14px;
    border: 0;
    text-align: right !important;
  }

  #mi-hauspreise td::before {
    content: attr(data-label);
    color: #393939;
    font-weight: 600;
    text-align: left;
  }

  #mi-hauspreise td:first-child {
    display: block;
    padding: 13px 14px;
    background: #f4f4f6;
    color: #011381;
    font-size: 16px;
    text-align: left !important;
  }

  #mi-hauspreise td:first-child::before {
    content: none;
  }
}


/* MAINLAND: Dachzeile ueber H2 mitten im Abschnitt: Luft vor der Dachzeile, nicht zwischen Dachzeile und H2 */
body.page .mainland-text.mainland-text > .mainland-dachzeile:not(:first-child) { margin-top: 40px; }
body.page .mainland-text.mainland-text > .mainland-dachzeile + h2 { margin-top: 0; }
@media (max-width: 767px) { body.page .mainland-text.mainland-text > .mainland-dachzeile:not(:first-child) { margin-top: 30px; } }

/* MAINLAND: innere Bereiche als WordPress-Gruppe (weniger Inline-CSS als Spectra-Container) */
.mainland-text .wp-block-group.is-layout-flex > * { min-width: 0; }
.mainland-text .wp-block-group { margin-top: 0; margin-bottom: 0; }

/* MAINLAND: Infokarte orange - kraeftigerer Rahmen */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-infokarte.mainland-infokarte-orange { border-width: 2px; }

/* MAINLAND: Seiten - H3 mitten im Abschnitt mit Luft davor; Tabellen mit Abstand */
body.page:not(.page-id-33070) .mainland-text.mainland-text > h3:not(:first-child) { margin-top: 40px; }
body.page .mainland-text.mainland-text > .mainland-dachzeile + h3 { margin-top: 0; }
body .mainland-text.mainland-text > :is(#mi-provision, #mi-hauspreise) { margin-top: 20px; margin-bottom: 40px; }

/* MAINLAND: Abschnitt als WordPress-Gruppe (ersetzt Spectra-Abschnittscontainer) */
/* wie Spectra-Container: Kinder ohne eigenen Aussenabstand (gleiche Spezifitaet 0,1,1) */
body .wp-block-group:where([class*="mainland-"]) > * { margin-top: 0; margin-bottom: 0; }

body .entry-content > .wp-block-group.mainland-abschnitt { max-width: 1200px; width: 100%; margin-left: auto; margin-right: auto; box-sizing: border-box; }
/* Astra gibt Gruppen 3em Innenabstand - fuer MAINLAND-Gruppen aus */
body:not(.page) .entry-content > .wp-block-group.mainland-abschnitt:not([style*="padding-left"]) { padding-left: 0 !important; padding-right: 0 !important; }

/* MAINLAND: Sonder-CSS aus frueheren Spectra-Containern (GEG-Beitrag, Dachgeschoss-Checkliste) */
body .mainland-abschnitt > .mainland-law-comparison { margin: 32px 0 20px; }
@media (max-width: 767px) {
  body .mainland-abschnitt > .mainland-law-comparison { margin: 24px 0 20px; }
}
body .mainland-abschnitt > .mainland-dg-checkliste { width: 100%; margin-left: auto !important; margin-right: auto !important; }

/* MAINLAND: Kacheln 2 nebeneinander, mittige Karten, Vorteil-Karten (Symbol links) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-kacheln-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-kacheln-2 { grid-template-columns: 1fr; } }
body .mainland-mittig { text-align: center; align-items: center; }
body .mainland-box.mainland-vorteil { display: flex; flex-direction: row; align-items: flex-start; gap: 16px; }
body .mainland-vorteil > figure.mainland-vorteil-icon { flex: 0 0 40px; width: 40px; margin: 4px 0 0; }
body .mainland-vorteil > figure.mainland-vorteil-icon img { width: 40px; height: 40px; }
body .mainland-vorteil > .mainland-vorteil-text { flex: 1 1 auto; gap: 8px; }
body .mainland-vorteil-text > h3 { margin: 0; font-size: 20px; line-height: 26px; text-transform: uppercase; color: var(--ast-global-color-1); }
body .mainland-vorteil-text > p { margin: 0; }

/* MAINLAND: Unterzeile unter Ueberschrift (grau, etwas kleiner), Angebots-Karten, farbige Bereiche als Gruppe */
body .mainland-unterzeile { font-size: 0.912em; color: var(--ast-global-color-3); }
body .mainland-text.mainland-text > h2 + .mainland-unterzeile { margin-top: -10px; }
body .mainland-kachel.mainland-angebot figure.wp-block-image img { width: 100%; height: auto; border-radius: 15px; }
body .mainland-kachel.mainland-angebot { border-radius: 15px; }
body.page .entry-content > .wp-block-group.mainland-abschnitt.mainland-bereich { padding-left: 28px !important; padding-right: 28px !important; }
@media (max-width: 767px) { body.page .entry-content > .wp-block-group.mainland-abschnitt.mainland-bereich { padding-left: 18px !important; padding-right: 18px !important; } }

/* MAINLAND: Preiskarten (Immobilienbewertung) */
body .mainland-box.mainland-preiskarte { padding: 20px; border-radius: 20px; text-align: center; }
body .mainland-preiskopf { background: var(--ast-global-color-7); border-radius: 15px; padding: 10px; text-align: center; }
body .mainland-preiskopf.mainland-preiskopf-orange { background: var(--ast-global-color-0); }
body .mainland-preiskopf.mainland-preiskopf-orange :is(h2, p) { color: #ffffff; }
body .mainland-preiskopf .mainland-unterzeile { margin: 0; }
body h3.mainland-preis { font-size: 40px; line-height: 1.2; color: var(--ast-global-color-1); text-align: center; margin: 20px 0 0; }
body h3.mainland-preis.mainland-preis-orange { color: var(--ast-global-color-0); }
body .mainland-preiskarte > .mainland-unterzeile { color: var(--ast-global-color-1); text-align: center; }
body .mainland-preiskarte .wp-block-spectra-buttons { justify-content: center; }
body ul.mainland-checkliste.mainland-checkliste-blau { text-align: left; }
body ul.mainland-checkliste.mainland-checkliste-blau > li { font-weight: 400; font-size: 0.912em; padding-left: 36px; }
body ul.mainland-checkliste.mainland-checkliste-blau > li::before { width: 24px; height: 24px; border-radius: 50%; background: var(--ast-global-color-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z'/%3E%3C/svg%3E") no-repeat center / 12px 12px; }

/* MAINLAND: Kacheln 5 nebeneinander (Pluspunkte) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-kacheln-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 976px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-kacheln-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-kacheln-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body .mainland-pluspunkt { padding: 20px; gap: 14px; }
body .mainland-pluspunkt > p { margin: 0; text-align: center; font-size: 0.912em; }
body .mainland-pluspunkt > figure { margin: 0 auto; }
body .mainland-preiskopf.mainland-preiskopf { gap: 4px; }
body .mainland-preiskopf > * { margin: 0 !important; }
body .mainland-box.mainland-preiskarte { gap: 14px; }
body .mainland-preiskarte > h3.mainland-preis { margin-top: 10px !important; margin-bottom: 0 !important; }
body .mainland-preiskarte > h3.mainland-preis + .mainland-unterzeile { margin-top: -8px !important; }
/* Preiskarten gleich hoch, Button unten */
body .mainland-zweispaltig.mainland-zweispaltig:has(> .mainland-preiskarte) { align-items: stretch; }
body .mainland-preiskarte > .wp-block-spectra-buttons { margin-top: auto !important; }


/* MAINLAND: Zaehler (Spectra Counter in grauer Kachel) */
body .mainland-zaehler-karte { display: flex; flex-direction: column; justify-content: center; }
body .wp-block-spectra-counter.mainland-zaehler { text-align: center; color: var(--ast-global-color-1); }
body .mainland-zaehler .spectra-counter-child-wrapper { align-items: center; gap: 0; }
body .mainland-zaehler span.spectra-counter-number { display: inline-flex; }
body .mainland-zaehler .spectra-counter-number { font-size: 40px; font-weight: 400; line-height: 1.2; color: var(--ast-global-color-1); }
body .mainland-zaehler .wp-block-spectra-content { margin: 0; font-size: 18px; font-weight: 600; text-transform: uppercase; color: var(--ast-global-color-1); }
@media (max-width: 767px) { body .mainland-zaehler .wp-block-spectra-content { font-size: 16px; } }
/* MAINLAND: Slider und Galerie */
body .mainland-slider .wp-block-image { margin: 0 auto; }
body .mainland-slider .wp-block-image img { width: auto; max-width: 100%; height: auto; }
body .wp-block-gallery.mainland-galerie { gap: 20px; }
body .wp-block-gallery.mainland-galerie .wp-block-image { justify-content: center; align-items: center; }


/* ==== MAINLAND: Startseite (Oktober 2026) ==== */
/* Dunkelblauer Bereich (Hero, Statistik) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-bereich-dunkel { background: #0c2c74; border-radius: 15px; }
body .mainland-bereich-dunkel :is(h1, h2, h3, h4, p, li, a):not(.mainland-dachzeile) { color: #ffffff !important; }
body .mainland-bereich-dunkel .mainland-box :is(p, li) { color: #393939 !important; }
body .mainland-bereich-dunkel .mainland-box :is(h2, h3, h4), body .mainland-bereich-dunkel .mainland-box .mainland-zaehler * { color: var(--ast-global-color-1) !important; }
/* Sterne */
body p.mainland-sterne { margin: 0; font-size: 28px; line-height: 1.2; letter-spacing: 1px; }
body .mainland-text p.mainland-sterne.mainland-sterne { color: #f0ad4e !important; }
body .mainland-sterne-block { gap: 12px; }
body p.mainland-sterne-link { margin: 0; font-size: 15px; font-weight: 600; }
body p.mainland-sterne-link a { text-decoration: underline; }
/* Kacheln 3 je Zeile */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 0; }
@media (max-width: 976px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln-3 { grid-template-columns: 1fr; } }
/* Statistik-Karten */
body .mainland-kacheln-3 > .mainland-zaehler-karte { justify-content: flex-start; gap: 20px; border-radius: 15px; text-align: center; }
body .mainland-zaehler-karte > p.mainland-zaehler-text { margin: 0; text-align: center; }
body .mainland-zaehler-karte > p.mainland-sterne { margin-top: 20px; text-align: center; }
body .mainland-bereich-dunkel .mainland-zaehler-karte > p.mainland-sterne.mainland-sterne { color: var(--ast-global-color-1) !important; }
body .mainland-zaehler-karte > h3.mainland-zaehler-titel { margin: 0; font-size: 18px; line-height: 1.4; font-weight: 600; text-transform: uppercase; text-align: center; }
body .mainland-bereich-dunkel p.mainland-fussnote { margin: 0; font-size: 15px; }
/* Kurzfazit mit blauem Rand */
body .mainland-box.mainland-kurzfazit.mainland-kurzfazit-blau { border-left-color: #011381; }
/* Siegel-Reihe */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-siegel { display: flex; align-items: center; justify-content: center; padding: 20px; background: var(--ast-global-color-5); border: 2px solid #0c2c74; border-radius: 15px; }
body .mainland-siegel .wp-block-image { margin: 0; }
body .mainland-siegel img { display: block; max-width: 100%; height: auto; }
/* Leistungs- und Schritt-Karten */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-leistung { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 22px 16px; border: 2px solid #0c2c74; border-radius: 15px; background: var(--ast-global-color-5); }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-leistung.mainland-leistung-dunkel { background: var(--ast-global-color-7); }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-leistung.mainland-leistung-hervor { border-color: var(--ast-global-color-0); }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-leistung.mainland-leistung-schritt { background: transparent; border-color: var(--ast-global-color-0); position: relative; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-infobox.mainland-leistung::before { width: 40px; height: 40px; margin: 0 auto 18px; background-position: center; background-size: contain; background-repeat: no-repeat; flex-shrink: 0; }
body .mainland-infobox.mainland-leistung > :is(h2, h3, h4) { width: 100%; }
body .mainland-infobox.mainland-leistung > :is(h2, h3, h4)::after { display: none; }
body .mainland-infobox.mainland-leistung > :is(h2, h3, h4)::before { content: ""; display: block; width: 100px; height: 2px; margin: 0 auto 18px; background: var(--ast-global-color-0); }
body .mainland-infobox.mainland-leistung > p { margin: 10px 0 0; }
body .mainland-infobox.mainland-leistung > p.mainland-infobox-link { margin-top: auto; padding-top: 20px; }
body .mainland-infobox.mainland-leistung > p.mainland-infobox-link a { display: inline-block; padding: 12px; border-radius: 15px; background: var(--ast-global-color-1); color: #ffffff; font-size: 16px; font-weight: 600; line-height: 1.2; text-transform: uppercase; text-decoration: none; }
body .mainland-infobox.mainland-leistung > p.mainland-infobox-link a::after { display: none; }
body .mainland-infobox.mainland-leistung > p.mainland-infobox-link a:hover { background: var(--ast-global-color-0); color: var(--ast-global-color-8); }
body .mainland-leistung.mainland-icon-telefon::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ff9103' d='M18.92 351.2l108.5-46.52c12.78-5.531 27.77-1.801 36.45 8.98l44.09 53.82c69.25-34 125.5-90.31 159.5-159.5l-53.81-44.04c-10.75-8.781-14.41-23.69-8.974-36.47l46.51-108.5c6.094-13.91 21.1-21.52 35.79-18.11l100.8 23.25c14.25 3.25 24.22 15.8 24.22 30.46c0 252.3-205.2 457.5-457.5 457.5c-14.67 0-27.18-9.968-30.45-24.22l-23.25-100.8C-2.571 372.4 5.018 357.2 18.92 351.2z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-klemmbrett::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23ff9103' d='M336 64h-53.88C268.9 26.8 233.7 0 192 0S115.1 26.8 101.9 64H48C21.5 64 0 85.48 0 112v352C0 490.5 21.5 512 48 512h288c26.5 0 48-21.48 48-48v-352C384 85.48 362.5 64 336 64zM192 64c17.67 0 32 14.33 32 32s-14.33 32-32 32S160 113.7 160 96S174.3 64 192 64zM282.9 262.8l-88 112c-4.047 5.156-10.02 8.438-16.53 9.062C177.6 383.1 176.8 384 176 384c-5.703 0-11.25-2.031-15.62-5.781l-56-48c-10.06-8.625-11.22-23.78-2.594-33.84c8.609-10.06 23.77-11.22 33.84-2.594l36.98 31.69l72.52-92.28c8.188-10.44 23.3-12.22 33.7-4.062C289.3 237.3 291.1 252.4 282.9 262.8z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-haendedruck::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23ff9103' d='M334.6 217.4l-30 27.49C264 282.1 217.8 256.8 202.9 240.6C176 211.2 178.1 165.7 207.3 138.9L289.1 64H282.5C224.7 64 169.1 86.95 128.2 127.8L32 128.1c-17.6 0-32 14.39-32 31.98v159.8c0 17.59 14.4 32.04 31.1 32.04l114.3-.0604l90.5 81.82c27.5 22.37 67.75 18.11 90-9.255l18.12 15.25c15.88 12.1 39.38 10.5 52.38-5.369l31.38-38.6l5.374 4.498c13.75 11 33.88 9.002 45-4.748l9.576-11.83c11.08-13.7 8.979-33.75-4.701-44.86L334.6 217.4zM608 128.1l-96-.1257c-40.98-40.96-96.56-63.88-154.5-63.88L348.9 64c-8 0-15.62 3.197-21.62 8.568L229 162.3C228.9 162.5 228.8 162.7 228.8 162.7C212 178.5 212.4 203.3 226.6 218.7c9.625 10.5 35 21.62 56.13 2.75c0-.125 .25-.125 .375-.25l80-73.1c6.5-5.871 16.62-5.496 22.62 1s5.5 16.62-1 22.62l-26.12 23.87l145.6 118.1c12.12 9.992 19.5 23.49 22.12 37.98L608 351.7c17.6 0 32-14.38 32-31.98V160.1C640 142.4 625.7 128.1 608 128.1z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-haus::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23ff9103' d='M511.8 287.6L512.5 447.7C512.5 450.5 512.3 453.1 512 455.8V472C512 494.1 494.1 512 472 512H456C454.9 512 453.8 511.1 452.7 511.9C451.3 511.1 449.9 512 448.5 512H392C369.9 512 352 494.1 352 472V384C352 366.3 337.7 352 320 352H256C238.3 352 224 366.3 224 384V472C224 494.1 206.1 512 184 512H128.1C126.6 512 125.1 511.9 123.6 511.8C122.4 511.9 121.2 512 120 512H104C81.91 512 64 494.1 64 472V360C64 359.1 64.03 358.1 64.09 357.2V287.6H32.05C14.02 287.6 0 273.5 0 255.5C0 246.5 3.004 238.5 10.01 231.5L266.4 8.016C273.4 1.002 281.4 0 288.4 0C295.4 0 303.4 2.004 309.5 7.014L416 100.7V64C416 46.33 430.3 32 448 32H480C497.7 32 512 46.33 512 64V185L564.8 231.5C572.8 238.5 576.9 246.5 575.8 255.5C575.8 273.5 560.8 287.6 543.8 287.6L511.8 287.6z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-wohnung::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23ff9103' d='M336 0C362.5 0 384 21.49 384 48V232.2C344.9 264.5 320 313.3 320 368C320 417.5 340.4 462.2 373.3 494.2C364.5 505.1 351.1 512 336 512H240V432C240 405.5 218.5 384 192 384C165.5 384 144 405.5 144 432V512H48C21.49 512 0 490.5 0 464V48C0 21.49 21.49 0 48 0H336zM64 272C64 280.8 71.16 288 80 288H112C120.8 288 128 280.8 128 272V240C128 231.2 120.8 224 112 224H80C71.16 224 64 231.2 64 240V272zM176 224C167.2 224 160 231.2 160 240V272C160 280.8 167.2 288 176 288H208C216.8 288 224 280.8 224 272V240C224 231.2 216.8 224 208 224H176zM256 272C256 280.8 263.2 288 272 288H304C312.8 288 320 280.8 320 272V240C320 231.2 312.8 224 304 224H272C263.2 224 256 231.2 256 240V272zM80 96C71.16 96 64 103.2 64 112V144C64 152.8 71.16 160 80 160H112C120.8 160 128 152.8 128 144V112C128 103.2 120.8 96 112 96H80zM160 144C160 152.8 167.2 160 176 160H208C216.8 160 224 152.8 224 144V112C224 103.2 216.8 96 208 96H176C167.2 96 160 103.2 160 112V144zM272 96C263.2 96 256 103.2 256 112V144C256 152.8 263.2 160 272 160H304C312.8 160 320 152.8 320 144V112C320 103.2 312.8 96 304 96H272zM640 368C640 447.5 575.5 512 496 512C416.5 512 352 447.5 352 368C352 288.5 416.5 224 496 224C575.5 224 640 288.5 640 368zM540.7 324.7L480 385.4L451.3 356.7C445.1 350.4 434.9 350.4 428.7 356.7C422.4 362.9 422.4 373.1 428.7 379.3L468.7 419.3C474.9 425.6 485.1 425.6 491.3 419.3L563.3 347.3C569.6 341.1 569.6 330.9 563.3 324.7C557.1 318.4 546.9 318.4 540.7 324.7H540.7z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-schluessel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ff9103' d='M282.3 343.7L248.1 376.1C244.5 381.5 238.4 384 232 384H192V424C192 437.3 181.3 448 168 448H128V488C128 501.3 117.3 512 104 512H24C10.75 512 0 501.3 0 488V408C0 401.6 2.529 395.5 7.029 391L168.3 229.7C162.9 212.8 160 194.7 160 176C160 78.8 238.8 0 336 0C433.2 0 512 78.8 512 176C512 273.2 433.2 352 336 352C317.3 352 299.2 349.1 282.3 343.7zM376 176C398.1 176 416 158.1 416 136C416 113.9 398.1 96 376 96C353.9 96 336 113.9 336 136C336 158.1 353.9 176 376 176z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-waage::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23ff9103' d='M554.9 154.5c-17.62-35.25-68.12-35.38-85.87 0c-87 174.3-84.1 165.9-84.1 181.5c0 44.13 57.25 80 128 80s127.1-35.88 127.1-80C639.1 319.9 641.4 327.3 554.9 154.5zM439.1 320l71.96-144l72.17 144H439.1zM256 336c0-16.12 1.375-8.75-85.12-181.5c-17.62-35.25-68.12-35.38-85.87 0c-87 174.3-84.1 165.9-84.1 181.5c0 44.13 57.25 80 127.1 80S256 380.1 256 336zM127.9 176L200.1 320H55.96L127.9 176zM495.1 448h-143.1V153.3C375.5 143 393.1 121.8 398.4 96h113.6c17.67 0 31.1-14.33 31.1-32s-14.33-32-31.1-32h-128.4c-14.62-19.38-37.5-32-63.62-32S270.1 12.62 256.4 32H128C110.3 32 96 46.33 96 64S110.3 96 127.1 96h113.6c5.25 25.75 22.87 47 46.37 57.25V448H144c-26.51 0-48.01 21.49-48.01 48c0 8.836 7.165 16 16 16h416c8.836 0 16-7.164 16-16C544 469.5 522.5 448 495.1 448z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-haus-person::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23ff9103' d='M511.8 287.6L512.5 447.7C512.6 483.2 483.9 512 448.5 512H128.1C92.75 512 64.09 483.3 64.09 448V287.6H32.05C14.02 287.6 0 273.5 0 255.5C0 246.5 3.004 238.5 10.01 231.5L266.4 8.016C273.4 1.002 281.4 0 288.4 0C295.4 0 303.4 2.004 309.5 7.014L416 100.7V64C416 46.33 430.3 32 448 32H480C497.7 32 512 46.33 512 64V185L564.8 231.5C572.8 238.5 576.9 246.5 575.8 255.5C575.8 273.5 560.8 287.6 543.8 287.6L511.8 287.6zM288 288C323.3 288 352 259.3 352 224C352 188.7 323.3 160 288 160C252.7 160 224 188.7 224 224C224 259.3 252.7 288 288 288zM192 416H384C392.8 416 400 408.8 400 400C400 355.8 364.2 320 320 320H256C211.8 320 176 355.8 176 400C176 408.8 183.2 416 192 416z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-diagramm::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ff9103' d='M64 400C64 408.8 71.16 416 80 416H480C497.7 416 512 430.3 512 448C512 465.7 497.7 480 480 480H80C35.82 480 0 444.2 0 400V64C0 46.33 14.33 32 32 32C49.67 32 64 46.33 64 64V400zM342.6 278.6C330.1 291.1 309.9 291.1 297.4 278.6L240 221.3L150.6 310.6C138.1 323.1 117.9 323.1 105.4 310.6C92.88 298.1 92.88 277.9 105.4 265.4L217.4 153.4C229.9 140.9 250.1 140.9 262.6 153.4L320 210.7L425.4 105.4C437.9 92.88 458.1 92.88 470.6 105.4C483.1 117.9 483.1 138.1 470.6 150.6L342.6 278.6z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-person::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ff9103' d='M224 256c70.7 0 128-57.31 128-128s-57.3-128-128-128C153.3 0 96 57.31 96 128S153.3 256 224 256zM274.7 304H173.3C77.61 304 0 381.6 0 477.3c0 19.14 15.52 34.67 34.66 34.67h378.7C432.5 512 448 496.5 448 477.3C448 381.6 370.4 304 274.7 304z'/%3E%3C/svg%3E"); }
body .mainland-leistung.mainland-icon-gebaeude::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ff9103' d='M480 0C497.7 0 512 14.33 512 32C512 49.67 497.7 64 480 64V448C497.7 448 512 462.3 512 480C512 497.7 497.7 512 480 512H304V448H208V512H32C14.33 512 0 497.7 0 480C0 462.3 14.33 448 32 448V64C14.33 64 0 49.67 0 32C0 14.33 14.33 0 32 0H480zM112 96C103.2 96 96 103.2 96 112V144C96 152.8 103.2 160 112 160H144C152.8 160 160 152.8 160 144V112C160 103.2 152.8 96 144 96H112zM224 144C224 152.8 231.2 160 240 160H272C280.8 160 288 152.8 288 144V112C288 103.2 280.8 96 272 96H240C231.2 96 224 103.2 224 112V144zM368 96C359.2 96 352 103.2 352 112V144C352 152.8 359.2 160 368 160H400C408.8 160 416 152.8 416 144V112C416 103.2 408.8 96 400 96H368zM96 240C96 248.8 103.2 256 112 256H144C152.8 256 160 248.8 160 240V208C160 199.2 152.8 192 144 192H112C103.2 192 96 199.2 96 208V240zM240 192C231.2 192 224 199.2 224 208V240C224 248.8 231.2 256 240 256H272C280.8 256 288 248.8 288 240V208C288 199.2 280.8 192 272 192H240zM352 240C352 248.8 359.2 256 368 256H400C408.8 256 416 248.8 416 240V208C416 199.2 408.8 192 400 192H368C359.2 192 352 199.2 352 208V240zM256 288C211.2 288 173.5 318.7 162.1 360.2C159.7 373.1 170.7 384 184 384H328C341.3 384 352.3 373.1 349 360.2C338.5 318.7 300.8 288 256 288z'/%3E%3C/svg%3E"); }
/* Drei Schritte mit Pfeilen */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-schritte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 70px; padding: 0; }
body .mainland-schritte > .mainland-leistung-schritt:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -55px; width: 40px; height: 40px; transform: translateY(-50%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ff9103' d='M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM406.6 278.6l-103.1 103.1c-12.5 12.5-32.75 12.5-45.25 0s-12.5-32.75 0-45.25L306.8 288H128C110.3 288 96 273.7 96 256s14.31-32 32-32h178.8l-49.38-49.38c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l103.1 103.1C414.6 241.3 416 251.1 416 256C416 260.9 414.6 270.7 406.6 278.6z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 1100px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-schritte { grid-template-columns: 1fr; } body .mainland-schritte > .mainland-leistung-schritt::after { display: none; } }
/* Blog-Karten (Abfrage-Block) */
body .mainland-blogkarten .wp-block-post-template { gap: 20px; margin: 0; }
@media (min-width: 600px) and (max-width: 976px) { body .mainland-blogkarten .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body .mainland-blogkarten .wp-block-post { display: flex; flex-direction: column; margin: 0; padding: 20px; overflow: hidden; border-radius: 20px; background: var(--ast-global-color-7); }
body .mainland-blogkarten .wp-block-post-featured-image { margin: -20px -20px 15px; }
body .mainland-blogkarten .wp-block-post-featured-image img { display: block; width: 100%; border-radius: 0; object-fit: cover; }
body .mainland-blogkarten .wp-block-post-title { margin: 0 0 15px; font-size: 20px; line-height: 26px; font-weight: 600; text-transform: none; }
body .mainland-blogkarten .wp-block-post-title a { color: var(--ast-global-color-1); text-decoration: none; }
body .mainland-blogkarten .wp-block-read-more { margin-top: auto; align-self: flex-start; padding: 12px; border-radius: 15px; background: var(--ast-global-color-1); color: #ffffff; font-size: 16px; font-weight: 600; line-height: 1.2; text-transform: uppercase; text-decoration: none; }
body .mainland-blogkarten .wp-block-read-more:hover { background: var(--ast-global-color-0); color: var(--ast-global-color-8); }

/* Startseite Nachbesserung: Hero-Button linksbuendig, Siegel einheitlich gross, mehr Abstand unter Siegeln */
body .mainland-bereich-dunkel .wp-block-spectra-buttons.wp-block-spectra-buttons { justify-content: flex-start; }
body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-siegel-reihe { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 30px; }
@media (max-width: 767px) { body :is(.wp-block-spectra-container, .wp-block-group).mainland-kacheln.mainland-siegel-reihe { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body .mainland-siegel-reihe > .mainland-siegel { aspect-ratio: 1 / 1; padding: 16px; }
body .mainland-siegel-reihe > .mainland-siegel .wp-block-image { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body .mainland-siegel-reihe > .mainland-siegel img { width: 100%; height: 100%; max-width: 200px; max-height: 200px; object-fit: contain; }

/* MAINLAND: Blog-Uebersicht (Seite 29029) – Variante der Blog-Karten */
body .mainland-blogkarten.mainland-blogliste .wp-block-post { background: #ffffff; border: 1px solid var(--ast-global-color-7); border-radius: 6px; box-shadow: 0 50px 50px -46px rgba(0, 0, 0, .14); }
body .mainland-blogkarten.mainland-blogliste .wp-block-post-featured-image { margin-bottom: 18px; }
body .mainland-blogkarten.mainland-blogliste .wp-block-post-featured-image img { border-radius: 15px; }
body .mainland-blogkarten.mainland-blogliste .wp-block-post-title { margin: 0 0 20px; font-size: 17px; line-height: 1.5; }
body .mainland-blogkarten.mainland-blogliste .wp-block-read-more { padding: 10px 15px; font-size: 13px; text-transform: none; }
body .mainland-blogkarten.mainland-blogliste .wp-block-post-template { gap: 30px 20px; }

/* MAINLAND: Footer-Widgets (WordPress-Bloecke statt Spectra Legacy) */
body .site-footer p.mainland-footer-text { margin: 0; color: var(--ast-global-color-4); }
body .site-footer p.mainland-footer-text.mainland-footer-klein { font-size: 14px; line-height: 23.1px; }
body .site-footer p.mainland-footer-text a { color: var(--ast-global-color-4); text-decoration: none; }
body .site-footer p.mainland-footer-text a:hover { color: var(--ast-global-color-0); }
body .site-footer .mainland-footer-logo { margin: 0; }

/* MAINLAND: 404-Seite (Astra-Layout 31420) */
body .wp-block-group.mainland-404 { max-width: 1200px; margin: 0 auto; padding: 64px 24px; box-sizing: border-box; }
body .wp-block-group.mainland-404 > * { margin-top: 0; margin-bottom: 0; }
body .wp-block-group.mainland-404 > h1 { margin-bottom: 24px; color: var(--ast-global-color-1); }
body .wp-block-group.mainland-404 > .wp-block-image { margin-bottom: 20px; }
body .wp-block-group.mainland-404 img { border-radius: 15px; }
@media (max-width: 767px) { body .wp-block-group.mainland-404 { padding: 32px 16px; } }

/* MAINLAND: Google-Sterne (wiederverwendbarer Block 30767) immer gelb wie auf der Startseite */
body .wp-block-spectra-container[data-spectra-id='spectra-mainland-sterne'] > .mainland-sterne.mainland-sterne { color: #f0ad4e !important; }

/* MAINLAND: Gruene Link-Buttons (z. B. Bodenrichtwerte, externe Portale) */
body .wp-block-spectra-buttons.mainland-buttons-gruen { gap: 12px; }
body a.wp-block-spectra-button.mainland-button-gruen.mainland-button-gruen { background: #2e7d32; color: #ffffff; }
body a.wp-block-spectra-button.mainland-button-gruen.mainland-button-gruen:hover, body a.wp-block-spectra-button.mainland-button-gruen.mainland-button-gruen:focus { background: #1b5e20; color: #ffffff; }
body p.mainland-linkgruppe-titel { margin-top: 30px; }

/* MAINLAND: Bild in Spalte linksbuendig (statt mittig) */
body .mainland-zweispaltig figure.wp-block-image.mainland-bild-links { text-align: left; margin-left: 0; margin-right: auto; }

/* MAINLAND: abgerundete blaue Kaesten + Zielkarten (3 nebeneinander, Button unten) */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-box-blau.mainland-rund { border-radius: 15px; }
body .mainland-zielkarten > .mainland-box { justify-content: space-between; gap: 24px; padding: 36px 24px; }
body .mainland-zielkarten > .mainland-box > h3 { margin: 0; }
body .mainland-zielkarten .wp-block-spectra-buttons { margin-top: auto; }
@media (max-width: 767px) { body .mainland-zielkarten > .mainland-box { padding: 28px 18px; } }

/* MAINLAND: Hover einheitlich – blaue Buttons werden orange mit dunkler Schrift; orange Buttons behalten ihren bisherigen Hover (blau, orange Schrift) */
body a.wp-block-spectra-button.mainland-button-orange:hover, body a.wp-block-spectra-button.mainland-button-orange:focus { background: var(--ast-global-color-1); color: var(--ast-global-color-0); }

/* MAINLAND: einheitlicher Abstand vom letzten Inhalt zum Footer (Desktop 80 px, Handy 60 px) */
body .site-content .entry-content { padding-bottom: 80px; }
body .entry-content > :last-child:not(.mainland-box):not(.mainland-bereich) { padding-bottom: 0 !important; }
body .entry-content > :last-child { margin-bottom: 0 !important; }
body .entry-content > :last-child > :last-child,
body .entry-content > :last-child > :last-child > :last-child { margin-bottom: 0 !important; }
@media (max-width: 767px) { body .site-content .entry-content { padding-bottom: 60px; } }
html body .site-content .entry-content > .mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt.mainland-astra-abschnitt:last-child:not(.mainland-box):not(.mainland-bereich) { padding-bottom: 0 !important; }

/* ==== MAINLAND: einheitliche Abstaende auf Seiten (07.10.2026) ====
   Grundraster 20 px zwischen allen Elementen eines Textbereichs (Abstand nur noch ueber "gap", keine Einzel-Margins),
   vor Zwischenueberschriften mehr Luft: H2 60 px, H3 40 px, H4 32 px; vor/nach Bildern, Buttons, Kaesten, Tabellen 40 px.
   Handy: H2 50 px, H3 32 px, H4 28 px, Bilder/Buttons/Kaesten 32 px. Situationscheck (33070) ausgenommen. */
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text { row-gap: 20px; }

html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p, ul, ol, h1, h2, h3, h4, h5, h6, figure, .wp-block-image, .wp-block-table, .wp-block-buttons, .wp-block-spectra-buttons, .wp-block-embed, .wp-block-html) { margin-top: 0 !important; margin-bottom: 0 !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > .mainland-luft { margin-bottom: 0 !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-spectra-container, .wp-block-spectra-buttons, .wp-block-spectra-accordion, .wp-block-html, .wp-block-embed) + h2 { margin-top: 40px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-spectra-container, .wp-block-spectra-buttons, .wp-block-spectra-accordion, .wp-block-html, .wp-block-embed) + h3 { margin-top: 20px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-spectra-container, .wp-block-spectra-buttons, .wp-block-spectra-accordion, .wp-block-html, .wp-block-embed) + h4 { margin-top: 12px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol) + :is(.wp-block-spectra-buttons, .wp-block-buttons, figure, .wp-block-image, .wp-block-table, .wp-block-embed, .mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel, .wp-block-spectra-accordion) { margin-top: 20px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(.wp-block-spectra-buttons, .wp-block-buttons, figure, .wp-block-image, .wp-block-table, .wp-block-embed, .mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel, .wp-block-spectra-accordion) + :is(p, ul, ol) { margin-top: 20px !important; }
@media (max-width: 767px) {
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-spectra-container, .wp-block-spectra-buttons, .wp-block-spectra-accordion, .wp-block-html, .wp-block-embed) + h2 { margin-top: 30px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-spectra-container, .wp-block-spectra-buttons, .wp-block-spectra-accordion, .wp-block-html, .wp-block-embed) + h3 { margin-top: 12px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-spectra-container, .wp-block-spectra-buttons, .wp-block-spectra-accordion, .wp-block-html, .wp-block-embed) + h4 { margin-top: 8px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p:not(.mainland-dachzeile), ul, ol) + :is(.wp-block-spectra-buttons, .wp-block-buttons, figure, .wp-block-image, .wp-block-table, .wp-block-embed, .mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel, .wp-block-spectra-accordion) { margin-top: 12px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(.wp-block-spectra-buttons, .wp-block-buttons, figure, .wp-block-image, .wp-block-table, .wp-block-embed, .mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel, .wp-block-spectra-accordion) + :is(p, ul, ol) { margin-top: 12px !important; }
}

/* MAINLAND: Typografie-Abgleich (07.10.2026) */
/* Spectra-Stilvorlage "h3-blue-600-fliesstext-margin-20-oben" setzte Schriftstaerke 500 – einheitlich 600 wie alle Ueberschriften */
body .entry-content :is(h1, h2, h3, h4)[class*="h3-blue-600-fliesstext"][class*="h3-blue-600-fliesstext"] { font-weight: 600; }
/* Tabellen-Ueberschriften in Info-Tabellen wie normale H3 */
html body .entry-content .mli-tab-wrap h3 { font-size: 20px; line-height: 1.3; }
/* Checkliste Dachgeschossausbau: Schriftgroessen und Farben wie auf der restlichen Seite */
html body .entry-content .mainland-dg-checkliste.mainland-dg-checkliste .mi-header h2 { font-size: 30px; line-height: 1.3; font-weight: 600; }
html body .entry-content .mainland-dg-checkliste.mainland-dg-checkliste h3 { font-size: 20px; line-height: 1.3; font-weight: 600; color: var(--ast-global-color-1); }
html body .entry-content .mainland-dg-checkliste.mainland-dg-checkliste :is(p, li):not(.mi-header *) { font-size: 17px; color: var(--ast-global-color-2); }
@media (max-width: 767px) {
html body .entry-content .mli-tab-wrap h3, html body .entry-content .mainland-dg-checkliste.mainland-dg-checkliste h3 { font-size: 17.33px; }
html body .entry-content .mainland-dg-checkliste.mainland-dg-checkliste .mi-header h2 { font-size: 20.98px; }
html body .entry-content .mainland-dg-checkliste.mainland-dg-checkliste :is(p, li):not(.mi-header *) { font-size: 15.5px; }
}

/* ==== MAINLAND: FAQ farbig (07.10.2026) – hellgraue Karten, Frage in H1-Blau, Icon orange, offene Frage hellblau mit orangem Balken ==== */
body .wp-block-spectra-accordion.mainland-faq.mainland-faq { row-gap: 12px; gap: 12px; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq > .wp-block-spectra-accordion-child-item { background: var(--ast-global-color-5); border: 0; border-left: 4px solid transparent; border-radius: 12px; overflow: hidden; transition: background-color .2s ease, border-color .2s ease; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq > .wp-block-spectra-accordion-child-item.is-active { background: #eef1f9; border-left-color: var(--ast-global-color-0); }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header { padding: 16px 20px; gap: 14px; color: var(--ast-global-color-1); font-weight: 600; line-height: 1.45; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header:hover, body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header:focus-visible { color: var(--ast-global-color-1); background-color: #e9ecf5; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header:focus-visible { outline: 2px solid var(--ast-global-color-0); outline-offset: -2px; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header.is-active:hover { background-color: transparent; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq > .wp-block-spectra-accordion-child-item { row-gap: 0; gap: 0; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header-icon { color: var(--ast-global-color-0); flex: 0 0 auto; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header-icon svg { width: 16px; height: 16px; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-details { padding: 0 20px 18px 50px; color: var(--ast-global-color-2); }
@media (max-width: 767px) {
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-header { padding: 14px 16px; gap: 12px; }
body .wp-block-spectra-accordion.mainland-faq.mainland-faq .wp-block-spectra-accordion-child-details { padding: 0 16px 16px 16px; }
}

/* ==== MAINLAND: Abstands-Feinabgleich (07.10.2026) ==== */
/* Seiten: Tabellen wie andere grosse Elemente (40 px Abstand zum Text), Kasten auf Kasten 40 px */
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(table, .mli-tab-wrap, .wp-block-table) { margin-top: 0 !important; margin-bottom: 0 !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(table, .mli-tab-wrap) + :is(p, ul, ol), html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p, ul, ol) + :is(table, .mli-tab-wrap) { margin-top: 20px !important; }
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(.mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel) + :is(.mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel) { margin-top: 20px !important; }
/* Beitraege: Buttons wie Bilder und Kaesten mit 40 px (Handy 32 px) Abstand zum Text */
body.single-post .mainland-text.mainland-text > :is(p, ul, ol) + :is(.wp-block-spectra-buttons, .wp-block-buttons), body.single-post .mainland-text.mainland-text > :is(.wp-block-spectra-buttons, .wp-block-buttons) + :is(p, ul, ol) { margin-top: 40px; }
@media (max-width: 767px) {
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(table, .mli-tab-wrap) + :is(p, ul, ol), html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p, ul, ol) + :is(table, .mli-tab-wrap), html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(.mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel) + :is(.mainland-box, .mainland-kacheln, .mainland-kacheln-3, .mainland-zweispaltig, .mainland-zweidrittel) { margin-top: 12px !important; }
body.single-post .mainland-text.mainland-text > :is(p, ul, ol) + :is(.wp-block-spectra-buttons, .wp-block-buttons), body.single-post .mainland-text.mainland-text > :is(.wp-block-spectra-buttons, .wp-block-buttons) + :is(p, ul, ol) { margin-top: 32px; }
}

/* ==== MAINLAND: Vorlagen-Ergaenzungen (07.10.2026) ==== */
/* Kinder von Abschnitts-Containern duerfen schrumpfen (bisher je Seite per Spectra-Custom-CSS, jetzt zentral auch fuer neue Vorlagen) */
body .wp-block-spectra-container.mainland-text > * { min-width: 0; }
/* Objekt-Status-Buttons (nicht klickbar, ohne Pfeil, ohne Hover): Verkauft rot, Im Vorlauf orange, Reserviert dunkelgrau. Klasse mainland-button-status + mainland-button-verkauft / -vorlauf / -reserviert, ohne Link */
html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status, html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status:hover, html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status:focus { background: #d70303 !important; color: #ffffff !important; border-color: transparent !important; cursor: default; pointer-events: none; text-decoration: none; box-shadow: none; transform: none; }
html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status::after, html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status::before { content: none !important; display: none !important; }
html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status.mainland-button-vorlauf, html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status.mainland-button-vorlauf:hover { background: var(--ast-global-color-0) !important; }
html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status.mainland-button-reserviert, html body .entry-content a.wp-block-spectra-button.mainland-button-status.mainland-button-status.mainland-button-reserviert:hover { background: var(--ast-global-color-2) !important; }
/* Angebotskarten: Bilder einheitlich 3:2, Button immer unten in der Karte */
body .mainland-angebot.mainland-angebot figure.wp-block-image { width: 100%; }
body .mainland-angebot.mainland-angebot figure.wp-block-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
html body.page .entry-content .mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot > :is(.wp-block-spectra-buttons, .wp-block-buttons) { margin-top: auto !important; padding-top: 20px; }
@media (max-width: 767px) { html body.page .entry-content .mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot.mainland-angebot > :is(.wp-block-spectra-buttons, .wp-block-buttons) { padding-top: 12px; } }
/* Formulare (SureForms) wie andere grosse Elemente: 40 px (Handy 32 px) Abstand zum Text davor */
html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p, ul, ol, .wp-block-spectra-buttons, .wp-block-buttons) + .srfm-form-container { margin-top: 20px !important; }
@media (max-width: 767px) { html body.page:not(.page-id-33070) .entry-content :is(.wp-block-group, .wp-block-spectra-container).mainland-text.mainland-text > :is(p, ul, ol, .wp-block-spectra-buttons, .wp-block-buttons) + .srfm-form-container { margin-top: 12px !important; } }

/* ==== MAINLAND: Suchkartei-Aufruf (07.10.2026) – grauer Bereich, links Text und Button, rechts drei weisse Vorteil-Karten mit blauem Symbol ==== */
body .mainland-suchkartei.mainland-suchkartei .mainland-zweispaltig { gap: 48px; align-items: center; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt { position: relative; background: #ffffff; border-radius: 12px; padding: 20px 24px 20px 90px; display: flex; flex-direction: column; gap: 4px; min-height: 48px; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt::before { content: ""; position: absolute; left: 24px; top: 20px; width: 48px; height: 48px; border-radius: 50%; background-color: var(--ast-global-color-1); background-repeat: no-repeat; background-position: center; background-size: 24px 24px; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt.mainland-icon-glocke::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%208a6%206%200%200%201%2012%200c0%207%203%209%203%209H3s3-2%203-9'%2F%3E%3Cpath%20d%3D'M10.3%2021a1.94%201.94%200%200%200%203.4%200'%2F%3E%3C%2Fsvg%3E"); }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt.mainland-icon-haken::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%206%209%2017l-5-5'%2F%3E%3C%2Fsvg%3E"); }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt.mainland-icon-person::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M4%2021a8%208%200%200%201%2016%200'%2F%3E%3C%2Fsvg%3E"); }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt > * { margin: 0 !important; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt > h3 { font-size: 20px; line-height: 1.3; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkte { gap: 16px; }
@media (max-width: 767px) {
body .mainland-suchkartei.mainland-suchkartei .mainland-zweispaltig { gap: 32px; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt { padding: 18px 18px 18px 78px; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt::before { left: 16px; top: 18px; width: 44px; height: 44px; background-size: 22px 22px; }
body .mainland-suchkartei.mainland-suchkartei .mainland-suchkartei-punkt > h3 { font-size: 17.33px; }
}

/* ==== MAINLAND: Rand dunkelblau links mit Schatten (07.10.2026) – frei kombinierbar, z. B. Suchkartei. Klasse mainland-rand-blau ==== */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-rand-blau.mainland-rand-blau { border-left: 6px solid var(--ast-global-color-1); border-radius: 15px; box-shadow: 3px 8px 12px 0 rgba(0,0,0,.44); }

/* ==== MAINLAND: Footer-Feinschliff (07.10.2026) – Logo wie in der Kopfzeile (176 px), am Handy alles mittig, Seitenrand zwischen 977 und 1239 px ==== */
body .site-footer .mainland-footer-logo img { width: 176px !important; max-width: 100%; height: auto !important; }
/* Logos nie abrunden (die Grundregel rundet alle Bilder im Inhalt mit 15 px) */
html body .site-footer .wp-block-image.mainland-footer-logo img, html body .site-header img.custom-logo { border-radius: 0 !important; }
@media (max-width: 767px) {
  body .site-footer .mainland-footer-logo { display: flex; justify-content: center; }
  body .site-footer .footer-widget-area .menu { justify-content: center; }
}
@media (min-width: 977px) and (max-width: 1239px) {
  body .site-footer .site-primary-footer-wrap.ast-builder-grid-row-container, body .site-footer .site-below-footer-wrap.ast-builder-grid-row-container { padding-left: 24px; padding-right: 24px; }
}

/* Footer: linke Spalte (Logo, Anschrift, E-Mail, Telefon) buendig mit dem Seiteninhalt (Hauptseiten 24 px innen) */
@media (min-width: 1240px) { body .site-footer .site-primary-footer-wrap .site-footer-primary-section-1 { padding-left: 24px; } }

/* ==== MAINLAND: Feste Kennzahlen statt hochlaufender Zaehler (07.10.2026) – gleiche Optik wie zuvor der Spectra-Zaehler ==== */
body .mainland-zaehler-karte .mainland-zaehler-statisch.mainland-zaehler-statisch { display: flex; flex-direction: column; align-items: center; gap: 0; margin: 0; padding: 0; }
body .mainland-zaehler-karte .mainland-zaehler-statisch.mainland-zaehler-statisch > p { margin: 0 !important; color: var(--ast-global-color-1) !important; text-align: center; }
body .mainland-zaehler-karte .mainland-zaehler-statisch.mainland-zaehler-statisch > p.mainland-zaehler-zahl { font-size: 40px; line-height: 48px; font-weight: 400; padding-bottom: 9px; }
body .mainland-zaehler-karte .mainland-zaehler-statisch.mainland-zaehler-statisch > p.mainland-zaehler-titel { font-size: 18px; line-height: 1.65; font-weight: 600; text-transform: uppercase; }
@media (max-width: 767px) { body .mainland-zaehler-karte .mainland-zaehler-statisch.mainland-zaehler-statisch > p.mainland-zaehler-titel { font-size: 16px; } }

/* ==== MAINLAND: Sterne in Systemschrift (07.10.2026) – "★" liegt nicht im normalen Open-Sans-Paket; ohne diese Regel laedt der Browser fuer die Sterne ein zusaetzliches 26-KB-Schriftpaket ==== */
body .mainland-sterne.mainland-sterne, body .mainland-sterne.mainland-sterne *, body .mainland-stern.mainland-stern { font-family: system-ui, -apple-system, "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif !important; }


/* ==== MAINLAND: Download-Karten (Mustervorlagen, 07.10.2026) ==== */
body :is(.wp-block-spectra-container, .wp-block-group).mainland-downloads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 0; }
body .mainland-downloads > .mainland-download.mainland-download { display: flex; flex-direction: column; margin: 0; border-radius: 15px; }
html body .mainland-download.mainland-download.mainland-text > .mainland-download-info { margin-top: 8px !important; font-size: 0.88em; font-weight: 600; }
body .mainland-download .mainland-download-info::before { content: "PDF"; display: inline-block; margin-right: 10px; padding: 1px 8px; border-radius: 6px; background: var(--ast-global-color-0); color: #111111; font-size: 0.85em; font-weight: 700; letter-spacing: 0.04em; }
html body .mainland-download.mainland-download.mainland-text > :is(.wp-block-spectra-buttons, .wp-block-buttons) { margin-top: auto !important; padding-top: 24px; }
/* Download-Karten: Vorschaubild der ersten PDF-Seite */
html body .mainland-download.mainland-download.mainland-text > figure.wp-block-image.mainland-download-vorschau { margin: 16px 0 0 !important; align-self: flex-start; width: auto; max-width: 100%; text-align: left; }
html body .mainland-download.mainland-download.mainland-text > figure.wp-block-image.mainland-download-vorschau img { display: block; width: 150px; max-width: 100%; height: auto; max-height: none; margin: 0; border: 1px solid #dde1ea; border-radius: 6px; box-shadow: 0 4px 12px rgba(1, 19, 129, 0.12); }
html body .mainland-download.mainland-download.mainland-text > figure.wp-block-image.mainland-download-vorschau + * { margin-top: 16px !important; }
@media (max-width: 767px) {
html body .mainland-download.mainland-download.mainland-text > figure.wp-block-image.mainland-download-vorschau img { width: 130px; }
}
@media (max-width: 767px) {
body :is(.wp-block-spectra-container, .wp-block-group).mainland-downloads { grid-template-columns: 1fr; }
html body .mainland-download.mainland-download.mainland-text > :is(.wp-block-spectra-buttons, .wp-block-buttons) { padding-top: 20px; }
}

/* ==== MAINLAND: Startseiten-Banner Mustervorlagen (07.10.2026) ==== */
html body .mainland-mv-banner.mainland-mv-banner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr auto auto 1fr; grid-template-areas: ". bild" "text bild" "btn bild" ". bild"; column-gap: 40px; row-gap: 0; margin: 0; padding: 48px 56px; background: var(--ast-global-color-1); border-radius: 15px; overflow: hidden; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-text { grid-area: text; display: flex; flex-direction: column; gap: 16px; margin: 0; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-text > * { margin: 0 !important; padding: 0; }
html body .mainland-mv-banner.mainland-mv-banner .mainland-mv-dachzeile { color: var(--ast-global-color-0); font-size: 15px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.4; }
html body .mainland-mv-banner.mainland-mv-banner .mainland-mv-dachzeile::before { content: ""; display: block; width: 48px; height: 4px; margin-bottom: 16px; border-radius: 2px; background: var(--ast-global-color-0); }
html body .mainland-mv-banner.mainland-mv-banner h3 { color: #ffffff; font-size: 30px; line-height: 1.25; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-text > p:not(.mainland-mv-dachzeile) { color: #dfe4f5; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button { grid-area: btn; margin: 24px 0 0 !important; padding: 0; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button a.wp-block-spectra-button { background: var(--ast-global-color-0) !important; color: #111111 !important; font-weight: 700; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button a.wp-block-spectra-button:hover, html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button a.wp-block-spectra-button:focus { background: #ffffff !important; color: var(--ast-global-color-1) !important; }
html body .mainland-mv-banner.mainland-mv-banner > figure.mainland-mv-bild { grid-area: bild; align-self: center; margin: 0 !important; text-align: center; }
html body .mainland-mv-banner.mainland-mv-banner > figure.mainland-mv-bild img { display: block; width: 100%; max-width: 520px; height: auto; margin: 0 auto; border-radius: 0; box-shadow: none; }
@media (max-width: 921px) {
html body .mainland-mv-banner.mainland-mv-banner { column-gap: 24px; padding: 40px 32px; }
html body .mainland-mv-banner.mainland-mv-banner h3 { font-size: 25px; }
}
@media (max-width: 767px) {
html body .mainland-mv-banner.mainland-mv-banner { grid-template-columns: 1fr; grid-template-rows: auto auto auto; grid-template-areas: "text" "bild" "btn"; padding: 32px 22px; }
html body .mainland-mv-banner.mainland-mv-banner h3 { font-size: 21px; }
html body .mainland-mv-banner.mainland-mv-banner .mainland-mv-dachzeile { font-size: 13px; }
html body .mainland-mv-banner.mainland-mv-banner > figure.mainland-mv-bild { margin-top: 20px !important; }
html body .mainland-mv-banner.mainland-mv-banner > figure.mainland-mv-bild img { max-width: 340px; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button { margin-top: 16px !important; }
html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button, html body .mainland-mv-banner.mainland-mv-banner > .mainland-mv-button a.wp-block-spectra-button { width: 100%; justify-content: center; }
}

/* MAINLAND: Referenzen (Verkaufsseite) und Angebote/Zuletzt verkauft (Kaufen-Seite), 07.10.2026 */
body .mainland-angebot > .wp-block-image,
body .mainland-referenz > .wp-block-image { order: -1; margin: 0 0 4px; }
body .mainland-referenz { position: relative; border-radius: 15px; }
body .mainland-referenz > .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 15px; }
body .mainland-badge { position: absolute; top: 32px; left: 32px; z-index: 1; margin: 0 !important; padding: 5px 10px; border-radius: 99px; background: var(--ast-global-color-0); color: #0c2c74; font-size: 12px; line-height: 1.3; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
body .mainland-referenz > .mainland-referenz-art { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #4a4f5a; }
body .mainland-referenz > h3 { margin: 0; }
body .mainland-referenz > .mainland-referenz-ort { margin: 0; }
body .mainland-referenz > .mainland-referenz-dauer { margin-top: auto !important; padding-top: 12px; border-top: 1px solid #dcdfe6; display: flex; justify-content: space-between; gap: 8px; font-size: 15px; }
body .mainland-referenz > .mainland-referenz-dauer strong { color: var(--ast-global-color-6); }
body .mainland-angebot ul.wp-block-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
body .mainland-angebot ul.wp-block-list > li { margin: 0; padding: 4px 10px; border-radius: 99px; background: #ffffff; font-size: 14px; line-height: 1.4; }
body .mainland-angebot ul.wp-block-list > li::before { display: none; }
/* Kennzahlen ueber den Referenzen */
body .wp-block-group.mainland-kennzahlen { display: flex; flex-wrap: wrap; gap: 12px; }
body .wp-block-group.mainland-kennzahl { background: var(--ast-global-color-5); border-radius: 15px; padding: 16px 20px; min-width: 200px; gap: 2px; }
body .mainland-kennzahl > p { margin: 0; }
body .mainland-kennzahl > .mainland-kennzahl-wert { font-size: 30px; line-height: 1.2; font-weight: 800; color: var(--ast-global-color-6); }
body .mainland-kennzahl > .mainland-kennzahl-text { font-size: 14px; line-height: 1.4; color: #4a4f5a; }
/* Zuletzt verkauft: kompakte Zeilen, 3 nebeneinander */
body .wp-block-group.mainland-zuletzt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 976px) { body .wp-block-group.mainland-zuletzt { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body .wp-block-group.mainland-zuletzt { grid-template-columns: 1fr; } }
body .wp-block-group.mainland-referenz-kompakt { display: flex; flex-direction: row; align-items: stretch; gap: 0; padding: 0; overflow: hidden; background: var(--ast-global-color-5); border-radius: 15px; }
body .mainland-referenz-kompakt > .wp-block-image { flex: 0 0 116px; margin: 0; }
body .mainland-referenz-kompakt > .wp-block-image img { display: block; width: 116px; height: 100%; min-height: 104px; object-fit: cover; border-radius: 0; }
body .mainland-referenz-kompakt > .wp-block-group { padding: 12px 16px; gap: 4px; justify-content: center; min-width: 0; }
body .mainland-referenz-kompakt .mainland-badge { position: static; align-self: flex-start; font-size: 11px; padding: 3px 8px; }
body .mainland-referenz-kompakt p { margin: 0; }
body .mainland-referenz-kompakt .mainland-referenz-titel { font-weight: 700; color: var(--ast-global-color-6); font-size: 16px; line-height: 1.35; }
body .mainland-referenz-kompakt .mainland-referenz-ort { font-size: 14px; line-height: 1.4; color: #4a4f5a; }

/* MAINLAND: Referenzen Feinschliff */
html body .entry-content .wp-block-group.mainland-referenz.mainland-referenz { gap: 8px; }
html body .entry-content .mainland-referenz.mainland-referenz > h3 { margin-top: 0 !important; margin-bottom: 0 !important; }
html body .entry-content .mainland-referenz.mainland-referenz > p { margin-top: 0 !important; margin-bottom: 0 !important; }
html body .entry-content .mainland-referenz.mainland-referenz > .mainland-referenz-ort { margin-bottom: 8px !important; }
html body .entry-content .mainland-referenz.mainland-referenz > .mainland-referenz-dauer { margin-top: auto !important; flex-wrap: wrap; hyphens: none; -webkit-hyphens: none; font-size: 14px; }
body .mainland-referenz > .mainland-referenz-dauer strong { white-space: nowrap; }
body #referenzen { scroll-margin-top: 140px; }

/* MAINLAND: Angebotskarten wie Mockup (weiss, Plakette auf Bild, Titel + Ort, graue Eckdaten) */
html body .entry-content .wp-block-group.mainland-angebot.mainland-kachel { position: relative; background: #ffffff; border: 1px solid #dcdfe6; gap: 8px; }
html body .entry-content .mainland-angebot.mainland-kachel > * { margin-top: 0; margin-bottom: 0; }
html body .entry-content .mainland-angebot.mainland-kachel > .wp-block-image { margin-bottom: 8px; }
html body .entry-content .mainland-angebot.mainland-kachel > h3 { margin: 0; font-size: 21px; line-height: 1.3; font-weight: 700; }
html body .entry-content .mainland-angebot.mainland-kachel > .mainland-angebot-ort { margin: 0 0 8px; font-size: 16px; font-weight: 400; color: #4a4f5a; }
body .mainland-badge.mainland-badge-blau { background: var(--ast-global-color-6); color: #ffffff; }
html body .entry-content .mainland-angebot.mainland-kachel ul.wp-block-list > li { background: #e9ebef; color: #393939; font-weight: 600; font-size: 14px; }

/* ===== MAINLAND: Verkaufsseite Neugestaltung 07.10.2026 ===== */
/* Hinweis 07.10.2026 abends: .mainland-schritte und das Video unter .mainland-text auf Seite 8278 begrenzt – die Klasse mainland-schritte nutzt auch die Startseite (Zusammenarbeit-Schritte). Neue Bausteine bitte mit eindeutigen Klassennamen anlegen. */
body .mainland-flaeche-grau, body .mainland-hero-abschnitt { background: #f4f4f6; box-shadow: 0 0 0 100vmax #f4f4f6; clip-path: inset(0 -100vmax); padding-top: 56px !important; padding-bottom: 56px !important; }
body .mainland-cta-band { background: #0c2c74; box-shadow: 0 0 0 100vmax #0c2c74; clip-path: inset(0 -100vmax); padding-top: 48px !important; padding-bottom: 48px !important; }
body .mainland-cta-band h2, body .mainland-cta-band p { color: #ffffff !important; }
body .mainland-cta-band p { color: #dbe2f2 !important; }
body .wp-block-group.mainland-cta-inhalt { gap: 24px; }
body .wp-block-group.mainland-cta-text { flex: 1 1 480px; min-width: 0; gap: 8px; }
/* Hero */
body .wp-block-group.mainland-hero { gap: 40px; align-items: center; }
body .wp-block-group.mainland-hero-text { flex: 7 1 520px; min-width: 0; gap: 16px; }
body .wp-block-group.mainland-hero-bild { flex: 5 1 320px; min-width: 0; gap: 10px; }
body .mainland-hero-bild img { display: block; width: 100%; height: auto; border-radius: 20px; }
body .mainland-hero-bildtext { margin: 0; font-size: 14px; line-height: 1.45; color: #4a4f5a; text-align: center; }
html body .entry-content h1.mainland-hero-h1 { margin: 0; font-size: 38px; line-height: 1.25; color: var(--ast-global-color-6); }
body .mainland-hero-unterzeile { margin: 0; font-size: 19px; line-height: 1.6; }
body .mainland-hero-hinweis { margin: 0; font-size: 13px; color: #4a4f5a; }
body .wp-block-group.mainland-plaketten { gap: 10px; }
body .mainland-plakette { margin: 0; display: inline-flex; align-items: center; gap: 8px; background: #ffffff; border: 1px solid #dcdfe6; border-radius: 99px; padding: 7px 14px; font-size: 14px; line-height: 1.3; font-weight: 700; color: var(--ast-global-color-6); }
body .mainland-plakette-sterne::before { content: "★★★★★"; color: #b35f00; letter-spacing: 1px; }
/* Buttons */
body .mainland-btnreihe { gap: 12px; }
html body .entry-content a.wp-block-spectra-button.mainland-btn-orange, html body .entry-content .mainland-btn-orange a { background: var(--ast-global-color-0) !important; color: #0c2c74 !important; border: 2px solid var(--ast-global-color-0) !important; font-weight: 800; }
html body .entry-content a.wp-block-spectra-button.mainland-btn-kontur, html body .entry-content .mainland-btn-kontur a { background: #ffffff !important; color: #0c2c74 !important; border: 2px solid #0c2c74 !important; }
html body .entry-content a.wp-block-spectra-button.mainland-btn-kontur-weiss, html body .entry-content .mainland-btn-kontur-weiss a { background: transparent !important; color: #ffffff !important; border: 2px solid #ffffff !important; }
html body .entry-content a.wp-block-spectra-button.mainland-btn-blau, html body .entry-content .mainland-btn-blau a { background: #0c2c74 !important; color: #ffffff !important; border: 2px solid #0c2c74 !important; }
/* Kurzueberblick */
body .wp-block-group.mainland-kurz-raster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 8px; }
@media (max-width: 976px) { body .wp-block-group.mainland-kurz-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body .wp-block-group.mainland-kurz-raster { grid-template-columns: 1fr; } }
body .mainland-kurz-punkt { margin: 0 !important; display: flex; gap: 12px; align-items: flex-start; background: #ffffff; border: 1px solid #dcdfe6; border-top: 4px solid #0c2c74; border-radius: 14px; padding: 18px; font-size: 16px; line-height: 1.5; }
body .mainland-kurz-punkt::before { content: "✓"; flex: 0 0 26px; height: 26px; border-radius: 99px; background: var(--ast-global-color-0); color: #0c2c74; font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 14px; }
/* Marktwert */
body .wp-block-group.mainland-marktwert { gap: 40px; align-items: flex-start; }
body .mainland-marktwert > .wp-block-group.mainland-text { flex: 7 1 460px; min-width: 0; }
body .wp-block-group.mainland-bewertungskasten { flex: 5 1 320px; min-width: 0; background: #e6ecf6; border-radius: 20px; padding: 28px; gap: 8px; }
body .mainland-kastentitel { margin: 0; font-size: 18px; font-weight: 800; color: var(--ast-global-color-6); }
body ul.mainland-hakenliste { list-style: none; margin: 0; padding: 0; }
body ul.mainland-hakenliste > li { margin: 0; padding: 8px 0 8px 28px; border-top: 1px solid #c9d3e6; position: relative; font-size: 16px; line-height: 1.5; }
body ul.mainland-hakenliste > li::before { content: "✓"; position: absolute; left: 4px; top: 8px; color: #0c2c74; font-weight: 800; }
/* Ablauf */
body.page-id-8278 .wp-block-group.mainland-schritte { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 976px) { body.page-id-8278 .wp-block-group.mainland-schritte { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body.page-id-8278 .wp-block-group.mainland-schritte { grid-template-columns: 1fr; } }
body .wp-block-group.mainland-schritt { background: #ffffff; border-radius: 16px; border-top: 4px solid var(--ast-global-color-0); padding: 22px; gap: 10px; }
body .mainland-schritt > h3 { margin: 0 !important; font-size: 18px; line-height: 1.35; }
body .mainland-schritt > p { margin: 0; font-size: 15px; line-height: 1.55; }
body .mainland-schritt > .mainland-schritt-nr { width: 40px; height: 40px; border-radius: 99px; background: #0c2c74; color: #ffffff; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; }
body .mainland-flaeche-grau .wp-block-embed { max-width: 860px; margin: 24px auto 0; }
/* Vermarktung */
body .wp-block-group.mainland-vermarktung, body .wp-block-group.mainland-vorteile, body .wp-block-group.mainland-weiter { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 976px) { body .wp-block-group.mainland-vorteile { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body .wp-block-group.mainland-vermarktung, body .wp-block-group.mainland-vorteile, body .wp-block-group.mainland-weiter { grid-template-columns: 1fr; } }
body .wp-block-group.mainland-vm-karte { border: 1px solid #dcdfe6; border-radius: 16px; overflow: hidden; gap: 8px; padding-bottom: 20px; }
body .mainland-vm-karte > .wp-block-image { margin: 0 0 6px; }
body .mainland-vm-karte > .wp-block-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
body .mainland-vm-karte > :not(.wp-block-image) { margin: 0 20px !important; }
body .mainland-vm-karte > h3, body .mainland-vorteil-karte > h3, body .mainland-weiter-karte > h3 { font-size: 19px; line-height: 1.35; }
/* Vorteile */
body .wp-block-group.mainland-vorteil-karte { background: #f4f4f6; border-radius: 16px; padding: 24px; gap: 8px; }
body .wp-block-group.mainland-vorteil-karte::before { content: ""; width: 36px; height: 4px; border-radius: 99px; background: var(--ast-global-color-0); }
body .mainland-vorteil-karte > p, body .mainland-weiter-karte > p { margin: 0; font-size: 15px; line-height: 1.55; }
/* Orte + Weiter */
body ul.mainland-orte-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body ul.mainland-orte-chips > li { margin: 0; background: #f4f4f6; border-radius: 99px; padding: 6px 14px; font-size: 14px; font-weight: 600; }
body ul.mainland-orte-chips > li::before { display: none; }
body .wp-block-group.mainland-weiter { margin-top: 24px; }
body .wp-block-group.mainland-weiter-karte { border: 1px solid #dcdfe6; border-radius: 16px; padding: 24px; gap: 6px; }
body .mainland-weiter-karte h3 a { text-decoration: none; color: var(--ast-global-color-6); }
body .mainland-weiter-karte h3 a::after { content: " →"; }
/* Abschluss */
body .wp-block-group.mainland-abschluss { gap: 40px; align-items: flex-start; }
body .mainland-abschluss > .wp-block-group.mainland-text { flex: 5 1 380px; min-width: 0; }
body .wp-block-group.mainland-formularkasten { flex: 7 1 440px; min-width: 0; background: #ffffff; border-radius: 20px; padding: 28px; }
body #kontakt { scroll-margin-top: 140px; }
/* Sticky-Kontaktleiste mobil */
body .mainland-sticky-kontakt { display: none; }
@media (max-width: 767px) {
 body .mainland-sticky-kontakt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; background: #ffffff; padding: 10px 12px 14px; box-shadow: 0 -6px 18px rgba(12, 44, 116, 0.14); }
 body .mainland-sticky-kontakt a { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 10px; font-weight: 700; text-decoration: none; }
 body .mainland-sticky-kontakt .mainland-sticky-tel { border: 2px solid #0c2c74; color: #0c2c74; }
 body .mainland-sticky-kontakt .mainland-sticky-anfrage { background: #0c2c74; color: #ffffff; }
 body.page-id-8278 { padding-bottom: 76px; }
 html body .entry-content h1.mainland-hero-h1 { font-size: 27px; }
 body .mainland-hero-unterzeile { font-size: 17px; }
 body .mainland-hero-abschnitt .mainland-btnreihe a { width: 100%; justify-content: center; }
}

/* Verkaufsseite Feinschliff */
html body .entry-content .mainland-zweispaltig > .wp-block-group.mainland-formularkasten { padding: 28px !important; background: #ffffff; border-radius: 20px; }
html body .entry-content .mainland-zweispaltig > .wp-block-group.mainland-bewertungskasten { padding: 28px !important; }
html body .entry-content .mainland-hero-text > .spectra-is-root-container { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
@media (max-width: 767px) { html body .entry-content .mainland-zweispaltig > .wp-block-group.mainland-formularkasten, html body .entry-content .mainland-zweispaltig > .wp-block-group.mainland-bewertungskasten { padding: 20px !important; } }

@media (max-width: 767px) {
 html body .entry-content .mainland-sticky-kontakt a { width: 100%; justify-self: stretch; text-decoration: none !important; }
 html body .entry-content .mainland-hero-abschnitt .mainland-btnreihe a.wp-block-spectra-button { text-align: center; justify-content: center; }
}

/* ===== Verkaufsseite Runde 2: eingerueckte Kaesten statt seitenbreit ===== */
html body .mainland-flaeche-grau, html body .mainland-hero-abschnitt, html body .mainland-cta-band, html body .mainland-flaeche-blau { box-shadow: none !important; clip-path: none !important; border-radius: 20px; padding: 48px 40px !important; }
html body .mainland-flaeche-blau { background: #e6ecf6; }
@media (max-width: 767px) { html body .mainland-flaeche-grau, html body .mainland-hero-abschnitt, html body .mainland-cta-band, html body .mainland-flaeche-blau { border-radius: 14px; padding: 28px 16px !important; } }
/* Hero: Foto buendig mit H1, Plaketten einzeilig */
html body .wp-block-group.mainland-hero { align-items: flex-start; }
@media (min-width: 768px) { html body .wp-block-group.mainland-hero-bild { margin-top: 44px !important; } }
html body .mainland-plakette { white-space: nowrap; padding: 6px 12px; font-size: 13px; }
html body .wp-block-group.mainland-plaketten { gap: 8px; padding-top: 4px; }
html body .mainland-hero-text .mainland-btnreihe { margin-top: 8px; }
/* Abstand Hero zu Kurzpunkten */
html body .mainland-hero-abschnitt + * { margin-top: 40px !important; }
/* Vermarktung: Bilder 4:3, Expose-Foto oben, 360 enger zugeschnitten */
html body .mainland-vm-karte > .wp-block-image img { aspect-ratio: 4 / 3 !important; object-fit: cover; }
html body .mainland-vm-oben > .wp-block-image img { object-position: center 15%; }
html body .mainland-vm-360 > .wp-block-image { overflow: hidden; }
html body .mainland-vm-360 > .wp-block-image img { transform: scale(1.35); transform-origin: 50% 55%; }
/* Video unter den Vorteilen */
html body.page-id-8278 .mainland-text > .wp-block-embed { max-width: 860px; margin: 32px auto 0 !important; width: 100%; }
/* Kontaktperson mit Foto */
html body .wp-block-group.mainland-kontaktperson { gap: 16px; align-items: center; margin-top: 8px; }
html body .mainland-kontaktperson > .wp-block-image { flex: 0 0 96px; margin: 0; }
html body .mainland-kontaktperson > .wp-block-image img { width: 96px; height: 96px; border-radius: 99px; object-fit: cover; object-position: center 20%; }
html body .mainland-kontaktzeile { margin: 0; font-size: 15px; line-height: 1.6; }
/* Weiterfuehrend */
html body .mainland-flaeche-blau .mainland-weiter-karte { background: #ffffff; border-color: #ffffff; }
html body .mainland-flaeche-blau .wp-block-group.mainland-weiter { margin-top: 8px; }
/* Autor am Ende */
html body .mainland-autor-abschnitt { margin-top: 24px !important; }
/* Mobil: Schritte kompakt (Nummer links) */
@media (max-width: 767px) {
 html body .wp-block-group.mainland-schritt { display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; row-gap: 4px; padding: 16px; }
 html body .mainland-schritt > .mainland-schritt-nr { grid-row: 1 / span 2; }
 html body.page-id-8278 .wp-block-group.mainland-schritte { gap: 12px; }
 html body .wp-block-group.mainland-hero-bild { margin-top: 8px !important; }
 html body .mainland-hero-bild img { aspect-ratio: 4 / 3; object-fit: cover; }
 html body .mainland-plakette { white-space: normal; }
}

html body .entry-content .mainland-autor-abschnitt { margin-top: 24px !important; margin-bottom: 40px !important; padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
html body .entry-content .mainland-autor-abschnitt .spectra-is-root-container { margin: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }

/* Videokasten Verkaufsseite */
html body .mainland-video-kasten { background: #e6ecf6; border-radius: 20px; padding: 40px !important; }
html body .wp-block-group.mainland-video-raster { gap: 40px; align-items: center; }
html body .wp-block-group.mainland-video-text { flex: 5 1 300px; min-width: 0; gap: 10px; }
html body .wp-block-group.mainland-video-player { flex: 7 1 420px; min-width: 0; }
html body .mainland-video-player .wp-block-embed { margin: 0 !important; max-width: none; width: 100%; }
html body .mainland-video-player iframe, html body .mainland-video-player .wp-block-embed__wrapper { border-radius: 14px; overflow: hidden; }
html body .mainland-video-text > h3 { margin: 0 !important; font-size: 24px; line-height: 1.3; }
html body .mainland-video-text > p { margin: 0; }
@media (max-width: 767px) { html body .mainland-video-kasten { border-radius: 14px; padding: 24px 16px !important; } html body .wp-block-group.mainland-video-raster { gap: 20px; } }

/* Abstand zwischen eingerueckten Kaesten (nie direkt aneinander) */
html body .entry-content > :is(.mainland-flaeche-grau, .mainland-flaeche-blau, .mainland-cta-band, .mainland-video-kasten):not(:first-child) { margin-top: 56px !important; }
html body .entry-content > :is(.mainland-flaeche-grau, .mainland-flaeche-blau, .mainland-cta-band, .mainland-video-kasten) + * { margin-top: 56px !important; }
@media (max-width: 767px) { html body .entry-content > :is(.mainland-flaeche-grau, .mainland-flaeche-blau, .mainland-cta-band, .mainland-video-kasten):not(:first-child), html body .entry-content > :is(.mainland-flaeche-grau, .mainland-flaeche-blau, .mainland-cta-band, .mainland-video-kasten) + * { margin-top: 36px !important; } }

/* Runde 3 (07.10.2026): Absende-Button orange, Kontaktfoto, Portale, Auszeichnungen */
html body .srfm-submit-button.srfm-btn-frontend, html body .srfm-form-container button.srfm-submit-button { background: #ff9103 !important; border-color: #ff9103 !important; color: #0c2c74 !important; font-weight: 800 !important; }
html body .srfm-submit-button.srfm-btn-frontend:hover, html body .srfm-submit-button.srfm-btn-frontend:focus-visible { background: #e88300 !important; border-color: #e88300 !important; color: #0c2c74 !important; }
html body .mainland-kontaktperson > .wp-block-image { flex: 0 0 112px !important; width: 112px; height: 112px; overflow: hidden; border-radius: 16px; margin: 0; }
html body .mainland-kontaktperson > .wp-block-image img { width: 112px !important; height: 112px !important; border-radius: 0 !important; object-fit: cover; object-position: 50% 0 !important; transform: scale(1.4); transform-origin: 50% 0; }
html body .entry-content .wp-block-group.mainland-portale { margin-top: 36px; padding-top: 28px; border-top: 1px solid #e4e7ed; text-align: center; }
html body .mainland-portale-titel { margin: 0 0 18px !important; font-size: 15px; font-weight: 700; color: #0c2c74; }
html body .wp-block-group.mainland-portale-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 48px; }
html body .mainland-portale-logos .wp-block-image { margin: 0 !important; }
html body .mainland-portale-logos img { height: 34px !important; width: auto !important; max-width: 170px; object-fit: contain; border-radius: 0 !important; }
html body .wp-block-group.mainland-auszeichnungen { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px; margin: 4px 0 12px; }
html body .mainland-auszeichnungen .wp-block-image { margin: 0 !important; }
html body .mainland-auszeichnungen img { width: 120px !important; height: 120px !important; object-fit: contain; border-radius: 0 !important; }
@media (max-width: 600px) {
  html body .mainland-kontaktperson > .wp-block-image { flex-basis: 96px !important; width: 96px; height: 96px; }
  html body .mainland-kontaktperson > .wp-block-image img { width: 96px !important; height: 96px !important; }
  html body .wp-block-group.mainland-portale-logos { gap: 20px 32px; }
  html body .mainland-portale-logos img { height: 28px !important; }
  html body .wp-block-group.mainland-auszeichnungen { gap: 16px; }
  html body .mainland-auszeichnungen img { width: 92px !important; height: 92px !important; }
}


/* ==== MAINLAND: Hausseite – Lebenssituationen und Faktor-Karten (07.10.2026, Seite 8251) ==== */
/* Hero mit Hochformat-Porträt (Hausseite): quadratischer Ausschnitt, Gesicht oben */
html body .mainland-hero-bild.mainland-hero-portrait img { aspect-ratio: 1 / 1; height: auto !important; object-fit: cover; object-position: center 12%; }
html body .wp-block-group.mainland-situationen { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; margin-top: 12px !important; }
html body .mainland-situationen > .wp-block-group.mainland-situation-karte { grid-column: span 2; margin: 0 !important; background: #ffffff; border: 1px solid #dcdfe6; border-top: 4px solid var(--ast-global-color-0); border-radius: 16px; padding: 24px; gap: 10px; }
html body .mainland-situationen > .mainland-situation-karte:nth-child(4) { grid-column: 2 / span 2; }
html body .mainland-situation-karte > * { margin: 0 !important; }
html body .entry-content .mainland-situation-karte > h3 { font-size: 18px; line-height: 1.35; }
html body .mainland-situation-karte > p { font-size: 16px; line-height: 1.6; }
html body .wp-block-group.mainland-faktoren { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 4px !important; }
html body .mainland-faktoren > .wp-block-group.mainland-faktor-karte { margin: 0 !important; background: #ffffff; border: 2px solid var(--ast-global-color-0); border-radius: 16px; padding: 24px; gap: 10px; }
html body .mainland-faktor-karte > * { margin: 0 !important; }
html body .entry-content .mainland-faktor-karte > h3 { font-size: 18px; line-height: 1.35; }
html body .mainland-faktor-karte > p { font-size: 16px; line-height: 1.6; }
html body .entry-content p.mainland-faktoren-titel { margin-top: 40px !important; }
@media (max-width: 976px) {
html body .wp-block-group.mainland-situationen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body .mainland-situationen > .wp-block-group.mainland-situation-karte, html body .mainland-situationen > .mainland-situation-karte:nth-child(4) { grid-column: auto; }
html body .mainland-situationen > .mainland-situation-karte:nth-child(5) { grid-column: 1 / -1; }
html body .wp-block-group.mainland-faktoren { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
html body .wp-block-group.mainland-situationen { grid-template-columns: 1fr; }
html body .mainland-situationen > .mainland-situation-karte:nth-child(5) { grid-column: auto; }
html body .mainland-situationen > .wp-block-group.mainland-situation-karte, html body .mainland-faktoren > .wp-block-group.mainland-faktor-karte { padding: 20px; }
html body .entry-content p.mainland-faktoren-titel { margin-top: 32px !important; }
body.page-id-8251 { padding-bottom: 76px; }
}

/* ==== MAINLAND: Feinschliff 07.10.2026, 22:30 (Hausseite-Rückmeldung, gilt seitenübergreifend) ==== */
/* Abstand nach eingerückten Kästen auch dann, wenn Spectra ein <style> dazwischen setzt (vorher nur 40 px statt 96 px) */
html body .entry-content > :is(.mainland-flaeche-grau, .mainland-flaeche-blau, .mainland-cta-band, .mainland-video-kasten) + style + * { margin-top: 56px !important; }
@media (max-width: 767px) { html body .entry-content > :is(.mainland-flaeche-grau, .mainland-flaeche-blau, .mainland-cta-band, .mainland-video-kasten) + style + * { margin-top: 36px !important; } }
/* Hero: mehr Luft zwischen Unterzeile und Buttons */
html body .mainland-hero-text .mainland-btnreihe { margin-top: 24px; }
/* Hero-Porträt (Hausseite) rund 20 % kleiner, mittig */
html body .mainland-hero-bild.mainland-hero-portrait { align-self: center; }
html body .mainland-hero-bild.mainland-hero-portrait img { width: 80% !important; margin-left: auto; margin-right: auto; }
/* Einheitliche Schriftgröße: Karten- und Listentexte wie Fließtext (vorher 15–16 px) */
html body .mainland-kurz-punkt,
html body ul.mainland-hakenliste > li,
html body .mainland-situation-karte > p,
html body .mainland-faktor-karte > p,
html body .mainland-weiter-karte > p { font-size: inherit; line-height: 1.65; }

/* Überschriften ohne einzelnes Wort in der letzten Zeile (Text unverändert) */
html body .entry-content :is(h1, h2, h3) { text-wrap: balance; }
/* Hakenliste ohne Kastentitel: keine freie Linie über dem ersten Punkt */
html body .mainland-bewertungskasten > ul.mainland-hakenliste:first-child > li:first-child { border-top: 0; padding-top: 0; }
html body .mainland-bewertungskasten > ul.mainland-hakenliste:first-child > li:first-child::before { top: 0; }
/* Hausseite: alte Inline-Innenabstände an Absätzen neutralisieren (Text bündig mit Überschriften) */
body.page-id-8251 .entry-content .mainland-text p:not(.mainland-autor p):not(.mainland-badge) { padding-left: 0 !important; padding-right: 0 !important; }

/* Feinschliff 2 (07.10.2026, 22:35) */
/* „Worauf es … ankommt“: Kasten breiter, damit er niedriger wird */
html body .wp-block-group.mainland-marktwert.mainland-marktwert-breit > .wp-block-group.mainland-text { flex: 4 1 320px; }
html body .wp-block-group.mainland-marktwert.mainland-marktwert-breit > .wp-block-group.mainland-bewertungskasten { flex: 6 1 480px; }
/* Hausseite: Karten in zweispaltigen Abschnitten (Unterlagen, privat/mit Makler) wie der blaue Kasten */
body.page-id-8251 .entry-content .mainland-zweispaltig > .wp-block-group.mainland-box { padding: 28px !important; border-radius: 20px; }
@media (max-width: 767px) { body.page-id-8251 .entry-content .mainland-zweispaltig > .wp-block-group.mainland-box { padding: 20px !important; } }
/* Tabellen in Textabschnitten etwas größer */
html body .entry-content .mainland-text table :is(td, th) { font-size: 15px; }
@media (max-width: 767px) { html body .entry-content .mainland-text table :is(td, th) { font-size: 15.5px; } }
/* Plakette „Verkauft“ lesbarer */
html body .mainland-badge { font-size: 13px; letter-spacing: 0.06em; padding: 6px 14px !important; }
html body .mainland-referenz-kompakt .mainland-badge { font-size: 12.5px; letter-spacing: .04em; padding: 4px 10px !important; }
/* Hero-Button am Handy: passt nicht in eine Zeile, daher zwei gleich lange Zeilen */
@media (max-width: 767px) { html body .entry-content .mainland-hero-abschnitt .mainland-btnreihe a.wp-block-spectra-button { line-height: 1.3; } html body .entry-content .mainland-hero-abschnitt .mainland-btnreihe .spectra-button__link { display: block; text-wrap: balance; } }
@media (min-width: 922px) { html body .wp-block-group.mainland-marktwert.mainland-marktwert-breit > .wp-block-group { max-width: none !important; } }


/* ==== MAINLAND: Bewertungsseite 8269 – neue Bausteine (07.10.2026) ==== */
/* Vergleich Online-Rechner / Kurzgutachten / Verkehrswertgutachten: Desktop 3 Spalten mit gleich hohen Zeilen, Handy Karten */
html body .wp-block-group.mainland-vergleich { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; }
html body .mainland-vergleich > .wp-block-group.mainland-vg-karte { display: grid; grid-template-rows: subgrid; grid-row: span 8; gap: 0; margin: 0 !important; background: #ffffff; border: 1px solid #dcdfe6; border-radius: 16px; padding: 8px 24px 16px; }
html body .mainland-vergleich > .mainland-vg-karte.mainland-vg-empfohlen { border: 2px solid var(--ast-global-color-0); box-shadow: 0 10px 28px rgba(12, 44, 116, 0.10); }
html body .mainland-vg-karte > p { margin: 0 !important; }
html body .mainland-vg-karte > .mainland-vg-kopf { padding: 16px 0 14px; border-bottom: 2px solid #dcdfe6; font-size: 19px; line-height: 1.35; font-weight: 700; color: #0c2c74; }
html body .mainland-vg-empfohlen > .mainland-vg-kopf { border-bottom-color: var(--ast-global-color-0); }
html body .mainland-vg-karte > .mainland-vg-zeile { padding: 12px 0; border-bottom: 1px solid #e6eaf2; line-height: 1.55; }
html body .mainland-vg-karte > .mainland-vg-zeile:last-child { border-bottom: 0; }
html body .mainland-vg-label { display: block; margin-bottom: 2px; font-size: 13px; line-height: 1.3; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #5c6372; }
@media (max-width: 921px) { html body .wp-block-group.mainland-vergleich { grid-template-columns: minmax(0, 1fr); gap: 16px; } html body .mainland-vergleich > .wp-block-group.mainland-vg-karte { display: block; grid-row: auto; padding: 4px 20px 12px; } }
/* Preiskarten */
html body .wp-block-group.mainland-bw-preise { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
html body .mainland-bw-preise > .wp-block-group.mainland-bw-preiskarte { margin: 0 !important; background: #ffffff; border-radius: 16px; padding: 28px; gap: 12px; border-top: 4px solid var(--ast-global-color-6); }
html body .mainland-bw-preise > .mainland-bw-preiskarte.mainland-bw-preiskarte-orange { border-top-color: var(--ast-global-color-0); }
html body .mainland-bw-preiskarte > * { margin: 0 !important; }
html body .mainland-bw-preiskarte > .mainland-bw-preis { font-size: 18px; line-height: 1.3; color: #4a4f5a; }
html body .mainland-bw-preiskarte > .mainland-bw-preis strong { display: block; font-size: 38px; line-height: 1.15; font-weight: 800; color: var(--ast-global-color-6); }
html body .mainland-bw-preiskarte > .wp-block-spectra-buttons { margin-top: auto !important; padding-top: 8px; }
html body .mainland-bw-hinweis { font-size: 15px; line-height: 1.6; color: #4a4f5a; }
@media (max-width: 767px) { html body .wp-block-group.mainland-bw-preise { grid-template-columns: minmax(0, 1fr); } html body .mainland-bw-preise > .wp-block-group.mainland-bw-preiskarte { padding: 20px; } }
/* Ablauf in vier Schritten */
html body .wp-block-group.mainland-bw-schritte { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
html body .mainland-bw-schritte > .wp-block-group.mainland-bw-schritt { margin: 0 !important; background: #f4f4f6; border-top: 4px solid var(--ast-global-color-6); border-radius: 16px; padding: 24px; gap: 10px; }
html body .mainland-bw-schritt > * { margin: 0 !important; }
html body .entry-content .mainland-bw-schritt > h3 { font-size: 18px; line-height: 1.35; }
@media (max-width: 1100px) { html body .wp-block-group.mainland-bw-schritte { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { html body .wp-block-group.mainland-bw-schritte { grid-template-columns: minmax(0, 1fr); } html body .mainland-bw-schritte > .wp-block-group.mainland-bw-schritt { padding: 20px; } }
/* Kennzahlen Gutachterausschuss */
html body .wp-block-group.mainland-bw-zahlen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
html body .mainland-bw-zahlen > .wp-block-group.mainland-bw-zahl-karte { margin: 0 !important; background: #eef1f9; border-radius: 16px; padding: 24px; gap: 6px; }
html body .mainland-bw-zahl-karte > * { margin: 0 !important; }
html body .mainland-bw-zahl-karte > .mainland-bw-zahl { font-size: 32px; line-height: 1.2; font-weight: 800; color: var(--ast-global-color-6); }
html body .mainland-quelle { font-size: 13px; line-height: 1.5; color: #4a4f5a; }
@media (max-width: 921px) { html body .wp-block-group.mainland-bw-zahlen { grid-template-columns: minmax(0, 1fr); } }
/* Sachverständiger mit Foto und Partnerlogos */
html body .wp-block-group.mainland-bw-sv { gap: 40px; align-items: center; }
html body .mainland-bw-sv > .wp-block-group.mainland-text { flex: 7 1 460px; min-width: 0; }
html body .mainland-bw-sv > .wp-block-group.mainland-bw-sv-bild { flex: 5 1 300px; min-width: 0; }
html body .mainland-bw-sv-bild img { display: block; width: 100%; height: auto; border-radius: 20px; }
html body .mainland-bw-sv-bild figure { margin: 0; }
html body .wp-block-group.mainland-bw-partner { margin-top: 24px !important; padding-top: 32px; border-top: 1px solid #dcdfe6; gap: 12px; }
html body .mainland-bw-partner > * { margin: 0 !important; }
html body .wp-block-group.mainland-partnerlogos { gap: 48px; align-items: center; margin-top: 8px !important; }
html body .mainland-partnerlogos figure { margin: 0 !important; }
html body .mainland-partnerlogos img { display: block; height: 56px !important; width: auto !important; border-radius: 0 !important; }
@media (max-width: 767px) { html body .wp-block-group.mainland-partnerlogos { gap: 28px; } html body .mainland-partnerlogos img { height: 44px !important; } }
/* Unterlagen in drei Karten */
html body .wp-block-group.mainland-unterlagen-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
html body .mainland-unterlagen-raster > .wp-block-group.mainland-unterlagen-karte { margin: 0 !important; background: #f4f4f6; border-radius: 16px; padding: 24px; gap: 12px; }
html body .mainland-unterlagen-karte > * { margin: 0 !important; }
html body .entry-content .mainland-unterlagen-karte > h3 { font-size: 18px; line-height: 1.35; }
html body .mainland-unterlagen-karte ul.mainland-hakenliste > li:first-child { border-top: 0; }
@media (max-width: 921px) { html body .wp-block-group.mainland-unterlagen-raster { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { body.page-id-8269 { padding-bottom: 76px; } }
/* Hinweis zur Echtheit der Bewertungen (§ 5b Abs. 3 UWG), immer sichtbar */
html body .mainland-bewertungshinweis { margin-top: 12px !important; text-align: center; }

/* Bewertungsseite: Feinschliff nach UX-Prüfung (07.10.2026, 23:15) */
html body .wp-block-group.mainland-unterlagen-raster { align-items: stretch; }
html body .mainland-vergleich > .mainland-vg-karte.mainland-vg-empfohlen { background: #fff8ee; }
html body .mainland-vg-karte > .mainland-vg-kopf { text-wrap: balance; }
html body .wp-block-group.mainland-situationen { grid-auto-rows: 1fr; }
html body .mainland-bewertungshinweis { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) { html body .mainland-bewertungshinweis { margin-top: 4px !important; } }

/* Bewertungsseite: Unterlagen-Karten am Handy aufklappbar (erste offen), Desktop unverändert */
@media (max-width: 767px) {
  html body .entry-content .mainland-unterlagen-karte > h3 { cursor: pointer; position: relative; padding-right: 36px; font-size: 16px; }
  html body .entry-content .mainland-unterlagen-karte > h3::after { content: "–"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 99px; background: var(--ast-global-color-0); color: #ffffff; font-size: 20px; line-height: 28px; text-align: center; font-weight: 700; }
  html body .entry-content .mainland-unterlagen-karte.mainland-zu > h3::after { content: "+"; }
  html body .mainland-unterlagen-karte.mainland-zu > ul { display: none; }
}


/* ==== MAINLAND: Wohnungsseite 8246 – neue Bausteine (07.10.2026) ==== */
/* Hinweis-Kasten Verwalterzustimmung: oranger Balken links */
html body .wp-block-group.mainland-wo-hinweiskasten { background: #fff8ee; border-left: 6px solid var(--ast-global-color-0); border-radius: 0 16px 16px 0; padding: 32px; gap: 16px; }
html body .mainland-wo-hinweiskasten > * { margin: 0 !important; }
@media (max-width: 767px) { html body .wp-block-group.mainland-wo-hinweiskasten { padding: 20px; border-left-width: 5px; } }
/* Tabelle Medianpreise */
html body .wp-block-table.mainland-wo-tabelle { max-width: 800px; width: 100%; margin: 0 auto !important; }
html body .mainland-wo-tabelle table { border-collapse: collapse; width: 100%; border: 0; }
html body .mainland-wo-tabelle :is(th, td) { padding: 13px 14px; font-size: 16px; border: 0; border-bottom: 1px solid #dcdfe6; text-align: left; }
html body .mainland-wo-tabelle th { background: #0c2c74; color: #ffffff; font-weight: 700; }
html body .mainland-wo-tabelle :is(th, td):last-child { text-align: right; font-variant-numeric: tabular-nums; }
html body .mainland-wo-tabelle tbody tr:nth-child(even) td { background: #f4f4f6; }
html body .mainland-wo-tabelle figcaption { margin-top: 8px; font-size: 14px; color: #4a4f5a; text-align: left; }
/* Video-Kasten ohne Textspalte: Video mittig und breit */
html body .mainland-video-raster > .wp-block-group.mainland-wo-video { flex: 1 1 100%; max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) { body.page-id-8246 { padding-bottom: 76px; } }
@media (min-width: 922px) { html body .wp-block-group.mainland-kacheln.mainland-wo-referenzen { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Wohnungsseite: Karten „Vermietete Wohnung“ am Desktop als Zeilen (Titel links, Text rechts), damit keine Lücken entstehen */
@media (min-width: 1025px) { body.page-id-8246 .wp-block-group.mainland-faktoren { grid-template-columns: minmax(0, 1fr) !important; gap: 16px; } body.page-id-8246 .mainland-faktoren > .wp-block-group.mainland-faktor-karte { display: grid; grid-template-columns: 260px minmax(0, 1fr); column-gap: 32px; align-items: start; } }

/* ==== Lesbarkeit: Fließtext in Seitenabschnitten max. 936 px, ca. 90 Zeichen je Zeile (07.10.2026, 23:32, auf Wunsch um 20 % erhöht) ==== */
html body .entry-content .mainland-astra-abschnitt > p:not(.mainland-dachzeile):not(.mainland-quelle):not(.mainland-bewertungshinweis),
html body .entry-content .mainland-astra-abschnitt > ul:not(.mainland-orte-chips),
html body .entry-content .mainland-astra-abschnitt > ol,
html body .entry-content .mainland-wo-hinweiskasten > p { max-width: 936px; }

/* Wohnungsseite: „Vermietete Wohnung“ als nummerierte Liste (07.10.2026, 23:40) */
html body .wp-block-group.mainland-wo-liste { counter-reset: wopunkt; display: flex; flex-direction: column; gap: 0; max-width: 936px; }
html body .mainland-wo-liste > .wp-block-group.mainland-wo-punkt { counter-increment: wopunkt; position: relative; margin: 0 !important; padding: 24px 0 24px 64px; border-bottom: 1px solid #d5dbe8; gap: 8px; }
html body .mainland-wo-liste > .mainland-wo-punkt:first-child { padding-top: 8px; }
html body .mainland-wo-liste > .mainland-wo-punkt:last-child { border-bottom: 0; padding-bottom: 8px; }
html body .mainland-wo-liste > .mainland-wo-punkt::before { content: counter(wopunkt); position: absolute; left: 0; top: 22px; width: 40px; height: 40px; border-radius: 99px; background: var(--ast-global-color-0); color: #0c2c74; font-weight: 800; font-size: 18px; line-height: 40px; text-align: center; }
html body .mainland-wo-liste > .mainland-wo-punkt:first-child::before { top: 6px; }
html body .mainland-wo-punkt > * { margin: 0 !important; }
html body .entry-content .mainland-wo-punkt > h3 { font-size: 19px; line-height: 1.35; }
@media (max-width: 767px) { html body .mainland-wo-liste > .wp-block-group.mainland-wo-punkt { padding-left: 48px; } html body .mainland-wo-liste > .mainland-wo-punkt::before { width: 32px; height: 32px; line-height: 32px; font-size: 16px; } }

/* Kontaktbereich: linke Spalte (Text, Foto, Telefon, E-Mail) läuft am Desktop beim Scrollen neben dem Formular mit (07.10.2026, 23:38) */
@media (min-width: 922px) { html body .wp-block-group.mainland-zweispaltig.mainland-abschluss > .wp-block-group.mainland-text { position: sticky; top: 150px; align-self: flex-start; } }


/* ==== MAINLAND: Marktbericht 6100 – Datentabellen, Kennzahlen, Infobox (08.10.2026) ==== */
html body .wp-block-table.mainland-daten-tabelle { max-width: 936px; width: 100%; margin: 0 !important; overflow-x: auto; }
html body .mainland-daten-tabelle table { border-collapse: collapse; width: 100%; border: 0; }
html body .mainland-daten-tabelle table:has(th:nth-child(3)) { min-width: 420px; }
html body .mainland-daten-tabelle :is(th, td) { padding: 12px 14px; font-size: 16px; border: 0; border-bottom: 1px solid #dcdfe6; text-align: left; vertical-align: top; }
html body .mainland-daten-tabelle th { background: #0c2c74; color: #ffffff; font-weight: 700; }
html body .mainland-daten-tabelle :is(th, td):last-child { text-align: right; font-variant-numeric: tabular-nums; }
html body .mainland-daten-tabelle tbody tr:nth-child(even) td { background: #f4f4f6; }
@media (max-width: 767px) { html body .mainland-daten-tabelle :is(th, td) { font-size: 15px; padding: 10px; } }
html body .wp-block-group.mainland-mk-zahlen { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { html body .wp-block-group.mainland-mk-zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { html body .wp-block-group.mainland-mk-zahlen { grid-template-columns: minmax(0, 1fr); } }
html body .mainland-mk-zahlen .mainland-bw-zahl { font-size: 28px; }
html body .mainland-bw-zahl-karte > .mainland-quelle { margin-top: auto !important; padding-top: 6px; }
html body .wp-block-group.mainland-mk-infobox { background: #eef1f9; border-left: 6px solid var(--ast-global-color-6); border-radius: 0 16px 16px 0; padding: 24px 28px; gap: 8px; max-width: 936px; }
html body .mainland-mk-infobox > * { margin: 0 !important; }
html body .wp-block-group.mainland-mk-zwei { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
html body .mainland-mk-zwei > .wp-block-group.mainland-mk-kachel { margin: 0 !important; background: #ffffff; border: 1px solid #dcdfe6; border-top: 4px solid var(--ast-global-color-0); border-radius: 16px; padding: 24px; gap: 10px; }
html body .mainland-mk-kachel > * { margin: 0 !important; }
html body .mainland-mk-kachel > .mainland-quelle { margin-top: auto !important; }
@media (max-width: 767px) { html body .wp-block-group.mainland-mk-zwei { grid-template-columns: minmax(0, 1fr); } html body .mainland-mk-zwei > .wp-block-group.mainland-mk-kachel { padding: 20px; } }
html body .wp-block-group.mainland-weiter.mainland-weiter-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { html body .wp-block-group.mainland-weiter.mainland-weiter-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { html body .wp-block-group.mainland-weiter.mainland-weiter-4 { grid-template-columns: minmax(0, 1fr); } }
/* Hero mit Panoramabild (Marktbericht): Bild senkrecht mittig, nicht zuschneiden */
html body .wp-block-group.mainland-hero-bild.mainland-hero-panorama { align-self: center; margin-top: 0 !important; }
html body .mainland-hero-bild.mainland-hero-panorama img { aspect-ratio: auto !important; height: auto !important; }
/* Marktbericht: Feinschliff nach UX-Prüfung (08.10.2026, 00:15) */
@media (max-width: 480px) { html body .mainland-daten-tabelle table:has(th:nth-child(3)) { min-width: 0; } html body .mainland-daten-tabelle :is(th, td) { padding: 9px 8px; font-size: 14px; } html body .mainland-daten-tabelle table { table-layout: auto; } html body .mainland-daten-tabelle :is(th, td) { overflow-wrap: anywhere; hyphens: auto; } }
html body .entry-content .mainland-astra-abschnitt > .mainland-quelle { max-width: 936px; }
html body .entry-content .mainland-weiter-4 .mainland-weiter-karte > h3 { font-size: 16px; overflow-wrap: normal; hyphens: manual; }
html body .mainland-mk-zahlen .mainland-bw-zahl { font-size: 22px; white-space: nowrap; }
@media (max-width: 767px) { html body .mainland-mk-zahlen .mainland-bw-zahl { font-size: 26px; } }
html body .entry-content .mainland-astra-abschnitt > ul.wp-block-list:not(.mainland-orte-chips) > li + li { margin-top: 0.5em; }
html body .entry-content .mainland-astra-abschnitt > ul.wp-block-list ul { list-style: "– "; margin-top: 0.25em; padding-left: 18px; }


/* ==== MAINLAND: Objektkarten Kaufangebote (Seite 8281, 08.10.2026, Entwurf Designer) ==== */
html body .mainland-objekt-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; width: 100%; margin: 8px 0 0 !important; padding: 0; }
html body .mainland-objekt-raster .mainland-objekt { --objekt-innen: 28px; --objekt-rand: 10px; position: relative; display: flex; flex-direction: column; margin: 0 !important; padding: 0; background: #fff; border: 1px solid #dcdfe6; border-radius: 18px; box-shadow: 0 1px 2px rgba(12,44,116,.05), 0 18px 40px -28px rgba(12,44,116,.35); overflow: hidden; transition: border-color .25s ease, box-shadow .25s ease; }
html body .mainland-objekt-raster .mainland-objekt > * { max-width: none; margin: 0 var(--objekt-innen); }
html body .mainland-objekt-raster .mainland-objekt > .mainland-objekt-bild { margin: var(--objekt-rand) var(--objekt-rand) 0 !important; aspect-ratio: 3 / 2; border-radius: 12px; overflow: hidden; background: #e6ecf6; }
html body .mainland-objekt-raster .mainland-objekt-bild img { display: block; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; object-position: center; border-radius: 0 !important; transition: transform .6s cubic-bezier(.2,.6,.2,1); }
html body .mainland-objekt-raster .mainland-objekt > .mainland-objekt-status { position: absolute; top: calc(var(--objekt-rand) + 14px); left: calc(var(--objekt-rand) + 14px); z-index: 2; display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; padding: 7px 14px 7px 12px; background: rgba(255,255,255,.96); color: #0c2c74; font-size: 14px; font-weight: 600; line-height: 1.2; letter-spacing: .01em; border-radius: 999px; box-shadow: 0 2px 10px rgba(12,44,116,.18); pointer-events: none; }
html body .mainland-objekt-raster .mainland-objekt > .mainland-objekt-status::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: #ff9103; }
html body .entry-content .mainland-objekt-raster .mainland-objekt > .mainland-objekt-titel { margin: 26px var(--objekt-innen) 18px !important; color: #0c2c74; font-size: 20px; line-height: 1.3; letter-spacing: .03em; overflow-wrap: normal; hyphens: manual; }
html body .mainland-objekt-raster .mainland-objekt > ul.mainland-objekt-fakten { display: flex; flex-wrap: wrap; list-style: none; margin: 0 var(--objekt-innen) 20px !important; padding: 0; background: #eef1f9; border-radius: 12px; max-width: none; }
html body .mainland-objekt-raster .mainland-objekt-fakten > li { flex: 1 1 0; min-width: 120px; margin: 0 !important; padding: 14px 18px; color: #393939; font-size: 15px; line-height: 1.35; }
html body .mainland-objekt-raster .mainland-objekt-fakten > li::before { display: none; }
html body .mainland-objekt-raster .mainland-objekt-fakten > li + li { border-left: 1px solid rgba(12,44,116,.14); }
html body .mainland-objekt-raster .mainland-objekt-fakten strong { display: block; margin-bottom: 2px; color: #0c2c74; font-size: 21px; font-weight: 700; line-height: 1.25; white-space: nowrap; }
html body .mainland-objekt-raster .mainland-objekt > ul.mainland-objekt-merkmale { list-style: none; margin: 0 var(--objekt-innen) 26px !important; padding: 0; max-width: none; }
html body .mainland-objekt-raster .mainland-objekt-merkmale > li { position: relative; margin: 0 !important; padding-left: 22px; color: #393939; font-size: 17px; line-height: 1.5; }
html body .mainland-objekt-raster .mainland-objekt-merkmale > li + li { margin-top: 6px !important; }
html body .mainland-objekt-raster .mainland-objekt-merkmale > li::before { content: ""; position: absolute; left: 0; top: calc(.75em - 1px); width: 10px; height: 2px; border-radius: 2px; background: #011381; }
html body .mainland-objekt-raster .mainland-objekt > .mainland-objekt-aktion { position: static; margin: auto var(--objekt-innen) var(--objekt-innen) !important; padding-top: 0; }
html body .mainland-objekt-raster .mainland-objekt .mainland-objekt-aktion :is(.wp-block-button, .wp-block-spectra-button, a) { position: static; }
html body .mainland-objekt-raster .mainland-objekt .mainland-objekt-aktion a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 18px; }
@media (hover: hover) { html body .mainland-objekt-raster .mainland-objekt:hover { border-color: #b9c3dc; box-shadow: 0 1px 2px rgba(12,44,116,.06), 0 26px 50px -26px rgba(12,44,116,.45); } html body .mainland-objekt-raster .mainland-objekt:hover .mainland-objekt-bild img { transform: scale(1.035); } }
html body .mainland-objekt-raster .mainland-objekt:has(a:focus-visible) { outline: 3px solid #011381; outline-offset: 4px; }
html body .mainland-objekt-raster .mainland-objekt .mainland-objekt-aktion a:focus-visible { outline: 3px solid #0c2c74; outline-offset: 3px; }
@media (min-width: 768px) {
  html body .mainland-objekt-raster .mainland-objekt:last-child:nth-child(odd) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; }
  html body .mainland-objekt-raster .mainland-objekt:last-child:nth-child(odd) > .mainland-objekt-bild { grid-column: 1; grid-row: 1 / -1; aspect-ratio: auto; min-height: 340px; margin: var(--objekt-rand) !important; }
  html body .mainland-objekt-raster .mainland-objekt:last-child:nth-child(odd) > :not(.mainland-objekt-bild):not(.mainland-objekt-status) { grid-column: 2; }
  html body .entry-content .mainland-objekt-raster .mainland-objekt:last-child:nth-child(odd) > .mainland-objekt-titel { margin-top: 34px !important; }
  html body .mainland-objekt-raster .mainland-objekt:last-child:nth-child(odd) > .mainland-objekt-aktion { grid-row: 5; margin-top: 0 !important; }
}
@media (max-width: 1100px) { html body .mainland-objekt-raster { gap: 32px; } html body .mainland-objekt-raster .mainland-objekt { --objekt-innen: 24px; } }
@media (max-width: 921px) { html body .mainland-objekt-raster { gap: 24px; } html body .mainland-objekt-raster .mainland-objekt { --objekt-innen: 22px; --objekt-rand: 8px; } html body .entry-content .mainland-objekt-raster .mainland-objekt > .mainland-objekt-titel { font-size: 19px; } html body .mainland-objekt-raster .mainland-objekt-fakten strong { font-size: 19px; } html body .mainland-objekt-raster .mainland-objekt-fakten > li { padding: 12px 14px; } html body .mainland-objekt-raster .mainland-objekt-merkmale > li { font-size: 16px; } }
@media (max-width: 767px) { html body .mainland-objekt-raster { grid-template-columns: minmax(0, 1fr); gap: 24px; } html body .mainland-objekt-raster .mainland-objekt { --objekt-innen: 20px; } html body .mainland-objekt-raster .mainland-objekt > .mainland-objekt-status { font-size: 13.5px; } html body .entry-content .mainland-objekt-raster .mainland-objekt > .mainland-objekt-titel { margin-top: 22px !important; } html body .mainland-objekt-raster .mainland-objekt-fakten > li { font-size: 14.5px; } html body .mainland-objekt-raster .mainland-objekt-merkmale > li { font-size: 15.5px; } html body .mainland-objekt-raster .mainland-objekt .mainland-objekt-aktion a { display: flex; justify-content: center; width: 100%; } }
@media (prefers-reduced-motion: reduce) { html body .mainland-objekt-raster .mainland-objekt, html body .mainland-objekt-raster .mainland-objekt-bild img { transition: none; } html body .mainland-objekt-raster .mainland-objekt:hover .mainland-objekt-bild img { transform: none; } }
/* Kaufen-Seite: 3 Kurzpunkte, Nebenkosten-Tabelle */
html body .wp-block-group.mainland-kurz-raster.mainland-kurz-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 921px) { html body .wp-block-group.mainland-kurz-raster.mainland-kurz-3 { grid-template-columns: minmax(0, 1fr); } }
html body .mainland-kf-tabelle tbody tr:last-child td { background: #eef1f9 !important; border-bottom: 0; }
/* Kaufen-Seite: Feinschliff nach UX-Prüfung (08.10.2026, 00:40) */
@media (max-width: 767px) { html body .mainland-kf-tabelle table { table-layout: auto; } html body .mainland-kf-tabelle :is(td, th) { overflow-wrap: normal; word-break: normal; hyphens: auto; padding: 12px 10px; } html body .mainland-kf-tabelle :is(td, th) { font-size: 14px; } }
html body .entry-content .mainland-linkpfeil a { color: #0c2c74; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
html body .entry-content .mainland-linkpfeil a:hover { color: #ff9103; }
/* Nebenkosten-Tabelle am Handy als gestapelte Zeilen */
@media (max-width: 767px) {
  html body .mainland-kf-tabelle table, html body .mainland-kf-tabelle tbody { display: block; width: 100%; min-width: 0 !important; }
  html body .mainland-kf-tabelle thead { display: none; }
  html body .mainland-kf-tabelle tr { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #dcdfe6; }
  html body .mainland-kf-tabelle tbody tr:nth-child(even) td { background: transparent; }
  html body .mainland-kf-tabelle tbody tr:nth-child(even) { background: #f4f4f6; }
  html body .mainland-kf-tabelle tbody tr:last-child { background: #eef1f9; }
  html body .mainland-kf-tabelle td { border: 0 !important; padding: 6px 12px !important; font-size: 15px !important; text-align: left !important; white-space: normal; overflow-wrap: normal; }
  html body .mainland-kf-tabelle td:first-child { grid-column: 1 / -1; padding-top: 12px !important; font-weight: 600; color: #0c2c74; }
  html body .mainland-kf-tabelle td:nth-child(2)::before { content: "Anteil: "; color: #5c6372; }
  html body .mainland-kf-tabelle td:nth-child(3) { padding-bottom: 12px !important; }
  html body .mainland-kf-tabelle td:nth-child(2) { padding-bottom: 12px !important; }
  html body .mainland-kf-tabelle td:nth-child(3)::before { content: "bei 400.000 €: "; color: #5c6372; }
}
