/* One control surface: native controls and legacy widget shells share geometry. */
.theme-a{--control-height:48px;--control-border:#ccd3d5;--control-radius:8px;--control-focus:#9a6a12}
.theme-a :is(input,select,textarea,button){font-family:Arial,Helvetica,sans-serif;box-sizing:border-box}
.theme-a :is(.fields input,.fields select,.extra-fields input,.id-section input),
.modern-portal :is(input[type=text],input[type=email],input[type=number],input[type=password],select,textarea){border:1px solid var(--control-border)!important;border-radius:var(--control-radius);background:#fff;background-image:none;box-shadow:none;color:var(--ink);font-size:15px!important;line-height:22px;padding:12px!important;min-height:var(--control-height);height:var(--control-height);margin:0;max-width:100%}
.theme-a textarea{height:auto!important;min-height:140px!important;resize:vertical}
.theme-a :is(input,select,textarea):focus-visible{outline:2px solid var(--control-focus);outline-offset:2px}
.theme-a :is(input,textarea)::placeholder{color:#748087;opacity:1}
.theme-a :is(input,select,textarea):disabled{background:#f1f3f3;color:#7c8589;cursor:not-allowed}
.theme-a :is(input[type=checkbox],input[type=radio]){accent-color:#ad791b;min-height:0;width:18px;height:18px;vertical-align:middle;margin:0 8px 0 0;padding:0}
.theme-a .fields{align-items:end;gap:16px;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,.7fr) minmax(0,1fr)}
.theme-a .fields>div{border:0;padding:0;min-width:0}
.theme-a .fields label{font-size:12px;line-height:18px;font-weight:600;letter-spacing:0;margin:0 0 8px;padding:0;border:0}
.theme-a .fields :is(input,select){width:100%;min-height:48px;height:48px}
.theme-a .fields>.primary{align-self:end;height:48px;min-height:48px;margin:0}
.theme-a .fields .radius{display:block}
.theme-a select{appearance:none;padding-right:36px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2357636b' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}
.theme-a .extra-fields label{font-size:12px;font-weight:600;line-height:18px}
.theme-a .extra-fields input{margin-top:8px}
.theme-a :is(.primary,.insert,.menutoggle),.modern-portal :is(a.button,a.rlink,a.js-clipboard-link,.ui-sort a,.js-verw-tabs li a){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;height:auto;padding:11px 16px!important;border:1px solid var(--control-border);border-radius:8px;background-image:none!important;box-shadow:none;text-shadow:none!important;font-size:13px!important;font-weight:600;line-height:20px!important;text-decoration:none;overflow:visible;box-sizing:border-box}
.theme-a .primary,.modern-portal a.button{background:#f3b63e!important;border-color:#f3b63e!important;color:#202d36!important}
.theme-a .primary:hover,.modern-portal a.button:hover{background:#e8a92e!important}
.modern-portal :is(a.rlink,a.js-clipboard-link){background:#fff!important;color:#202d36!important}
.modern-portal :is(a.rlink,a.js-clipboard-link,.ui-sort a):hover{background:#f6f7f7!important;border-color:#929fa5}
.modern-portal :is(.button,.rlink,.js-verw-tabs a) :is(.ui-icon,.ui-fff-icon){display:none}
.modern-portal .ui-sort li{border:0!important;background:none;padding:0}
.modern-portal .ui-sort a{height:44px;min-height:44px}
.modern-portal .ui-sort span{flex:none;align-self:center}
/* jsText/jsSelect own the border; their input must never draw a second one. */
.modern-portal :is(.ui-bst,.ui-nst){display:flex;align-items:center;position:relative;float:none;box-sizing:border-box!important;min-width:0;max-width:100%;height:48px!important;border:1px solid var(--control-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;overflow:visible;padding:0!important}
.modern-portal :is(.ui-bst,.ui-nst):focus-within{outline:2px solid var(--control-focus);outline-offset:2px}
.modern-portal :is(.ui-bst,.ui-nst) input{flex:1;min-width:0;width:100%!important;height:46px!important;min-height:0!important;border:0!important;border-radius:8px!important;outline:0!important;box-shadow:none!important;padding:12px!important;float:none;background:transparent!important}
.modern-portal :is(.ui-bst,.ui-nst) input[readonly]{cursor:pointer;padding-right:36px!important}
.modern-portal :is(.ui-bst,.ui-nst)>span.ui-icon{position:absolute;right:15px;top:18px;float:none;width:8px;height:8px;margin:0;border:0;border-right:1.5px solid #57636b;border-bottom:1.5px solid #57636b;transform:rotate(45deg);background:none!important;pointer-events:none}
.modern-portal :is(.ui-bst-option,.ui-nst-option,.ac-list){border:1px solid var(--control-border)!important;border-radius:8px;background:#fff!important;box-shadow:0 8px 24px #202d3614!important;padding:5px!important;max-width:calc(100vw - 40px);z-index:1000}
.modern-portal :is(.ui-bst-option,.ui-nst-option) li a,.modern-portal .ac-list div{height:auto;min-height:40px;line-height:20px;padding:10px 12px;text-shadow:none;border-radius:5px}
.modern-portal :is(.ui-bst-option,.ui-nst-option) li a:hover,.modern-portal .ac-list div.selected{background:#faf2df}
.modern-portal .filters .ui-bst,.modern-portal .filters .ui-nst{width:100%!important;margin-top:6px}
.modern-portal .filters .ui-bst-option{min-width:180px}
.modern-portal .filters .ui-bg200>.left:has(.ui-bst){width:calc((100% - 12px)/2)!important;margin:0!important}
.modern-portal .filters .ui-bg200>.left:has(.ui-bst)+.left:has(.ui-bst){margin-left:12px!important}
.modern-portal .filters .ui-bg200>.left[align=center]{width:12px!important;font-size:0;line-height:54px!important}
.modern-portal .filters .clear5{height:16px}
.modern-portal .filters i{font-size:12px;font-weight:500;line-height:18px}
.modern-portal .filters input[type=image]{position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden}
.modern-portal .filters .ui-last .button{width:100%;float:none}
.modern-portal .jsImmoReq .label{line-height:48px!important;padding-top:0!important;font-size:13px}
.modern-portal .jsImmoReq .field{min-height:48px;margin-bottom:12px;box-sizing:border-box}
.modern-portal .jsImmoReq .field select{width:100%}
.modern-portal .jsImmoReq .field input:not([type=checkbox]):not([type=radio]){min-height:48px}
.modern-portal .jsImmoReq .field textarea{width:100%}
.modern-portal .ui-dialog :is(.button,.rlink){float:none;margin:5px}
.modern-portal .ui-dialog{border:1px solid #d4dadd!important;border-radius:12px!important;background:#fff!important;box-shadow:0 20px 60px #202d3633!important;padding:16px!important}
@media(max-width:1100px){.theme-a .fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.theme-a .fields>.primary{grid-column:auto}}
@media(max-width:600px){.theme-a .fields{display:grid;grid-template-columns:1fr;gap:16px}.theme-a .fields>div,.theme-a .fields>.primary{grid-column:1;padding:0;border:0}.theme-a .fields label{font-size:12px}.theme-a .fields :is(input,select),.modern-portal :is(input[type=text],input[type=email],select,textarea){font-size:16px!important}.modern-portal .jsImmoReq .label{line-height:20px!important;margin:8px 0}.modern-portal .ui-sort{gap:8px}.modern-portal .ui-sort a{padding:10px!important}.theme-a .id-section .primary{height:48px}}
@media(min-width:761px){.theme-a .menutoggle{display:none}}
.modern-portal .result-content .sort{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px}
.modern-portal .result-content .sort .ui-sort{margin-left:auto}
.modern-portal .result-content .sort:after{display:none}

.modern-portal .jsImmoReq :is(input,select,textarea).error{border-color:#ba3030!important;background-color:#fff5f5!important}
.modern-portal .jsImmoReq .field input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;padding:0!important;border:0!important;margin:3px 8px 0 0}
.modern-portal #immoRequest .field:has(input[name=request_phone]),.modern-portal #immoRequest .field:has(input[name=request_fax]),.modern-portal #immoRequest .field:has(input[name=request_mobile]),.modern-portal #immoRequest .field:has(input[name=request_email]){width:340px!important}
.modern-portal #immoRequest .field:has(input[name=request_street]),.modern-portal #immoRequest .field:has(input[name=request_location]){width:248px!important}
.modern-portal #immoRequest .field:has(input[name=request_housenumber]),.modern-portal #immoRequest .field:has(input[name=request_location]){margin-left:12px}
.modern-portal #immoRequest .field input:not([type=checkbox]){width:100%!important;border-radius:8px}
@media(max-width:760px){.modern-portal #immoRequest .field:has(input){width:100%!important;margin-left:0}.modern-portal #immoRequest .field input[type=checkbox]{width:18px!important}.modern-portal .jsImmoReq .label{line-height:20px!important}}
.modern-portal .result-card .js-clipboard-item{height:auto;min-height:72px;overflow:visible;width:110px}
.modern-portal .result-card .js-clipboard-icon{margin-top:14px}
.modern-portal .result-card .index_thumb,.modern-portal .result-card .index_thumb img{border:0!important;box-shadow:none!important;padding:0!important;background-image:none!important}
.modern-portal .jsFormContent label{white-space:normal;line-height:1.5}

/* Navigation reads as a set of menu surfaces, including keyboard and touch states. */
.theme-a #mainnav{gap:8px;padding:10px 24px}
.theme-a #mainnav>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:8px;color:var(--ink);text-decoration:none;transition:background-color .15s ease,color .15s ease}
.theme-a #mainnav>a:hover,.theme-a #mainnav>a:focus-visible{background:#f4eddf;color:#795310;text-decoration:none}
.theme-a #mainnav>a[aria-current]{background:#f8e6bc;color:#69480d;font-weight:700}
.theme-a #mainnav>a[aria-current]:hover{background:#f3d99c}
.theme-a #mainnav>a:active{background:#edcf8d}
@media(max-width:900px) and (min-width:761px){.theme-a #mainnav{gap:4px;padding:10px 16px}.theme-a #mainnav>a{padding:12px 10px}}
@media(max-width:760px){.theme-a #mainnav{gap:6px;padding:12px 20px}.theme-a #mainnav>a{justify-content:flex-start;padding:12px 16px}.theme-a #mainnav .mobileaccount{margin-top:8px;padding-top:8px}.theme-a #mainnav .mobileaccount a:hover{background:#f4eddf;border-radius:8px;text-decoration:none}}
@media(prefers-reduced-motion:reduce){.theme-a #mainnav>a{transition:none}}
/* Reusable layered select: server-rendered links, enhanced selection behavior. */
.theme-a .choice-control{position:relative;min-width:0}
.theme-a .choice-control select[hidden]{display:none}
.theme-a .choice-layer>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;height:48px;padding:12px;border:1px solid var(--control-border);border-radius:8px;background:#fff;color:var(--ink);font-size:15px;font-weight:400;line-height:22px;cursor:pointer}
.theme-a .choice-layer>summary::-webkit-details-marker{display:none}
.theme-a .choice-layer>summary:focus-visible{outline:2px solid var(--control-focus);outline-offset:2px}
.theme-a .choice-layer[open]>summary{border-color:#a67a2d;background:#fffcf5}
.choice-chevron{width:8px;height:8px;border-right:1.5px solid #57636b;border-bottom:1.5px solid #57636b;transform:rotate(45deg);flex:none;margin-right:3px;margin-top:-4px}
.choice-layer[open] .choice-chevron{transform:rotate(225deg);margin-top:4px}
.choice-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-a .choice-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:560px;max-width:calc(100vw - 80px);padding:20px;background:#fff;border:1px solid #dce1e3;border-radius:12px;box-shadow:0 16px 48px #202d3626;color:var(--ink)}
.choice-heading{font-size:16px;font-weight:700;margin-bottom:16px}
.choice-options{max-height:360px;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.theme-a .choice-group h3{font-size:12px;line-height:18px;color:#66737a;margin:0 0 6px;letter-spacing:0;font-weight:600}
.theme-a .choice-options a,.theme-a .choice-options button{display:block;width:100%;text-align:left;border:0;border-radius:6px;padding:10px 12px;background:#fff;color:var(--ink);font:400 14px/20px Arial;text-decoration:none;cursor:pointer}
.theme-a .choice-options :is(a,button):hover,.theme-a .choice-options :is(a,button):focus-visible{background:#f5f2ea}
.theme-a .choice-options .is-selected{background:#f8e6bc;font-weight:600}
.theme-a [data-choice=radius] .choice-panel{width:220px}
[data-choice=radius] .choice-options{grid-template-columns:1fr;gap:4px}
.theme-a .extra-fields input,.theme-a .extra-fields input::placeholder{font-weight:400}
.theme-a .extra-fields input[type=number]{appearance:textfield;-moz-appearance:textfield}
.theme-a .extra-fields input::-webkit-inner-spin-button,.theme-a .extra-fields input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:600px){.theme-a .choice-panel{max-width:calc(100vw - 76px);padding:16px}.choice-options{grid-template-columns:1fr;max-height:300px;gap:14px}.theme-a .choice-layer>summary{font-size:16px}}
.theme-a .choice-panel{overflow-y:auto;overscroll-behavior:contain;max-height:460px}
.theme-a .choice-layer.opens-up .choice-panel{top:auto;bottom:calc(100% + 8px)}
.theme-a .choice-options{max-height:none;overflow:visible;grid-template-columns:1fr;gap:14px}
.theme-a .choice-group[hidden],.theme-a .choice-filters[hidden]{display:none}
.theme-a .choice-filters{margin-bottom:18px}
.theme-a .choice-segments{display:flex;gap:4px;background:#f1f3f3;padding:4px;border-radius:9px;margin-bottom:12px}
.theme-a .choice-segments button{flex:1;min-width:0;border:0;border-radius:6px;background:transparent;padding:10px 8px;font:600 14px/20px Arial;color:#59666d;cursor:pointer}
.theme-a .choice-segments button[aria-pressed=true]{background:white;color:#202d36;box-shadow:0 1px 4px #202d361a}
.theme-a .choice-tenure{background:none;padding:0;justify-content:flex-start;gap:8px;margin:0}
.theme-a .choice-tenure button{flex:none;padding:8px 18px;border:1px solid #dce1e3}
.theme-a .choice-tenure button[aria-pressed=true]{background:#f8e6bc;border-color:#e5c67d;box-shadow:none}
.theme-a .choice-segments button:hover{color:#202d36;background:#e9eeee}
.theme-a [data-choice=category] .choice-panel{width:440px}
/* Clipboard symbol belongs to the action surface, including the saved state. */
.modern-portal .js-clipboard-item>.js-clipboard-icon{display:none}
.modern-portal a.js-clipboard-link::before{content:'';display:block;flex:0 0 16px;width:16px;height:18px;background:center/16px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='18' viewBox='0 0 16 18' fill='none' stroke='%23202d36' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M5 3H3v13h10V3h-2'/%3E%3Crect x='5' y='1.5' width='6' height='3' rx='1'/%3E%3C/svg%3E")}
.modern-portal .result-card .js-clipboard-item{width:124px}
.modern-portal .filter-choice{position:relative;margin:0 0 12px}
.modern-portal .filter-choice>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:14px 16px;min-height:48px;background:#fff;border:1px solid var(--control-border);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.filter-choice>summary::-webkit-details-marker{display:none}
.modern-portal .filter-choice[open]>summary{background:#fff9eb;border-color:#b58a39}
.modern-portal .filter-choice-panel{position:absolute;top:calc(100% + 8px);left:0;width:340px;max-width:calc(100vw - 40px);z-index:70;border:1px solid #dce1e3;border-radius:12px;background:#fff;padding:12px;box-shadow:0 16px 48px #202d3626;overflow-y:auto;overscroll-behavior:contain}
.modern-portal .filter-choice.opens-up .filter-choice-panel{top:auto;bottom:calc(100% + 8px)}
.modern-portal .filter-choice-panel .ui-list{border:0;margin:0!important;padding:0;background:none}
.modern-portal .filter-choice-panel .ui-title{background:none;border:0;padding:8px 10px 12px}
.modern-portal .filter-choice-panel .ui-title h3{font-size:14px;line-height:1.4}
.modern-portal .filter-choice-panel .slidscroll{padding:0!important;height:auto!important;min-height:0;border:0;overflow:visible!important;background:none}
.modern-portal .filter-choice-panel .slidscroll>.action{display:none!important}
.modern-portal .filter-choice-panel :is(.scrollable,.items,.item){position:static!important;display:block!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;transform:none!important;margin:0!important;padding:0!important;float:none!important}
.modern-portal .filter-choice-panel :is(.item>li,.ui-tab){position:relative;display:block;height:auto;min-height:40px;border:0;background:none;padding:0!important}
.modern-portal .filter-choice-panel a{display:block;padding:10px 38px 10px 12px!important;min-height:40px;height:auto!important;line-height:20px!important;font-size:14px;background:none!important;text-shadow:none;white-space:normal!important;text-decoration:none;border-radius:6px}
.modern-portal .filter-choice-panel a:hover{background:#faf2df!important}
.modern-portal .filter-choice-panel .ui-count{position:absolute;right:10px;top:12px;font-size:12px;line-height:16px;color:#728088}
.selected-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.modern-portal .selection-chip{display:inline-flex;align-items:center;gap:12px;border:1px solid #e4cf9e;background:#fff7e5;padding:7px 12px;border-radius:20px;font-size:13px;line-height:20px;text-decoration:none}
.modern-portal .selection-chip:hover{background:#f8e6bc}.selection-chip>span:last-child{font-size:19px}.selection-name{text-transform:capitalize}
/* Search alert: one calm card, with the original subscription endpoint/IDs. */
.modern-portal .search-alert{list-style:none;margin:32px 0;padding:28px;background:#fff;border:1px solid #e2e6e5;border-radius:16px;overflow:hidden}
.modern-portal .search-alert>li{list-style:none;border:0;margin:0;padding:0;background:none}
.modern-portal .search-alert .search-alert-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.search-alert-intro>div{flex:1;min-width:0}
.search-alert-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#906519;margin-bottom:10px}
.modern-portal .search-alert h2{font-size:27px;line-height:1.25;letter-spacing:-.7px;margin:0 0 12px;max-width:460px;height:auto;white-space:normal}
.modern-portal .search-alert p{font-size:14px;line-height:1.6;color:#647178;margin:0;max-width:440px}
.search-alert-intro img{width:150px;height:135px;object-fit:contain;flex:none}
.modern-portal .search-alert .search-alert-criteria{padding:16px 20px;background:#faf8f2;border-radius:10px;font-size:13px;line-height:1.8;margin-bottom:24px}
.modern-portal .search-alert-criteria .p5{padding:0}.modern-portal .search-alert-criteria em{font-style:normal;color:#6d777b;float:none;display:inline-block;width:120px}.modern-portal .search-alert-criteria b{font-weight:600;color:#26353e}
.search-alert-signup>label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}
.search-alert-fields{display:flex;gap:12px;align-items:center}
.modern-portal .search-alert-fields input{flex:1;width:0;min-width:0;height:48px}
.modern-portal .search-alert-fields a.button{float:none;flex:none;height:48px;min-height:48px;margin:0;padding:12px 20px!important}
.modern-portal .search-alert-signup>p{font-size:11px;margin-top:10px}
@media(max-width:760px){.modern-portal .search-alert{padding:22px}.modern-portal .search-alert h2{font-size:24px}.search-alert-intro img{width:90px;height:90px}.modern-portal .search-alert .search-alert-intro{gap:12px;align-items:flex-start}.search-alert-fields{flex-direction:column;align-items:stretch}.modern-portal .search-alert-fields input{width:100%;flex:auto}.modern-portal .search-alert-criteria em{width:auto;display:block}.modern-portal .search-alert-criteria b{display:inline-block;margin-bottom:6px}}
@media(max-width:420px){.modern-portal .search-alert .search-alert-intro{flex-direction:column-reverse}.search-alert-intro img{width:80px;height:72px}.modern-portal .search-alert h2{font-size:25px}}
/* Account navigation uses the same surfaces as the primary menu. */
.theme-a .account{gap:6px}
.theme-a .account>a:not(.insert){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:12px 14px;border-radius:8px;color:var(--ink);text-decoration:none;line-height:20px;transition:background-color .15s ease,color .15s ease}
.theme-a .account>a:not(.insert):hover,.theme-a .account>a:not(.insert):focus-visible{background:#f4eddf;color:#795310;text-decoration:none}
.theme-a .account>a:not(.insert):active{background:#edcf8d}
.theme-a .account>a[aria-current]:not(.insert){background:#f8e6bc;color:#69480d}
.theme-a .account .count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 6px;line-height:1}
@media(max-width:1100px){.theme-a .account>a:not(.insert){padding:10px}}
@media(prefers-reduced-motion:reduce){.theme-a .account>a:not(.insert){transition:none}}
/* Keep the complete navigation together; sticky retains its layout space. */
.theme-a .sticky-header{position:sticky;top:0;z-index:200;background:#fff;box-shadow:0 2px 10px #202d3608}
.theme-a .sticky-header .site-header{background:#fff}
.theme-a{scroll-padding-top:170px}
html:has(.sticky-header){scroll-padding-top:170px}
@media(max-width:760px){html:has(.sticky-header){scroll-padding-top:90px}.theme-a .sticky-header #mainnav.open{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}}

/* Only the main menu stays pinned; branding and account links scroll away. */
.theme-a #mainnav{position:sticky;top:0;z-index:200;background:#fff;box-shadow:0 2px 10px #202d3608}
html:has(#mainnav){scroll-padding-top:80px}
@media(max-width:760px){.theme-a #mainnav.open{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}html:has(#mainnav){scroll-padding-top:20px}}

/* Homepage: evenly sized additional search criteria. */
.theme-a .hero .searchbottom details[open]{flex-basis:100%;width:100%;min-width:0}
.theme-a .hero .extra-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}
.theme-a .hero .extra-fields>label{display:block;width:100%;max-width:none;min-width:0;margin:0}
.theme-a .hero .extra-fields input{width:100%;box-sizing:border-box}
@media(max-width:600px){.theme-a .hero .extra-fields{grid-template-columns:1fr}}

/* Sichtbare redaktionelle Inhalte und semantische Themen-Navigation. */
.theme-a .editorial{box-sizing:border-box;width:calc(100% - 48px);max-width:1184px;margin:40px auto;padding:40px;background:#fff;border:1px solid #e0e5e7;border-radius:24px;color:#26343e}.editorial h2{font-size:30px;line-height:1.25;margin:0 0 24px;max-width:850px}.editorial-index{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:26px;border-bottom:1px solid #e0e5e7}.editorial-index a{display:inline-block;padding:10px 14px;background:#f8f5ed;border-radius:10px;font-size:14px;text-decoration:none}.editorial-index a:hover,.editorial-index a:focus-visible{background:#f5e7bf}.editorial article{max-width:880px;scroll-margin-top:90px;margin-top:30px}.editorial h3{font-size:22px;line-height:1.35;margin:0 0 12px}.editorial p{font-size:16px;line-height:1.8;margin:0 0 16px;color:#53636d}.editorial p a{text-decoration:underline;text-underline-offset:3px;color:#26343e}.editorial p a:hover{color:#81602b}@media(max-width:600px){.theme-a .editorial{width:calc(100% - 24px);padding:22px;margin:28px auto;border-radius:18px}.editorial h2{font-size:25px}.editorial h3{font-size:21px}.editorial-index{gap:8px}.editorial-index a{max-width:100%}}

/* Regionale Ergebnisse: Seitenpfad und vorhandene Suchbeschreibung. */
.theme-a nav.results-breadcrumb{position:static;display:block;background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 24px;min-height:0;height:auto;width:auto}.results-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;list-style:none;margin:0;padding:0;font-size:13px;color:#62717b}.results-breadcrumb li{display:flex;gap:8px;align-items:baseline;min-width:0}.results-breadcrumb li+li:before{content:"›";color:#8b969b}.theme-a .results-breadcrumb a{font-size:13px;font-weight:500;padding:4px 6px;border-radius:6px;min-height:0;text-decoration:none}.results-breadcrumb a:hover{background:#f5e7bf}.results-breadcrumb [aria-current]{overflow-wrap:anywhere}.results-intro .results-description{max-width:840px;line-height:1.7;font-size:16px;color:#62717b;margin:14px 0 20px}@media(max-width:600px){.results-breadcrumb ol{font-size:12px}.theme-a .results-breadcrumb a{font-size:12px}.results-intro .results-description{font-size:15px}}

/* Full-width white header surface, with the existing centered content width. */
.site-header-band{width:100%;background:#fff}

/* Shared mobile rule for breadcrumb navigation on all modern pages. */
@media(max-width:760px){.theme-a nav[aria-label="Brotkrumennavigation"],.theme-a nav.results-breadcrumb,.theme-a nav.profile-breadcrumb{display:none!important}}

/* Approved immo(4)trans wordmark. Explicit dimensions prevent layout shifts. */
.theme-a .site-header .brand,.theme-a .site-footer .brand{display:inline-flex;flex-shrink:0;line-height:1;letter-spacing:normal;text-decoration:none}
.theme-a .brand-logo{display:block;width:240px;height:auto;max-width:100%;object-fit:contain}
.theme-a .site-footer .brand-logo{width:220px}
@media(max-width:760px){.theme-a .site-header .brand-logo{width:200px}.theme-a .site-header{gap:12px}}
@media(max-width:380px){.theme-a .site-header .brand-logo{width:180px}}

/* Inline vector logo: use the active menu colors for the 4 and its circle. */
.theme-a .site-footer .brand-logo .brand-letter{fill:rgba(255,255,255,.78)}
.theme-a .site-footer .brand-logo circle{fill:rgba(248,230,188,.16)}
.theme-a .site-footer .brand-logo path:not(.brand-letter){fill:rgba(248,230,188,.95)}

/* Shared checkbox/radio geometry, including legacy forms and inline labels. */
.theme-a input:is([type=checkbox],[type=radio]){
  flex:0 0 18px!important;width:18px!important;height:18px!important;
  min-width:18px!important;min-height:0!important;max-width:18px!important;
  padding:0!important;margin:0 6px 0 0!important;
  float:none!important;vertical-align:middle!important;
}
.theme-a label:has(>input:is([type=checkbox],[type=radio])){
  gap:6px!important;align-items:center!important;
}
/* Flex rows use gap only; inline prose keeps its natural text/link flow. */
.theme-a :is(.moving-checklist label,.contact-preferences label,.contact-consent,.trade-access-form label)>input:is([type=checkbox],[type=radio]){
  margin:0!important;align-self:center;
}
.theme-a input:is([type=checkbox],[type=radio])+label{
  vertical-align:middle!important;margin-left:0!important;
}

/* Required markers belong to the choice text, never before the control. */
body label:has(input:is([type="checkbox"],[type="radio"])) :is(.orange,.required,.required-marker){float:none!important;display:inline!important;position:static!important;margin:0 .2em 0 0!important;padding:0!important;vertical-align:baseline;order:0}
body input:is([type="checkbox"],[type="radio"])+label :is(.orange,.required,.required-marker){float:none!important;display:inline!important;position:static!important;margin:0 .2em 0 0!important;padding:0!important;vertical-align:baseline}

/* Keep long German editorial headings within small phone screens. */
.editorial :is(h2,h3,p,a){overflow-wrap:anywhere;hyphens:auto}
