/* Lisa Böseke Immobilien Design and SEO for OnOffice — 3.1.1 */
/* Theme headings, including Avada responsive typography, own all H1-H3 fonts. */
@layer immobilien-theme-fallback {
 .immobilien h1 {font-family:inherit;font-size:clamp(32px,calc(24px + 2vw),48px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
 .immobilien h2 {font-family:inherit;font-size:clamp(26px,calc(20px + 1vw),32px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
 .immobilien h3 {font-family:inherit;font-size:22px;line-height:1.35;font-weight:600;letter-spacing:0}
}
/* Böseke onOffice Design 1.8.1. Scoped to the custom templates. */
.immobilien {--immobilien-petrol:var(--awb-color5,#3f6761);--immobilien-sand:var(--awb-color3,#dedad0);--immobilien-muted:var(--awb-color7,#66645f);--immobilien-text-gold:var(--awb-color6,#76620c);--immobilien-ink:var(--awb-color8,#2c2c2c);--immobilien-gold:var(--awb-color4,#d3ae16);--immobilien-paper:var(--awb-color2,#f1f0ed);--immobilien-radius:20px;color:var(--immobilien-ink);text-align:left;overflow-wrap:anywhere}
.immobilien, .immobilien *, .immobilien *::before, .immobilien *::after {box-sizing:border-box}
.immobilien img {max-width:100%;vertical-align:middle}
.immobilien button, .immobilien input, .immobilien select, .immobilien textarea {font:inherit}
.immobilien .immobilien-icon {width:14px;height:16px;fill:none;stroke:currentColor;flex:0 0 14px;display:inline-block}
.immobilien a {color:inherit;text-decoration:none}
.immobilien a:focus-visible, .immobilien button:focus-visible {outline:3px solid #2c2c2c;outline-offset:5px}
.immobilien h1, .immobilien h2, .immobilien h3 {overflow-wrap:anywhere}
.immobilien p {margin:0 0 20px}
.immobilien .immobilien-eyebrow {color:var(--immobilien-gold);margin:0 0 10px}
.immobilien .immobilien-hero {position:relative;isolation:isolate;background:var(--immobilien-paper);padding:90px 40px 150px;text-align:center}
.immobilien .immobilien-hero-inner {position:relative;z-index:1;width:100%;max-width:var(--site_width,1240px);margin:0 auto}
.immobilien .immobilien-hero h1 {margin:0 auto 20px;max-width:1160px}
.immobilien .immobilien-hero--detail {padding-top:90px;padding-bottom:150px}
.immobilien .immobilien-list-section {width:calc(100% - 64px);max-width:var(--site_width,1240px);margin:80px auto}
.immobilien .immobilien-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--col_spacing,32px);align-items:stretch}
.immobilien .immobilien-card {min-width:0;background:#fff;border-radius:var(--immobilien-radius);border:1px solid var(--immobilien-sand);box-shadow:none;overflow:hidden;transition:box-shadow .25s ease}
@media(hover:hover) and (pointer:fine){.immobilien .immobilien-card--linked:hover {box-shadow:0 12px 28px rgba(44,44,44,.16)}}
.immobilien .immobilien-card--linked:focus-within {box-shadow:0 12px 28px rgba(44,44,44,.16)}
/* Mouse press keeps the regular border; keyboard focus remains visible outside the clipped link. */
.immobilien .immobilien-card:has(.immobilien-card-link:focus-visible) {outline:2px solid var(--immobilien-petrol);outline-offset:4px}
.immobilien .immobilien-card-link {display:flex;height:100%;flex-direction:column;color:var(--immobilien-ink)}
.immobilien .immobilien-card-media {position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--immobilien-paper)}
.immobilien .immobilien-card-media img {width:100%;height:100%;object-fit:cover;border-radius:var(--immobilien-radius) var(--immobilien-radius) 0 0}
.immobilien .immobilien-card-media img.immobilien-image--contain {object-fit:contain}
.immobilien .immobilien-card-content {padding:24px;display:flex;flex:1;flex-direction:column;gap:20px}
.immobilien .immobilien-card-content>.immobilien-facts {margin-top:auto}
.immobilien .immobilien-card-location {margin:0;color:var(--immobilien-gold)}
.immobilien .immobilien-card-title {text-align:left;margin:0;height:auto;overflow:visible}
.immobilien .immobilien-badge {position:absolute;top:16px;left:16px;max-width:calc(100% - 32px);padding:7px 12px;border-radius:6px;background:var(--immobilien-paper);color:var(--immobilien-ink)}
.immobilien .immobilien-facts {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.immobilien .immobilien-facts li {list-style:none;margin:0;padding:0;display:flex;align-items:baseline;gap:10px}
.immobilien .immobilien-facts .immobilien-icon {align-self:flex-start;margin-top:4px}
.immobilien .immobilien-no-image {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;height:100%;background:var(--immobilien-paper);padding:30px;text-align:center}
.immobilien .immobilien-no-image .immobilien-icon {width:48px;height:48px;flex-basis:48px;color:#aaa69b}
.immobilien .immobilien-no-image--large {aspect-ratio:4/3;border-radius:var(--immobilien-radius)}
.immobilien .immobilien-empty {padding:40px;background:var(--immobilien-paper);border-radius:var(--immobilien-radius)}
.immobilien .immobilien-search, .immobilien .immobilien-sort {margin-bottom:30px}
.immobilien .immobilien-pagination {margin-top:50px}
.immobilien .immobilien-pagination ul {display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.immobilien .immobilien-pagination li {list-style:none;margin:0}
.immobilien .immobilien-pagination .oo-post-nav-links {padding:0;background:transparent;border:0}
.immobilien.immobilien-teaser .immobilien-list-section {width:100%;margin:0 auto;max-width:var(--site_width,1240px)}
.immobilien .immobilien-detail-inner {width:calc(100% - 80px);max-width:var(--site_width,1240px);margin:100px auto}
.immobilien .immobilien-overview {display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:15px;align-items:start}
.immobilien .immobilien-gallery {min-width:0}
.immobilien .immobilien-gallery-main {position:relative;aspect-ratio:4/3;overflow:hidden;margin:0;border-radius:var(--immobilien-radius);background:var(--immobilien-paper)}
.immobilien .immobilien-gallery-main>.immobilien-image {width:100%;height:100%;object-fit:contain;border-radius:var(--immobilien-radius)}
.immobilien .immobilien-gallery-zoom {display:none;position:absolute;bottom:16px;right:16px;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--immobilien-ink);cursor:pointer}
.immobilien .immobilien-gallery-navigation {display:none;align-items:center;justify-content:center;gap:20px;margin-top:12px}
.immobilien .is-ready .immobilien-gallery-zoom, .immobilien .is-ready .immobilien-gallery-navigation {display:flex}
.immobilien .immobilien-gallery-navigation button {display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ddd;border-radius:50%;background:#fff;color:var(--immobilien-ink);cursor:pointer}
.immobilien .immobilien-thumbnails {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px}
.immobilien .immobilien-thumbnail {display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;border:2px solid transparent;background:var(--immobilien-paper)}
.immobilien .immobilien-thumbnail img {width:100%;height:100%;object-fit:cover}
.immobilien .immobilien-thumbnail.is-active {border-color:var(--immobilien-gold)}
.immobilien .immobilien-highlights {padding:40px;border-radius:var(--immobilien-radius);background:var(--immobilien-paper)}
.immobilien .immobilien-highlights h2 {margin:0 0 25px}
.immobilien .immobilien-highlights .immobilien-facts {gap:20px}
.immobilien .immobilien-highlights .immobilien-button {margin-top:30px;width:100%;padding-left:20px;padding-right:20px}
.immobilien .immobilien-status {display:inline-block;padding:5px 12px;border:1px solid #d7d3c5;border-radius:5px}
.immobilien .immobilien-document {display:block;text-align:center;text-decoration:underline;margin-top:20px}
.immobilien .immobilien-description {margin-top:80px}
.immobilien .immobilien-description-title {margin:0 0 40px}
.immobilien .immobilien-copy {margin:0 0 40px}
.immobilien .immobilien-copy h2, .immobilien .oo-details-energy-certificate h2 {margin:0 0 20px}
.immobilien .immobilien-copy p {margin:0 0 1em}
.immobilien .immobilien-copy a {text-decoration:underline}
.immobilien .immobilien-data {margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.immobilien .immobilien-data>div {display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.5fr);gap:15px;padding:12px 0;border-bottom:1px solid #e9e8e4}
.immobilien .immobilien-data dd {margin:0}
.immobilien .immobilien-map {overflow:hidden;border-radius:var(--immobilien-radius)}
.immobilien .immobilien-map iframe {display:block;width:100%;max-width:100%}
.immobilien .immobilien-media iframe {max-width:100%;width:100%;aspect-ratio:16/9;height:auto}
.immobilien .immobilien-contact {background:var(--immobilien-paper);padding:90px 40px;scroll-margin-top:var(--boeseke-anchor-offset,180px)}
.immobilien .immobilien-contact-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:80px;width:100%;max-width:var(--site_width,1240px);margin:auto}
.immobilien .immobilien-contact-person {margin-bottom:40px}
.immobilien .immobilien-contact-photo {display:block;width:240px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--immobilien-radius);margin:0 0 25px}
.immobilien .immobilien-contact h3 {margin:0 0 20px}
.immobilien .immobilien-contact h2 {margin:0 0 30px}
.immobilien .immobilien-contact-link {display:flex;align-items:baseline;gap:10px;margin:0 0 12px}
.immobilien .immobilien-contact-link, .immobilien .immobilien-contact-link:hover, .immobilien .immobilien-contact-link:focus {text-decoration:none}
.immobilien .immobilien-contact-link .immobilien-icon {align-self:flex-start;margin-top:4px}
.immobilien .oo-form {max-width:100%;display:flex;flex-wrap:wrap;gap:20px}
.immobilien .oo-form>label, .immobilien .oo-form>.oo-single-select, .immobilien .oo-form>.oo-input-group {display:block;width:calc(50% - 10px);margin:0;padding:0;color:var(--immobilien-ink)}
.immobilien .oo-form>label:has(textarea), .immobilien .oo-form>label:has(input[type=checkbox]), .immobilien .oo-form>.oo-form-required, .immobilien .oo-form>p, .immobilien .oo-form>.oo-form-submit {width:100%}
.immobilien .oo-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]), .immobilien .oo-form select, .immobilien .oo-form textarea {background:#fff;border:1px solid #d9d7d0;border-radius:7px;color:var(--immobilien-ink);padding:12px 14px;width:100%;max-width:100%;min-height:48px;box-shadow:none;margin-top:6px}
.immobilien .oo-form textarea {min-height:150px;resize:vertical}
.immobilien .oo-form input[type=checkbox], .immobilien .oo-form input[type=radio] {accent-color:var(--immobilien-gold)}
.immobilien .oo-form .displayerror {color:#ac2626}
.immobilien .oo-details-energy-certificate {margin:40px 0}
.immobilien .oo-details-energy-certificate .oo-detailstable {display:flex;flex-wrap:wrap}
.immobilien .oo-details-energy-certificate .oo-details-fact__label, .immobilien .oo-details-energy-certificate .oo-details-fact__value {width:50%;padding:10px 0;margin:0}
/* Full viewport dialog: the filmstrip has its own row and never covers the photo. */
.immobilien .immobilien-lightbox {position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;box-sizing:border-box;padding:calc(56px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border:0;border-radius:0;background:#1e1e1e;color:#fff;margin:0;overflow:hidden}
.immobilien .immobilien-lightbox[open] {display:flex;flex-direction:column;gap:8px}
.immobilien .immobilien-lightbox::backdrop {background:#1e1e1e}
.immobilien .immobilien-lightbox-stage {position:relative;flex:1;min-height:0;width:100%;padding:0 48px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.immobilien .immobilien-lightbox-stage>img {display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.immobilien .immobilien-lightbox button {position:absolute;width:44px;height:44px;padding:0;background:#fff;color:#222;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}
.immobilien .immobilien-lightbox button:focus-visible {outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--immobilien-gold,#d2ad16)}
.immobilien .immobilien-lightbox-close {right:max(12px,env(safe-area-inset-right,0px));top:calc(6px + env(safe-area-inset-top,0px))}
.immobilien .immobilien-lightbox-prev {left:0;top:calc(50% - 22px)}
.immobilien .immobilien-lightbox-next {right:0;top:calc(50% - 22px)}
.immobilien .immobilien-lightbox-info {display:flex;justify-content:center;gap:12px;align-items:baseline;flex:none;min-width:0;padding:0 4px;font-size:14px;line-height:1.5;color:#fff}
.immobilien .immobilien-lightbox-info [data-immobilien-lightbox-counter] {white-space:nowrap;font-variant-numeric:tabular-nums}
.immobilien .immobilien-lightbox-info [data-immobilien-lightbox-caption] {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.immobilien .immobilien-lightbox-strip {display:flex;flex-wrap:nowrap;min-height:0;gap:8px;flex:none;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:6px 4px 10px;scrollbar-width:thin;scrollbar-color:var(--immobilien-gold,#d2ad16) #333}
.immobilien .immobilien-lightbox-strip .immobilien-lightbox-thumb {position:relative;display:block;flex:0 0 104px;width:104px;height:78px;border:2px solid transparent;border-radius:8px;background:#333;opacity:.65;overflow:hidden}
/* Auto margins center short strips; overflow keeps both ends reachable. */
.immobilien .immobilien-lightbox-strip .immobilien-lightbox-thumb:first-child {margin-inline-start:auto}
.immobilien .immobilien-lightbox-strip .immobilien-lightbox-thumb:last-child {margin-inline-end:auto}
.immobilien .immobilien-lightbox-thumb img {display:block;width:100%;height:100%;object-fit:cover}
.immobilien .immobilien-lightbox-strip .immobilien-lightbox-thumb:is(.is-active,:hover,:focus-visible) {opacity:1}
.immobilien .immobilien-lightbox-strip .immobilien-lightbox-thumb.is-active {border-color:var(--immobilien-gold,#d2ad16)}
@media(max-width:600px),(max-height:500px){
 .immobilien .immobilien-lightbox-stage {padding:0 36px}
 .immobilien .immobilien-lightbox-stage>button {background:rgba(255,255,255,.9)}
 .immobilien .immobilien-lightbox-strip .immobilien-lightbox-thumb {flex-basis:72px;width:72px;height:54px}
 .immobilien .immobilien-lightbox-info {font-size:12px}
}

.immobilien .immobilien-floorplans .immobilien-lightbox-thumb img {object-fit:contain;background:#fff}
.immobilien.immobilien-detail .immobilien-floorplan-grid a {display:block;border-radius:var(--immobilien-radius)}
body.immobilien-dialog-open {overflow:hidden}
.immobilien .immobilien-list-section, .immobilien .immobilien-gallery {scroll-margin-top:var(--boeseke-anchor-offset,180px)}
/* A full-page template owns its inner widths. Only its Avada ancestors are reset.
   Regular pages, site header/footer, and the teaser template remain unaffected. */
@supports selector(:has(*)){
  #main:has(.immobilien-view) {padding:0!important}
  #main:has(.immobilien-view)>.fusion-row {max-width:100%!important;width:100%}
  #main .fusion-fullwidth:has(.immobilien-view) {padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
  #main .fusion-fullwidth .fusion-row:has(.immobilien-view) {max-width:100%!important;width:100%!important;margin-left:0!important;margin-right:0!important}
  #main .fusion-layout-column:has(.immobilien-view) {width:100%!important;margin:0!important}
  #main .fusion-column-wrapper:has(.immobilien-view) {margin:0!important;padding:0!important}
  #main .fusion-text:has(.immobilien-view) {max-width:none!important;width:100%;margin:0!important}
  #main:has(.immobilien-view)>.fusion-row>.full-width {width:100%}
}
@media(max-width:1024px){
  .immobilien .immobilien-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .immobilien .immobilien-list-section {margin-top:80px;margin-bottom:80px}
  .immobilien .immobilien-overview {grid-template-columns:minmax(0,1fr);gap:30px}
  .immobilien .immobilien-highlights {padding:30px}
  .immobilien .immobilien-highlights .immobilien-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .immobilien .immobilien-detail-inner {margin-top:60px;margin-bottom:60px}
  .immobilien .immobilien-contact-inner {gap:40px}
  .immobilien .immobilien-data {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
  .immobilien .immobilien-hero, .immobilien .immobilien-hero--detail {padding:65px 20px 70px}
  .immobilien .immobilien-grid {grid-template-columns:minmax(0,1fr);gap:30px}
  .immobilien .immobilien-list-section {margin:50px auto;width:calc(100% - 40px)}
  .immobilien-teaser .immobilien-list-section {width:100%;margin:0}
  .immobilien .immobilien-detail-inner {width:calc(100% - 40px);margin:40px auto}
  .immobilien .immobilien-highlights {padding:25px}
  .immobilien .immobilien-highlights .immobilien-facts {display:flex}
  .immobilien .immobilien-thumbnails {grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .immobilien .immobilien-description {margin-top:45px}
  .immobilien .immobilien-description-title {margin-bottom:30px}
  .immobilien .immobilien-contact {padding:50px 20px}
  .immobilien .immobilien-contact-inner {grid-template-columns:minmax(0,1fr);gap:20px}
  .immobilien .immobilien-data>div {grid-template-columns:minmax(100px,1fr) minmax(0,1.5fr);gap:10px}
  .immobilien .oo-form>label, .immobilien .oo-form>.oo-single-select, .immobilien .oo-form>.oo-input-group {width:100%}
  
}
@media(prefers-reduced-motion:reduce){.immobilien * {scroll-behavior:auto!important;transition:none!important}}

/* Approved 22.10.2026: shared dynamic detail layout. Avada owns header/footer. */
.immobilien.immobilien-detail {--immobilien-petrol:var(--awb-color5,#3f6761);--immobilien-sand:var(--awb-color3,#dedad0);--immobilien-muted:var(--awb-color7,#66645f);--immobilien-radius:20px}
.immobilien.immobilien-detail .immobilien-icon {width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor}
.immobilien.immobilien-detail a:focus-visible, .immobilien.immobilien-detail button:focus-visible {outline-color:var(--immobilien-petrol)}
.immobilien.immobilien-detail .immobilien-hero--detail {min-height:360px;padding:32px 32px 40px;text-align:left;display:flex;align-items:center;color:var(--immobilien-ink)}
.immobilien.immobilien-detail .immobilien-hero-inner {max-width:var(--site_width,1240px)}
.immobilien.immobilien-detail .immobilien-hero h1 {max-width:950px;margin:0 0 22px}
.immobilien.immobilien-detail .immobilien-back-link {display:inline-flex;align-items:center;gap:8px;margin-bottom:30px}
.immobilien.immobilien-detail .immobilien-back-link .immobilien-icon {width:16px;height:16px;flex-basis:16px}
.immobilien.immobilien-detail .immobilien-eyebrow {color:var(--immobilien-gold);margin:0 0 14px}
.immobilien.immobilien-detail .immobilien-hero-meta {color:var(--immobilien-ink);display:flex;align-items:center;gap:9px;margin:0}
.immobilien.immobilien-detail .immobilien-detail-inner {width:calc(100% - 64px);max-width:var(--site_width,1240px);margin:48px auto 55px}
.immobilien.immobilien-detail .immobilien-overview {grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:var(--col_spacing,32px);align-items:stretch}
.immobilien.immobilien-detail .immobilien-media-column {display:flex;flex-direction:column;gap:16px;min-width:0}
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-gallery {display:flex;flex-direction:column;flex:1}
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-gallery>.immobilien-gallery-caption {margin-bottom:0}
.immobilien.immobilien-detail .immobilien-detail-sidebar {display:grid;align-content:start;gap:24px;min-width:0}
.immobilien.immobilien-detail .immobilien-gallery {width:100%;max-width:none;margin:0}
.immobilien.immobilien-detail .immobilien-gallery-main {aspect-ratio:auto;border-radius:20px;flex:1;min-height:clamp(280px,28vw,400px)}
.immobilien.immobilien-detail .immobilien-gallery-main>a {display:block;position:absolute;inset:0;width:100%;height:100%}
.immobilien.immobilien-detail .immobilien-gallery-main .immobilien-image {width:100%;height:100%;object-fit:cover;border-radius:20px}
.immobilien.immobilien-detail .immobilien-gallery-main .immobilien-image--contain {object-fit:contain}
.immobilien.immobilien-detail .immobilien-gallery-caption {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;color:var(--immobilien-muted)}
.immobilien.immobilien-detail [data-immobilien-caption] {min-width:0}
.immobilien.immobilien-detail .immobilien-gallery-navigation {margin:0;gap:10px;flex-shrink:0;white-space:nowrap}
.immobilien.immobilien-detail .immobilien-gallery-navigation button {width:36px;height:36px}
.immobilien.immobilien-detail .immobilien-gallery-arrow {display:none;position:absolute;top:50%;transform:translateY(-50%);align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#fffffff0;color:var(--immobilien-ink)}
.immobilien.immobilien-detail .is-ready .immobilien-gallery-arrow {display:flex}
.immobilien.immobilien-detail .immobilien-gallery-arrow--prev {left:16px}.immobilien.immobilien-detail .immobilien-gallery-arrow--next {right:16px}
.immobilien.immobilien-detail .immobilien-gallery-zoom {border:1px solid #dedad0}
/* Functional gallery controls follow the existing global button hover palette. */
.immobilien.immobilien-detail :is(.immobilien-gallery-arrow,.immobilien-gallery-navigation button,.immobilien-gallery-zoom,.immobilien-lightbox button) {cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
@media(hover:hover) and (pointer:fine){
 .immobilien.immobilien-detail :is(.immobilien-gallery-arrow,.immobilien-gallery-navigation button,.immobilien-gallery-zoom,.immobilien-lightbox button):hover {background:var(--button_gradient_top_color_hover,var(--immobilien-petrol));color:var(--button_accent_hover_color,var(--awb-color1,#fff));border-color:var(--button_border_hover_color,var(--immobilien-petrol))}
}
.immobilien.immobilien-detail :is(.immobilien-gallery-arrow,.immobilien-gallery-navigation button,.immobilien-gallery-zoom,.immobilien-lightbox button):focus-visible {background:var(--button_gradient_top_color_hover,var(--immobilien-petrol));color:var(--button_accent_hover_color,var(--awb-color1,#fff));border-color:var(--button_border_hover_color,var(--immobilien-petrol))}
.immobilien.immobilien-detail .immobilien-thumbnails {display:flex;gap:12px;margin:0;padding:3px 3px 12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--immobilien-sand) transparent}
.immobilien.immobilien-detail .immobilien-thumbnail {width:103px;height:78px;flex:0 0 103px;border:0;border-radius:10px;opacity:.65}
.immobilien.immobilien-detail .immobilien-thumbnail.is-active {outline:2px solid var(--immobilien-gold);outline-offset:2px;opacity:1}
.immobilien.immobilien-detail .immobilien-thumbnail:hover {opacity:1}
.immobilien.immobilien-detail .immobilien-thumbnail img {object-fit:cover}
.immobilien.immobilien-detail .immobilien-thumbnail img.immobilien-image--contain {object-fit:contain}
.immobilien.immobilien-detail .immobilien-summary, .immobilien.immobilien-detail .immobilien-equipment {padding:24px;border-radius:var(--immobilien-radius);background:var(--immobilien-paper);margin:0;border:0}
.immobilien.immobilien-detail .immobilien-card-heading {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.immobilien.immobilien-detail .immobilien-card-heading h2 {margin:0}
.immobilien.immobilien-detail .immobilien-card-heading>.immobilien-icon {color:var(--immobilien-petrol)}
.immobilien.immobilien-detail .immobilien-small-tag {color:var(--immobilien-muted);border:1px solid #d4d1c8;border-radius:var(--immobilien-radius);padding:4px 9px}
.immobilien.immobilien-detail .immobilien-status {margin:0 0 18px;border-radius:var(--immobilien-radius);border-color:var(--immobilien-sand)}
.immobilien.immobilien-detail .immobilien-price {margin:0 0 3px}
.immobilien.immobilien-detail .immobilien-price-label {color:var(--immobilien-muted);margin:0 0 22px}
.immobilien.immobilien-detail .immobilien-key-facts {display:block;margin:0 0 24px}
.immobilien.immobilien-detail .immobilien-key-facts>div {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--immobilien-sand)}
.immobilien.immobilien-detail .immobilien-key-facts>div:first-child {padding-top:0}
.immobilien.immobilien-detail .immobilien-key-facts dt {display:flex;align-items:center;gap:10px}
.immobilien.immobilien-detail .immobilien-key-facts .immobilien-icon {color:var(--immobilien-petrol);width:19px;height:19px;flex-basis:19px}
.immobilien.immobilien-detail .immobilien-key-facts dd {text-align:right;margin:0}
.immobilien.immobilien-detail .immobilien-summary .immobilien-button {width:100%;justify-content:center}
.immobilien.immobilien-detail .immobilien-object-number {color:var(--immobilien-muted);text-align:center;margin:12px 0 0}
.immobilien.immobilien-detail .immobilien-document {color:var(--immobilien-petrol);margin-top:15px;text-underline-offset:3px}
.immobilien.immobilien-detail .immobilien-chips {display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0}
.immobilien.immobilien-detail .immobilien-chips li {display:flex;align-items:center;gap:7px;padding:7px 12px;background:#fff;border:1px solid var(--immobilien-sand);border-radius:30px;margin:0;max-width:100%;list-style:none}
.immobilien.immobilien-detail .immobilien-chips li span {min-width:0}
.immobilien.immobilien-detail .immobilien-chips .immobilien-icon {color:var(--immobilien-petrol);width:17px;height:17px;flex-basis:17px}
.immobilien.immobilien-detail .immobilien-text-link {display:inline-flex;align-items:center;gap:8px;color:var(--immobilien-petrol);margin-top:22px}
.immobilien.immobilien-detail .immobilien-text-link:hover {text-decoration:underline;text-underline-offset:4px}
.immobilien.immobilien-detail .immobilien-text-link .immobilien-icon {width:15px;height:15px;flex-basis:15px}
.immobilien.immobilien-detail .immobilien-section-navigation {display:flex;align-items:center;gap:4px;min-width:0;border-bottom:1px solid var(--immobilien-sand);margin:26px 0 50px;padding:12px 0}
.immobilien.immobilien-detail .immobilien-section-nav {display:flex;gap:30px;flex:1;min-width:0;overflow-x:auto;white-space:nowrap;margin:0;padding:0;overscroll-behavior-x:contain}
.immobilien.immobilien-detail .immobilien-section-nav a {display:block;flex:none;padding:14px 0;min-height:44px}
.immobilien.immobilien-detail .immobilien-section-navigation.is-ready .immobilien-section-nav {scrollbar-width:none}
.immobilien.immobilien-detail .immobilien-section-navigation.is-ready .immobilien-section-nav::-webkit-scrollbar {display:none}
.immobilien.immobilien-detail .immobilien-section-arrow {display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:var(--form_border_radius,6px);background:var(--awb-color1,#fff);color:var(--immobilien-ink);cursor:pointer}
.immobilien.immobilien-detail .immobilien-section-arrow[hidden] {display:none}
.immobilien.immobilien-detail .immobilien-section-arrow:disabled {opacity:.3;cursor:default}
.immobilien.immobilien-detail .immobilien-section-arrow:not(:disabled):hover {background:var(--immobilien-paper)}
.immobilien.immobilien-detail .immobilien-section-arrow .immobilien-icon {width:19px;height:19px;flex:0 0 19px}
.immobilien.immobilien-detail .immobilien-section-nav a:hover {color:var(--immobilien-petrol)}
.immobilien.immobilien-detail .immobilien-body-content {display:grid;grid-template-columns:minmax(0,1.68fr) minmax(340px,1fr);gap:64px}
.immobilien.immobilien-detail .immobilien-body-content--single {grid-template-columns:minmax(0,1fr)}
.immobilien.immobilien-detail .immobilien-body-copy, .immobilien.immobilien-detail .immobilien-body-sidebar {min-width:0}
.immobilien.immobilien-detail .immobilien-copy {margin:0 0 56px;scroll-margin-top:var(--boeseke-anchor-offset,180px)}
.immobilien.immobilien-detail .immobilien-copy h2 {margin:0 0 24px}
.immobilien.immobilien-detail .immobilien-copy p {margin:0 0 20px}
.immobilien.immobilien-detail .immobilien-copy p:last-child {margin-bottom:0}
.immobilien.immobilien-detail .immobilien-copy a {color:var(--immobilien-petrol)}
.immobilien.immobilien-detail .immobilien-data-card {border:1px solid var(--immobilien-sand);padding:28px;border-radius:var(--immobilien-radius);margin:0 0 24px;scroll-margin-top:var(--boeseke-anchor-offset,180px)}
.immobilien.immobilien-detail .immobilien-data-card h2 {margin:0 0 24px}
.immobilien.immobilien-detail .immobilien-data {display:block;margin:0}
.immobilien.immobilien-detail .immobilien-data>div {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid #ebe9e4}
.immobilien.immobilien-detail .immobilien-data>div:last-child {border:0;padding-bottom:0}
.immobilien.immobilien-detail .immobilien-data dt {color:var(--immobilien-muted)}
.immobilien.immobilien-detail .immobilien-data dd {text-align:right;margin:0}
.immobilien.immobilien-detail .immobilien-energy-heading {display:flex;align-items:center;gap:14px;margin-bottom:20px}
.immobilien.immobilien-detail .immobilien-energy-class {display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:58px;min-height:58px;padding:5px;border-radius:12px;background:var(--immobilien-paper);color:var(--immobilien-petrol)}
.immobilien.immobilien-detail .immobilien-energy-heading strong {display:block}
.immobilien.immobilien-detail .immobilien-energy-heading div>span {display:block;color:var(--immobilien-muted)}
.immobilien.immobilien-detail .immobilien-floorplans {margin-top:32px;scroll-margin-top:var(--boeseke-anchor-offset,180px)}
.immobilien.immobilien-detail .immobilien-floorplan-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.immobilien.immobilien-detail .immobilien-floorplan-grid figure {margin:0;min-width:0}
.immobilien.immobilien-detail .immobilien-floorplan-grid img {width:100%;height:auto;max-height:560px;object-fit:contain;background:var(--immobilien-paper);border-radius:var(--immobilien-radius)}
.immobilien.immobilien-detail .immobilien-floorplan-grid figcaption {margin-top:12px}
.immobilien.immobilien-detail .immobilien-contact {padding:80px 32px}
.immobilien.immobilien-detail .immobilien-contact-inner {max-width:var(--site_width,1240px);grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:70px;align-items:start}
.immobilien.immobilien-detail .immobilien-contact-intro {min-width:0;padding-top:12px}
.immobilien.immobilien-detail .immobilien-contact h2 {margin:0 0 24px}
.immobilien.immobilien-detail .immobilien-contact-intro>p:not(.immobilien-eyebrow) {color:var(--immobilien-muted);max-width:420px}
.immobilien.immobilien-detail .immobilien-contact-person {margin:30px 0 0;padding:28px 24px;background:var(--awb-color1,#fff);border-radius:var(--immobilien-radius)}
.immobilien.immobilien-detail .immobilien-person-row {display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:24px}
.immobilien.immobilien-detail .immobilien-contact-portrait {display:block;width:160px;height:160px;flex:0 0 160px;overflow:hidden;border-radius:var(--immobilien-radius);background:var(--immobilien-paper)}
.immobilien.immobilien-detail .immobilien-contact-photo {display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 25%;border-radius:0;margin:0}
.immobilien.immobilien-detail [data-agent-crop="lisa"] .immobilien-contact-photo, .immobilien.immobilien-detail [data-agent-crop="kathrin"] .immobilien-contact-photo {object-position:56% 23%;transform:scale(1.25);transform-origin:56% 23%}
.immobilien.immobilien-detail [data-agent-crop="tim"] .immobilien-contact-photo {object-position:51% 20%;transform:scale(1.25);transform-origin:51% 20%}
.immobilien.immobilien-detail .immobilien-person-name {min-width:0}
.immobilien.immobilien-detail .immobilien-person-name h3 {margin:0 0 5px}
.immobilien.immobilien-detail .immobilien-person-name p {color:var(--immobilien-muted);margin:0}
.immobilien.immobilien-detail .immobilien-person-links {display:grid;gap:16px;padding-top:22px;border-top:1px solid var(--immobilien-sand)}
.immobilien.immobilien-detail .immobilien-contact-link {gap:14px;color:var(--immobilien-ink)}
.immobilien.immobilien-detail .immobilien-person-links .immobilien-contact-link {align-items:center;margin:0}
.immobilien.immobilien-detail .immobilien-contact-link:hover {color:var(--immobilien-petrol)}
.immobilien.immobilien-detail .immobilien-contact-link span {min-width:0}
.immobilien.immobilien-detail .immobilien-contact-link .immobilien-icon {width:19px;height:19px;flex-basis:19px;color:currentColor}
.immobilien.immobilien-detail .immobilien-person-links .immobilien-icon {align-self:center;margin:0}
.immobilien.immobilien-detail .immobilien-contact-form {min-width:0;padding:32px;background:white;border-radius:var(--immobilien-radius)}
.immobilien.immobilien-detail .immobilien-contact-form h2 {margin:0 0 10px}
.immobilien.immobilien-detail .immobilien-inquiry-title {color:var(--immobilien-muted);margin:0 0 10px}
.immobilien.immobilien-detail .immobilien-inquiry-number {color:var(--immobilien-muted);margin:0 0 24px}
.immobilien.immobilien-detail .immobilien-contact-form .immobilien-form-shell>h3 {display:none}
.immobilien.immobilien-detail .oo-form {margin-top:24px}
/* Scoped onOffice form styling. */
.immobilien .oo-form input[type=hidden] {display:none}
.immobilien .oo-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]), .immobilien .oo-form select, .immobilien .oo-form textarea {border-radius:10px;background:#fff;min-height:50px}
.immobilien .oo-form [type=submit]:disabled {opacity:.6;cursor:wait}
.immobilien .oo-form .oo-single-select {min-width:0;overflow:visible}








.immobilien .oo-form .oo-gdpr-hint-text {width:100%}
.immobilien .oo-form .oo-gdpr-hint-text a {color:#3f6761;text-decoration:underline;text-underline-offset:3px}
.immobilien .oo-form input:focus-visible, .immobilien .oo-form select:focus-visible, .immobilien .oo-form textarea:focus-visible {outline:2px solid #3f6761;outline-offset:3px}

@media(max-width:1100px){
.immobilien.immobilien-detail .immobilien-hero--detail {padding-left:32px;padding-right:32px}
.immobilien.immobilien-detail .immobilien-detail-inner {width:calc(100% - 64px)}
.immobilien.immobilien-detail .immobilien-overview, .immobilien.immobilien-detail .immobilien-body-content {grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:26px}
.immobilien.immobilien-detail .immobilien-body-content--single {grid-template-columns:minmax(0,1fr)}
.immobilien.immobilien-detail .immobilien-summary, .immobilien.immobilien-detail .immobilien-equipment, .immobilien.immobilien-detail .immobilien-data-card {padding:24px}
.immobilien.immobilien-detail .immobilien-contact {padding:55px 32px}
.immobilien.immobilien-detail .immobilien-contact-inner {grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:35px}
.immobilien.immobilien-detail .immobilien-contact-form {padding:25px}
}
@media(max-width:800px){
.immobilien.immobilien-detail .immobilien-hero--detail {min-height:320px;padding:24px 20px 32px}
.immobilien.immobilien-detail .immobilien-back-link {margin-bottom:25px}
.immobilien.immobilien-detail .immobilien-detail-inner {width:calc(100% - 40px);margin:28px auto 35px}
.immobilien.immobilien-detail .immobilien-overview, .immobilien.immobilien-detail .immobilien-body-content, .immobilien.immobilien-detail .immobilien-contact-inner {grid-template-columns:minmax(0,1fr);gap:28px}
.immobilien.immobilien-detail .immobilien-detail-sidebar {gap:18px}
.immobilien.immobilien-detail .immobilien-summary, .immobilien.immobilien-detail .immobilien-equipment, .immobilien.immobilien-detail .immobilien-data-card {padding:25px}
.immobilien.immobilien-detail .immobilien-key-facts>div {padding:12px 0}
.immobilien.immobilien-detail .immobilien-gallery-caption {gap:8px}
.immobilien.immobilien-detail .immobilien-gallery-navigation {gap:6px}
.immobilien.immobilien-detail .immobilien-thumbnails {gap:10px}
.immobilien.immobilien-detail .immobilien-thumbnail {flex-basis:84px;width:84px;height:65px}
.immobilien.immobilien-detail .immobilien-section-navigation {margin:18px 0 36px;padding:4px 0}
.immobilien.immobilien-detail .immobilien-section-nav {gap:24px}
.immobilien.immobilien-detail .immobilien-copy {margin-bottom:40px}
.immobilien.immobilien-detail .immobilien-contact {padding:40px 20px}
.immobilien.immobilien-detail .immobilien-contact-intro {padding:0}
.immobilien.immobilien-detail .immobilien-contact-intro>p:not(.immobilien-eyebrow) {max-width:none}
.immobilien.immobilien-detail .immobilien-contact-person {padding:24px 22px}
.immobilien.immobilien-detail .immobilien-person-row {flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px}
.immobilien.immobilien-detail .immobilien-person-name {flex:1 1 10em}
.immobilien.immobilien-detail .immobilien-contact-portrait {width:120px;height:120px;flex-basis:120px}
.immobilien.immobilien-detail .immobilien-contact-form {padding:24px 20px}
.immobilien.immobilien-detail .immobilien-floorplan-grid {grid-template-columns:minmax(0,1fr)}
}

/* Preserve real paragraphs; give equipment list items the approved 13 px gap. */
.immobilien.immobilien-detail .immobilien-equipment-copy>ul, .immobilien.immobilien-detail .immobilien-equipment-copy>ol {display:grid;gap:13px;margin:0 0 20px;padding-left:25px}
.immobilien.immobilien-detail .immobilien-equipment-copy>ul:last-child, .immobilien.immobilien-detail .immobilien-equipment-copy>ol:last-child {margin-bottom:0}
.immobilien.immobilien-detail .immobilien-equipment-copy>ul>li, .immobilien.immobilien-detail .immobilien-equipment-copy>ol>li {margin:0;padding-left:4px}
.immobilien.immobilien-detail .immobilien-equipment-copy>ul>li::marker, .immobilien.immobilien-detail .immobilien-equipment-copy>ol>li::marker {color:var(--immobilien-petrol)}

/* Left-column image selection and content-dependent data columns. */
.immobilien.immobilien-detail .immobilien-icon.immobilien-icon--solid {fill:currentColor;stroke:none}
.immobilien.immobilien-detail .immobilien-body-content.immobilien-body-content--flow {display:block}
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-thumbnails {display:flex;flex-flow:row nowrap;flex:0 0 auto;align-items:flex-start;gap:12px;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;max-height:none;padding:3px 3px 12px;margin:0;overscroll-behavior-x:contain}
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-thumbnails .immobilien-thumbnail {flex:0 0 104px;width:104px;height:78px;min-width:104px;opacity:.7}
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-thumbnails .immobilien-thumbnail:is(.is-active,:hover,:focus-visible) {opacity:1}
.immobilien.immobilien-detail .immobilien-facts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start;margin-bottom:56px}
.immobilien.immobilien-detail .immobilien-facts-grid--single {grid-template-columns:minmax(0,1fr)}
.immobilien.immobilien-detail .immobilien-facts-grid .immobilien-data-card {margin:0;min-width:0}
.immobilien.immobilien-detail .immobilien-facts-grid--single .immobilien-data {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.immobilien.immobilien-detail .immobilien-equipment-copy>ul, .immobilien.immobilien-detail .immobilien-equipment-copy>ol {grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.immobilien.immobilien-detail .immobilien-copy, .immobilien.immobilien-detail .immobilien-data dd, .immobilien.immobilien-detail .immobilien-chips li {overflow-wrap:anywhere}
.immobilien.immobilien-detail [hidden] {display:none!important}
@media(max-width:800px){
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-thumbnails {gap:10px;margin-top:0}
.immobilien.immobilien-detail .immobilien-media-column>.immobilien-thumbnails .immobilien-thumbnail {flex-basis:84px;min-width:84px;width:84px;height:63px}
.immobilien.immobilien-detail .immobilien-facts-grid, .immobilien.immobilien-detail .immobilien-facts-grid--single .immobilien-data {grid-template-columns:minmax(0,1fr);gap:24px}
.immobilien.immobilien-detail .immobilien-facts-grid--single .immobilien-data {gap:0}
.immobilien.immobilien-detail .immobilien-facts-grid {margin-bottom:40px}
.immobilien.immobilien-detail .immobilien-equipment-copy>ul, .immobilien.immobilien-detail .immobilien-equipment-copy>ol {grid-template-columns:minmax(0,1fr)}
}

/* Shared paragraph rhythm; no Avada Custom CSS required. */
.immobilien.immobilien-detail .immobilien-copy p {margin-bottom:20px}
.immobilien.immobilien-detail .immobilien-copy p:last-child {margin-bottom:0}
.immobilien.immobilien-detail .immobilien-body-content--split {align-items:start;column-gap:48px;row-gap:0}
.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-facts-grid {display:block;margin:0}
.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-data-card {margin:0 0 24px}
.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-facts-grid--single .immobilien-data {display:block}
.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-equipment-copy>ul, .immobilien.immobilien-detail .immobilien-body-content--split .immobilien-equipment-copy>ol {grid-template-columns:minmax(0,1fr)}
.immobilien.immobilien-detail .immobilien-copy--full {width:100%;max-width:none;clear:both}
.immobilien .immobilien-icon.immobilien-icon--solid {fill:currentColor;stroke:none}
@media(max-width:1000px){.immobilien.immobilien-detail .immobilien-body-content--split {display:block}.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-facts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:40px}.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-facts-grid--single {grid-template-columns:minmax(0,1fr)}.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-data-card {margin:0}}
@media(max-width:800px){.immobilien.immobilien-detail .immobilien-body-content--split .immobilien-facts-grid {grid-template-columns:minmax(0,1fr)}.immobilien.immobilien-detail .immobilien-data>div {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}}

/* Stack the complete gallery before Highlights on narrow screens. */
@media(max-width:800px){.immobilien.immobilien-detail .immobilien-gallery-main {aspect-ratio:4/3;min-height:0;flex:none}.immobilien.immobilien-detail .immobilien-media-column>.immobilien-gallery {flex:none}.immobilien.immobilien-detail .immobilien-gallery-main .immobilien-image {border-radius:20px}.immobilien .immobilien-card-content {padding:20px}.immobilien .immobilien-grid {gap:24px}}
@media print{.immobilien.immobilien-detail .immobilien-media-column>.immobilien-thumbnails {max-height:none;overflow:visible}}

/* Both pagination engines retain their own URLs and selected page. */
.immobilien.immobilien-pagination, .immobilien .immobilien-pagination {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;width:100%;clear:both;text-align:center}
.immobilien-pagination :is(.oo-post-nav-links,.page-links) {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;float:none;width:100%;border:0;padding:0;background:transparent}
.immobilien.immobilien-pagination a, .immobilien.immobilien-pagination .current, .immobilien .immobilien-pagination a, .immobilien .immobilien-pagination .current {display:inline-flex;align-items:center;justify-content:center;float:none;min-width:44px;min-height:44px;height:auto;margin:0;padding:8px 14px;border:1px solid var(--immobilien-sand);border-radius:22px;background:var(--awb-color1,#fff);color:var(--immobilien-ink);font:inherit;line-height:1.4;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.immobilien.immobilien-pagination :is(.current,[aria-current="page"]), .immobilien .immobilien-pagination :is(.current,[aria-current="page"]) {background:var(--immobilien-gold);border-color:var(--immobilien-gold);color:var(--immobilien-ink)}
.immobilien.immobilien-pagination a:not([aria-current="page"]), .immobilien .immobilien-pagination a:not([aria-current="page"]) {background:var(--awb-color1,#fff);background-image:none;color:var(--immobilien-ink);box-shadow:none}
.immobilien.immobilien-pagination a:not([aria-current="page"]):is(:hover,:focus,:focus-visible,:active), .immobilien .immobilien-pagination a:not([aria-current="page"]):is(:hover,:focus,:focus-visible,:active) {background:var(--awb-color1,#fff);border-color:var(--immobilien-gold);color:var(--immobilien-ink)}
.immobilien.immobilien-pagination a:focus-visible, .immobilien .immobilien-pagination a:focus-visible {outline:2px solid var(--immobilien-petrol);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.immobilien .immobilien-card {transition:none}}

/* The detail intro uses only a CSS background; property photos stay in the gallery. */
.immobilien.immobilien-detail .immobilien-hero--plain {min-height:0;padding-top:48px;padding-bottom:48px;background:var(--immobilien-paper);color:var(--immobilien-ink)}
@media(max-width:800px){.immobilien.immobilien-detail .immobilien-hero--plain {padding-top:32px;padding-bottom:32px}}

/* The plugin supplies the intro spacing: remove the extra Avada wrapper gap. */
@supports selector(:has(*)){
 #main .fusion-fullwidth:has(.immobilien-detail) {padding-top:0!important;padding-bottom:0!important}
}
.immobilien.immobilien-detail .immobilien-hero--plain .immobilien-eyebrow, .immobilien.immobilien-detail .immobilien-hero--plain .immobilien-hero-meta {color:var(--immobilien-ink)}

/* Listing containers and headings are managed by Avada. */
.immobilien.immobilien-listing .immobilien-list-section {width:100%;max-width:none;margin:0}
.immobilien.immobilien-detail .immobilien-details-data>.immobilien-eyebrow {color:var(--immobilien-ink)}
.immobilien.immobilien-detail .immobilien-contact-photo--placeholder {object-fit:contain;object-position:center;background:var(--immobilien-paper)}

/* Site motion follows the visitor's accessibility preference. */
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto!important}
  /* Preserve animationend: Avada completes Off Canvas closing in that event. */
  .fusion-animated {animation-duration:0.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;opacity:1!important;visibility:visible!important}
  .fusion-layout-column, .fusion-column-wrapper, #boeseke-mobile-menu .awb-off-canvas {transition:none!important}
  .fusion-layout-column:hover .fusion-column-wrapper {transform:none!important}
}
#boeseke-mobile-menu :focus-visible, .boeseke-mobile-menu-trigger:focus-visible {outline:2px solid #3f6761;outline-offset:4px}

/* Programmatic section focus keeps keyboard order without outlining whole text blocks. */
.immobilien [id^="immobilien-"][tabindex="-1"]:focus {outline:none}

/* CSP-safe validation state; overrides the vendor's initial display rule. */
.oo-form .error.boeseke-error-visible {display:block!important}
.oo-form .error.boeseke-error-hidden {display:none!important}
.immobilien .immobilien-embed iframe {border:0}

.bo-image-consent{padding:16px 24px;background:#f5f1e6;color:#262626;font-size:14px}.bo-image-consent p{margin:0 0 8px}.bo-image-consent a{color:#6b5400;text-decoration:underline}
.immobilien-form-shell, .immobilien .oo-form { scroll-margin-top: 140px; }
.immobilien .oo-form .bo-form-feedback {
  width: 100%; padding: 22px 24px; margin: 0 0 16px;
  border: 2px solid; border-radius: 12px; font-size: 18px; font-weight: 600;
  line-height: 1.6; scroll-margin-top: 140px;
}
.immobilien .oo-form .bo-form-feedback--success { color: #174b35; background: #edf7f0; border-color: #357b54; }
.immobilien .oo-form .bo-form-feedback--error { color: #7a2020; background: #fff2f0; border-color: #ae3838; }
.immobilien .oo-form .bo-form-feedback:focus-visible { outline: 3px solid #2c2c2c; outline-offset: 4px; }

/* 1.8.0: Avada typography7 = Objektdaten; typography6 = Buttons.
 * Navigation (typography3) is independent. Existing set IDs remain unchanged.
 * Box headings retain semantic H2 tags and use Avada H3 visual values. */
.immobilien {
  font-family: var(--body_typography-font-family, inherit);
  font-size: var(--body_typography-font-size, 18px);
  line-height: var(--body_typography-line-height, 1.6);
  font-weight: var(--body_typography-font-weight, 400);
  font-style: var(--body_typography-font-style, normal);
  letter-spacing: var(--body_typography-letter-spacing, 0);
  text-transform: var(--body_typography-text-transform, none);
}
.immobilien .immobilien-data, .immobilien .immobilien-key-facts, .immobilien .immobilien-chips, .immobilien .immobilien-facts, .immobilien .immobilien-card-location, .immobilien .immobilien-section-nav, .immobilien .immobilien-document, .immobilien .immobilien-text-link, .immobilien .immobilien-hero-meta, .immobilien .oo-form, .immobilien .immobilien-inquiry-title {
  font-family: var(--awb-typography7-font-family, var(--body_typography-font-family,inherit));
  font-size: var(--awb-typography7-font-size, 16px);
  font-weight: var(--awb-typography7-font-weight, 400);
  font-style: var(--awb-typography7-font-style, normal);
  line-height: var(--awb-typography7-line-height, 1.6);
  letter-spacing: var(--awb-typography7-letter-spacing, 0);
  text-transform: var(--awb-typography7-text-transform, none);
}
.immobilien .immobilien-eyebrow, .immobilien .immobilien-badge, .immobilien .immobilien-status, .immobilien .immobilien-small-tag, .immobilien .immobilien-price-label, .immobilien .immobilien-object-number, .immobilien .immobilien-back-link, .immobilien .immobilien-gallery-caption, .immobilien .immobilien-gallery-navigation, .immobilien .immobilien-floorplan-grid figcaption, .immobilien .immobilien-inquiry-number, .immobilien .immobilien-energy-heading strong, .immobilien .immobilien-energy-heading div>span {
  font-family: var(--awb-typography5-font-family, var(--body_typography-font-family,inherit));
  font-size: var(--awb-typography5-font-size, 14px);
  font-weight: var(--awb-typography5-font-weight, 400);
  font-style: var(--awb-typography5-font-style, normal);
  line-height: var(--awb-typography5-line-height, 1.5);
  letter-spacing: var(--awb-typography5-letter-spacing, 0);
  text-transform: var(--awb-typography5-text-transform, none);
}
.immobilien .immobilien-card-title, .immobilien .immobilien-card-heading h2, .immobilien .immobilien-data-card h2, .immobilien .immobilien-contact-form h2, .immobilien .immobilien-person-name h3, .immobilien .immobilien-energy-class {
  font-family: var(--h3_typography-font-family, var(--body_typography-font-family,inherit));
  font-size: var(--h3_typography-font-size, 22px);
  font-weight: var(--h3_typography-font-weight, 600);
  font-style: var(--h3_typography-font-style, normal);
  line-height: var(--h3_typography-line-height, 1.35);
  letter-spacing: var(--h3_typography-letter-spacing, 0);
  text-transform: var(--h3_typography-text-transform, none);
}
.immobilien .immobilien-price {
  font-family: var(--h2_typography-font-family, var(--body_typography-font-family,inherit));
  font-size: calc(var(--h2_typography-font-size, 32px) * var(--immobilien-price-scale, 1));
  font-weight: var(--h2_typography-font-weight, 600);
  font-style: var(--h2_typography-font-style, normal);
  line-height: var(--h2_typography-line-height, 1.2);
  letter-spacing: var(--h2_typography-letter-spacing, -.01em);
  text-transform: var(--h2_typography-text-transform, none);
}
/* Buttons inherit actual Avada button options, including hover and radii. */
.immobilien .immobilien-button, .immobilien .oo-form input[type=submit], .immobilien .oo-form button[type=submit] {
 display:inline-flex;align-items:center;justify-content:center;gap:16px;max-width:100%;min-height:54px;
 font-family:var(--button_typography-font-family,var(--body_typography-font-family,inherit));
 font-size:var(--button_font_size,16px);font-weight:var(--button_typography-font-weight,600);
 font-style:var(--button_typography-font-style,normal);line-height:var(--button_line_height,1.5);
 letter-spacing:var(--button_typography-letter-spacing,0);text-transform:var(--button_text_transform,none);
 padding:var(--button_padding-top,15px) var(--button_padding-right,30px) var(--button_padding-bottom,15px) var(--button_padding-left,30px);
 border-style:solid;border-width:var(--button_border_width-top,0px) var(--button_border_width-right,0px) var(--button_border_width-bottom,0px) var(--button_border_width-left,0px);
 border-color:var(--button_border_color,var(--immobilien-gold));
 border-radius:var(--button-border-radius-top-left,20px) var(--button-border-radius-top-right,20px) var(--button-border-radius-bottom-right,20px) var(--button-border-radius-bottom-left,20px);
 background:var(--button_gradient_top_color,var(--immobilien-gold));color:var(--button_accent_color,var(--immobilien-ink));
 text-align:center;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;
}
.immobilien .immobilien-button:hover, .immobilien .oo-form input[type=submit]:hover, .immobilien .oo-form button[type=submit]:hover {
 background:var(--button_gradient_top_color_hover,#2f4441);color:var(--button_accent_hover_color,#fff);border-color:var(--button_border_hover_color,#2f4441);
}
.immobilien .immobilien-data dt, .immobilien .immobilien-data dd, .immobilien .immobilien-key-facts dt, .immobilien .immobilien-key-facts dd {font:inherit}
.immobilien .immobilien-eyebrow {
 font-family:var(--awb-typography8-font-family,inherit);font-size:var(--awb-typography8-font-size,15px);
 font-weight:var(--awb-typography8-font-weight,600);line-height:var(--awb-typography8-line-height,1.4);
 letter-spacing:var(--awb-typography8-letter-spacing,.1em);text-transform:var(--awb-typography8-text-transform,uppercase);
}
/* Theme values remain authoritative; size ratios handle detail views on small screens. */
.immobilien {--immobilien-title-scale:1;--immobilien-section-scale:1;--immobilien-box-scale:1}
.immobilien .immobilien-hero h1 {font-family:var(--h1_typography-font-family,inherit);font-weight:var(--h1_typography-font-weight,600);font-size:calc(var(--h1_typography-font-size,48px) * var(--immobilien-title-scale));line-height:var(--h1_typography-line-height,1.2);letter-spacing:var(--h1_typography-letter-spacing,-.01em)}
.immobilien .immobilien-copy h2, .immobilien .immobilien-contact-intro h2 {font-family:var(--h2_typography-font-family,inherit);font-weight:var(--h2_typography-font-weight,600);line-height:var(--h2_typography-line-height,1.2);letter-spacing:var(--h2_typography-letter-spacing,-.01em)}
.immobilien .immobilien-copy h2 {font-size:calc(var(--h2_typography-font-size,34px) * var(--immobilien-section-scale))}
.immobilien .immobilien-card-title, .immobilien .immobilien-card-heading h2, .immobilien .immobilien-data-card h2 {font-size:calc(var(--h3_typography-font-size,22px) * var(--immobilien-box-scale))}
@media(max-width:1024px){.immobilien {--immobilien-title-scale:.875;--immobilien-section-scale:.88235294}}
@media(max-width:767px){.immobilien {--immobilien-title-scale:.70833333;--immobilien-section-scale:.82352941;--immobilien-box-scale:.90909091}}
/* The compact contact column uses global fonts at a deliberate heading scale. */
.immobilien .immobilien-contact {--immobilien-contact-title-scale:.66666667}
.immobilien .immobilien-contact-intro h2 {font-size:calc(var(--h2_typography-font-size,48px) * var(--immobilien-contact-title-scale))}
.immobilien .immobilien-contact-link, .immobilien .immobilien-person-name p {
 font-family:var(--body_typography-font-family,inherit);font-size:var(--body_typography-font-size,18px);
 font-weight:var(--body_typography-font-weight,400);font-style:var(--body_typography-font-style,normal);
 line-height:var(--body_typography-line-height,1.65);letter-spacing:var(--body_typography-letter-spacing,0);
 text-transform:var(--body_typography-text-transform,none);
}
@media(max-width:800px){.immobilien .immobilien-contact {--immobilien-contact-title-scale:.58333333}}

/* Native onOffice controls use the Avada form options. */
.immobilien .oo-form {font-family:var(--body_typography-font-family,inherit);font-size:var(--form_text_size,16px);line-height:1.6}
.immobilien .oo-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]), .immobilien .oo-form select, .immobilien .oo-form textarea {
 font-family:inherit;font-size:var(--form_text_size,16px);font-weight:400;line-height:1.5;
 min-height:var(--form_input_height,50px);background:var(--form_bg_color,#fff);color:var(--form_text_color,var(--immobilien-ink));
 border-style:solid;border-width:var(--form_border_width-top,1px) var(--form_border_width-right,1px) var(--form_border_width-bottom,1px) var(--form_border_width-left,1px);
 border-color:var(--form_border_color,var(--immobilien-muted));border-radius:var(--form_border_radius,6px);padding:12px 14px;margin-top:8px;
}
.immobilien .oo-form textarea {min-height:150px}





.immobilien a:focus-visible, .immobilien button:focus-visible, .immobilien .immobilien-thumbnails:focus-visible, .immobilien .oo-form input:focus-visible, .immobilien .oo-form select:focus-visible, .immobilien .oo-form textarea:focus-visible {outline:2px solid var(--form_focus_border_color,var(--immobilien-petrol));outline-offset:3px}

@media(prefers-reduced-motion:reduce){.immobilien .immobilien-button, .immobilien .oo-form [type=submit] {transition:none}}

/* Address lines use the homepage eyebrow set, including the brand gold. */
.immobilien .immobilien-card-location, .immobilien .immobilien-hero-meta {
 font-family:var(--awb-typography8-font-family,var(--body_typography-font-family,inherit));
 font-size:var(--awb-typography8-font-size,15px);font-weight:var(--awb-typography8-font-weight,600);
 font-style:var(--awb-typography8-font-style,normal);line-height:var(--awb-typography8-line-height,1.4);
 letter-spacing:var(--awb-typography8-letter-spacing,.1em);text-transform:var(--awb-typography8-text-transform,uppercase);
 color:var(--awb-color4,#d3ae16);
}
.immobilien.immobilien-pagination, .immobilien .immobilien-pagination {font-family:var(--awb-typography3-font-family,inherit);font-size:var(--awb-typography3-font-size,16px);font-weight:var(--awb-typography3-font-weight,600)}

/* The pale detail intro needs dark labels; listing cards retain brand gold. */
.immobilien.immobilien-detail .immobilien-hero--plain .immobilien-eyebrow, .immobilien.immobilien-detail .immobilien-hero--plain .immobilien-hero-meta {color:var(--awb-color8,#2c2c2c)}

/* Override onOffice's white !important submit color and field padding only inside our form. */
.immobilien .oo-form input[type=submit], .immobilien .oo-form button[type=submit] {
 color:var(--button_accent_color,var(--immobilien-ink))!important;
 padding:var(--button_padding-top,15px) var(--button_padding-right,30px) var(--button_padding-bottom,15px) var(--button_padding-left,30px)!important;
 width:auto!important;
}
.immobilien .oo-form input[type=submit]:hover, .immobilien .oo-form button[type=submit]:hover, .immobilien .oo-form input[type=submit]:focus-visible, .immobilien .oo-form button[type=submit]:focus-visible {
 color:var(--button_accent_hover_color,#fff)!important;
 background:var(--button_gradient_top_color_hover,#2f4441);border-color:var(--button_border_hover_color,#2f4441);
}

/* Native controls retain the platform picker and global Avada form settings. */
.immobilien .oo-form select.onoffice-personalized-select{appearance:auto;cursor:pointer;padding-right:32px}
.immobilien .oo-form select.onoffice-personalized-select[multiple]{min-height:calc(var(--form_input_height,50px) * 2);height:auto;padding-right:14px}
.immobilien .oo-form .is-invalid{border-color:var(--form_error_color,#ac2626)}

/* Keep detail prices together and let German headings use normal hyphenation. */
.immobilien.immobilien-detail .immobilien-price {
  white-space: nowrap;
  overflow-wrap: normal;
}
.immobilien.immobilien-detail h1,
.immobilien.immobilien-detail h2,
.immobilien.immobilien-detail h3 {
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: auto;
  hyphens: auto;
}
@media (max-width: 767px) {
  .immobilien.immobilien-detail {
    --immobilien-price-scale: .75;
  }
}
