/*
 Theme Name:   Open Mind Immobilien Child
 Theme URI:    https://openmind-immobilien.de/
 Description:  Child Theme — Corporate Design 2026
 Author:       Open Mind Immobilien
 Template:     bricks
 Version:      3.7
 Text Domain:  bricks-child
*/

/* =====================================================
   1) SELF-HOSTED FONTS — Raleway
   ===================================================== */
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 300; font-display: swap; src: url("./fonts/raleway-latin-300-normal.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: italic; font-weight: 300; font-display: swap; src: url("./fonts/raleway-latin-300-italic.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 400; font-display: swap; src: url("./fonts/raleway-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: italic; font-weight: 400; font-display: swap; src: url("./fonts/raleway-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 500; font-display: swap; src: url("./fonts/raleway-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: italic; font-weight: 500; font-display: swap; src: url("./fonts/raleway-latin-500-italic.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 600; font-display: swap; src: url("./fonts/raleway-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: italic; font-weight: 600; font-display: swap; src: url("./fonts/raleway-latin-600-italic.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 700; font-display: swap; src: url("./fonts/raleway-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Raleway"; font-style: italic; font-weight: 700; font-display: swap; src: url("./fonts/raleway-latin-700-italic.woff2") format("woff2"); }

/* =====================================================
   2) BRAND-TOKENS (CSS-Variablen)
   ===================================================== */
:root {
    /* Primärfarbe: Petrol */
    --om-petrol:       #005779;
    --om-petrol-dark:  #004a68;
    --om-petrol-light: #006e98;
    --om-petrol-bg:    #e8f3f8;

    /* Neutrale Töne */
    --om-black:        #0f0f0f;
    --om-white:        #ffffff;
    --om-grey-50:      #f8f8f8;
    --om-grey-100:     #f4f4f4;
    --om-grey-300:     #d9d9d9;
    --om-grey-500:     #9e9e9e;
    --om-grey-700:     #737373;
    --om-grey-900:     #212121;

    /* Semantisch */
    --om-text:         var(--om-black);
    --om-text-soft:    var(--om-grey-700);
    --om-text-muted:   var(--om-grey-500);
    --om-bg:           var(--om-white);
    --om-bg-soft:      var(--om-grey-100);
    --om-border:       var(--om-grey-300);
    --om-accent:       var(--om-petrol);

    /* Typografie */
    --om-font-body:    "Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;
    --om-font-display: "Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;

    /* Layout */
    --om-container: 1200px;
    --om-radius:    4px;
    --om-radius-lg: 8px;

    /* Schatten */
    --om-shadow-sm: 0 1px 2px rgba(0,87,121,0.06);
    --om-shadow-md: 0 4px 12px rgba(0,87,121,0.08);
    --om-shadow-lg: 0 12px 32px rgba(0,87,121,0.12);

    /* Rückwärtskompatibilität für expose.css */
    --om-navy:        var(--om-petrol);
    --om-blue:        var(--om-petrol);
    --om-blue-dark:   var(--om-petrol-dark);
    --om-blue-light:  var(--om-petrol-bg);
    --om-gold:        var(--om-petrol);
}

/* =====================================================
   3) GLOBALE BASISSTILE
   ===================================================== */
body {
    font-family: var(--om-font-body);
    color: var(--om-text);
    background: var(--om-bg);
    font-size: 17px;
    line-height: 1.6;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.brxe-heading {
    font-family: var(--om-font-display);
    color: var(--om-text);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.03em;
}

h1 { font-size: clamp(2.25rem, 1.5rem + 2.5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem); }
h3 { font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.875rem); }
h4 { font-size: 1.25rem; }

a { color: var(--om-petrol); text-decoration: none; }
a:hover { color: var(--om-petrol-dark); }

p { font-weight: 300; }

strong, b { font-weight: 600; }

/* Eyebrow-Text (kleine Zeile über Überschriften) */
.om-eyebrow {
    font-family: var(--om-font-body);
    font-weight: 300;
    font-size: 0.85rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--om-petrol);
}

/* Bricks-Container */
.brxe-container, .brxe-section > .brxe-container {
    max-width: var(--om-container);
}

/* Buttons Brand-Default */
.brxe-button,
.wp-block-button__link,
button.bricks-button {
    font-family: var(--om-font-body);
    font-weight: 600;
    letter-spacing: 0.05em;
    border-radius: var(--om-radius);
    padding: 0.75rem 1.75rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.brxe-button:hover,
.wp-block-button__link:hover {
    transform: translateY(-1px);
    box-shadow: var(--om-shadow-md);
}

/* Utility */
.om-container { max-width: var(--om-container); margin-inline: auto; padding-inline: 1.25rem; }

/* Staging-Kennzeichnung */
body.om-staging::before {
    content: "STAGING — nicht öffentlich";
    position: fixed; top: 0; left: 0; right: 0;
    background: #FFD400; color: var(--om-petrol);
    text-align: center; padding: 4px 0;
    font: 600 12px/1.2 var(--om-font-body);
    letter-spacing: 0.05em; z-index: 99999;
}

/* =====================================================
   4) LISTINGS & DETAIL — Sprint 2
   ===================================================== */

.omi-listings-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.omi-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
    align-items: center;
    padding: 1rem 1.25rem;
    background: var(--om-petrol-bg);
    border-radius: var(--om-radius-lg);
    margin-bottom: 2rem;
}

.omi-filter-label {
    font-size: .8rem;
    color: var(--om-text-soft);
    margin-right: .25rem;
}

.omi-filter-group {
    display: flex;
    align-items: center;
    gap: .375rem;
    flex-wrap: wrap;
}

.omi-filter-btn {
    background: var(--om-white);
    border: 1px solid var(--om-border);
    border-radius: 20px;
    padding: .35rem .85rem;
    font-size: .8rem;
    cursor: pointer;
    transition: all .15s;
    font-family: var(--om-font-body);
}
.omi-filter-btn.active,
.omi-filter-btn:hover {
    background: var(--om-petrol);
    border-color: var(--om-petrol);
    color: var(--om-white);
}

.omi-filter-select {
    border: 1px solid var(--om-border);
    border-radius: var(--om-radius);
    padding: .35rem .75rem;
    font-size: .8rem;
    background: var(--om-white);
    cursor: pointer;
    font-family: var(--om-font-body);
}

.omi-filter-reset {
    background: none;
    border: none;
    color: var(--om-petrol);
    font-size: .8rem;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    margin-left: auto;
    font-family: var(--om-font-body);
}

.omi-listings-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
}
@media (max-width: 1024px) { .omi-listings-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .omi-listings-grid { grid-template-columns: 1fr; } }

.omi-listings-loading,
.omi-listings-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1rem;
    color: var(--om-text-soft);
}

/* ---- Listing Card ---- */
.omi-listing-card {
    background: var(--om-white);
    border-radius: var(--om-radius-lg);
    overflow: hidden;
    box-shadow: var(--om-shadow-sm);
    border: 1px solid var(--om-border);
    transition: transform .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
}
.omi-listing-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--om-shadow-lg);
}
.omi-listing-sold { opacity: .75; }

.omi-card-img-wrap { display: block; aspect-ratio: 4/3; overflow: hidden; }
.omi-card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.omi-card-img-wrap:hover img { transform: scale(1.04); }

.omi-card-img-placeholder {
    background: var(--om-petrol);
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 4/3;
}
.omi-card-img-placeholder span {
    color: rgba(255,255,255,.5);
    font-size: 2rem;
    font-family: var(--om-font-body);
    font-weight: 700;
    letter-spacing: 0.1em;
}

.omi-card-body {
    padding: 1rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    flex: 1;
}
.omi-card-title { font-size: 1rem; font-weight: 600; margin: 0; line-height: 1.3; }
.omi-card-title a { color: inherit; text-decoration: none; }
.omi-card-title a:hover { color: var(--om-petrol); }
.omi-card-location { font-size: .8rem; color: var(--om-text-soft); margin: 0; }
.omi-card-facts { display: flex; gap: .75rem; font-size: .8rem; color: var(--om-text-soft); }
.omi-card-price { font-size: 1.1rem; font-weight: 700; color: var(--om-petrol); margin: 0; }
.omi-card-link { font-size: .85rem; color: var(--om-petrol); text-decoration: none; margin-top: auto; padding-top: .25rem; }
.omi-card-link:hover { text-decoration: underline; }

.omi-listings-pagination { text-align: center; margin: 2rem 0; }
.omi-load-more {
    background: var(--om-petrol);
    color: var(--om-white);
    border: none;
    padding: .75rem 2.5rem;
    border-radius: var(--om-radius);
    font-size: .95rem;
    font-family: var(--om-font-body);
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
}
.omi-load-more:hover { background: var(--om-petrol-dark); }

/* ---- Badges ---- */
.omi-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--om-radius);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.5;
}
.omi-badge-type    { background: var(--om-petrol-bg); color: var(--om-petrol); }
.omi-badge-sold    { background: var(--om-grey-500); color: var(--om-white); }
.omi-badge-active  { background: var(--om-petrol); color: var(--om-white); }

/* ---- Detail Page ---- */
.omi-detail-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 1rem 4rem;
}

.omi-gallery {
    border-radius: var(--om-radius-lg);
    overflow: hidden;
    margin-bottom: 2rem;
    max-height: 520px;
}
.omi-gallery img { width: 100%; height: 100%; object-fit: cover; max-height: 520px; }
.omi-gallery-placeholder {
    background: var(--om-petrol);
    height: 320px;
    border-radius: var(--om-radius-lg);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 2rem;
}
.omi-gallery-placeholder span {
    color: rgba(255,255,255,.4);
    font-size: 3rem;
    font-family: var(--om-font-body);
    font-weight: 700;
    letter-spacing: 0.1em;
}

.omi-detail-header { margin-bottom: 2rem; }
.omi-detail-badges { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }
.omi-detail-title { font-size: 1.8rem; font-weight: 700; margin: 0 0 .5rem; color: var(--om-text); }
.omi-detail-location { color: var(--om-text-soft); margin: 0; font-size: .95rem; }

/* ---- Key Facts ---- */
.omi-keyfacts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.omi-keyfact {
    background: var(--om-grey-100);
    border-radius: var(--om-radius-lg);
    padding: 1rem;
    text-align: center;
    display: flex; flex-direction: column; gap: .25rem;
}
.omi-keyfact .label { font-size: .7rem; color: var(--om-text-soft); text-transform: uppercase; letter-spacing: .08em; }
.omi-keyfact .value { font-size: 1.05rem; font-weight: 700; color: var(--om-petrol); }

/* ---- Sections ---- */
.omi-section { margin-bottom: 2.5rem; }
.omi-section h2 { font-size: 1.2rem; color: var(--om-text); margin-bottom: 1rem; border-bottom: 1px solid var(--om-border); padding-bottom: .5rem; }
.omi-text { line-height: 1.75; color: var(--om-text-soft); font-weight: 300; }
.omi-energy-notice { font-size: .75rem; color: var(--om-text-muted); margin-top: .75rem; }

/* ---- Agent Card ---- */
.omi-agent-card { background: var(--om-grey-100); border-radius: var(--om-radius-lg); padding: 1.5rem; }
.omi-agent-inner { display: flex; gap: 1.25rem; align-items: flex-start; }
.omi-agent-avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.omi-agent-info { display: flex; flex-direction: column; gap: .35rem; }
.omi-agent-info strong { font-size: 1.05rem; color: var(--om-text); font-weight: 700; }
.omi-agent-info a { color: var(--om-petrol); text-decoration: none; font-size: .9rem; }
.omi-agent-info a:hover { text-decoration: underline; }

