/* =========================================================
   Berlin Projekt Borchert – objekte.css
   Expose-Einzelseite und CRM-Grundgeruest (Objektliste ohne
   .bp-cards, Highlight-Liste, Full-List).
   Version 1.1 – sortiert, Dubletten entfernt, svg-Regel eingegrenzt.

   Aufbau
   01 Objektliste Grundgeruest (CRM-Markup)
   02 Icons (SVG)
   03 Full-List
   04 Highlight-Liste (Hover-Overlay)
   05 Expose: Kopf, Titel, Karten-Pins
   06 Expose: Quick-Info & Hotbuttons
   07 Expose: Galerie (Flexslider)
   08 Expose: Detail-Tabellen
   09 Expose: Quickjumps & fixierte Leiste
   10 Entfernungen & Karte (Leaflet, Consent)
   11 Subobjekte-Tabelle
   12 Legacy (Overlay-Formular, Anfrage-Buttons, Vorab-Infos)
   13 Responsive, absteigend

   Die Design-Tokens kommen aus :root in theme.css. Das alte
   .single-expose-Token-Duplikat wurde entfernt.
   pre und ::selection sind nach theme.css (01 Basis) gewandert.
   ========================================================= */


/* ---------------------------------------------------------
   01 OBJEKTLISTE GRUNDGERUEST
   --------------------------------------------------------- */
.single-expose-item { background:var(--stone); padding-top:50px; }

.pdf-download { margin-top:20px; }
.object-listing .object-list-item { padding:0px; margin:0px 0px; position:relative;  }