/* ---- Expose Section ---- */
.omi-expose-section { background: var(--om-petrol); color: var(--om-white); border-radius: var(--om-radius-lg); padding: 1.5rem 2rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.omi-expose-note { margin: 0; flex: 1; font-size: .95rem; opacity: .9; }

/* ---- Buttons ---- */
.omi-btn {
    display: inline-block;
    padding: .7rem 1.75rem;
    border-radius: var(--om-radius);
    font-size: .95rem;
    font-weight: 600;
    font-family: var(--om-font-body);
    letter-spacing: 0.04em;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background .15s, transform .1s;
}
.omi-btn:hover { transform: translateY(-1px); }
.omi-btn-primary { background: var(--om-petrol); color: var(--om-white); }
.omi-btn-primary:hover { background: var(--om-petrol-dark); color: var(--om-white); }
.omi-btn-secondary { background: var(--om-white); color: var(--om-petrol); border: 1.5px solid var(--om-petrol); }
.omi-btn-secondary:hover { background: var(--om-petrol-bg); }
.omi-btn-outline { display: inline-block; border: 2px solid var(--om-petrol); color: var(--om-petrol); padding: 0.6rem 1.5rem; border-radius: var(--om-radius); text-decoration: none; font-weight: 600; font-family: var(--om-font-body); transition: background .15s; }
.omi-btn-outline:hover { background: var(--om-petrol); color: var(--om-white); }

/* ---- Contact Form ---- */
.omi-contact-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
@media (max-width: 640px) { .omi-contact-form { grid-template-columns: 1fr; } }

.omi-contact-form input,
.omi-contact-form textarea {
    border: 1.5px solid var(--om-border);
    border-radius: var(--om-radius);
    padding: .65rem .9rem;
    font-size: .95rem;
    font-family: var(--om-font-body);
    font-weight: 300;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s;
}
.omi-contact-form input:focus,
.omi-contact-form textarea:focus { border-color: var(--om-petrol); outline: none; box-shadow: 0 0 0 3px rgba(0,87,121,.1); }
.omi-contact-form textarea { grid-column: 1 / -1; resize: vertical; }
.omi-contact-form button { grid-column: 1 / -1; }

.omi-form-status { margin: 0; padding: .75rem 1rem; border-radius: var(--om-radius); font-size: .9rem; }
.omi-form-success { background: #e6f4ea; color: #2e7d32; }
.omi-form-error   { background: #fdecea; color: #c62828; }

.omi-error { color: var(--om-petrol); padding: 2rem; text-align: center; }

/* =====================================================
   5) STANDORT-SEITEN — Sprint 3
   ===================================================== */
.omi-standort-city, .omi-standort-bezirk { max-width: 1200px; margin: 0 auto; }
.omi-standort-section { margin-bottom: 3rem; }
.omi-standort-section__title { font-family: var(--om-font-display); font-size: 1.8rem; font-weight: 700; color: var(--om-text); margin-bottom: 0.5rem; }
.omi-standort-section__sub { color: var(--om-text-soft); margin-bottom: 1.5rem; }
.omi-bezirk-kacheln { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
@media (max-width: 768px) { .omi-bezirk-kacheln { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .omi-bezirk-kacheln { grid-template-columns: 1fr; } }
.omi-bezirk-kachel { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; background: var(--om-grey-100); border: 1px solid var(--om-border); border-radius: var(--om-radius-lg); text-decoration: none; color: var(--om-text); font-weight: 600; transition: background .2s, border-color .2s; }
.omi-bezirk-kachel:hover { background: var(--om-petrol-bg); border-color: var(--om-petrol); color: var(--om-petrol); }
.omi-bezirk-kachel__arrow { color: var(--om-petrol); font-size: 1.1rem; }
.omi-standort-cta { background: var(--om-petrol); color: var(--om-white); padding: 2.5rem 2rem; border-radius: var(--om-radius-lg); text-align: center; margin-top: 3rem; }
.omi-standort-cta h3 { font-family: var(--om-font-display); font-size: 1.6rem; margin-bottom: 0.75rem; font-weight: 700; }
.omi-standort-cta p { color: rgba(255,255,255,.75); margin-bottom: 1.5rem; }
.omi-agents-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.omi-agent-card-small { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; background: var(--om-grey-100); border-radius: var(--om-radius-lg); text-decoration: none; color: var(--om-text); }
.omi-agent-card-small:hover { background: var(--om-petrol-bg); }
.omi-agent-card-small strong { display: block; font-size: 0.9rem; font-weight: 600; }
.omi-agent-card-small p { font-size: 0.8rem; color: var(--om-text-soft); margin: 0; }
.omi-initials-small { width: 48px; height: 48px; border-radius: 50%; background: var(--om-petrol); color: var(--om-white); display: flex; align-items: center; justify-content: center; font-family: var(--om-font-body); font-size: 1.1rem; font-weight: 700; flex-shrink: 0; }
.omi-standort-check__list { display: flex; flex-direction: column; gap: 0.5rem; }
.omi-standort-check__item { border: 1px solid var(--om-border); border-radius: var(--om-radius-lg); overflow: hidden; }
.omi-check--positive { border-color: #c6f0d0; }
.omi-check--warning  { border-color: #ffd9b3; }
.omi-check--neutral  { border-color: var(--om-border); }
.omi-standort-check__summary { display: flex; align-items: center; gap: 0.75rem; padding: 0.875rem 1rem; cursor: pointer; list-style: none; background: var(--om-grey-100); }
.omi-check--positive .omi-standort-check__summary { background: #f0faf3; }
.omi-check--warning .omi-standort-check__summary { background: #fff8f0; }
.omi-standort-check__summary::-webkit-details-marker { display: none; }
.omi-check__icon { font-size: 1.1rem; flex-shrink: 0; }
.omi-check__label { flex: 1; font-weight: 600; color: var(--om-text); font-size: 0.9rem; }
.omi-check__value { color: var(--om-text-soft); font-size: 0.85rem; text-align: right; max-width: 200px; }
.omi-standort-check__body { padding: 1rem; font-size: 0.875rem; color: var(--om-text-soft); background: var(--om-white); }
.omi-check__source { display: inline-block; margin-top: 0.5rem; color: var(--om-petrol); text-decoration: none; font-weight: 600; font-size: 0.8rem; }
.omi-check__disclaimer { font-size: 0.75rem; color: var(--om-text-muted); margin-top: 1rem; }
.omi-loading-small { color: var(--om-text-muted); font-size: 0.875rem; padding: 1rem 0; }

/* =====================================================
   6) FUNNELS & CONTENT — Sprint 4
   ===================================================== */

/* Bewertungsformular */
.omi-bewerten-wrap { max-width: 680px; margin: 0 auto; }
.omi-step-indicator { display: flex; align-items: center; margin-bottom: 2rem; }
.omi-step-dot { width: 36px; height: 36px; border-radius: 50%; background: var(--om-grey-300); color: var(--om-text-soft); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.9rem; flex-shrink: 0; transition: background 0.2s, color 0.2s; }
.omi-step-dot--active { background: var(--om-petrol); color: var(--om-white); }
.omi-step-line { flex: 1; height: 2px; background: var(--om-border); margin: 0 0.5rem; }
.omi-form-step__title { color: var(--om-text); font-family: var(--om-font-display); font-size: 1.5rem; font-weight: 700; margin-bottom: 1.5rem; }
.omi-label { font-weight: 600; color: var(--om-text); display: block; margin-bottom: 0.4rem; font-size: 0.95rem; }
.omi-input { width: 100%; padding: 0.65rem 0.75rem; border: 1.5px solid var(--om-border); border-radius: var(--om-radius); font-size: 0.95rem; font-family: var(--om-font-body); font-weight: 300; background: var(--om-white); box-sizing: border-box; transition: border-color 0.2s; }
.omi-input:focus { outline: none; border-color: var(--om-petrol); box-shadow: 0 0 0 3px rgba(0,87,121,.1); }
.omi-input--suffix { padding-right: 2.75rem; }
.omi-input-suffix-wrap { position: relative; }
.omi-input-suffix { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--om-text-muted); pointer-events: none; font-size: 0.9rem; }
.omi-field-group { margin-bottom: 1.25rem; }
.omi-field-group--narrow { max-width: 120px; }
.omi-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 480px) { .omi-form-row { grid-template-columns: 1fr; } .omi-field-group--narrow { max-width: 100%; } }

.omi-prop-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
.omi-prop-type-label { border: 2px solid var(--om-border); border-radius: var(--om-radius-lg); padding: 0.875rem 0.75rem; cursor: pointer; text-align: center; transition: border-color 0.2s, background 0.2s; font-size: 0.9rem; display: flex; flex-direction: column; align-items: center; gap: 0.25rem; font-family: var(--om-font-body); }
.omi-prop-type-label:has(input:checked) { border-color: var(--om-petrol); background: var(--om-petrol-bg); }
.omi-prop-type-label input { position: absolute; opacity: 0; width: 0; height: 0; }
.omi-ptyp-icon { font-size: 1.5rem; line-height: 1; }

.omi-btn--full { width: 100%; padding: 0.875rem; font-size: 1rem; }
.omi-btn--flex { flex: 1; padding: 0.875rem; font-size: 1rem; }
.omi-form-actions { display: flex; gap: 0.75rem; margin-top: 0.5rem; }
.omi-form-error { color: #c62828; font-size: 0.9rem; margin-bottom: 0.75rem; padding: 0.5rem 0.75rem; background: #fff0f0; border-radius: var(--om-radius); border-left: 3px solid #c62828; }
.omi-checkbox-label { display: flex; align-items: flex-start; gap: 0.6rem; cursor: pointer; font-size: 0.875rem; color: var(--om-text-soft); line-height: 1.5; font-weight: 300; }
.omi-checkbox-label input { margin-top: 0.2rem; flex-shrink: 0; accent-color: var(--om-petrol); }
.omi-checkbox-label a { color: var(--om-petrol); }
.omi-form-success-state { text-align: center; padding: 3rem 1rem; }
.omi-form-success-state .omi-form-success__icon { font-size: 3.5rem; margin-bottom: 1rem; }
.omi-form-success-state h3 { color: var(--om-text); font-family: var(--om-font-display); font-size: 1.8rem; margin-bottom: 0.75rem; font-weight: 700; }
.omi-form-success-state p { color: var(--om-text-soft); max-width: 420px; margin: 0 auto; }

/* Prozess-Steps */
.omi-process-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .omi-process-steps { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .omi-process-steps { grid-template-columns: 1fr; } }
.omi-process-step { text-align: center; }
.omi-process-step__num { width: 48px; height: 48px; border-radius: 50%; background: var(--om-petrol); color: var(--om-white); display: flex; align-items: center; justify-content: center; font-family: var(--om-font-body); font-size: 1.25rem; font-weight: 700; margin: 0 auto 0.75rem; }
.omi-process-step__title { font-weight: 700; font-size: 0.9rem; color: var(--om-text); margin-bottom: 0.35rem; }
.omi-process-step__text { font-size: 0.82rem; color: var(--om-text-soft); line-height: 1.5; font-weight: 300; }

/* USP-Kacheln */
.omi-usp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 768px) { .omi-usp-grid { grid-template-columns: 1fr; } }
.omi-usp-card { background: var(--om-grey-100); border-radius: var(--om-radius-lg); padding: 1.5rem; border: 1px solid var(--om-border); }
.omi-usp-card__icon { font-size: 2rem; margin-bottom: 0.75rem; }
.omi-usp-card__title { font-weight: 700; color: var(--om-text); font-size: 1rem; margin-bottom: 0.5rem; }
.omi-usp-card p { font-size: 0.875rem; color: var(--om-text-soft); line-height: 1.6; margin: 0; font-weight: 300; }

/* Landingpage sections */
.omi-lp-section { margin: 3rem 0; }
.omi-lp-section__title { color: var(--om-text); font-family: var(--om-font-display); font-size: 1.6rem; margin-bottom: 1.5rem; font-weight: 700; }
.omi-lp-cta-section { text-align: center; padding: 3rem 2rem; background: var(--om-petrol); border-radius: var(--om-radius-lg); margin: 2.5rem 0; color: var(--om-white); }
.omi-lp-cta-section h2 { color: var(--om-white); margin-bottom: 0.75rem; font-family: var(--om-font-display); font-size: 1.6rem; font-weight: 700; }
.omi-lp-cta-section p { color: rgba(255,255,255,.8); max-width: 520px; margin: 0 auto 1.5rem; font-weight: 300; }
.omi-lp-cta-section .omi-btn-primary { background: var(--om-white); color: var(--om-petrol); }
.omi-lp-cta-section .omi-btn-primary:hover { background: var(--om-petrol-bg); color: var(--om-petrol); }

/* FAQ */
.omi-faq__heading { color: var(--om-text); font-family: var(--om-font-display); font-size: 1.5rem; margin-bottom: 1.25rem; font-weight: 700; }
.omi-faq__list { border-top: 1px solid var(--om-border); }
.omi-faq__item { border-bottom: 1px solid var(--om-border); }
.omi-faq__question { padding: 1rem 0; cursor: pointer; font-weight: 600; color: var(--om-text); list-style: none; display: flex; justify-content: space-between; align-items: center; font-size: 0.95rem; }
.omi-faq__question::-webkit-details-marker { display: none; }
.omi-faq__question::after { content: '+'; font-size: 1.25rem; color: var(--om-petrol); transition: transform 0.2s; flex-shrink: 0; margin-left: 1rem; }
details[open] > .omi-faq__question::after { content: '\2212'; }
.omi-faq__answer { padding: 0 0 1.25rem; color: var(--om-text-soft); line-height: 1.75; font-size: 0.9rem; font-weight: 300; }

/* ── Bricks Builder Global Color Override ─────────────────────── */
/* Override Bricks default yellow #ffd64f → Petrol */
:root {
  --bricks-color-primary: var(--om-petrol);
  --bricks-color-secondary: var(--om-petrol-dark);
}
.bricks-color-primary       { color: var(--om-petrol) !important; }
.bricks-background-primary  { background-color: var(--om-petrol) !important; }
.bricks-color-secondary     { color: var(--om-petrol-dark) !important; }
.bricks-background-secondary{ background-color: var(--om-petrol-dark) !important; }

/* ── Footer Hintergrundfarben (Bricks-Meta-Override) ──────────── */
#brxe-ftr001 { background-color: #ffffff !important; }
#brxe-ftr009 { background-color: #ffffff !important; border-top: 1px solid var(--om-grey-300) !important; }
/* Footer-Text und Links auf weiß/hell anpassen */
#brxe-ftr001 h3,
#brxe-ftr001 .brxe-heading,
#brxe-ftr001 .brxe-text-basic:not([style*="color"]) { color: #0f0f0f; }
#brxe-ftr009 .brxe-text-basic { color: #737373; }

/* ── Header Logo Fix ──────────────────────────────────────────── */
/* Prevent logo from being squished by nav (flex-shrink default=1) */
#brxe-hdr003 {
  flex-shrink: 0 !important;
  min-width: 180px !important;
}
#brxe-hdr003 img {
  display: block;
  max-height: 48px;
  width: auto;
}

/* ── Bricks Button Text Color Fix ────────────────────────────── */
/* bricks-background-primary sets bg to petrol, text must be white */
.brxe-button.bricks-background-primary,
.brxe-button.bricks-background-primary a {
  color: #ffffff !important;
}

/* ── Leistungen Cards Layout Fix ────────────────────────────── */
/* text-basic elements: Bricks doesn't generate flex-direction for _direction */
/* flex: 1 1 220px → 4 cards per row in the 1136px container */
#brxe-hp025, #brxe-hp026, #brxe-hp027, #brxe-hp028 {
  flex: 1 1 220px !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* ── Hero Section — Vertically Center Content ───────────────── */
#brxe-hp001 {
  justify-content: center !important;
}

/* ── Leistungen Cards — flex shorthand (Bricks ignores non-_ keys) */
#brxe-hp025, #brxe-hp026, #brxe-hp027, #brxe-hp028 {
  flex: 1 1 220px !important;
}

/* =====================================================
   HERO PHASE 1 — Visual Redesign
   ===================================================== */

/* Hero section — reduced height, split background */
#brxe-hp001 {
  position: relative !important;
  min-height: 75vh !important;
  background: linear-gradient(to right, var(--om-white) 55%, var(--om-petrol-bg) 55%) !important;
  overflow: hidden !important;
}

/* Right-side decorative architectural SVG */
#brxe-hp001::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 45vw;
  background-image: url('./assets/hero-architecture.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% auto;
  pointer-events: none;
  z-index: 0;
}

/* Keep the container above the decorative SVG */
#brxe-hp002 {
  position: relative !important;
  z-index: 1 !important;
}

/* Constrain text content to the left half of the container */
#brxe-hp003,
#brxe-hp004,
#brxe-hp005,
#brxe-hp006 {
  max-width: 620px !important;
}

/* Eyebrow typography */
#brxe-hp003 {
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--om-petrol) !important;
}

/* H1 — bigger, bolder, tighter */
#brxe-hp004 {
  font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
  color: var(--om-black) !important;
  margin-bottom: 0.5rem !important;
}

/* Paragraph — slightly larger, softer color */
#brxe-hp005 {
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  color: var(--om-text-soft) !important;
}

/* Primary button — Immobilien ansehen */
#brxe-hp007 {
  padding: 14px 32px !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}
#brxe-hp007:hover {
  background-color: var(--om-petrol-dark) !important;
  transform: translateY(-1px) !important;
}

/* Secondary button — Unser Team (Outline-Variante) */
#brxe-hp008 {
  background: transparent !important;
  border: 2px solid var(--om-petrol) !important;
  color: var(--om-petrol) !important;
  padding: 12px 28px !important;
  border-radius: var(--om-radius) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  transition: all 0.2s ease !important;
}
#brxe-hp008:hover {
  background: var(--om-petrol) !important;
  color: var(--om-white) !important;
}

/* Mobile — stack layout, hide decorative SVG */
@media (max-width: 900px) {
  #brxe-hp001 {
    background: var(--om-white) !important;
    min-height: 70vh !important;
  }
  #brxe-hp001::after {
    display: none !important;
  }
  #brxe-hp003,
  #brxe-hp004,
  #brxe-hp005,
  #brxe-hp006 {
    max-width: 100% !important;
  }
}

/* ══════════════════════════════════════════════════════════
   PHASE 2 — Section Rhythm
   Abwechselndes weiß / petrol-bg für klare Gliederung
   ══════════════════════════════════════════════════════════ */

/* Kennzahlen — weiche Petrol-Fläche (setzt Hero visuell fort) */
#brxe-hp010 {
  background: var(--om-petrol-bg) !important;
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

/* Leistungen — weiß, großzügiger Luftraum */
#brxe-hp020 {
  background: var(--om-white) !important;
  padding-top: clamp(4rem, 8vw, 7rem) !important;
  padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

/* Team — Petrol-Fläche, als Block hervorgehoben */
#brxe-hp030 {
  background: var(--om-petrol-bg) !important;
  padding-top: clamp(4rem, 8vw, 7rem) !important;
  padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

/* CTA — bleibt Petrol (vom Theme gesetzt), nur Rhythmus */
#brxe-hp040 {
  padding-top: clamp(3.5rem, 7vw, 6rem) !important;
  padding-bottom: clamp(3.5rem, 7vw, 6rem) !important;
}

/* ══════════════════════════════════════════════════════════
   PHASE 3 — Card Polish
   Shadows + Hover-Lift für mehr Tiefe
   ══════════════════════════════════════════════════════════ */

/* Leistungen-Cards */
#brxe-hp025,
#brxe-hp026,
#brxe-hp027,
#brxe-hp028 {
  background: var(--om-white) !important;
  border-radius: var(--om-radius-lg) !important;
  padding: 28px 24px !important;
  box-shadow: var(--om-shadow-sm) !important;
  border: 1px solid var(--om-grey-100) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
#brxe-hp025:hover,
#brxe-hp026:hover,
#brxe-hp027:hover,
#brxe-hp028:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--om-shadow-lg) !important;
  border-color: var(--om-petrol-bg) !important;
}

/* Team-Cards (vom om_agent_loop Shortcode gerendert) */
.omi-agent-card,
.omi-card {
  border-radius: var(--om-radius-lg) !important;
  box-shadow: var(--om-shadow-sm) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.omi-agent-card:hover,
.omi-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--om-shadow-lg) !important;
}

/* Kennzahlen-Text — weniger Card, mehr Typo-Lead */
#brxe-hp012,
#brxe-hp013,
#brxe-hp014,
#brxe-hp015 {
  text-align: center !important;
}

/* ══════════════════════════════════════════════════════════
   CD-ROLLOUT — Figma-Alignment
   Node-Referenz: Pg0XfIrLchx3qkFcDvjuoE (Startseite · 1440px)
   ══════════════════════════════════════════════════════════ */

/* ── HEADER — rechts-aligned Nav + Kontakt-Button ────────── */
#brxe-hdr001 {
  height: 72px !important;
  padding: 0 !important;
  background: var(--om-white) !important;
  border-bottom: 1px solid var(--om-grey-100) !important;
}
#brxe-hdr002 {
  max-width: var(--om-container) !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 100% !important;
  gap: 24px !important;
}
#brxe-hdr003 {
  flex: 0 0 auto !important;
  min-width: auto !important;
}
#brxe-hdr003 img {
  display: block;
  max-height: 44px;
  width: auto;
}
#brxe-hdr004 {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}
#brxe-hdr004 .bricks-nav-menu-wrapper ul,
#brxe-hdr004 ul.bricks-nav-menu {
  display: flex !important;
  gap: 32px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#brxe-hdr004 a {
  color: var(--om-black) !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  padding: 0 !important;
}
#brxe-hdr004 a:hover {
  color: var(--om-petrol) !important;
}
#brxe-hdr005 {
  flex: 0 0 auto !important;
  background: var(--om-petrol) !important;
  color: var(--om-white) !important;
  padding: 10px 22px !important;
  border-radius: var(--om-radius) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  transition: background 0.15s ease !important;
}
#brxe-hdr005:hover {
  background: var(--om-petrol-dark) !important;
  color: var(--om-white) !important;
}

/* ── HERO — dunkel Petrol, Text bottom-left, KEINE Illustration ── */
#brxe-hp001 {
  background: #0a3d54 !important;
  background-image: none !important;
  min-height: 680px !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#brxe-hp001::after {
  display: none !important;
}
#brxe-hp002 {
  max-width: var(--om-container) !important;
  margin: 0 auto !important;
  padding: 0 40px 80px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 1 !important;
}
#brxe-hp003,
#brxe-hp004,
#brxe-hp005,
#brxe-hp006 {
  max-width: 780px !important;
}
#brxe-hp003 {
  color: rgba(255, 255, 255, 0.7) !important;
}
#brxe-hp004 {
  color: var(--om-white) !important;
  font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4rem) !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}
#brxe-hp005 {
  color: rgba(255, 255, 255, 0.8) !important;
}
#brxe-hp007 {
  background: var(--om-white) !important;
  color: var(--om-petrol) !important;
}
#brxe-hp007:hover {
  background: var(--om-petrol-bg) !important;
  transform: translateY(-1px) !important;
}
#brxe-hp008 {
  background: transparent !important;
  border: 2px solid var(--om-white) !important;
  color: var(--om-white) !important;
}
#brxe-hp008:hover {
  background: var(--om-white) !important;
  color: var(--om-petrol) !important;
}

/* ── KENNZAHLEN — weiß, große Petrol-Zahlen, vertikale Divider ── */
#brxe-hp010 {
  background: var(--om-white) !important;
  padding: 48px 0 !important;
  border-bottom: 1px solid var(--om-grey-100) !important;
}
#brxe-hp011 {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  max-width: var(--om-container) !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  gap: 0 !important;
  position: relative !important;
}
#brxe-hp011 > * {
  flex: 1 1 0 !important;
  text-align: center !important;
  padding: 0 24px !important;
  position: relative !important;
}
#brxe-hp011 > *:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 10%;
  bottom: 10%;
  width: 1px;
  background: var(--om-grey-300);
}
#brxe-hp011 > * p:first-child,
#brxe-hp011 > * strong:first-child,
#brxe-hp011 > * span:first-child {
  display: block !important;
  font-size: 2.5rem !important;
  font-weight: 300 !important;
  color: var(--om-petrol) !important;
  line-height: 1.1 !important;
  margin-bottom: 6px !important;
}
#brxe-hp011 > * p:last-child,
#brxe-hp011 > * p:nth-child(2) {
  font-size: 0.85rem !important;
  color: var(--om-grey-700) !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
}

/* ── LEISTUNGEN — hellgrauer BG, Cards mit 36×2 Petrol-Akzent ── */
#brxe-hp020 {
  background: var(--om-grey-100) !important;
  padding: clamp(4rem, 8vw, 6rem) 0 !important;
}
#brxe-hp025,
#brxe-hp026,
#brxe-hp027,
#brxe-hp028 {
  background: var(--om-white) !important;
  border: none !important;
  border-radius: var(--om-radius-lg) !important;
  padding: 32px 24px !important;
  position: relative !important;
  box-shadow: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
#brxe-hp025::before,
#brxe-hp026::before,
#brxe-hp027::before,
#brxe-hp028::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  width: 36px;
  height: 2px;
  background: var(--om-petrol);
}
#brxe-hp025:hover,
#brxe-hp026:hover,
#brxe-hp027:hover,
#brxe-hp028:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--om-shadow-md) !important;
}

/* ── TEAM — weiß (nicht petrol-bg!) ─────────────────────── */
#brxe-hp030 {
  background: var(--om-white) !important;
  padding: clamp(4rem, 8vw, 6rem) 0 !important;
}
.omi-agent-card,
.omi-card {
  background: var(--om-white) !important;
  border-radius: var(--om-radius-lg) !important;
  box-shadow: none !important;
  border: 1px solid var(--om-grey-100) !important;
  position: relative !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.omi-agent-card:hover,
.omi-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--om-shadow-md) !important;
}
.omi-agent-card .omi-initials,
.omi-card .omi-initials,
.omi-initials-small {
  background: var(--om-grey-100) !important;
  color: var(--om-grey-500) !important;
}

/* ── CTA — hell Petrol-BG statt voll Petrol ─────────────── */
#brxe-hp040 {
  background: var(--om-petrol-bg) !important;
  padding: clamp(3rem, 6vw, 4.5rem) 0 !important;
  color: var(--om-black) !important;
}
#brxe-hp040 h1,
#brxe-hp040 h2,
#brxe-hp040 h3,
#brxe-hp040 p {
  color: var(--om-black) !important;
}
#brxe-hp040 .brxe-button,
#brxe-hp040 a.brxe-button {
  background: var(--om-petrol) !important;
  color: var(--om-white) !important;
}
#brxe-hp040 .brxe-button:hover {
  background: var(--om-petrol-dark) !important;
}


/* Mobile */
@media (max-width: 900px) {
  #brxe-hp001 {
    min-height: 520px !important;
  }
  #brxe-hp011 {
    flex-direction: column !important;
    gap: 24px !important;
  }
  #brxe-hp011 > *:not(:last-child)::after {
    display: none !important;
  }
  #brxe-hdr004 ul.bricks-nav-menu {
    gap: 16px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   MENU-FIX — überschreibt Browser-visited-Color + Layout
   ══════════════════════════════════════════════════════════ */

/* Alle States: unvisited, visited, hover, active, focus */
#brxe-hdr004 a,
#brxe-hdr004 a:link,
#brxe-hdr004 a:visited,
#brxe-hdr004 a:active,
#brxe-hdr004 .bricks-nav-menu a,
#brxe-hdr004 .bricks-menu-item a,
#brxe-hdr004 li.menu-item > a,
#brxe-hdr004 li.current-menu-item > a,
#brxe-hdr004 li.current_page_item > a {
  color: #0f0f0f !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  padding: 0 !important;
}

#brxe-hdr004 a:hover,
#brxe-hdr004 a:focus,
#brxe-hdr004 .bricks-menu-item a:hover,
#brxe-hdr004 li.menu-item > a:hover,
#brxe-hdr004 li.current-menu-item > a {
  color: #005779 !important;
}

/* Current-page-Item dezent petrol markieren */
#brxe-hdr004 li.current-menu-item > a,
#brxe-hdr004 li.current_page_item > a {
  color: #005779 !important;
  font-weight: 600 !important;
}

/* Nav rechts clustern, nicht über volle Breite spreizen */
#brxe-hdr002 {
  justify-content: space-between !important;
}
#brxe-hdr004 {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}
#brxe-hdr004 nav.bricks-nav-menu-wrapper {
  display: flex !important;
}
#brxe-hdr004 ul.bricks-nav-menu,
#brxe-hdr004 .bricks-nav-menu-wrapper > ul {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 22px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-end !important;
}

/* Li-Reset */
#brxe-hdr004 ul.bricks-nav-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Unterhalb 1200px: wenn zu viele Items, automatisch kleinere Gap */
@media (max-width: 1300px) {
  #brxe-hdr004 ul.bricks-nav-menu { gap: 16px !important; }
  #brxe-hdr004 a { font-size: 0.85rem !important; }
}
@media (max-width: 1100px) {
  #brxe-hdr004 ul.bricks-nav-menu { gap: 12px !important; }
  #brxe-hdr004 a { font-size: 0.82rem !important; }
}

/* ── MENU-FIX 2 — größere Schrift, engere Gaps ───────────── */
#brxe-hdr004 a,
#brxe-hdr004 a:link,
#brxe-hdr004 a:visited,
#brxe-hdr004 .bricks-nav-menu a,
#brxe-hdr004 .bricks-menu-item a,
#brxe-hdr004 li.menu-item > a {
  font-size: 1rem !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}

#brxe-hdr004 ul.bricks-nav-menu,
#brxe-hdr004 .bricks-nav-menu-wrapper > ul {
  gap: 14px !important;
}

/* Responsive Feinabstimmung — weniger aggressiv verkleinern */
@media (max-width: 1300px) {
  #brxe-hdr004 ul.bricks-nav-menu { gap: 12px !important; }
  #brxe-hdr004 a { font-size: 0.95rem !important; }
}
@media (max-width: 1150px) {
  #brxe-hdr004 ul.bricks-nav-menu { gap: 10px !important; }
  #brxe-hdr004 a { font-size: 0.9rem !important; }
}

/* ── MENU-FIX 3 — Logo +20%, Menü-Schrift 20px ───────────── */
#brxe-hdr001 {
  height: 100px !important;
}
#brxe-hdr003 img {
  max-height: 67px !important;
  width: auto !important;
  height: auto !important;
}
#brxe-hdr004 a,
#brxe-hdr004 a:link,
#brxe-hdr004 a:visited,
#brxe-hdr004 .bricks-nav-menu a,
#brxe-hdr004 .bricks-menu-item a,
#brxe-hdr004 li.menu-item > a {
  font-size: 18px !important;
}
#brxe-hdr004 ul.bricks-nav-menu,
#brxe-hdr004 .bricks-nav-menu-wrapper > ul {
  gap: 18px !important;
}
@media (max-width: 1400px) {
  #brxe-hdr004 a { font-size: 18px !important; }
  #brxe-hdr004 ul.bricks-nav-menu { gap: 14px !important; }
}
@media (max-width: 1200px) {
  #brxe-hdr004 a { font-size: 16px !important; }
  #brxe-hdr004 ul.bricks-nav-menu { gap: 12px !important; }
}

/* ══════════════════════════════════════════════════════════
   CD-TYPESCALE — Figma Entwickler-Specs (node 152:2)
   Space Grotesk Medium (display) + Raleway (body)
   ══════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'Space Grotesk';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('fonts/space-grotesk-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('fonts/space-grotesk-latin-400-normal.woff2') format('woff2');
}

:root {
  /* — Font-Familien — */
  --om-font-display: 'Space Grotesk', system-ui, sans-serif;
  --om-font-body:    'Raleway', system-ui, sans-serif;

  /* — Type-Scale (Desktop) aus CD-Specs — */
  --om-text-display-xl: clamp(2.25rem, 1.5rem + 2vw, 4rem);   /* 36 → 64 */
  --om-text-h1:         clamp(1.75rem, 1.25rem + 1vw, 2.25rem); /* 28 → 36 */
  --om-text-h2:         clamp(1.375rem, 1.125rem + 0.6vw, 1.75rem); /* 22 → 28 */
  --om-text-h3:         clamp(1.125rem, 1rem + 0.3vw, 1.375rem);   /* 18 → 22 */
  --om-text-body-lg:    1rem;     /* 16 */
  --om-text-body:       0.875rem; /* 14 */
  --om-text-body-sm:    0.75rem;  /* 12 */
  --om-text-eyebrow:    0.625rem; /* 10 */
  --om-text-button:     0.8125rem;/* 13 */
  --om-text-caption:    0.625rem; /* 10 */

  /* — Korrekte CD-Farben (aus Specs) — */
  --om-petrol:      #005779;
  --om-petrol-dark: #003E5E;   /* korrigiert von #004a68 */
  --om-petrol-bg:   #E8F3F8;
  --om-black:       #1A1A1A;   /* Neutral 900 */
  --om-grey-700:    #737373;
  --om-grey-500:    #9E9E9E;
  --om-grey-300:    #D9D9D9;
  --om-grey-100:    #F4F4F4;
  --om-page-bg:     #F5F5F5;

  /* — 8pt-Raster — */
  --om-space-xs:  4px;
  --om-space-s:   8px;
  --om-space-m:   16px;
  --om-space-l:   24px;
  --om-space-xl:  48px;
  --om-space-xxl: 64px;
  --om-space-max: 96px;
}

/* — Base-Typo — */
body {
  font-family: var(--om-font-body);
  font-weight: 500;
  font-size: var(--om-text-body);
  line-height: 1.6;
  color: var(--om-black);
}
h1, h2, h3, h4, h5, .brxe-heading {
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
h1, .brxe-heading h1 { font-size: var(--om-text-h1) !important; line-height: 1.2 !important; }
h2, .brxe-heading h2 { font-size: var(--om-text-h2) !important; line-height: 1.25 !important; }
h3, .brxe-heading h3 { font-size: var(--om-text-h3) !important; line-height: 1.3 !important; }

/* — Hero Display XL — */
#brxe-hp004,
#brxe-hp004 * {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-display-xl) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

/* — Kennzahlen — Space Grotesk Medium — */
#brxe-hp011 > * p:first-child,
#brxe-hp011 > * strong:first-child,
#brxe-hp011 > * span:first-child {
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
}

/* — Eyebrow (Raleway Bold 10 Versalien, LS 0.1em) — */
#brxe-hp003, #brxe-hp023, .om-eyebrow {
  font-family: var(--om-font-body) !important;
  font-weight: 700 !important;
  font-size: var(--om-text-eyebrow) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  line-height: 1.4 !important;
}

/* — Buttons (Raleway Bold 13) — */
.brxe-button, a.brxe-button, button {
  font-family: var(--om-font-body) !important;
  font-weight: 700 !important;
  font-size: var(--om-text-button) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  transition: background 350ms ease, color 350ms ease, transform 350ms ease !important;
}

/* — Menü: Raleway Medium (Body) — */
#brxe-hdr004 a {
  font-family: var(--om-font-body) !important;
  font-weight: 500 !important;
  font-size: var(--om-text-body-lg) !important;
  letter-spacing: 0 !important;
}

/* — Card-Titel Space Grotesk Medium — */
#brxe-hp025 h3, #brxe-hp026 h3, #brxe-hp027 h3, #brxe-hp028 h3,
.omi-agent-card h3, .omi-card h3, .omi-card h4 {
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
  font-size: var(--om-text-h3) !important;
  line-height: 1.3 !important;
}

/* — CD-Regel: KEINE Box-Shadows — */
#brxe-hp025, #brxe-hp026, #brxe-hp027, #brxe-hp028,
.omi-agent-card, .omi-card {
  box-shadow: none !important;
}
#brxe-hp025:hover, #brxe-hp026:hover, #brxe-hp027:hover, #brxe-hp028:hover,
.omi-agent-card:hover, .omi-card:hover {
  box-shadow: none !important;
  transform: translateY(-2px) !important;
  transition: transform 350ms ease !important;
}

/* — Trennlinien: 0.5px statt 1px — */
#brxe-hdr001, #brxe-hp010, #brxe-ftr001, #brxe-ftr009,
.omi-agent-card, .omi-card {
  border-width: 0.5px !important;
}
#brxe-hp011 > *:not(:last-child)::after {
  width: 0.5px !important;
}

/* — Page-BG — */
body, .brx-body {
  background: var(--om-page-bg) !important;
}

/* ══════════════════════════════════════════════════════════
   CD-TYPESCALE v2 — Kaskade 12 → 56 (User-Vorgabe)
   Überschreibt vorherige --om-text-* Tokens
   ══════════════════════════════════════════════════════════ */