.object-listing .object-list-item-inner { width:100%; border:0; padding:0; margin:0; position:relative; display:grid; grid-template-columns:33% 1fr; }
.object-listing.bp-layout-kacheln .object-list-item-inner {  display:block; }
.object-listing h2 a, .object-listing h2 a:hover { font-family:var(--sans); font-weight:400; font-size:18px; line-height:1.25em; margin:0; margin-top:-3px; letter-spacing:-0.025em; text-transform:none; color:#005690; background:none !important; padding:0 !important; text-decoration:none;  }
.object-listing h3 a, .object-listing h3 a:hover { font-family:var(--sans); font-weight:400; font-size:14px; color:#888; margin:0; padding:0; line-height:1.4em; margin-top:5px; background:none !important; padding:0 !important; text-decoration:none; }
.object-listing h4 { font-family:var(--sans); font-weight:400; font-size:14px; font-family:var(--sans); color:#aaa; text-align:right; }
.objekttrennung { margin:20px 20px; border:0;  display:block; height:1px; background:#eee; }
.object-images { width:100%; display:block;  }
.object-images ul { margin:0; }
.object-content { vertical-align:top; padding:0 0 0 0px; width:100%;  }
.object-image-slider-image { width:100%; height:auto; display:block; border:1px solid #eee; }
.object-details { margin-left:-15px; margin-right:-15px; margin-top:10px;  }
.object-detail { width:33.3333%; float:left; padding:5px 5px 5px 15px; box-sizing:border-box; }
.object-detail > div { width:100%; display:table; border:0; }
.object-detail > div .object-icon { width:38px; display:table-cell; padding-right:5px; vertical-align:bottom; text-align:center; height:38px; }
.object-detail > div .object-icon svg { height:34px; width:34px; }
.object-detail > div .icon-description { font-family:var(--sans); color:var(--gold-deep); font-size:11px; font-weight:800; text-transform:uppercase; display:table-cell; vertical-align:bottom; width:60px; padding-bottom:5px; padding-right:5px; line-height:1em; }
.object-detail > div .object-detail-value { font-family:var(--sans); color:#555; font-size:13.5px; font-weight:600; display:table-cell; vertical-align:bottom; padding-bottom:5px; line-height:1em; letter-spacing:-0.02em; }
.detail-check { font-size:20px; }
.exposelink { display:block; }
a.exposelink, a.exposelink * { text-decoration:none; }
.c { clear:both; display:table; }
.print-image { display:none; }
.show-767 { display:none; }
.opa { opacity:0; }

/* ---------------------------------------------------------
   02 ICONS (SVG)
   --------------------------------------------------------- */
/* Bislang global "svg path {…}" – das faerbte JEDES SVG der Seite gold
   (u. a. den Ansichtsumschalter der Objektliste). Jetzt auf Objekt-Icons
   begrenzt. Falls irgendwo ein Icon seine Farbe verliert: hier erweitern. */
.object-icon svg .a, .object-icon svg .b, .object-icon svg path, .object-icon svg polygon, .object-icon svg poly, .object-icon svg rect { fill:none; stroke:var(--gold) !important; stroke-width:2 !important; }
.object-icon svg .a { stroke-miterlimit:10; }
.object-icon svg .b { stroke-linecap:round; stroke-linejoin:round; }
.object-icon svg .thin { stroke-width:1 !important; }
.object-detail svg .a, .object-detail svg .b, .object-detail svg path, .object-detail svg polygon, .object-detail svg poly, .object-detail svg rect { fill:none;stroke:#35270c !important; stroke-width:1.4 !important; }
.object-detail svg .onlyfilling { stroke: none !important; fill:#35270c !important; }
.bpeg-btn path { stroke:var(--stone) !important}
.bpeg-btn:hover path { stroke:var(--gold-dim) !important}
.fancybox-container svg path { stroke:#fff !important; }

/* ---------------------------------------------------------
   03 FULL-LIST
   --------------------------------------------------------- */
.full-list a { color:inherit; }
.full-list { margin-left:-10px; margin-right:-10px; }
.full-list .object-list-item { margin-bottom:31px; padding-bottom:10px; padding-top:10px; padding-left:10px; padding-right:10px; position:relative; }
.full-list .object-list-item:after { content:""; display:block; border-top:1px solid var(--gold); left:10px; right:10px; height:1px;  position:absolute; bottom:-15px; }
.full-list .object-content { vertical-align:top; padding:0 0 0 0px; }
.full-list .object-content > div { padding:0 0 0 20px; }
.full-list .object-detail > div .object-icon { height:45px; }
.full-list .object-list-item:hover { background:var(--stone); }
.full-list h2 {     font-family: var(--serif);
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 400; position:relative; display:block; line-height:1.3em; margin-top:0px; margin-bottom:2px; }
.full-list h3 {     font-family: var(--sans);
    font-size: clamp(16px, 2vw, 16px);
    font-weight: 300;
    color: #333;
    margin-top: 5px; }

/* ---------------------------------------------------------
   04 HIGHLIGHT-LISTE
   --------------------------------------------------------- */
.item-highlight-list { margin-left:-15px; margin-right:-15px; }
.item-highlight-list .object-list-item { padding:15px; width:50%; float:left; position:relative; box-sizing:border-box; }
.item-highlight-list .object-list-item a > div { overflow:hidden; }
.item-highlight-list .object-list-item .object-content > h2, .item-highlight-list .object-list-item .object-content > h3 { display:none; }
.item-highlight-list .object-list-item .object-details { display:none; }
.item-highlight-list .object-list-item .object-images { margin-bottom:0; }
.item-highlight-list .object-list-item .object-images .bx-controls { display:none; opacity:0; }
.item-highlight-list .object-list-item .object-images img { transition:all 350ms ease; transform:scale(1.1); }
.item-highlight-list .object-list-item .object-shadow-overlay { position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.5); opacity:0;  transition:all 350ms ease; }
.item-highlight-list .object-list-item .object-shadow-overlay .object-headlines { min-height:75px; margin-top:20px; }
.item-highlight-list .object-list-item .object-shadow-overlay h2 { font-size:17px; color:#fff; text-align:center; padding:0 40px; font-weight:500; letter-spacing:0.03em; }
.item-highlight-list .object-list-item .object-shadow-overlay h3 { font-size:15px; color:#ccc; text-align:center; font-weight:400; margin:0; line-height:1.5em; margin-top:5px; }
.item-highlight-list .object-list-item .object-shadow-overlay .object-detail { width:100%; padding:0; float:none; }
.item-highlight-list .object-list-item .object-shadow-overlay .object-kaufpreis { font-size:24px; color:#fff; text-align:center; font-weight:300; margin:0; line-height:1.5em; margin-top:5px; letter-spacing:0.35em; width:100%; white-space:nowrap; transition:all 350ms ease; }
.item-highlight-list .object-list-item .object-shadow-overlay .object-kaufpreis span { text-transform:uppercase; font-size:14px; color:#aaa; text-align:center; font-weight:600; margin:0; line-height:1.5em; margin-top:25px; letter-spacing:0.1em; width:100%; display:block; }
.item-highlight-list .object-list-item .object-shadow-overlay .object-standort { left:20px; right:20px; text-align:center; bottom:40px; position:absolute; text-transform:uppercase; font-size:14px; color:#fff; text-align:center; font-weight:600; margin:0; line-height:1.5em; letter-spacing:0.1em; bottom:-100%; transition:all 350ms ease; }
.item-highlight-list .object-list-item:hover .object-shadow-overlay { opacity:1; bottom:0%; transition:all 350ms ease; cursor:pointer; transition:all 350ms ease; }
.item-highlight-list .object-list-item:hover .object-shadow-overlay .object-standort { bottom:40px; transition:all 350ms ease; }
.item-highlight-list .object-list-item:hover .object-shadow-overlay .object-kaufpreis { letter-spacing:0.05em; width:100%; white-space:nowrap; transition:all 350ms ease; }
.item-highlight-list .object-list-item:hover .object-images img { transform:scale(1); transition:all 350ms ease;  }
.item-highlight-list .object-list-item .object-content > div > h2, .item-highlight-list .object-list-item .object-content > div > h3 { display:none; }
.object-new { position:absolute; width:170px; height:170px; right:-30px; top:-30px; overflow:hidden; }
.object-new span { font:inherit; color:#fff; font-weight:400; background:rgba(0,86,144,.9); padding:5px; font-family:var(--sans); font-size:14px; line-height:1em; display:block; text-align:center; transform:rotate(45deg); position:absolute; width:100%; top:50%; margin-top:-12px; transform-origin:50% 50%; }

/* ---------------------------------------------------------
   05 EXPOSE: KOPF, TITEL, KARTEN-PINS
   --------------------------------------------------------- */
.expose-row { max-width:var(--grid); width:100%; margin:0 auto; box-sizing:border-box; }   /* vorher width:1300px fix – lief auf Mobil aus dem Viewport */
.expose-row > hr { height:1px; background:var(--gold-deep); border:0; width:100%; }
.expose-detail-header { margin-top:10px; }
.expose-detail-header span { font-family:var(--sans); font-weight:300; font-size:12px; line-height:1.25em; color:#888; display:inline-block; margin-right:24px; position:relative; }
.expose-detail-header span::after { width:4px; height:4px; background:#aaa; display:block; content:""; margin-left:10px; position:absolute; right:-14px; top:6px; }
.expose-detail-header span:last-child::after { display:none; }
h1.expose-title { font-family:var(--serif); font-weight:400; font-size:36px; margin-top:30px; margin-bottom:0; color:var(--dark-3); }
h2.expose-title { font-weight:300; font-size:18px; margin-top:5px; color:#888; }
.expose-header { margin-right:300px; }

@keyframes mappulse {
0%   { transform:scale(0.5); opacity:1; }
80% { transform:scale(1.0); opacity:0; }
100% { transform:scale(0); opacity:0; }
}
.expose-berlin-map { position:relative; width:240px; height:200px; background:url(../images/berlin-projekt-borchert-immobilien-karte.png) no-repeat center center; float:right; margin-top:-10px; margin-bottom:10px; }
.expose-berlin-map > span { width:20px; height:20px; margin-top:-10px; margin-left:-10px; position:absolute; }
.expose-berlin-map span.outer-ring { position:absolute; top:50%; left:50%; margin-left:-12px; margin-top:-12px; width:20px; height:20px; border-radius:50%; border:2px solid var(--gold-deep); display:block; animation:mappulse 2s infinite .1s;  }
.expose-berlin-map span.inner-ring { width:6px; height:6px; margin-top:-3px; margin-left:-3px; left:50%; top:50%; border-radius:50%; background:var(--gold-deep); position:absolute; }

.expose-deutschland-map { position:relative; width:149px; height:199px; background:url(../images/berlin-projekt-borchert-immobilien-karte-deutschland.png) no-repeat center center; float:right; margin-top:-10px; margin-bottom:10px; }
.expose-deutschland-map > span { width:20px; height:20px; margin-top:-10px; margin-left:-10px; position:absolute; }
.expose-deutschland-map span.outer-ring { position:absolute; top:50%; left:50%; margin-left:-12px; margin-top:-12px; width:20px; height:20px; border-radius:50%; border:2px solid var(--gold-deep); display:block; animation:mappulse 2s infinite .1s;  }
.expose-deutschland-map span.inner-ring { width:6px; height:6px; margin-top:-3px; margin-left:-3px; left:50%; top:50%; border-radius:50%; background:var(--gold-deep); position:absolute; }

/* ---------------------------------------------------------
   06 EXPOSE: QUICK-INFO & HOTBUTTONS
   --------------------------------------------------------- */
.quick-information { margin-top:30px; margin-bottom:10px; }
.quick-style, .hotbutton { padding-left:0; padding-right:20px; }

.object-detail.quick-style > div .object-icon svg { height:45px; width:45px; }
.object-detail.quick-style > div .object-detail-value  { color:#35270c; }
.object-detail.quick-style > div .icon-description { font-size:13px; width:70px; padding-bottom:5px; padding-right:5px; line-height:1em; }
.object-detail.quick-style > div .object-detail-value { font-size:15px;}

.hotbuttons { padding:10px 0; border:1px solid var(--text-faint); border-width:1px 0 0px 0; margin-bottom:0px; }
.hotbuttons:after { display:table; clear:both; content:""; }
.hotbutton svg .a, .hotbutton svg .b, .hotbutton svg path, .hotbutton svg polygon, .hotbutton svg poly, .hotbutton svg rect { fill:none;stroke:var(--text-faint) !important; stroke-width:2 !important; }
.hotbutton svg .onlyfilling { stroke:none !important; fill:var(--text-faint) !important; }
.hotbutton svg .filling { fill:#35270c !important; }
.hotbutton .object-detail-value { display:none; }
.object-detail.hotbutton { width:135px; padding-right:10px; }
.object-detail.hotbutton > div .icon-description { color:var(--text-faint); }

/* ---------------------------------------------------------
   07 EXPOSE: GALERIE (FLEXSLIDER)
   --------------------------------------------------------- */
.slide { position:relative; }
.btn-zoom { width:100px; height:100px; position:absolute; opacity:0; top:50%; left:50%; margin:-50px 0 0 -50px; z-index:100; transition: all 0.3s ease-in-out; background:rgba(0,0,0,.5); text-align:center; }
.slide:hover .btn-zoom { opacity:0.33; transition: all 0.3s ease-in-out; }
.slide:hover .btn-zoom:hover { opacity:0.7; transition: all 0.3s ease-in-out; }
.expose-galerie { width:100%; box-sizing:border-box; height:auto !important; min-height:361px; padding:0px !important; }
.flexslider { box-shadow:none !important; border:none !important; border-radius:0 !important; margin-bottom:15px !important; }
.flexslider .thumb-slides > img { width: 100%; display: block; }
#fcarousel li { margin-right:10px; }
#fcarousel li:last-child { margin-right: 0px}
.np { padding-right:0 !important; }
.slide-title { position:absolute; bottom:15px; left:15px; z-index:99; }
.slide-title span { display:inline-block;  font-family:var(--sans); font-size:13px; color:#fff; padding:8px 10px; background:rgba(0,0,0,.5); margin-right:2px; }
.slide-title a { display:inline-block;  font-family:var(--sans); font-size:13px; color:#fff; padding:8px 10px; background:rgba(0,0,0,.5); margin-right:2px; }
.image-zoom { font-size:32px; color:#fff; line-height:100px; }
#exit-button { position: absolute; padding: 5px; top: 25px; right: 25px; width: 50px; height: 50px; z-index: 99999; background: url('../images/close-white.png') center center no-repeat; cursor: pointer; opacity: 0.8 }
.thumb-slide { opacity:0.3; transition:all 250ms ease; cursor:pointer; }
.thumb-slide:hover { opacity:0.7; transition:all 250ms ease;  }
.thumb-slide.flex-active-slide:hover, .thumb-slide.flex-active-slide { opacity:1; transition:all 250ms ease;  }
.flex-direction-nav a { text-decoration: none; display: block; width: 50px !important; height: 50px !important; margin: -25px 0 0 !important; position: absolute; top: 50%; z-index: 10; overflow: hidden; opacity: 0.0; cursor: pointer; color: rgba(0, 0, 0, 0.8) !important; transition: all 0.3s ease-in-out; text-indent:-9999px; }
.flex-direction-nav .flex-next { right: 10px; text-align: right; background:url('../images/right.png') no-repeat; }
.flexslider:hover .flex-direction-nav a { opacity:0.33 !important; }
.flex-direction-nav .flex-prev { left:10px !important; background:url('../images/left.png') no-repeat !important; }
.flexslider:hover .flex-direction-nav .flex-next:hover { opacity: 0.7 !important; }
.flexslider:hover .flex-direction-nav .flex-prev:hover { opacity: 0.7 !important; }
.flex-direction-nav a:before, .flex-direction-nav a.flex-next:before, .flex-direction-nav a.flex-prev:before { content:""; display:none; }
#fslider { border-bottom:1px solid #ebebeb !important; padding-bottom:15px; }

/* ---------------------------------------------------------
   08 EXPOSE: DETAIL-TABELLEN
   --------------------------------------------------------- */
.start-detailed-expose { margin-top:15px; }
.expose-detail-row { display:table; width:100%; }
.expose-detail-row > div.expose-split { display:table-cell; vertical-align:top; width:50%; box-sizing:border-box; padding:15px 0 }
.expose-detail-row > div.expose-fullwidth { display:table-cell; vertical-align:top; width:100%; box-sizing:border-box; padding:15px 0 45px 0; }
.expose-detail-row > div.expose-split.expose-left { padding-right:30px; border-right:1px solid #ebebeb; padding-bottom:45px; }
.expose-detail-row > div.expose-split.expose-right { padding-left:30px; padding-bottom:30px; }
.expose-detail-row h4 { font-family:var(--sans); font-weight:500; text-decoration:none; font-size:17px; color:var(--dark-3); position:relative; display:block; margin-bottom:1em; line-height:1.5em; }
.expose-detail-line { display:table; width:100%; padding:0; margin:0; position:relative; z-index:2; margin-top:10px; }
.expose-detail-line > div.expose-detail-key { width:220px; display:table-cell; vertical-align:top; }
.expose-detail-line > div.expose-detail-value { width:auto; vertical-align:top; text-align:right; }
.expose-detail-key > span { font-family:var(--sans); font-weight:600; text-decoration:none; font-size:13px; color:#111; position:relative; line-height:1.5em; background:var(--stone);}
.expose-detail-value > span { font-family:var(--sans); font-weight:400; text-decoration:none; font-size:15px; color:#000; position:relative; line-height:1.5em; background:var(--stone); }
.expose-detail-row .add-text { font-family:var(--sans); font-weight:400; display:block; font:inherit; font-size:12px; color:#888; background:none; text-align:right; padding:0; margin-top:5px; margin-bottom:-0px;}
.expose-detail-divider { height:1px; border-top:2px dotted #ccc; content:""; display:block; width:100%; z-index:1; margin-top:-6px; }
.expose-detail-keyvalue { font-family:var(--sans); font-weight:400; text-decoration:none; font-size:15px; color:#000; position:relative; line-height:1.5em; text-align:justify; }
p.key { margin-top:1em; color:#888; }
p.key strong { font-family:var(--sans); font-weight:600; text-decoration:none; font-size:13px; color:#111; position:relative; line-height:1.5em; background:var(--stone); }
.expose-fullwidth p { margin-bottom:0; }
.bluegrey { color:#005690 !important; font:inherit; font-size:12px !important; margin-top:1em; display:block; }
.grey { color:#888; margin-top:1em; display:block; font:inherit; font-size:12px; }

/* ---------------------------------------------------------
   09 EXPOSE: QUICKJUMPS & FIXIERTE LEISTE
   --------------------------------------------------------- */
.jump2plan, .jump2loc, .jump2section { color:#005690; display:inline-block; font-family:'Open Sans',sans-serif; font-weight:400; font-size:13px; text-decoration:none; margin-right:30px; }
.jump2plan:hover, .jump2loc:hover, .jump2section:hover { color:#000; }
.jump2plan, .jump2loc { float:right; margin-right:0; margin-left:30px; }
.quickjumps-top { border:1px solid #ebebeb; border-width:1px 0px; padding:15px 0px; }
.objekt-fixed-quick-header { position:fixed; top:0%; left:0; background:#fff; padding:5px 5px 15px 5px; right:0; border-bottom:1px solid #ebebeb; z-index:10; transition:all 300ms ease; }
.objekt-fixed-quick-header.hide { top:-100%; transition:all 300ms ease; }
.objekt-fixed-quick-header .inner { width:1200px; margin:0 auto; }
.objekt-fixed-quick-header .inner .quickjumps { margin-top:10px; }

/* ---------------------------------------------------------
   10 ENTFERNUNGEN & KARTE
   --------------------------------------------------------- */
#gmap { margin-bottom:10px; }
.entfernungen { margin-left:-10px; margin-right:-10px; }
.entfernungen > div.entfernungs-item { float:left; width:115px; padding:15px 10px 0 10px; font-family:var(--sans); font-weight:400; text-decoration:none; font-size:12px; color:#000; text-align:center; line-height:1.6em; }
.entfernungen > div.entfernungs-item img { margin-bottom:0px; width:80px; margin:0 auto; height:auto; display:block; }

.bp-map { position:relative; width:100%; height:520px; background:#E6E1D8; border:1px solid rgba(160,120,40,.25); overflow:hidden; margin:40px 0; }
.bp-map-consent { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px; 
  background:
    linear-gradient(rgba(245,240,234,.92), rgba(245,240,234,.92)),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(160,120,40,.25) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(160,120,40,.25) 39px 40px); }
.bp-map-eyebrow { font-family:var(--sans); font-size:10px; letter-spacing:.38em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:14px; }
.bp-map-consent h3 { font-family:var(--serif); font-size:clamp(26px,2.4vw,36px); font-weight:400; color:#000; margin-bottom:16px; }
.bp-map-consent p { max-width:560px; font-family:var(--sans); font-size:14px; line-height:1.7; color:#5A5248; margin-bottom:26px; }
.bp-map-consent a { color:var(--gold-dim); text-decoration:underline; text-underline-offset:3px; }
.bp-map-load { font-family:var(--sans); font-size:11px; letter-spacing:.22em; text-transform:uppercase; background:var(--gold-dim); color:var(--stone); padding:18px 50px; border:0; cursor:pointer; transition:background .3s, transform .2s; }
.bp-map-load:hover { background:#8A6620; transform:translateY(-2px); }
.bp-map-load[disabled] { opacity:.5; cursor:default; transform:none; }

/* Karte im Seitenstil */
.bp-map .leaflet-tile-pane { filter:grayscale(1) sepia(.18) contrast(.95) brightness(1.04); }
.bp-map .leaflet-container { width:100%; height:100%; background:#E6E1D8; font-family:var(--sans); }
.bp-map .leaflet-bar a { border-radius:0; color:#000; }
.bp-map-pin { width:22px; height:22px; background:var(--gold-dim); border:3px solid #fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 2px 8px rgba(0,0,0,.35); }
.bp-map path.bp-map-area { stroke:#A07828 !important; stroke-width:1.5px; fill:#A07828 !important; fill-opacity:.16; }

/* ---------------------------------------------------------
   11 SUBOBJEKTE-TABELLE
   --------------------------------------------------------- */
.subobjekte { border:0; width:100%; margin:0; padding:0; border-collapse:collapse; }
.subobjekte thead th { border-bottom:1px solid var(--gold-deep); font-weight:300; font-family:var(--sans); background:var(--gold-dim); color:#fff; text-transform:uppercase; font-size:13px; text-align:center; padding:5px 5px; }
.subobjekte thead th span { font:inherit; }
.subobjekte tbody td { font-weight:400; font-family:var(--sans); color:#111; font-size:14px; text-align:center; padding:12px 5px; }
.subobjekte tbody td a { color:inherit; font:inherit; text-decoration:none; }
.subobjekte tbody tr:nth-child(even) td { background:#f8f8f8; border-bottom:0px solid #ebebeb; font-weight:400; font-family:var(--sans); color:#111; font-size:14px; text-align:center; padding:12px 5px; }
.subobjekte tbody tr:last-child td { border-bottom:0px solid #ebebeb; font-weight:400; font-family:var(--sans); color:#111; font-size:14px; text-align:center; padding:12px 5px; }
.subobjekte tbody tr.nolink td { color:#bbb; }
.subobjekte thead tr th:nth-child(1) { width:60px; }
.subobjekte thead tr th:nth-child(2) { width:80px; }
.subobjekte thead tr th:nth-child(4) { width:150px; }
.subobjekte thead tr th:nth-child(7) { width:200px; }
.subobjekte tbody tr.linked:hover td { color:#000; cursor:pointer; background:var(--gold); }

/* ---------------------------------------------------------
   12 LEGACY
   --------------------------------------------------------- */
/* Stammt aus dem alten Theme (Blau #005690, Open Sans). Wird vom CRM-Markup
   evtl. noch ausgegeben – vor dem Loeschen im Frontend pruefen. */
.anfrage-link { background:rgba(0,86,144,.9); font-family:var(--sans); font-weight:400 !important; display:block; font-size:20px; line-height:1.25em !important; color:#fff !important; text-align:center !important; padding:20px; margin-top:30px; cursor:pointer; text-decoration:none; }
.anfrage-link:hover { background:rgba(0,86,144,.75); }

.international { background:rgba(206,206,206,.75); font-family:var(--sans); font-weight:400 !important; display:block; font-size:20px; line-height:1.25em !important; color:#005690 !important; text-align:center !important; padding:20px; margin-top:30px; cursor:pointer; text-decoration:none; }
.international:hover { background:rgba(150,150,150,.75); color:#fff !important; }

.object-overlay-content { display:block; padding:30px; }

.object-overlay-content form  { max-width:50%; margin:0 auto;   text-align:center; }
.object-overlay-content form p strong { font-family:var(--sans); font-weight:400; font-size:20px; line-height:1.25em; color:#fff; }
.object-overlay-content form input { border-radius:0; background:rgba(255,255,255,.5) !important; border:1px dotted #fff; border-width:0 0 1px 0; text-align:center; color:#053b3b; font-family:'Open Sans',sans-serif; font-weight:400; font-size:14px; line-height:1.5em; }
.object-overlay-content form input[type=submit] { border-radius:0; background:#0a6262 !important; border-width:0 0 0 0; text-align:center; color:#fff; font-family:var(--sans); font-weight:400; font-size:14px; line-height:1.5em; }
.object-overlay-content form input[type=submit]:hover { cursor:pointer; background:#053b3b !important; }
::input-placeholder { color:#fff !important; font-style:italic; }
:-moz-placeholder { color:#fff !important; font-style:italic; }
::-moz-placeholder { color:#fff !important; font-style:italic; }
:-ms-input-placeholder { color:#fff !important; font-style:italic; }
.divider-line { width:100%; height:1px; background:#eee; margin:20px 0; border:none; }

.vorab-row { padding:15px 0 0 0; border-top:1px solid #ebebeb; }
.vorabinformationen { text-align:center; font-family:var(--sans); padding:15px; background:#ccc; font-size:17px; color:#005690; font-weight:500; }

/* ---------------------------------------------------------
   13 RESPONSIVE, ABSTEIGEND
   --------------------------------------------------------- */
@media (max-width:1200px) {
  .objekt-fixed-quick-header { display:none; }
}

@media (max-width:1024px) {
  .object-detail { width:50%; }
  .full-list .object-images  { width:40%; }
  .full-list .object-content { width:60%; }
}

@media (max-width:1023px) {
  /* Seitlicher Rand fuer das Expose. Liegt .expose-row bereits in einem
     Container mit Padding, hier auf 0 setzen. */
  .expose-row { padding:0 24px; }
  .single-expose-item { padding-top:30px; }
  .expose-header { margin-right:0; }
  .expose-berlin-map { display:none; }
  .expose-deutschland-map { display:none; }
  .flex-direction-nav { display:none; }
  .expose-detail-row, .expose-detail-row > div.expose-split, .expose-fullwidth, .expose-detail-row > div.expose-fullwidth { width:100%; display:block; }
  .expose-detail-row > div.expose-split, .expose-fullwidth { border-bottom:1px solid #ebebeb; }
  .expose-detail-row > div.expose-split.expose-left { padding-right:0; border-right:0; }
  .expose-detail-row > div.expose-split.expose-right { padding-left:0; }
  .start-detailed-expose > hr { display:none; }
  .entfernungen > div.entfernungs-item { width:20%; box-sizing:border-box; height:175px; overflow:hidden; }
}

@media (max-width:800px) {
  /* Standard-Objektliste (ohne .bp-cards): Bild volle Breite,
     Text darunter, Kennzahlen als zweispaltiges Raster */
  .object-listing:not(.bp-cards):not(.bp-layout-kacheln) .object-list-item-inner { grid-template-columns:1fr; }
  .full-list { margin:0; }
  .full-list .object-list-item { padding:0 0 24px; margin-bottom:32px; }
  .full-list .object-list-item:after { left:0; right:0; bottom:0; }
  .full-list .object-list-item:hover { background:none; }
  .full-list .object-images { width:100%; float:none; }
  .full-list .object-content { width:100%; float:none; }
  .full-list .object-content > div { padding:18px 0 0 0; }
  .full-list h2 { font-size:24px; }
  .full-list h3 { font-size:16px; margin-top:4px; }
  .object-listing:not(.bp-cards) .object-details { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; margin:16px 0 0; }
  .object-listing:not(.bp-cards) .object-detail { width:auto; float:none; padding:6px 0; }
  .object-detail > div .object-icon { width:30px; height:30px; padding-right:8px; }
  .object-detail > div .object-icon svg { width:26px; height:26px; }
  .full-list .object-detail > div .object-icon { height:30px; }
  .object-detail > div .icon-description { width:auto; padding-right:8px; font-size:10px; letter-spacing:.06em; }
  .object-detail > div .object-detail-value { font-size:14px; }
  .subobjekte thead th:nth-child(5), .subobjekte tbody td:nth-child(5) { display:none; }
}

@media (max-width:782px) {
  .bp-map { height:380px; }
  .bp-map-load { padding:18px 32px; }
}

@media (max-width:767px) {
  .object-detail { width:50%; }

  /* ---- Expose: Kopf ---- */
  h1.expose-title { font-size:28px; line-height:1.2; margin-top:20px; }
  h2.expose-title { font-size:16px; line-height:1.4; }
  .expose-detail-header span { display:block; margin:0; }
  .expose-detail-header span::after { display:none; }

  /* ---- Expose: Quick-Info als Raster statt Floats ---- */
  .quick-information { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; margin:24px 0 10px; }
  .quick-information::after { content:none; }
  .quick-information .object-detail,
  .object-detail.quick-style { width:auto; float:none; padding:6px 0; }
  .object-detail.quick-style > div .object-icon { width:34px; height:34px; padding-right:8px; }
  .object-detail.quick-style > div .object-icon svg { width:30px; height:30px; }
  .object-detail.quick-style > div .icon-description { width:auto; font-size:11px; padding-right:8px; }
  .object-detail.quick-style > div .object-detail-value { font-size:14px; }

  /* ---- Expose: Hotbuttons ---- */
  .hotbuttons { display:flex; flex-wrap:wrap; gap:6px 0; padding:12px 0; }
  .hotbuttons:after { content:none; }
  .object-detail.hotbutton { width:50%; float:none; padding:4px 8px 4px 0; box-sizing:border-box; }

  /* ---- Expose: Galerie ---- */
  .expose-galerie { min-height:0; }
  .flexslider { margin-bottom:10px !important; }
  #fcarousel li { margin-right:6px; }
  .slide-title { bottom:10px; left:10px; }
  .slide-title span, .slide-title a { font-size:12px; padding:6px 8px; }
  .btn-zoom { display:none; }

  /* ---- Expose: Texte ---- */
  .expose-detail-keyvalue, .expose-fullwidth p { text-align:left; }
  .expose-detail-row h4 { font-size:16px; }
  .expose-detail-row > div.expose-split,
  .expose-detail-row > div.expose-fullwidth { padding:12px 0 24px; }

  /* ---- Expose: Springmarken unten ---- */
  .jump2plan, .jump2loc { float:none; margin:0 20px 8px 0; }
  .jump2section { margin:0 20px 8px 0; }

  /* ---- Expose: Entfernungen ---- */
  .entfernungen > div.entfernungs-item { width:25%; box-sizing:border-box; height:auto; padding-bottom:12px; overflow:hidden; }
  .entfernungen > div.entfernungs-item img { width:64px; }
  .subobjekte tbody tr:last-child td, .subobjekte tbody td { font-size:13px; }
  .subobjekte thead th:nth-child(10), .subobjekte tbody td:nth-child(10) { display:none; }
  .hide-767 { display:none; }
  .show-767 { display:block; }
}

@media (max-width:640px) {
  .subobjekte thead th:nth-child(8), .subobjekte tbody td:nth-child(8) { display:none; }
}

@media (max-width:600px) {
  .entfernungen > div.entfernungs-item { width:33.33333%; }

  /* Key/Value-Zeilen: gepunktete Fuelllinie weg, Wert rechtsbuendig, Zeilenlinie */
  .expose-detail-row > div.expose-split, .expose-fullwidth { border-bottom:0; }
  .expose-detail-line { border-bottom:1px solid rgba(160,120,40,.14); margin-top:0; padding:10px 0; }
  .expose-detail-line > div.expose-detail-key { width:50%; }
  .expose-detail-line > div.expose-detail-value { width:auto; }
  .expose-detail-divider { display:none; }
  .expose-detail-key > span, .expose-detail-value > span { background:none; }
  .expose-detail-value > span { font-size:14px; }
  .expose-detail-row .add-text { font-size:11px; }
  .subobjekte thead th:nth-child(4), .subobjekte tbody td:nth-child(4) { display:none; }
}

@media (max-width:480px) {
  .object-detail { width:100%; }
  .quick-information { grid-template-columns:1fr; gap:0; }
  .quick-information .object-detail,
  .object-detail.quick-style { padding:5px 0; border-bottom:1px solid rgba(160,120,40,.14); }
  .quick-information .object-detail:last-child { border-bottom:0; }
  .object-detail.quick-style > div .icon-description { width:110px; }
  .entfernungen > div.entfernungs-item { width:33.33333%; }

  /* Objekt-Tabelle: bleibt vollstaendig, scrollt seitlich statt zu quetschen */
  .subobjekte { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; }
  .subobjekte thead th, .subobjekte tbody td { padding:10px 8px; }
  /* auf schmalen Telefonen eine Spalte, aber kompakt */
  .object-listing:not(.bp-cards) .object-details { grid-template-columns:1fr; gap:0; }
  .object-listing:not(.bp-cards) .object-detail { padding:5px 0; border-bottom:1px solid rgba(160,120,40,.14); }
  .object-listing:not(.bp-cards) .object-detail:last-child { border-bottom:0; }
  .object-detail > div .icon-description { width:110px; }
  .quickjumps-top { display:none; }
  .subobjekte tbody tr:last-child td, .subobjekte tbody td { font-size:12px; }
  .subobjekte thead th:nth-child(9), .subobjekte tbody td:nth-child(9) { display:none; }
}

@media (max-width:400px) {
  h1.expose-title { font-size:25px; }
  .expose-row { padding:0 20px; }
}