:root {
  /* Desktop-Werte, Mobile via clamp() */
  --om-text-display-xl: clamp(2.25rem, 1.5rem + 2.5vw, 3.5rem); /* 36 → 56 */
  --om-text-h1:         clamp(1.875rem, 1.5rem + 1vw, 2.5rem);   /* 30 → 40 */
  --om-text-h2:         clamp(1.625rem, 1.375rem + 0.7vw, 2rem); /* 26 → 32 */
  --om-text-h3:         clamp(1.25rem, 1.125rem + 0.4vw, 1.5rem); /* 20 → 24 */
  --om-text-h4:         clamp(1.125rem, 1rem + 0.2vw, 1.25rem);  /* 18 → 20 */
  --om-text-body-lg:    clamp(1rem, 0.95rem + 0.15vw, 1.125rem); /* 16 → 18 */
  --om-text-body:       clamp(0.9375rem, 0.9rem + 0.1vw, 1rem);  /* 15 → 16 */
  --om-text-body-sm:    clamp(0.8125rem, 0.8rem + 0.05vw, 0.875rem); /* 13 → 14 */
  --om-text-eyebrow:    0.75rem;   /* 12 */
  --om-text-button:     0.875rem;  /* 14 */
  --om-text-caption:    0.75rem;   /* 12 */

  --om-text-stat:       clamp(2.25rem, 1.75rem + 1.5vw, 3rem);   /* 36 → 48 */
}

/* — Body-Default auf 16px anheben — */
body {
  font-size: var(--om-text-body) !important;
  line-height: 1.6 !important;
}

/* — Überschriften-Mapping — */
h1, .brxe-heading h1 { font-size: var(--om-text-h1) !important; line-height: 1.2 !important; }
h2, .brxe-heading h2 { font-size: var(--om-text-h2) !important; line-height: 1.25 !important; }
h3, .brxe-heading h3 { font-size: var(--om-text-h3) !important; line-height: 1.3 !important; }
h4, .brxe-heading h4 { font-size: var(--om-text-h4) !important; line-height: 1.35 !important; }

/* — Hero Display XL 56px — */
#brxe-hp004,
#brxe-hp004 * {
  font-size: var(--om-text-display-xl) !important;
  line-height: 1.1 !important;
}

/* — Kennzahlen — neue 48px-Stufe — */
#brxe-hp011 > * p:first-child,
#brxe-hp011 > * strong:first-child,
#brxe-hp011 > * span:first-child {
  font-size: var(--om-text-stat) !important;
}
#brxe-hp011 > * p:last-child,
#brxe-hp011 > * p:nth-child(2) {
  font-size: var(--om-text-body-sm) !important;
}

/* — Eyebrow 12px statt 10px — */
#brxe-hp003, #brxe-hp023, .om-eyebrow {
  font-size: var(--om-text-eyebrow) !important;
  letter-spacing: 0.1em !important;
}

/* — Buttons 14px — */
.brxe-button, a.brxe-button, button {
  font-size: var(--om-text-button) !important;
}

/* — Menü 18px (Body Large) — */
#brxe-hdr004 a,
#brxe-hdr004 a:link,
#brxe-hdr004 a:visited,
#brxe-hdr004 .bricks-nav-menu a,
#brxe-hdr004 .bricks-menu-item a,
#brxe-hdr004 li.menu-item > a {
  font-size: var(--om-text-body-lg) !important;
}

/* Responsive-Menu-Overrides aus menu_fix3 neutralisieren */
@media (max-width: 1400px) {
  #brxe-hdr004 a { font-size: var(--om-text-body-lg) !important; }
}
@media (max-width: 1200px) {
  #brxe-hdr004 a { font-size: var(--om-text-body) !important; }
}

/* — Card-Titel H3 24px — */
#brxe-hp025 h3, #brxe-hp026 h3, #brxe-hp027 h3, #brxe-hp028 h3,
.omi-agent-card h3, .omi-card h3 {
  font-size: var(--om-text-h3) !important;
}
.omi-card h4 {
  font-size: var(--om-text-h4) !important;
}

/* — Footer-Headlines 12px Uppercase — */
#brxe-ftr001 h3, #brxe-ftr001 h4 {
  font-size: var(--om-text-eyebrow) !important;
  letter-spacing: 0.12em !important;
}
#brxe-ftr009 { font-size: var(--om-text-body-sm) !important; }

/* — Fließtext in Sections — */
#brxe-hp005, #brxe-hp006,
#brxe-hp020 p, #brxe-hp030 p, #brxe-hp040 p {
  font-size: var(--om-text-body-lg) !important;
  line-height: 1.6 !important;
}

/* ══════════════════════════════════════════════════════════
   INLINE-OVERRIDE — hardcodierte Inline-Styles in Bricks-
   Content (Post 26 Homepage etc.) auf CD-Tokens mappen.
   Attribut-Selektoren schlagen normale Inline-Styles.
   ══════════════════════════════════════════════════════════ */

/* Kennzahlen-Zahlen 42px → Stat-Token (36–48px) */
[style*="font-size:42px"],
[style*="font-size: 42px"] {
  font-size: var(--om-text-stat) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}

/* Card-Titel 20px → H3-Token (20–24px) */
[style*="font-size:20px"],
[style*="font-size: 20px"] {
  font-size: var(--om-text-h3) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}

/* Fließtext 14px → Body (15–16px) */
[style*="font-size:14px"],
[style*="font-size: 14px"] {
  font-size: var(--om-text-body) !important;
}

/* Labels 13px → Eyebrow 12px Uppercase bleibt, aber als Klartext 14 */
[style*="font-size:13px"],
[style*="font-size: 13px"] {
  font-size: var(--om-text-body-sm) !important;
}

/* Sub-12px hart abfangen */
[style*="font-size:7px"], [style*="font-size: 7px"],
[style*="font-size:8px"], [style*="font-size: 8px"],
[style*="font-size:9px"], [style*="font-size: 9px"],
[style*="font-size:10px"], [style*="font-size: 10px"],
[style*="font-size:11px"], [style*="font-size: 11px"],
[style*="font-size:7."], [style*="font-size: 7."],
[style*="font-size:8."], [style*="font-size: 8."] {
  font-size: 12px !important;
}

/* Nicht-CD-Grauwerte auf Tokens mappen */
[style*="color:#6b7e95"], [style*="color: #6b7e95"] {
  color: var(--om-grey-700) !important;
}
[style*="color:#8fa3c0"], [style*="color: #8fa3c0"] {
  color: var(--om-grey-500) !important;
}

/* Floor 12px nur für <small> */
small { font-size: max(12px, var(--om-text-body-sm)) !important; }

/* ══════════════════════════════════════════════════════════
   CD-TYPESCALE v3 — feste Pixelwerte, größer & eindeutig
   Desktop-first. Mobile via @media.
   ══════════════════════════════════════════════════════════ */

:root {
  --om-text-display-xl: 56px;
  --om-text-h1:         40px;
  --om-text-h2:         32px;
  --om-text-h3:         24px;
  --om-text-h4:         20px;
  --om-text-body-lg:    18px;
  --om-text-body:       16px;
  --om-text-body-sm:    14px;
  --om-text-eyebrow:    13px;
  --om-text-button:     16px;
  --om-text-caption:    12px;
  --om-text-stat:       56px;
}

@media (max-width: 900px) {
  :root {
    --om-text-display-xl: 40px;
    --om-text-h1:         32px;
    --om-text-h2:         26px;
    --om-text-h3:         22px;
    --om-text-h4:         18px;
    --om-text-body-lg:    16px;
    --om-text-body:       15px;
    --om-text-body-sm:    13px;
    --om-text-stat:       40px;
  }
}

/* — Overrides, nochmals explizit gesetzt — */
body { font-size: var(--om-text-body) !important; line-height: 1.65 !important; }

h1, .brxe-heading h1 { font-size: var(--om-text-h1) !important; line-height: 1.15 !important; }
h2, .brxe-heading h2 { font-size: var(--om-text-h2) !important; line-height: 1.2 !important; }
h3, .brxe-heading h3 { font-size: var(--om-text-h3) !important; line-height: 1.3 !important; }
h4, .brxe-heading h4 { font-size: var(--om-text-h4) !important; line-height: 1.35 !important; }

/* Hero-H1 größer als normale H1 */
#brxe-hp004, #brxe-hp004 * {
  font-size: var(--om-text-display-xl) !important;
  line-height: 1.1 !important;
}

/* Menü — garantiert 20px Desktop, 18 Tablet */
#brxe-hdr004 a,
#brxe-hdr004 a:link,
#brxe-hdr004 a:visited,
#brxe-hdr004 .bricks-nav-menu a,
#brxe-hdr004 .bricks-menu-item a,
#brxe-hdr004 li.menu-item > a {
  font-size: 20px !important;
  font-weight: 500 !important;
}
@media (max-width: 1400px) { #brxe-hdr004 a { font-size: 18px !important; } }
@media (max-width: 1200px) { #brxe-hdr004 a { font-size: 17px !important; } }

/* Buttons */
.brxe-button, a.brxe-button, button {
  font-size: var(--om-text-button) !important;
  font-weight: 700 !important;
}

/* Kennzahlen-Stat & Eyebrow auf Homepage */
[style*="font-size:42px"], [style*="font-size: 42px"] {
  font-size: var(--om-text-stat) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}
[style*="font-size:20px"], [style*="font-size: 20px"] {
  font-size: var(--om-text-h3) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}
[style*="font-size:14px"], [style*="font-size: 14px"] {
  font-size: var(--om-text-body-lg) !important;
}
[style*="font-size:13px"], [style*="font-size: 13px"] {
  font-size: var(--om-text-eyebrow) !important;
  letter-spacing: 0.1em !important;
}

/* Fließtext in Sections größer */
#brxe-hp005, #brxe-hp006 {
  font-size: var(--om-text-body-lg) !important;
}
#brxe-hp003, #brxe-hp023 {
  font-size: var(--om-text-eyebrow) !important;
}

/* Footer-Body */
#brxe-ftr001 { font-size: var(--om-text-body) !important; }
#brxe-ftr001 h3, #brxe-ftr001 h4 {
  font-size: var(--om-text-eyebrow) !important;
}
#brxe-ftr009 { font-size: var(--om-text-body-sm) !important; }

/* ── Agent-Cards Typo-Fix ───────────────────────────────── */
.ome-agent-card__name {
  font-family: var(--om-font-display) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--om-black) !important;
  margin: 0 0 4px 0 !important;
}
.ome-agent-card__team {
  font-family: var(--om-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--om-grey-700) !important;
  margin: 0 !important;
}
.ome-agent-card__info { padding: 14px 16px 18px !important; }
.ome-agent-card__avatar { font-size: 28px !important; font-weight: 500 !important; }

/* ══════════════════════════════════════════════════════════
   BUTTON-HARTFIX — alles ≥16px, Hero-CTAs 18px, 12px Floor
   ══════════════════════════════════════════════════════════ */

/* 12px-FLOOR auf allem — Eyebrow/Caption bleiben Minimum */
html body :where(p, span, strong, em, li, td, th, small, label, figcaption, a, div, h1, h2, h3, h4, h5, h6) {
  /* kein direkter font-size hier — wir setzen das unten gezielt */
}

/* Kein Textelement unter 12px */
[style*="font-size:1px"], [style*="font-size:2px"], [style*="font-size:3px"],
[style*="font-size:4px"], [style*="font-size:5px"], [style*="font-size:6px"],
[style*="font-size:7px"], [style*="font-size:8px"], [style*="font-size:9px"],
[style*="font-size:10px"], [style*="font-size:11px"],
[style*="font-size: 1px"], [style*="font-size: 2px"], [style*="font-size: 3px"],
[style*="font-size: 4px"], [style*="font-size: 5px"], [style*="font-size: 6px"],
[style*="font-size: 7px"], [style*="font-size: 8px"], [style*="font-size: 9px"],
[style*="font-size: 10px"], [style*="font-size: 11px"] {
  font-size: 12px !important;
}

/* ── Buttons — höchste Spezifität, Pixel statt em ── */
html body a.brxe-button,
html body a.brxe-button.bricks-button,
html body a.brxe-button.bricks-button.lg,
html body a.brxe-button.bricks-background-primary,
html body a.brxe-button.bricks-background-outline,
html body button.bricks-button,
html body .brxe-button,
html body .wp-block-button__link,
html body .omi-btn,
html body .omi-btn-primary,
html body .omi-btn-secondary {
  font-size: 16px !important;
  font-family: var(--om-font-body) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
}

/* Hero-CTAs etwas größer (lg-Buttons) */
html body a.brxe-button.lg,
html body a.bricks-button.lg,
html body #brxe-hp007,
html body #brxe-hp008 {
  font-size: 18px !important;
  padding: 14px 32px !important;
}

/* Explizit per ID gegen Bricks-Em-Kaskade */
#brxe-hp007, #brxe-hp008 { font-size: 18px !important; }
#brxe-hp036, #brxe-hp044 { font-size: 16px !important; }

/* Falls irgendwo 1em / 1.1em / 0.9em Schriftgrößen kaskadieren */
.brxe-section, .brxe-block, .brxe-container {
  font-size: 16px;
}

/* ══════════════════════════════════════════════════════════
   GLOBAL TYPE-SWEEP — Typografie-Regel auf ALLEN Seiten
   siehe: memory/rule_typography.md
   ══════════════════════════════════════════════════════════ */

/* ── Sub-12px-Floor für Inline-Styles (alle Units) ── */
[style*="font-size:1px"],  [style*="font-size:2px"],  [style*="font-size:3px"],
[style*="font-size:4px"],  [style*="font-size:5px"],  [style*="font-size:6px"],
[style*="font-size:7px"],  [style*="font-size:8px"],  [style*="font-size:9px"],
[style*="font-size:10px"], [style*="font-size:11px"],
[style*="font-size: 1px"], [style*="font-size: 2px"], [style*="font-size: 3px"],
[style*="font-size: 4px"], [style*="font-size: 5px"], [style*="font-size: 6px"],
[style*="font-size: 7px"], [style*="font-size: 8px"], [style*="font-size: 9px"],
[style*="font-size: 10px"],[style*="font-size: 11px"],
[style*="font-size:0.5rem"], [style*="font-size:0.6rem"], [style*="font-size:0.65rem"],
[style*="font-size:0.7rem"], [style*="font-size: 0.7rem"],
[style*="font-size:0.5em"],  [style*="font-size:0.6em"],  [style*="font-size:0.7em"] {
  font-size: 12px !important;
}

/* ── Inline-Style-Mapping: hardcodierte px auf Tokens ── */
[style*="font-size:56px"], [style*="font-size: 56px"],
[style*="font-size:52px"], [style*="font-size: 52px"],
[style*="font-size:48px"], [style*="font-size: 48px"] {
  font-size: var(--om-text-display-xl) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}
[style*="font-size:44px"], [style*="font-size: 44px"],
[style*="font-size:42px"], [style*="font-size: 42px"],
[style*="font-size:40px"], [style*="font-size: 40px"] {
  font-size: var(--om-text-stat) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}
[style*="font-size:36px"], [style*="font-size: 36px"],
[style*="font-size:32px"], [style*="font-size: 32px"] {
  font-size: var(--om-text-h2) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}
[style*="font-size:28px"], [style*="font-size: 28px"],
[style*="font-size:24px"], [style*="font-size: 24px"],
[style*="font-size:22px"], [style*="font-size: 22px"] {
  font-size: var(--om-text-h3) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
}
[style*="font-size:20px"], [style*="font-size: 20px"],
[style*="font-size:18px"], [style*="font-size: 18px"] {
  font-size: var(--om-text-h4) !important;
}
[style*="font-size:17px"], [style*="font-size: 17px"],
[style*="font-size:16px"], [style*="font-size: 16px"],
[style*="font-size:15px"], [style*="font-size: 15px"] {
  font-size: var(--om-text-body) !important;
}
[style*="font-size:14px"], [style*="font-size: 14px"] {
  font-size: var(--om-text-body-sm) !important;
}
[style*="font-size:13px"], [style*="font-size: 13px"] {
  font-size: var(--om-text-eyebrow) !important;
  letter-spacing: 0.1em !important;
}
[style*="font-size:12px"], [style*="font-size: 12px"] {
  font-size: var(--om-text-caption) !important;
}

/* ── Button-Hartfix global ── */
html body a.brxe-button,
html body a.brxe-button.bricks-button,
html body a.bricks-button,
html body button.bricks-button,
html body .brxe-button,
html body .wp-block-button__link,
html body .omi-btn, html body .omi-btn-primary, html body .omi-btn-secondary,
html body .ome-btn, html body .ome-btn-primary, html body .ome-btn-secondary,
html body button[type="submit"], html body input[type="submit"] {
  font-size: var(--om-text-body) !important;
  line-height: 1.3 !important;
}
html body a.brxe-button.lg, html body a.bricks-button.lg {
  font-size: var(--om-text-body-lg) !important;
}

/* ── Plugin-CSS-Floor (expose.css Werte ≤12px hart anheben) ── */
.ome-agent-card__name, .ome-agent-info strong,
.ome-keyfacts__label, .ome-detail-label,
.ome-pill__trigger, .ome-pill-toggle__btn,
.ome-agent-info p, .ome-meta, .ome-meta-item,
.ome-expose-footer, .ome-footer-small {
  font-size: max(14px, 1em) !important;
}
.ome-keyfacts__value {
  font-size: var(--om-text-h3) !important;
  font-family: var(--om-font-display) !important;
}

/* ── Nicht-CD Farben catchen (auf allen Seiten) ── */
[style*="color:#6b7e95"], [style*="color: #6b7e95"] { color: var(--om-grey-700) !important; }
[style*="color:#8fa3c0"], [style*="color: #8fa3c0"] { color: var(--om-grey-500) !important; }
[style*="color:#1B2A4A"], [style*="color: #1B2A4A"] { color: var(--om-petrol) !important; }
[style*="color:#A81919"], [style*="color: #A81919"] { color: var(--om-petrol) !important; }

/* ── Grunddesign: body, headings, links — redundant aber sicher ── */
html body { font-size: var(--om-text-body) !important; line-height: 1.65 !important; }
html body h1 { font-size: var(--om-text-h1) !important; }
html body h2 { font-size: var(--om-text-h2) !important; }
html body h3 { font-size: var(--om-text-h3) !important; }
html body h4 { font-size: var(--om-text-h4) !important; }
html body h5 { font-size: var(--om-text-body-lg) !important; }
html body h6 { font-size: var(--om-text-body) !important; text-transform: uppercase; letter-spacing: 0.08em; }

/* Hero-Ausnahme Display XL */
html body #brxe-hp004 { font-size: var(--om-text-display-xl) !important; }

/* ══════════════════════════════════════════════════════════
   BEWERTEN/VERKAUFEN/VERMIETEN/PARTNER — omi-* Klassen
   Landing-Page-Forms auf CD-Typ-Skala bringen
   ══════════════════════════════════════════════════════════ */

/* Step-Indikator */
.omi-step-dot {
  font-size: 16px !important;
  width: 40px !important;
  height: 40px !important;
}

/* Section-Titel (Schritt-Titel) → H2 */
.omi-form-step__title,
.omi-lp-section__title,
.omi-lp-cta-section h2,
.omi-form-success-state h3 {
  font-size: var(--om-text-h2) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* Form-Labels → 16 */
.omi-label {
  font-size: var(--om-text-body) !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

/* Inputs → 16 (gegen iOS-Zoom auf Mobile, und lesbar) */
.omi-input,
.omi-input--suffix,
input.omi-input,
select.omi-input,
textarea.omi-input {
  font-size: var(--om-text-body) !important;
  padding: 12px 14px !important;
}
.omi-input-suffix {
  font-size: var(--om-text-body-sm) !important;
}

/* Prop-Type-Kacheln (Haus/Wohnung/...) */
.omi-prop-type-label {
  font-size: var(--om-text-body) !important;
  padding: 18px 14px !important;
  gap: 6px !important;
}
.omi-ptyp-icon {
  font-size: var(--om-text-h3) !important;
}

/* Form-Status, Error, Success-Texte */
.omi-form-status,
.omi-form-error,
.omi-form-success {
  font-size: var(--om-text-body) !important;
  padding: 12px 16px !important;
}

/* Checkbox-Label (Zustimmung) */
.omi-checkbox-label {
  font-size: var(--om-text-body-sm) !important;
  line-height: 1.5 !important;
}

/* CTA-Section Text */
.omi-lp-cta-section p,
.omi-form-success-state p {
  font-size: var(--om-text-body-lg) !important;
  line-height: 1.6 !important;
}

/* Form-Wrapper-Rahmen — etwas Luft auf Desktop */
.omi-bewerten-wrap {
  max-width: 720px !important;
}

/* Success-Icon wenn vorhanden */
.omi-form-success-state .omi-form-success__icon {
  font-size: var(--om-text-display-xl) !important;
}

/* ══════════════════════════════════════════════════════════
   BEWERTEN v2 — Icons größer + farbig, Tiles größer,
   Grund-Kacheln kompakter, Weiter-Button rechts
   ══════════════════════════════════════════════════════════ */

/* Property-Type-Kacheln: Icons 40px, farbig, Text 18px */
.omi-ptyp-icon {
  font-size: 40px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji",
               "Segoe UI Symbol", "Android Emoji", EmojiSymbols, EmojiOne,
               system-ui, sans-serif !important;
  /* Greyscale-Fallback bei Monochrome-Font aufheben */
  color: initial !important;
  -webkit-font-smoothing: auto !important;
  filter: none !important;
}
.omi-prop-type-label {
  font-size: 18px !important;
  font-weight: 500 !important;
  padding: 24px 16px !important;
  gap: 10px !important;
  min-height: 120px !important;
  justify-content: center !important;
}
.omi-prop-type-label:has(input:checked) {
  border-color: var(--om-petrol) !important;
  background: var(--om-petrol-bg) !important;
  color: var(--om-petrol) !important;
}

/* Inputs — einheitlicher, größere Höhe */
.omi-input,
input.omi-input,
select.omi-input,
textarea.omi-input {
  font-size: 16px !important;
  padding: 14px 16px !important;
  height: auto !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
  border: 1.5px solid var(--om-grey-300) !important;
  border-radius: var(--om-radius) !important;
  background: var(--om-white) !important;
  transition: border-color 0.2s ease !important;
}
.omi-input:focus {
  border-color: var(--om-petrol) !important;
  box-shadow: 0 0 0 3px rgba(0, 87, 121, 0.12) !important;
}
.omi-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--om-grey-700) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Bewertungsgrund — kompakter (kleinere Tiles) */
.omi-field-group:has(.omi-label:not([for]) + .omi-prop-type-grid),
.omi-field-group .omi-label:not([for]) + .omi-prop-type-grid .omi-prop-type-label {
  /* nur die 2. Grid-Gruppe (Bewertungsgrund) kompakt */
}
/* Gezielt: Bewertungsgrund-Tiles (haben KEIN Icon-Span, nur Text) */
.omi-prop-type-label:not(:has(.omi-ptyp-icon)) {
  font-size: 16px !important;
  padding: 14px 16px !important;
  min-height: 48px !important;
}

/* Weiter-Button → Text rechts */
.omi-btn--full,
.omi-form-actions .omi-btn-primary {
  justify-content: flex-end !important;
  text-align: right !important;
  padding-right: 24px !important;
}
.omi-btn--flex {
  justify-content: space-between !important;
}

/* Form-Row: 2 Spalten mit mehr Gap */
.omi-form-row {
  gap: 16px !important;
}
.omi-field-group { margin-bottom: 20px !important; }

/* H1 der Seite "Ihr Objekt" lesbar groß */
.omi-form-step__title {
  margin-bottom: 24px !important;
}

/* ══════════════════════════════════════════════════════════
   FOOTER v2 — 3 gleiche Spalten, Copyright mittig, kein GmbH
   ══════════════════════════════════════════════════════════ */

/* Footer-Wrapper ftr002: 3 Spalten gleich verteilt */
#brxe-ftr002 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 48px 32px !important;
  align-items: start !important;
}

/* Alle drei Blöcke gleich breit */
#brxe-ftr003,
#brxe-ftr004,
#brxe-ftr005,
#brxe-ftrS01,
#brxe-ftrU01,
#brxe-ftrK01 {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Wenn ftrS01 existiert (4. Block Standorte) → Grid auf 4 Spalten */
#brxe-ftr002:has(#brxe-ftrS01) {
  grid-template-columns: repeat(5, 1fr) !important;
}

/* Logo etwas größer im Footer */
#brxe-ftr006 img {
  max-width: 220px !important;
  width: 100% !important;
  height: auto !important;
}

/* Copyright-Zeile: komplett mittig, kein space-between */
#brxe-ftr009 {
  justify-content: center !important;
  text-align: center !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 20px 32px !important;
  border-top: 0.5px solid var(--om-grey-300) !important;
}
#brxe-ftr010 {
  text-align: center !important;
  width: 100% !important;
  font-size: var(--om-text-body-sm) !important;
  color: var(--om-grey-700) !important;
}
#brxe-ftr010 a {
  color: var(--om-grey-700) !important;
  text-decoration: none !important;
}
#brxe-ftr010 a:hover {
  color: var(--om-petrol) !important;
}

/* Mobile: alles untereinander */
@media (max-width: 768px) {
  #brxe-ftr002 {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 32px 20px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   LANDING PAGES (vermieten, verkaufen, kaufen) — Typo-Enforcement
   Bindet die rem-basierten Alt-Werte an die CD-Tokens
   ══════════════════════════════════════════════════════════ */

/* Section-Titel (H2 auf LPs) */
.omi-lp-section__title,
.omi-lp-cta-section h2,
.omi-faq__heading {
  font-size: var(--om-text-h2) !important;
  font-family: var(--om-font-display) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 1.5rem !important;
}
@media (max-width: 900px) {
  .omi-lp-section__title,
  .omi-lp-cta-section h2,
  .omi-faq__heading { font-size: var(--om-text-h3) !important; }
}

/* Process-Steps (Prozess-Kacheln mit Nummer) */
.omi-process-step__num {
  width: 56px !important;
  height: 56px !important;
  font-size: var(--om-text-h4) !important;
  font-weight: 700 !important;
  margin: 0 auto 1rem !important;
}
.omi-process-step__title {
  font-size: var(--om-text-body-lg) !important;
  font-weight: 700 !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.3 !important;
}
.omi-process-step__text {
  font-size: var(--om-text-body) !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
}

/* USP-Cards (Icon + Titel + Body) */
.omi-usp-card {
  padding: 1.75rem !important;
}
.omi-usp-card__icon {
  font-size: 40px !important;
  margin-bottom: 1rem !important;
  font-family: "Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif !important;
}
.omi-usp-card__title {
  font-size: var(--om-text-body-lg) !important;
  font-weight: 700 !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.3 !important;
}
.omi-usp-card p {
  font-size: var(--om-text-body) !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
  margin: 0 !important;
}

/* FAQ-Block */
.omi-faq__question {
  font-size: var(--om-text-body-lg) !important;
  font-weight: 600 !important;
  padding: 1.125rem 0 !important;
}
.omi-faq__question::after {
  font-size: var(--om-text-h4) !important;
}
.omi-faq__answer {
  font-size: var(--om-text-body) !important;
  line-height: 1.7 !important;
  font-weight: 300 !important;
  padding: 0 0 1.25rem !important;
}

/* CTA-Section (Petrol-Block mit H2 + Text + Button) */
.omi-lp-cta-section {
  padding: 3.5rem 2rem !important;
}
.omi-lp-cta-section p {
  font-size: var(--om-text-body-lg) !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
  margin-bottom: 2rem !important;
}
.omi-lp-cta-section .omi-btn-primary {
  font-size: var(--om-text-button) !important;
  padding: 14px 28px !important;
}

/* Hero auf LPs (falls omi-lp-vermieten H1 setzt) */
.omi-lp-vermieten h1,
.omi-lp-verkaufen h1,
.omi-lp-kaufen h1 {
  font-size: var(--om-text-display-xl) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
@media (max-width: 900px) {
  .omi-lp-vermieten h1,
  .omi-lp-verkaufen h1,
  .omi-lp-kaufen h1 { font-size: var(--om-text-h1) !important; }
}

/* Section-Abstände großzügiger */
.omi-lp-section { margin: 4rem 0 !important; }
@media (max-width: 768px) {
  .omi-lp-section { margin: 2.5rem 0 !important; }
  .omi-process-step__num { width: 48px !important; height: 48px !important; }
}

/* ══════════════════════════════════════════════════════════
   HERO SECTIONS (alle LPs) — Petrol Background + Typography
   Bricks rendert background.color.hex nicht zuverlässig zu CSS,
   daher hier explizit per ID binden.
   ══════════════════════════════════════════════════════════ */

#brxe-hp001,          /* Startseite Hero */
#brxe-hero01,         /* /immobilien-verkaufen/, /immobilien-vermieten/ */
#brxe-vhero01,        /* /verkaufen/ (Kopie) */
#brxe-uu001,          /* /ueber-uns/ */
#brxe-pw001,          /* /partner-werden/ */
#brxe-ls001,          /* /leistungen/ */
#brxe-kt001 {         /* /kontakt/ */
  background: var(--om-petrol) !important;
  color: #ffffff !important;
}

/* Hero H1 */
#brxe-hp001 h1, #brxe-hero01 h1, #brxe-vhero01 h1, #brxe-uu001 h1,
#brxe-pw001 h1, #brxe-ls001 h1, #brxe-kt001 h1 {
  color: #ffffff !important;
  font-family: var(--om-font-display) !important;
  font-weight: 700 !important;
  font-size: var(--om-text-display-xl) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}
@media (max-width: 900px) {
  #brxe-hp001 h1, #brxe-hero01 h1, #brxe-vhero01 h1, #brxe-uu001 h1,
  #brxe-pw001 h1, #brxe-ls001 h1, #brxe-kt001 h1 {
    font-size: var(--om-text-h1) !important;
  }
}

/* Hero Eyebrow (kleiner uppercase Text vor der H1) */
#brxe-hp001 > div > div:first-child .brxe-text-basic:first-child,
#brxe-hero01 > div > div:first-child .brxe-text-basic:first-child,
#brxe-uu001  .brxe-text-basic[id$="003"],
#brxe-pw001  .brxe-text-basic[id$="003"],
#brxe-ls001  .brxe-text-basic[id$="003"],
#brxe-kt001  .brxe-text-basic[id$="003"] {
  color: rgba(255,255,255,0.9) !important;
  font-size: var(--om-text-eyebrow) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

/* Hero Subline (der Absatz unter H1) */
#brxe-hero04, #brxe-hp004, #brxe-uu005, #brxe-pw005, #brxe-ls005, #brxe-kt004,
#brxe-vhero04 {
  color: rgba(255,255,255,0.9) !important;
  font-size: var(--om-text-body-lg) !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
}

/* Generisch: alle Text-Elemente innerhalb der Petrol-Heroes hell */
#brxe-hp001 .brxe-text-basic, #brxe-hero01 .brxe-text-basic,
#brxe-vhero01 .brxe-text-basic, #brxe-uu001 .brxe-text-basic,
#brxe-pw001 .brxe-text-basic, #brxe-ls001 .brxe-text-basic,
#brxe-kt001 .brxe-text-basic {
  color: rgba(255,255,255,0.92) !important;
}

/* ══════════════════════════════════════════════════════════

/* ══════════════════════════════════════════════════════════
   FOOTER — weißer Hintergrund, dunkle Schrift, einheitliche Typo
   ══════════════════════════════════════════════════════════ */

#brxe-ftr001 {
  padding-top: 56px !important;
  padding-bottom: 32px !important;
}

/* Tagline unter Logo */
#brxe-ftr007 {
  color: #0f0f0f !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  margin-top: 12px !important;
}

/* 4 Spalten-Überschriften einheitlich */
#brxe-ftr004h,
#brxe-ftrS02,
#brxe-ftrU02,
#brxe-ftrK02 {
  color: #737373 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* Inhalte der 4 Spalten einheitlich (Kontakt wie Menü) */
#brxe-ftr004l,
#brxe-ftrS03,
#brxe-ftrU03,
#brxe-ftrK03 {
  color: #0f0f0f !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
}

#brxe-ftr004l a,
#brxe-ftrS03 a,
#brxe-ftrU03 a,
#brxe-ftrK03 a {
  color: #0f0f0f !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  display: inline !important;
}

#brxe-ftr004l a:hover,
#brxe-ftrS03 a:hover,
#brxe-ftrU03 a:hover,
#brxe-ftrK03 a:hover {
  color: var(--om-petrol) !important;
  text-decoration: none !important;
}

/* Copyright-Zeile */
#brxe-ftr009 {
  padding: 16px 0 !important;
  color: #737373 !important;
  font-size: 13px !important;
}
#brxe-ftr009 .brxe-text-basic,
#brxe-ftr009 a {
  color: #737373 !important;
}
#brxe-ftr009 a:hover {
  color: var(--om-petrol) !important;
}

/* Mobile */
@media (max-width: 900px) {
  #brxe-ftr002 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px !important;
  }
}
@media (max-width: 560px) {
  #brxe-ftr002 {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════════════════════
   LEISTUNGEN — explizite Section-Backgrounds + Kontakt-Karten
   ══════════════════════════════════════════════════════════ */

/* Wechsel weiß / sehr hell – Bricks rendert BG nicht zuverlässig */
#brxe-ls010, #brxe-ls040 { background: #ffffff !important; }
#brxe-ls020, #brxe-ls030, #brxe-ls060 { background: #f7f9fc !important; }
#brxe-ls050 { background: var(--om-petrol) !important; }

/* Prozess-Sektion padding */
#brxe-ls050 { padding: 72px 32px !important; }
#brxe-ls052 {
  color: #ffffff !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin: 0 auto 48px !important;
  width: 100% !important;
  font-family: 'Raleway', sans-serif !important;
}
#brxe-ls051 { max-width: 1200px !important; margin: 0 auto !important; width: 100% !important; }

/* CTA-Sektion (ls060) padding */
#brxe-ls060 { padding: 80px 32px !important; }

/* Kontakt-Karten (ls064a/b/c) — display:block damit flex-grow greift */
#brxe-ls064a, #brxe-ls064b, #brxe-ls064c {
  display: block !important;
  flex: 1 1 240px !important;
  max-width: 300px !important;
}
#brxe-ls064a > a, #brxe-ls064b > a, #brxe-ls064c > a {
  display: block !important;
  height: 100% !important;
}
#brxe-ls064a a:hover, #brxe-ls064b a:hover, #brxe-ls064c a:hover {
  border-color: var(--om-petrol) !important;
  transform: translateY(-2px) !important;
}

/* Service-Cards Layout */
#brxe-ls011 { max-width: 1200px !important; margin: 0 auto !important; padding: 72px 32px !important; width: 100% !important; }

@media (max-width: 768px) {
  #brxe-ls052 { font-size: 26px !important; }
  #brxe-ls012, #brxe-ls023, #brxe-ls032, #brxe-ls043 {
    width: 200px !important; height: 200px !important;
  }
}

/* Leistungen — CTA Button ls063 explizit */
#brxe-ls063 {
  display: inline-block !important;
  background: var(--om-petrol) !important;
  color: #ffffff !important;
  padding: 14px 32px !important;
  border-radius: 4px !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: background 0.15s ease !important;
  cursor: pointer !important;
  border: none !important;
}
#brxe-ls063:hover {
  background: var(--om-petrol-dark) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Service-Card Container (ls011/021/031/041) */
#brxe-ls011, #brxe-ls021, #brxe-ls031, #brxe-ls041 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 64px !important;
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 72px 32px !important;
}
/* Alternierend: ls021 und ls041 haben Icon rechts */
#brxe-ls021, #brxe-ls041 { flex-direction: row-reverse !important; }

/* Icon-Tile (280×280, Petrol, rund 16px) */
#brxe-ls012, #brxe-ls023, #brxe-ls032, #brxe-ls043 {
  flex: 0 0 280px !important;
  width: 280px !important;
  height: 280px !important;
  background: var(--om-petrol) !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Text-Seite */
#brxe-ls013, #brxe-ls022, #brxe-ls033, #brxe-ls042 {
  flex: 1 1 400px !important;
  display: block !important;
  min-width: 0 !important;
}

@media (max-width: 768px) {
  #brxe-ls011, #brxe-ls021, #brxe-ls031, #brxe-ls041 {
    flex-direction: column !important;
    gap: 32px !important;
    padding: 48px 24px !important;
  }
  #brxe-ls012, #brxe-ls023, #brxe-ls032, #brxe-ls043 {
    flex: 0 0 auto !important;
    width: 200px !important;
    height: 200px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   KONTAKT — Layout (Form links, Info-Card rechts, Map unten)
   ══════════════════════════════════════════════════════════ */
#brxe-kt010 { background: #f7f9fc !important; }
#brxe-kt040 { background: #ffffff !important; }

/* Zwei-Spalten-Layout: Form links (2/3) + Info-Card rechts (1/3) */
#brxe-kt011 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 48px !important;
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 72px 32px !important;
}
#brxe-kt020 {
  flex: 1 1 420px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  min-width: 0 !important;
}
#brxe-kt030 {
  flex: 0 0 340px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

#brxe-kt041 {
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
  padding: 72px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

/* Kontakt-Form Labels & Placeholders (waren weiß auf weiß) */
#brxe-kt022 label, .ome-contact-form label { color: #737373 !important; font-size: 13px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; }
#brxe-kt022 input, #brxe-kt022 select, #brxe-kt022 textarea,
.ome-contact-form input, .ome-contact-form select, .ome-contact-form textarea {
  color: #0f0f0f !important;
  background: #ffffff !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 4px !important;
}
#brxe-kt022 input::placeholder, #brxe-kt022 textarea::placeholder,
.ome-contact-form input::placeholder, .ome-contact-form textarea::placeholder {
  color: #9e9e9e !important;
  opacity: 1 !important;
}
#brxe-kt022 input:focus, #brxe-kt022 select:focus, #brxe-kt022 textarea:focus,
.ome-contact-form input:focus, .ome-contact-form select:focus, .ome-contact-form textarea:focus {
  border-color: var(--om-petrol) !important;
  outline: none !important;
}

@media (max-width: 900px) {
  #brxe-kt030 { flex: 1 1 100% !important; }
}

/* Kontakt — Map-Container voll-breit */
#brxe-kt043 { display: block !important; width: 100% !important; flex: 1 1 auto !important; }
#brxe-kt043 iframe { width: 100% !important; }

/* Form H2 in Petrol */
#brxe-kt021 { color: var(--om-petrol) !important; }

/* Form: Anfrage-Senden Button zentriert mit Form ausrichten */
.ome-contact-form button[type="submit"] {
  background: var(--om-petrol) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 28px !important;
  border-radius: 4px !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer !important;
}
.ome-contact-form button[type="submit"]:hover { background: var(--om-petrol-dark) !important; }

/* ============================================================
   CD Rollout — /ueber-uns/, /partner-werden/, /team/
   Bricks rendert section-backgrounds und flex-settings aus Meta
   nicht zuverlässig → explizite ID-basierte Regeln.
   ============================================================ */

/* Section-Hintergründe */
#brxe-uu010, #brxe-uu030, #brxe-pw020, #brxe-pw040, #brxe-tm020 {
    background: #f7f9fc !important;
}
#brxe-uu020, #brxe-uu040, #brxe-pw010, #brxe-pw030, #brxe-tm010, #brxe-tm030 {
    background: #ffffff !important;
}

/* Hero-Sections (uu001, pw001, tm001) — Petrol-Hintergrund weiß Text */
#brxe-uu001, #brxe-pw001, #brxe-tm001 {
    background: var(--om-petrol) !important;
    padding: 96px 32px !important;
}
#brxe-uu001 .brxe-heading, #brxe-pw001 .brxe-heading, #brxe-tm001 .brxe-heading,
#brxe-uu005, #brxe-pw005, #brxe-tm005 {
    color: #ffffff !important;
}
#brxe-uu005, #brxe-pw005, #brxe-tm005 {
    font-family: "Raleway", sans-serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    max-width: 720px !important;
    margin: 16px auto 0 !important;
    text-align: center !important;
    color: rgba(255,255,255,0.9) !important;
}

/* Container-Blöcke: flex column, max-width, padding */
#brxe-uu011, #brxe-uu021, #brxe-uu031, #brxe-uu041,
#brxe-pw011, #brxe-pw021, #brxe-pw031, #brxe-pw041,
#brxe-tm011, #brxe-tm021, #brxe-tm031 {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 72px 32px !important;
    width: 100% !important;
}

/* Section H2 — Petrol, Raleway Bold */
#brxe-uu010 h2, #brxe-uu020 h2, #brxe-uu030 h2, #brxe-uu040 h2,
#brxe-pw010 h2, #brxe-pw020 h2, #brxe-pw030 h2, #brxe-pw040 h2,
#brxe-tm010 h2, #brxe-tm020 h2, #brxe-tm030 h2 {
    font-family: "Raleway", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 8px !important;
    text-align: center !important;
}

/* USP-Grid — 3 Spalten responsive */
.omi-usp-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    margin-top: 24px !important;
}
@media (max-width: 900px) {
    .omi-usp-grid { grid-template-columns: 1fr !important; }
}
.omi-usp-card {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    padding: 32px !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
}
.omi-usp-card:hover {
    border-color: var(--om-petrol) !important;
    transform: translateY(-2px) !important;
}
.omi-usp-card__icon {
    font-size: 32px !important;
    margin-bottom: 16px !important;
    color: var(--om-petrol) !important;
}
.omi-usp-card__title {
    font-family: "Raleway", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
}
.omi-usp-card__text {
    color: #0f0f0f !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Prozess-Steps — 4 Spalten */
.omi-process-steps {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 32px !important;
    margin-top: 24px !important;
}
@media (max-width: 900px) {
    .omi-process-steps { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 520px) {
    .omi-process-steps { grid-template-columns: 1fr !important; }
}
.omi-process-step {
    text-align: center !important;
}
.omi-process-step__num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: var(--om-petrol) !important;
    color: #ffffff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}
.omi-process-step__title {
    font-family: "Raleway", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    margin: 0 0 8px !important;
}
.omi-process-step__text {
    color: #0f0f0f !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* FAQ — +/- Toggle */
.omi-faq {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-width: 800px !important;
    margin: 24px auto 0 !important;
}
.omi-faq__item {
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
}
.omi-faq__question {
    position: relative !important;
    padding: 20px 56px 20px 24px !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--om-petrol) !important;
    cursor: pointer !important;
    list-style: none !important;
}
.omi-faq__question::after {
    content: "+" !important;
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 24px !important;
    color: var(--om-petrol) !important;
    font-weight: 400 !important;
}
.omi-faq__item[open] .omi-faq__question::after {
    content: "−" !important;
}
.omi-faq__answer {
    padding: 0 24px 20px !important;
    color: #0f0f0f !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.7 !important;
}

/* CTA Section — Petrol-Box */
.omi-lp-cta-section {
    background: var(--om-petrol) !important;
    color: #ffffff !important;
    padding: 64px 32px !important;
    border-radius: 4px !important;
    text-align: center !important;
    margin-top: 32px !important;
}
.omi-lp-cta-section h2, .omi-lp-cta-section h3 {
    color: #ffffff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
}
.omi-lp-cta-section p {
    color: rgba(255,255,255,0.9) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    max-width: 640px !important;
    margin: 0 auto 24px !important;
}
.omi-lp-cta-section .omi-btn-primary {
    display: inline-block !important;
    background: #ffffff !important;
    color: var(--om-petrol) !important;
    padding: 14px 32px !important;
    border-radius: 4px !important;
    font-family: "Raleway", sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    transition: transform 0.15s ease !important;
}
.omi-lp-cta-section .omi-btn-primary:hover {
    transform: translateY(-1px) !important;
}

/* Team-Grid (falls shortcode [openmind_team]) */
.omi-team-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px !important;
    margin-top: 24px !important;
}
@media (max-width: 900px) {
    .omi-team-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .omi-team-grid { grid-template-columns: 1fr !important; }
}
.omi-team-card {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    padding: 24px !important;
    text-align: center !important;
    transition: border-color 0.2s ease !important;
}
.omi-team-card:hover {
    border-color: var(--om-petrol) !important;
}
.omi-team-card__img {
    width: 128px !important;
    height: 128px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin: 0 auto 16px !important;
    display: block !important;
}
.omi-team-card__name {
    font-family: "Raleway", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    margin: 0 0 4px !important;
}
.omi-team-card__role {
    color: #737373 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin: 0 0 12px !important;
}
.omi-team-card__contact a {
    color: var(--om-petrol) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: block !important;
    margin-top: 4px !important;
}

/* omi-faq__list wrapper (alias to omi-faq) */
.omi-faq__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-width: 800px !important;
    margin: 24px auto 0 !important;
    width: 100% !important;
}


/* ============================================================
   Hero-Headlines — zentriert, CTA-Section Full-Bleed
   ============================================================ */

/* Alle Hero-Sections: H1 + Subline zentriert */
#brxe-uu001, #brxe-pw001, #brxe-tm001,
#brxe-ls001, #brxe-kt001, #brxe-st001 {
    text-align: center !important;
}
#brxe-uu001 h1, #brxe-pw001 h1, #brxe-tm001 h1,
#brxe-ls001 h1, #brxe-kt001 h1, #brxe-st001 h1,
#brxe-uu002, #brxe-pw002, #brxe-tm002,
#brxe-ls002, #brxe-kt002, #brxe-st002 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Home + weitere Seiten die hm/hp/vk/vm/bv IDs nutzen */
[id^="brxe-hm0"] h1, [id^="brxe-vk0"] h1, [id^="brxe-vm0"] h1, [id^="brxe-bv0"] h1 {
    text-align: center !important;
}

/* CTA-Section Full-Bleed: über die grauen Umgebungs-Sections strecken */
#brxe-pw040, #brxe-uu040 {
    padding: 0 !important;
    background: transparent !important;
}
#brxe-pw041, #brxe-uu041 {
    padding: 0 !important;
    max-width: 100% !important;
    gap: 0 !important;
}
#brxe-pw042, #brxe-uu042 {
    width: 100% !important;
    max-width: 100% !important;
}
/* CTA-Section selbst: full-bleed Petrol-Band */
#brxe-pw042 .omi-lp-cta-section,
#brxe-uu042 .omi-lp-cta-section {
    margin: 0 !important;
    padding: 96px 32px !important;
    border-radius: 0 !important;
    width: 100% !important;
}


/* ============================================================
   Standort-Seiten — [ome_standort_bezirk] Shortcode Styling
   ============================================================ */

/* Hero (s1) aller Standort-Seiten — Petrol */
body.page [id^="brxe-s1"] {
    background: var(--om-petrol) !important;
}
body.page #brxe-h1,
body.page [id^="brxe-i1"] {
    text-align: center !important;
}
body.page [id^="brxe-i1"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    row-gap: 16px !important;
}
body.page #brxe-h1 h1,
body.page [id^="brxe-h1"] h1 {
    color: #ffffff !important;
    text-align: center !important;
    margin: 0 !important;
}

/* Shortcode-Wrapper */
.omi-standort-bezirk {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Standort-Sektionen — weißer Hintergrund, padding */
.omi-standort-section {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 72px 32px !important;
    width: 100% !important;
}
.omi-standort-section:nth-child(odd) {
    background: #ffffff;
}
.omi-standort-section:nth-child(even) {
    background: #f7f9fc;
}
.omi-standort-section__title {
    font-family: "Raleway", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    text-align: center !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
}
.omi-standort-section__sub {
    text-align: center !important;
    color: #737373 !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    margin: 0 0 32px !important;
}

/* Standort-Check — Details-List */
.omi-standort-check__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}
.omi-standort-check__item {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-left-width: 3px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
.omi-check--positive { border-left-color: #1f9d55 !important; }
.omi-check--warning  { border-left-color: #e8a23b !important; }
.omi-check--neutral  { border-left-color: #737373 !important; }
.omi-standort-check__summary {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 20px !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 15px !important;
    cursor: pointer !important;
    list-style: none !important;
}
.omi-standort-check__summary::-webkit-details-marker { display: none !important; }
.omi-check__icon { font-size: 18px !important; flex-shrink: 0 !important; }
.omi-check__label { flex: 1 !important; color: #0f0f0f !important; font-weight: 600 !important; }
.omi-check__value { color: var(--om-petrol) !important; font-weight: 600 !important; }
.omi-standort-check__body {
    padding: 0 20px 16px 50px !important;
    color: #0f0f0f !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
}
.omi-standort-check__body p { margin: 0 0 8px !important; }
.omi-check__source {
    color: var(--om-petrol) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
.omi-check__disclaimer {
    text-align: center !important;
    color: #9e9e9e !important;
    font-size: 12px !important;
    font-style: italic !important;
    margin-top: 16px !important;
}

/* Listings-Grid */
.omi-standort-listings.omi-grid,
.omi-standort-listings {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 24px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.omi-standort-listings .ome-card {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
}
.omi-standort-listings .ome-card:hover {
    border-color: var(--om-petrol) !important;
    transform: translateY(-2px) !important;
}
.omi-standort-listings .ome-card__body {
    padding: 20px !important;
}
.omi-standort-listings .ome-card__price {
    font-family: "Raleway", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    margin: 0 0 8px !important;
}
.omi-standort-listings .ome-card__title {
    font-family: "Raleway", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f0f0f !important;
    margin: 0 0 6px !important;
    line-height: 1.4 !important;
}
.omi-standort-listings .ome-card__location {
    color: #737373 !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    margin: 0 !important;
}
.omi-standort-listings .ome-card__sold {
    display: inline-block !important;
    background: #9e9e9e !important;
    color: #ffffff !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* "Alle Angebote" Outline-Button */
.omi-btn-outline {
    display: inline-block !important;
    border: 1px solid var(--om-petrol) !important;
    color: var(--om-petrol) !important;
    background: transparent !important;
    padding: 10px 22px !important;
    border-radius: 4px !important;
    font-family: "Raleway", sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
.omi-btn-outline:hover {
    background: var(--om-petrol) !important;
    color: #ffffff !important;
}

/* Makler-Grid (Small) */
.omi-standort-agents.omi-agents-grid,
.omi-standort-agents {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 16px !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}
.omi-agent-card-small {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    padding: 16px !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease !important;
}
.omi-agent-card-small:hover {
    border-color: var(--om-petrol) !important;
}
.omi-agent-card-small img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}
.omi-agent-card-small strong {
    font-family: "Raleway", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--om-petrol) !important;
    display: block !important;
    line-height: 1.3 !important;
}
.omi-agent-card-small p {
    color: #737373 !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    margin: 2px 0 0 !important;
    line-height: 1.4 !important;
}
.omi-initials-small {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: var(--om-petrol) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

/* Standort-CTA — Full-Bleed Petrol-Band */
.omi-standort-cta {
    background: var(--om-petrol) !important;
    color: #ffffff !important;
    padding: 72px 32px !important;
    text-align: center !important;
    margin: 0 !important;
}
.omi-standort-cta h3 {
    color: #ffffff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.01em !important;
}
.omi-standort-cta p {
    color: rgba(255,255,255,0.9) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    max-width: 640px !important;
    margin: 0 auto 24px !important;
}
.omi-standort-cta .omi-btn-primary {
    display: inline-block !important;
    background: #ffffff !important;
    color: var(--om-petrol) !important;
    padding: 14px 32px !important;
    border-radius: 4px !important;
    font-family: "Raleway", sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    border: none !important;
}
.omi-standort-cta .omi-btn-primary:hover {
    transform: translateY(-1px) !important;
}

/* Loading / Leere Zustände */
.omi-loading-small {
    text-align: center !important;
    color: #9e9e9e !important;
    font-size: 14px !important;
    font-style: italic !important;
    padding: 32px 0 !important;
}

/* Standort-Bezirks Wrapper — Loading-State überschreibt mit weißen Sections */
#brxe-sc,
[id^="brxe-sc"] .omi-standort-bezirk > .omi-standort-section:first-child {
    border-top: none !important;
}

/* Standort h1 ist selbst h1#brxe-h1 (kein nested) */
body.page h1#brxe-h1,
body.page #brxe-h1 {
    color: #ffffff !important;
    text-align: center !important;
    margin: 0 auto !important;
    font-family: 'Raleway', sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}
body.page #brxe-h2 {
    text-align: center !important;
}


/* Standort Empty-State zentrieren */
.omi-standort-listings > p,
.omi-standort-agents > p {
    text-align: center !important;
    color: #737373 !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    padding: 32px 0 !important;
    margin: 0 !important;
    grid-column: 1 / -1 !important;
}
.omi-standort-section > p:last-child {
    text-align: center !important;
    margin-top: 24px !important;
}


/* ============================================================
   Standorte-Übersicht — [ome_standorte_uebersicht]
   ============================================================ */

.omi-standorte-uebersicht {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Deutschlandkarte Wrap */
.omi-dekarte-wrap {
    position: relative !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    width: 100% !important;
}
.omi-dekarte {
    position: relative !important;
    width: 100% !important;
    padding-top: 130% !important; /* 500:650 Aspect */
}
.omi-dekarte__svg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}
.omi-bl {
    stroke: #ffffff !important;
    stroke-width: 1 !important;
    stroke-linejoin: round !important;
    transition: fill 0.2s ease !important;
}
.omi-bl--inactive {
    fill: #e5e9ef !important;
}
.omi-bl--active {
    fill: #005779 !important; /* Petrol */
}
.omi-bl--active:hover {
    fill: #006c93 !important;
}

/* Büro-Pins (absolut über Karte) */
.omi-buro-pin {
    position: absolute !important;
    transform: translate(-50%, -100%) !important;
    text-decoration: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}
.omi-buro-pin__dot {
    width: 14px !important;
    height: 14px !important;
    background: #ffffff !important;
    border: 3px solid #005779 !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25) !important;
    display: block !important;
}
.omi-buro-pin__label {
    background: #005779 !important;
    color: #ffffff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
    white-space: nowrap !important;
    margin-top: -2px !important;
}
.omi-buro-pin:hover .omi-buro-pin__dot {
    background: #005779 !important;
    transform: scale(1.2) !important;
    transition: transform 0.15s ease !important;
}

/* Büro-Grid */
.omi-buro-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 24px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.omi-buro-card {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    padding: 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.omi-buro-card__title {
    font-family: "Raleway", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #005779 !important;
    margin: 0 0 4px !important;
}
.omi-buro-card__addr {
    font-style: normal !important;
    color: #0f0f0f !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}
.omi-buro-card__meta {
    margin: 0 !important;
    font-size: 14px !important;
}
.omi-buro-card__meta a {
    color: #005779 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.omi-buro-card .omi-btn-outline {
    margin-top: 8px !important;
    align-self: flex-start !important;
}

/* Regionen-Akkordeon */
.omi-region-accordion {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 12px !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
}
.omi-region-group {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
.omi-region-group__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 20px !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f0f0f !important;
    cursor: pointer !important;
    list-style: none !important;
    user-select: none !important;
}
.omi-region-group__head::-webkit-details-marker { display: none !important; }
.omi-region-group__head::after {
    content: "+" !important;
    color: #005779 !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    transition: transform 0.2s ease !important;
}
.omi-region-group[open] .omi-region-group__head::after {
    content: "−" !important;
}
.omi-region-group__name {
    flex: 1 !important;
}
.omi-region-group__count {
    background: #f7f9fc !important;
    color: #737373 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    margin-right: 12px !important;
}
.omi-region-group__list {
    list-style: none !important;
    padding: 0 20px 16px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    border-top: 1px solid #f0f0f0 !important;
}
.omi-region-group__list li {
    padding: 0 !important;
}
.omi-region-group__list a {
    display: block !important;
    padding: 8px 0 !important;
    color: #0f0f0f !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    border-bottom: 1px solid #f7f9fc !important;
    transition: color 0.15s ease, padding-left 0.15s ease !important;
}
.omi-region-group__list a:hover {
    color: #005779 !important;
    padding-left: 6px !important;
}
.omi-region-group__list li:last-child a {
    border-bottom: none !important;
}

.omi-region-grow {
    text-align: center !important;
    margin: 40px auto 0 !important;
    font-size: 15px !important;
    color: #737373 !important;
    font-weight: 300 !important;
}
.omi-region-grow a {
    color: #005779 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.omi-region-grow a:hover {
    text-decoration: underline !important;
}

/* Mobile */
@media (max-width: 640px) {
    .omi-dekarte-wrap { max-width: 420px !important; }
    .omi-buro-pin__label { font-size: 11px !important; }
    .omi-region-accordion { grid-template-columns: 1fr !important; }
}


/* SVG-Pin Styling (ersetzt alte HTML-Pins) */
.omi-buro-pin-svg {
    cursor: pointer !important;
    pointer-events: all !important;
}
.omi-pin-dot {
    fill: #ffffff !important;
    stroke: #005779 !important;
    stroke-width: 3 !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
    transition: transform 0.15s ease !important;
    transform-origin: center !important;
    transform-box: fill-box !important;
}
.omi-buro-pin-svg:hover .omi-pin-dot {
    transform: scale(1.25) !important;
}
.omi-pin-bg {
    fill: #005779 !important;
}
.omi-pin-label {
    fill: #ffffff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    paint-order: stroke !important;
}




/* ============================================================
   MOBILE SWEEP (Version 3.4) — site-wide @900/@640 consolidation
   ============================================================ */

/* ---------- Global page hygiene ---------- */
html, body { overflow-x: hidden !important; }
img, svg, video { max-width: 100% !important; height: auto !important; }

/* ---------- Nav: Off-Canvas Drawer via :has() (nutzt Bricks-Toggle) ---------- */
/* Bricks toggelt aria-expanded auf .bricks-mobile-menu-toggle. wir nehmen :has() am Parent. */
@media (max-width: 900px) {

    .brxe-nav-menu {
        position: relative !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }

    .bricks-mobile-menu-toggle {
        display: inline-flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        width: 44px !important;
        height: 44px !important;
        padding: 10px !important;
        background: transparent !important;
        border: 0 !important;
        cursor: pointer !important;
        z-index: 10001 !important;
        position: relative !important;
    }
    .bricks-mobile-menu-toggle .bar-top,
    .bricks-mobile-menu-toggle .bar-center,
    .bricks-mobile-menu-toggle .bar-bottom {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        background: #005779 !important;
        transition: transform 0.2s ease, opacity 0.2s ease !important;
        transform-origin: center !important;
    }
    .bricks-mobile-menu-toggle[aria-expanded="true"] .bar-top,
    .bricks-mobile-menu-toggle[aria-expanded="true"] .bar-bottom {
        background: #ffffff !important;
        position: relative !important;
    }
    .bricks-mobile-menu-toggle[aria-expanded="true"] .bar-top    { transform: translateY(11px) rotate(45deg) !important; }
    .bricks-mobile-menu-toggle[aria-expanded="true"] .bar-center { opacity: 0 !important; }
    .bricks-mobile-menu-toggle[aria-expanded="true"] .bar-bottom { transform: translateY(-11px) rotate(-45deg) !important; }

    /* Drawer: Fullscreen Off-Canvas */
    .bricks-nav-menu-wrapper {
        position: fixed !important;
        inset: 0 0 0 auto !important;
        width: min(85vw, 360px) !important;
        height: 100vh !important;
        background: #005779 !important;
        padding: 80px 28px 32px !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s ease !important;
        z-index: 10000 !important;
        overflow-y: auto !important;
        box-shadow: -4px 0 24px rgba(0,0,0,0.15) !important;
    }
    /* Open-State: wenn Toggle expanded ist */
    .brxe-nav-menu:has(.bricks-mobile-menu-toggle[aria-expanded="true"]) .bricks-nav-menu-wrapper {
        transform: translateX(0) !important;
    }

    .bricks-nav-menu {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        width: 100% !important;
    }
    .bricks-nav-menu > li { width: 100% !important; }
    .bricks-nav-menu > li > a {
        display: block !important;
        color: #ffffff !important;
        font-family: "Raleway", sans-serif !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.12) !important;
        text-decoration: none !important;
    }
    .bricks-nav-menu > li > a:hover { color: rgba(255,255,255,0.85) !important; }
    /* Submenu inline */
    .bricks-nav-menu .sub-menu {
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 4px 0 8px 16px !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .bricks-nav-menu .sub-menu a {
        color: rgba(255,255,255,0.85) !important;
        font-size: 15px !important;
        font-weight: 300 !important;
        padding: 6px 0 !important;
        border: 0 !important;
    }

    /* Body-Lock bei offenem Drawer */
    body:has(.bricks-mobile-menu-toggle[aria-expanded="true"]) {
        overflow: hidden !important;
    }
    /* Overlay hinter Drawer */
    .brxe-nav-menu:has(.bricks-mobile-menu-toggle[aria-expanded="true"])::before {
        content: "" !important;
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0,0,0,0.4) !important;
        z-index: 9999 !important;
        pointer-events: none !important;
    }

    /* Logo im Header eng halten */
    #brxe-hdr001, [id^="brxe-hdr001"] {
        padding: 12px 16px !important;
    }
}

/* ---------- Footer-Fix ---------- */
@media (max-width: 900px) {
    #brxe-ftr002:has(#brxe-ftrS01) { grid-template-columns: repeat(2, 1fr) !important; gap: 32px !important; padding: 48px 20px !important; }
}
@media (max-width: 640px) {
    #brxe-ftr002:has(#brxe-ftrS01) { grid-template-columns: 1fr !important; gap: 24px !important; padding: 40px 20px !important; }
    #brxe-ftr002:has(#brxe-ftrS01) > * { text-align: left !important; }
}

/* ---------- Hero-Typografie + Padding Mobile ---------- */
@media (max-width: 900px) {
    body.page [id^="brxe-s1"],
    body.page [id^="brxe-hp001"],
    body.page [id^="brxe-vk001"],
    body.page [id^="brxe-vm001"],
    body.page [id^="brxe-bv001"],
    body.page [id^="brxe-uu001"],
    body.page [id^="brxe-pw001"],
    body.page [id^="brxe-tm001"],
    body.page [id^="brxe-kt001"],
    body.page [id^="brxe-ls001"] {
        padding: 56px 20px !important;
    }
    body.page h1,
    body.page #brxe-h1,
    body.page [id^="brxe-h1"] h1 {
        font-size: 40px !important;
        line-height: 1.15 !important;
    }
    /* Subline unter H1 im Hero */
    body.page [id^="brxe-i1"] p,
    body.page [id^="brxe-h2"] {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }
}
@media (max-width: 640px) {
    body.page h1,
    body.page #brxe-h1 {
        font-size: 32px !important;
    }
    body.page [id^="brxe-s1"],
    body.page [id^="brxe-hp001"] {
        padding: 40px 16px !important;
    }
}

/* ---------- Globale Typo-Skala Mobile ---------- */
@media (max-width: 900px) {
    body { font-size: 15px !important; }
    h2:not(#brxe-h1):not([id^="brxe-h1"]) { font-size: 26px !important; }
    h3 { font-size: 22px !important; }
    h4 { font-size: 18px !important; }
    .omi-standort-section__title { font-size: 26px !important; }
    .omi-standort-cta h3 { font-size: 24px !important; }
    .omi-buro-card__title { font-size: 20px !important; }
}
@media (max-width: 640px) {
    .omi-standort-section__title { font-size: 22px !important; }
    .omi-standort-cta h3 { font-size: 20px !important; }
}

/* ---------- Section-Padding + Grids Mobile ---------- */
@media (max-width: 900px) {
    .omi-standort-section { padding: 48px 20px !important; }
    .omi-standort-cta { padding: 48px 20px !important; }
    .omi-buro-grid,
    .omi-region-accordion,
    .omi-standort-listings,
    .omi-standort-agents {
        gap: 16px !important;
    }
    .omi-buro-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
    .omi-standort-section { padding: 40px 16px !important; }
    .omi-standort-cta { padding: 40px 20px !important; }
    .omi-region-accordion { grid-template-columns: 1fr !important; }
    /* Generische Bricks-Grids auf 1 Spalte */
    #brxe-uu030 > .brxe-block,
    #brxe-uu010 > .brxe-block,
    #brxe-pw020 > .brxe-block,
    #brxe-pw040 > .brxe-block,
    #brxe-tm020 > .brxe-block {
        grid-template-columns: 1fr !important;
    }
}

/* ---------- Standort-CTA Mobile ---------- */
@media (max-width: 640px) {
    .omi-standort-cta p { font-size: 14px !important; }
    .omi-standort-cta .omi-btn-primary {
        padding: 12px 22px !important;
        font-size: 14px !important;
    }
    .omi-btn-outline {
        padding: 10px 18px !important;
        font-size: 13px !important;
    }
}

/* ---------- Deutschlandkarte Mobile ---------- */
@media (max-width: 640px) {
    .omi-dekarte-wrap { max-width: 320px !important; }
    .omi-pin-label { font-size: 10px !important; }
    .omi-region-grow {
        font-size: 13px !important;
        padding: 0 16px !important;
    }
    .omi-region-group__head {
        padding: 12px 16px !important;
        font-size: 15px !important;
    }
    .omi-region-group__list { padding: 0 16px 14px !important; }
}

/* ---------- Buttons hart mindestens 44px Tap-Area Mobile ---------- */
@media (max-width: 900px) {
    html body a.brxe-button,
    html body a.bricks-button,
    html body button.bricks-button {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}

/* ---------- Cards Mobile: Padding runter ---------- */
@media (max-width: 640px) {
    .omi-buro-card { padding: 20px !important; }
    .omi-standort-listings .ome-card__body { padding: 16px !important; }
    .omi-agent-card-small { padding: 12px !important; gap: 12px !important; }
    .omi-agent-card-small img,
    .omi-initials-small { width: 48px !important; height: 48px !important; }
}

/* Mobile Header: Logo + Hamburger in einer Reihe */
@media (max-width: 900px) {
    #brxe-hdr002 {
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 12px !important;
    }
    #brxe-hdr003 {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
    #brxe-hdr003 img {
        max-height: 40px !important;
        width: auto !important;
    }
    #brxe-hdr004 {
        flex: 0 0 auto !important;
    }
}

/* Drawer Menu Items — Color + Align Fix */
@media (max-width: 900px) {
    .bricks-nav-menu-wrapper .bricks-nav-menu {
        justify-content: flex-start !important;
        align-items: stretch !important;
        height: auto !important;
    }
    .bricks-nav-menu-wrapper .bricks-nav-menu > li > a,
    .bricks-nav-menu-wrapper .bricks-nav-menu a,
    body .bricks-nav-menu-wrapper .bricks-nav-menu a {
        color: #ffffff !important;
    }
}

/* Drawer — High Specificity Overrides */
@media (max-width: 900px) {
    #brxe-hdr004 .bricks-nav-menu-wrapper,
    #brxe-hdr004 ul.bricks-nav-menu,
    #brxe-hdr004 .bricks-nav-menu-wrapper > ul {
        justify-content: flex-start !important;
        align-items: stretch !important;
        height: auto !important;
        flex-direction: column !important;
    }
    #brxe-hdr004 .bricks-nav-menu a,
    #brxe-hdr004 ul.bricks-nav-menu a,
    #brxe-hdr004 .bricks-nav-menu-wrapper a {
        color: #ffffff !important;
    }
}

/* ============================================================
   MAKLER-EINZELPROFIL /makler/[slug]/ — FIX
   Added in style.css v3.5 — Fixt fehlendes Container-Layout
   und Avatar-Placeholder-Background auf der Einzelprofil-Seite.
   ============================================================ */
.ome-agent-profile {
    max-width: 1200px !important;
    margin-inline: auto !important;
    padding: 96px 80px !important;
    box-sizing: border-box;
}

/* Avatar-Placeholder mit hoher Specifität — sonst überschreibt Bricks/Theme den Gradient */
.ome-agent-profile .ome-agent-profile__avatar-wrap {
    background: #005779 !important;
}
.ome-agent-profile .ome-agent-profile__avatar.ome-agent-profile__avatar--placeholder {
    background: #005779 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
}
.ome-agent-profile .ome-agent-profile__avatar--placeholder span {
    color: #ffffff !important;
    font-size: 5rem !important;
    font-weight: 700 !important;
    font-family: 'Raleway', sans-serif !important;
    line-height: 1 !important;
}

/* Sidebar etwas breiter + Name Petrol */
.ome-agent-profile__name {
    color: #005779 !important;
    font-family: 'Raleway', sans-serif !important;
    font-weight: 600 !important;
}

/* Mobile: Zweispaltig → einspaltig */
@media (max-width: 900px) {
    .ome-agent-profile {
        grid-template-columns: 1fr !important;
        padding: 56px 20px !important;
        gap: 2rem !important;
    }
    .ome-agent-profile__sidebar {
        position: static !important;
        max-width: 320px !important;
        margin-inline: auto !important;
    }
}
@media (max-width: 640px) {
    .ome-agent-profile {
        padding: 40px 16px !important;
    }
    .ome-agent-profile__avatar--placeholder span {
        font-size: 4rem !important;
    }
}

/* ============================================================
   MOBILE-SWEEP — style.css v3.6
   Konsolidiert alle Mobile-Regeln an einem Ort.
   Breakpoints:
     - @900px: Tablet → Hamburger, 2-col Footer, Typo-Stufe runter
     - @640px: Mobile eng → 1-col Footer, H1 kleiner, Padding runter
   ============================================================ */

/* ─── Header-Mobile-Toggle bei 900px statt 767px ─── */
@media (max-width: 900px) {
    #brxe-hdr004 .bricks-nav-menu-wrapper { display: none !important; }
    #brxe-hdr004 .bricks-mobile-menu-toggle { display: block !important; }
    #brxe-hdr002 { padding: 12px 20px !important; }
}

/* ─── Footer: 5-col → 2-col ─── */
@media (max-width: 900px) {
    #brxe-ftr002 {
        flex-wrap: wrap !important;
        gap: 32px 24px !important;
        padding: 40px 24px !important;
    }
    #brxe-ftr002 > #brxe-ftr003,
    #brxe-ftr002 > #brxe-ftr004,
    #brxe-ftr002 > #brxe-ftrS01,
    #brxe-ftr002 > #brxe-ftrU01,
    #brxe-ftr002 > #brxe-ftrK01 {
        flex: 1 1 calc(50% - 12px) !important;
        min-width: 0 !important;
    }
    #brxe-ftr002 > #brxe-ftr003 { flex: 1 1 100% !important; }
}
@media (max-width: 640px) {
    #brxe-ftr002 {
        gap: 24px !important;
        padding: 32px 16px !important;
    }
    #brxe-ftr002 > * { flex: 1 1 100% !important; }
    #brxe-ftr009 { padding: 16px !important; text-align: center !important; }
    #brxe-ftr010 { font-size: 12px !important; }
}

/* ─── Hero & Typografie @900 ─── */
@media (max-width: 900px) {
    #brxe-hp001, #brxe-s1, #brxe-vk001, #brxe-vm001, #brxe-bv001,
    #brxe-uu001, #brxe-pw001, #brxe-tm001, #brxe-kt001 {
        min-height: auto !important;
    }
    #brxe-hp002, #brxe-hp021, #brxe-hp031, #brxe-hp041 {
        padding: 56px 20px !important;
    }
    body.page h1,
    body.page .brxe-heading[id$="hp004"] {
        font-size: 40px !important;
        line-height: 1.15 !important;
    }
    body.page h2 { font-size: 28px !important; line-height: 1.2 !important; }
    body.page h3 { font-size: 22px !important; }

    /* Stats-Block */
    #brxe-hp011 { padding: 40px 20px !important; gap: 24px !important; }

    /* Leistungen-Grid 4 → 2 */
    #brxe-hp024 { gap: 16px !important; }
    #brxe-hp024 > * {
        flex: 1 1 calc(50% - 8px) !important;
        min-width: 0 !important;
    }
}

/* ─── Hero & Typografie @640 ─── */
@media (max-width: 640px) {
    body.page h1,
    body.page .brxe-heading[id$="hp004"] { font-size: 32px !important; }
    body.page h2 { font-size: 24px !important; }

    #brxe-hp002, #brxe-hp021, #brxe-hp031, #brxe-hp041 {
        padding: 40px 16px !important;
    }

    #brxe-hp011 { padding: 32px 16px !important; }
    #brxe-hp011 > * {
        flex: 1 1 calc(50% - 12px) !important;
        min-width: 0 !important;
    }
    #brxe-hp012 strong,
    #brxe-hp013 strong,
    #brxe-hp014 strong,
    #brxe-hp015 strong { font-size: 32px !important; }

    #brxe-hp024 > * { flex: 1 1 100% !important; }
    #brxe-hp025, #brxe-hp026, #brxe-hp027, #brxe-hp028 {
        padding: 24px 20px !important;
    }

    /* Buttons min-touch-area */
    .brxe-button, .bricks-button {
        min-height: 44px !important;
        padding: 12px 22px !important;
    }
}

/* ─── Standort/Team/Region-Grid ─── */
@media (max-width: 900px) {
    .omi-standort-section, .omi-standort-cta { padding: 48px 20px !important; }
    .omi-buro-grid, .omi-region-accordion, .omi-standort-listings,
    .omi-standort-agents, .omi-team-grid { gap: 16px !important; }
    .omi-standort-section__title, .omi-standort-cta h3,
    .omi-buro-card__title { font-size: 24px !important; }
}
@media (max-width: 640px) {
    .omi-standort-section, .omi-standort-cta { padding: 40px 16px !important; }
    .omi-buro-grid, .omi-region-accordion, .omi-team-grid {
        grid-template-columns: 1fr !important;
    }
    .omi-standort-cta h3 { font-size: 22px !important; }
    .omi-standort-cta p { font-size: 14px !important; }
    .omi-standort-cta .omi-btn-primary {
        padding: 12px 22px !important;
        font-size: 14px !important;
    }
}

/* ─── Deutschlandkarte mobile ─── */
@media (max-width: 640px) {
    .omi-dekarte-wrap {
        max-width: 380px !important;
        margin-inline: auto !important;
    }
    .omi-pin-label { font-size: 10px !important; }
    .omi-region-grow { font-size: 13px !important; padding: 0 20px !important; }
}

/* ─── Immobilien-Karte: Split-Layout mobile auf nur Liste ─── */
@media (max-width: 900px) {
    #ome-map-container { display: none !important; }
    .ome-listings-split { flex-direction: column !important; }
    #ome-map-toggle-mobile { display: block !important; }
}

/* ─── Horizontal-Scroll verhindern ─── */
@media (max-width: 900px) {
    html, body { overflow-x: hidden !important; }
}

/* ============================================================
   MOBILE-SWEEP v3.7 — Specificity-Fix
   Bricks liefert Inline-Styles mit #brxe-XXX + tag.class Selektoren,
   die unseren v3.6-Regeln in der Spezifität überlegen sind.
   v3.7: Selektoren mit html body-Prefix + nav.Tagqualifier,
   um Bricks’ (0,1,0,0) / (0,1,1,1) zu überbieten.
   ============================================================ */

/* ─── Nav-Desktop ausblenden + Hamburger zeigen ─── */
@media (max-width: 900px) {
    html body #brxe-hdr004 nav.bricks-nav-menu-wrapper { display: none !important; }
    html body #brxe-hdr004 .bricks-mobile-menu-toggle { display: block !important; }
}

/* ─── Hero-H1 pro Template-ID (schlägt Bricks #brxe-XXX) ─── */
@media (max-width: 900px) {
    html body #brxe-hp004,
    html body #brxe-uu004,
    html body #brxe-pw004,
    html body #brxe-tm004,
    html body #brxe-kt004,
    html body #brxe-hero03,
    html body #brxe-h1 {
        font-size: 40px !important;
        line-height: 1.15 !important;
    }
}
@media (max-width: 640px) {
    html body #brxe-hp004,
    html body #brxe-uu004,
    html body #brxe-pw004,
    html body #brxe-tm004,
    html body #brxe-kt004,
    html body #brxe-hero03,
    html body #brxe-h1 {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }
}

/* ─── Stats-Block: echtes 2×2 Grid statt column-wrap ─── */
@media (max-width: 640px) {
    html body #brxe-hp011 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
        flex-direction: initial !important;
        flex-wrap: initial !important;
    }
    html body #brxe-hp011 > * {
        flex: initial !important;
        min-width: 0 !important;
    }
}

/* ─── Leistungen-Grid: 4→2→1 robust erzwingen ─── */
@media (max-width: 900px) {
    html body #brxe-hp024 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
        flex-direction: initial !important;
        flex-wrap: initial !important;
    }
    html body #brxe-hp024 > * {
        flex: initial !important;
        min-width: 0 !important;
    }
}
@media (max-width: 640px) {
    html body #brxe-hp024 {
        grid-template-columns: 1fr !important;
    }
}


/* ══════════════════════════════════════════════════════════
   HERO-VEREINHEITLICHUNG — /team/ + /immobilien/
   Patch v2 2026-04-25: nach ID-Normalisierung auf Standard-Schema.
   /immobilien/ nutzt jetzt immo001/002/003/004/005 (vorher immo_*).
   Eyebrow-Element existiert jetzt als echter Bricks-Node (immo003),
   ::before-Pseudo entfernt.
   ══════════════════════════════════════════════════════════ */

/* Hero-Background Petrol */
#brxe-tm001,
#brxe-immo001 {
  background: var(--om-petrol) !important;
  color: #ffffff !important;
  padding: 6rem 0 4rem !important;
  min-height: 40vh;
  display: flex;
  align-items: center;
}

/* Hero H1 */
#brxe-tm001 h1,
#brxe-immo001 h1 {
  color: #ffffff !important;
  font-family: var(--om-font-display) !important;
  font-weight: 700 !important;
  font-size: var(--om-text-display-xl) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}
@media (max-width: 900px) {
  #brxe-tm001 h1,
  #brxe-immo001 h1 {
    font-size: var(--om-text-h1) !important;
  }
}

/* Hero Eyebrow (echte Bricks-Elemente: tm003, immo003) */
#brxe-tm003,
#brxe-immo003 {
  color: rgba(255,255,255,0.9) !important;
  font-size: var(--om-text-eyebrow) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  display: block;
  margin-bottom: 0.5rem;
}

/* Hero Subline */
#brxe-tm005,
#brxe-immo005 {
  color: rgba(255,255,255,0.9) !important;
  font-size: var(--om-text-body-lg) !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
  margin-top: 0.75rem;
  max-width: 720px;
}

/* Generisch: alle Text-Elemente in den Petrol-Heroes hell */
#brxe-tm001 .brxe-text-basic,
#brxe-immo001 .brxe-text-basic {
  color: rgba(255,255,255,0.92) !important;
}

/* ══════════════════════════════════════════════════════════
   END Hero-Vereinheitlichung v2
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   MOBILE-QA-POLISH 2026-04-25
   Drei kosmetische Fixes nach Mobile-QA-Pass:
   #1 Startseite-Stats: Padding + 2-Spalten-Grid bis 899px
   #2 (im selben Block — 2-spaltig auch @768)
   #4 /partner-werden/ H1 kleiner @ 375 (zu lang in 3 Zeilen)
   ══════════════════════════════════════════════════════════ */

/* #1+#2 Startseite Stats — 2-spaltig auf Mobile/Tablet, 4-spaltig auf Desktop */
@media (max-width: 899px) {
  html body #brxe-hp011 {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 32px 16px !important;
    padding: 40px 24px !important;
    flex-wrap: unset !important;
  }
  html body #brxe-hp011 > .brxe-text-basic {
    flex: none !important;
    text-align: center;
  }
}

/* #4 /partner-werden/ H1 "Werden Sie Teil unseres Maklernetzwerks"
   ist auf 375px in 3 Zeilen — auf 32px reduzieren statt 40px */
@media (max-width: 480px) {
  html body #brxe-pw004 {
    font-size: 32px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   END Mobile-QA-Polish
   ══════════════════════════════════════════════════════════ */
