/* Screen 4 · Objekt: Galerie, Blatt wie .s4-blatt, Zusatzabschnitte */
.objekt .held.og { height:290px; }
.objekt .og-band { display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.objekt .og-band::-webkit-scrollbar { display:none; }
.objekt .og-slide { position:relative; flex:none; width:100%; height:100%; scroll-snap-align:start; scroll-snap-stop:always; overflow:hidden; }
.objekt .og-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.objekt .og-mehr img { filter:blur(14px) brightness(.62); transform:scale(1.12); }
.objekt .og-mehr-t { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#fff; padding-bottom:10px; }
.objekt .og-mehr-ic { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.18); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); margin-bottom:6px; }
.objekt .og-mehr-t b { font:700 19px/24px var(--schrift); letter-spacing:-.02em; }
.objekt .og-mehr-t span { font:500 13px/17px var(--schrift); opacity:.8; }
.objekt .held .foto-zaehler { transition:opacity .2s; pointer-events:none; }
.objekt .og-slide.tippbar.gedrueckt { opacity:1; }

.objekt .held-blatt { padding-bottom:8px; }
.objekt .held-blatt > .kicker, .objekt .held-blatt > .h2, .objekt .held-blatt > .ort { padding:0 4px; }
.objekt .held-blatt > .h2 { margin-top:4px; }
.objekt .preis-zeile .pille { flex:none; }
.objekt .verm-kopf .mini.warn { color:var(--amber); font-weight:600; }
.objekt .stepper.gleich { margin-left:-4px; margin-right:-4px; }
.objekt .sd .num { font:inherit; }
/* Drei Knöpfe („Exposé teilen“, „Wertermittlung“, „Aufgabe“) passen nebeneinander; auf sehr schmalen Geräten kürzt der Text */
.objekt .aktionen .knopf { -webkit-tap-highlight-color:transparent; flex:1 1 auto; min-width:0; padding:0 5px; gap:5px; font-size:13px; letter-spacing:-.01em; }
.objekt .aktionen .knopf.primaer { flex-grow:1.35; }
.objekt .aktionen .knopf span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.objekt .ob-expose { margin-top:12px; }
.objekt .liste .zeile .chev, .objekt .liste .zeile > .ic:last-child { color:var(--chev); flex:none; }
.objekt .oi-liste .zeile, .objekt-interessenten .zeile { min-height:56px; }
.objekt .oi-liste .zeile + .zeile::before, .objekt-interessenten .zeile + .zeile::before { left:44px; }
.objekt .oi-liste .ava-txt, .objekt-interessenten .ava-txt { background:var(--taupe-bg); color:var(--taupe-tief); font-weight:700; }
.objekt-interessenten .zeile > .ic:last-child { color:var(--chev); }
.objekt-interessenten .hinweis { margin-top:14px; }

.objekt .ot-liste .zeile + .zeile::before { left:76px; }
.objekt .ot-zeit { width:64px; flex:none; display:flex; flex-direction:column; align-items:flex-start; white-space:nowrap; }
.objekt .ot-zeit b { font:700 16px/20px var(--schrift); letter-spacing:-.02em; color:var(--navy); }
.objekt .ot-zeit span { font:600 11px/14px var(--schrift); color:var(--text3); text-transform:uppercase; letter-spacing:.04em; }
.objekt .ot-zeit.heute span { color:var(--taupe-tief); }

.objekt .oa-liste .zeile + .zeile::before { left:36px; }
.objekt .oa-kreis { width:24px; height:24px; border-radius:50%; flex:none; display:grid; place-items:center; color:transparent; box-shadow:inset 0 0 0 1.5px var(--sand);
  transition:background-color .25s, color .25s, box-shadow .25s, transform .25s var(--ios); }
.objekt .oa-kreis.gedrueckt { transform:scale(.88); }
.objekt .oa-kreis.an { background:var(--gruen); color:#fff; box-shadow:none; }
.objekt .oa-platz { width:24px; flex:none; }
.objekt .oa-liste .t2.rot { color:var(--rot); }
.objekt .oa-liste .ava-txt { font-size:11px; }

.objekt .ob-karte { display:flex; align-items:center; gap:12px; padding:12px 14px; }
.objekt .ob-karte .rund-knopf { width:38px; height:38px; margin:0; box-shadow:none; background:var(--navy-bg); border-color:transparent; }

.objekt .obs-text { padding:14px 16px 16px; }
.objekt .obs-text .fliess { color:var(--navy); opacity:.86; }
.objekt .obs-merkmale { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.objekt .obs-merkmale .pille { height:26px; padding:0 10px 0 8px; font-size:12.5px; }
.objekt .obs-daten .zeile { min-height:46px; padding-top:6px; padding-bottom:6px; }
.objekt .obs-daten .zeile + .zeile::before { left:0; }
.objekt .obs-l { font:500 14px/18px var(--schrift); color:var(--text2); flex:none; }
.objekt .obs-daten .zwert { font-size:14px; text-align:right; white-space:normal; padding-left:16px; }

/* Aufgabe-Sheet */
.objekt-aufgabe .oa-objekt { display:flex; align-items:center; gap:12px; padding:8px; background:#fff; border:1px solid var(--linie); border-radius:16px; }
.objekt-aufgabe .oa-objekt img { width:44px; height:44px; border-radius:11px; object-fit:cover; }
.objekt-aufgabe .feld-titel { margin-top:18px; }
.objekt-aufgabe .oa-chips { flex-wrap:wrap; }
.objekt-aufgabe .oa-chips .chip { height:38px; padding:0 14px; font-size:14.5px; font-weight:500; }
.objekt-aufgabe .oa-chips .chip .ava, .objekt-aufgabe .oa-chips .chip .ava-txt { margin-left:-6px; box-shadow:none; }
.objekt-aufgabe .oa-chips .chip.an .ava-txt { background:rgba(255,255,255,.18); color:#fff; }
.objekt-aufgabe .oa-tipps { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.objekt-aufgabe .oa-tipp { height:30px; padding:0 11px; font-size:13px; gap:5px; color:var(--text2); background:transparent; }

/* Vollbild-Fotos */
.objekt-viewer { position:absolute; inset:0; z-index:75; overflow:hidden; touch-action:pan-x; }
.objekt-viewer .ov-hg { position:absolute; inset:0; background:#000; }
.objekt-viewer .ov-band { position:absolute; inset:0; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior:contain; will-change:transform; }
.objekt-viewer .ov-band::-webkit-scrollbar { display:none; }
.objekt-viewer .ov-slide { flex:none; width:100%; height:100%; display:grid; place-items:center; scroll-snap-align:center; scroll-snap-stop:always; }
.objekt-viewer .ov-slide img { width:100%; max-height:100%; object-fit:contain; }
.objekt-viewer .ov-kopf { position:absolute; left:0; right:0; top:0; z-index:2; height:calc(var(--sat) + 52px); padding:var(--sat) 16px 0; display:flex; align-items:center; justify-content:space-between; color:#fff;
  background:linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,0)); }
.objekt-viewer .ov-zu { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:transform .2s var(--ios); }
.objekt-viewer .ov-zu.gedrueckt { transform:scale(.9); }
.objekt-viewer .ov-zaehler { position:absolute; left:50%; transform:translateX(-50%); font:600 15px/1 var(--schrift); letter-spacing:-.01em; }
.objekt-viewer .ov-titel { font:500 13px/1 var(--schrift); opacity:.7; max-width:120px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.objekt .oi-unter, .objekt-interessenten .oi-unter { display:flex; align-items:center; gap:7px; margin-top:3px; min-width:0; }
.objekt .oi-unter .t2, .objekt-interessenten .oi-unter .t2 { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.objekt .oi-unter .pille, .objekt-interessenten .oi-unter .pille { flex:none; }
.objekt .verm-kopf .mini { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-left:10px; }

/* Echte Daten: ohne Fotos, Platzhalter beim Laden, lange Texte */
.objekt .og-leer .held-bild { position:absolute; inset:0; }
.objekt .og-leer .ok-platzhalter { padding-bottom:18px; }
.objekt .ob-skelett { padding:4px 14px; }
.objekt .ob-sk-zeile { display:flex; align-items:center; gap:12px; min-height:56px; }
.objekt .ob-sk-zeile + .ob-sk-zeile { border-top:1px solid var(--linie); }
.objekt .ob-sk-zeile .zt { display:flex; flex-direction:column; gap:7px; }
.objekt .ob-sk-kreis, .objekt .ob-sk-a, .objekt .ob-sk-b { display:block; background:#F0EBE5; border-radius:6px; animation:ob-sk 1.4s ease-in-out infinite; }
.objekt .ob-sk-kreis { width:32px; height:32px; border-radius:50%; flex:none; }
.objekt .ob-sk-a { height:12px; }
.objekt .ob-sk-b { height:10px; opacity:.7; }
@keyframes ob-sk { 0%,100% { opacity:1; } 50% { opacity:.45; } }
.objekt .obs-lang { white-space:pre-line; }
.objekt .obs-lang.zu { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:7; overflow:hidden; }
.objekt .obs-lang.zu.offen { display:block; -webkit-line-clamp:unset; }
.objekt .obs-mehr { margin-top:6px; font:600 14px/20px var(--schrift); color:var(--taupe-tief); }
.objekt .obs-daten .zwert { overflow-wrap:anywhere; }
.objekt .preis-zeile { gap:10px; }
.objekt .preis-zeile .pille { max-width:58%; overflow:hidden; text-overflow:ellipsis; }
.objekt .held-blatt > .h2 { overflow-wrap:anywhere; }
.objekt-aufgabe .oa-ohne { width:44px; height:44px; border-radius:11px; flex:none; display:grid; place-items:center; background:var(--taupe-bg); color:var(--taupe-tief); }
.objekt-kontakt .zeile + .zeile::before { left:46px; }

/* Highlights im Exposé */
.objekt .ob-highlights { padding:14px; }
.objekt .oh-punkte { display:flex; flex-wrap:wrap; gap:6px; }
.objekt .oh-punkte .pille { height:28px; padding:0 11px 0 9px; font-size:13px; }
.objekt .oh-quelle { margin:10px 0 0; }
.objekt-highlights .oh-hinweis { margin:0 0 12px; }
.objekt-highlights .oh-felder { display:flex; flex-direction:column; gap:8px; transition:opacity .2s; }
.objekt-highlights .oh-felder.laedt { opacity:.45; pointer-events:none; }
.objekt-highlights .oh-feld { display:flex; align-items:center; gap:8px; }
.objekt-highlights .oh-feld .feld { flex:1; min-width:0; }
.objekt-highlights .oh-weg { flex:none; }
.objekt-highlights .oh-neu { align-self:flex-start; height:34px; padding:0 12px; gap:5px; font-size:14px; }
.objekt-highlights .oh-status { margin:10px 0 0; color:var(--text2); }
.objekt-highlights .oh-fehler { margin:10px 0 0; color:var(--rot); }
.objekt-highlights .oh-status[hidden], .objekt-highlights .oh-fehler[hidden] { display:none; }

/* Paket 2: Hinweis-Pille, eingeschränktes Objekt */
.objekt .hinweis-pille { flex:none; }
.ob-eng { display:flex; align-items:center; gap:6px; margin:8px 0 0; padding:8px 12px; border-radius:12px; background:var(--taupe-bg); color:var(--taupe-tief); font:500 13px/1.35 var(--schrift); }
.ob-eng .ic { flex:none; }
.ob-wartet { margin:4px 0 0; }

/* Paket 3: Interessenten-Status, Maklerbuch, Unterlagen */
.oi-sheet { display:flex; flex-direction:column; gap:10px; }
.oi-kontakt { display:flex; align-items:center; gap:12px; padding:12px 14px; }
.oi-kontakt .zt { flex:1; min-width:0; }
.oi-status { display:flex; flex-wrap:wrap; gap:8px; }
.oi-notiz { min-height:76px; resize:vertical; font:inherit; }
.oi-tipp { margin:0 4px; white-space:normal; }
.ob-klapp-box { margin-top:4px; }
.ob-klapp { margin-bottom:12px; overflow:hidden; }
.ob-klapp-kopf { cursor:pointer; }
.ob-klapp-kopf > .ic:last-child { color:var(--text3); transition:transform .25s var(--ios); }
.ob-klapp.auf .ob-klapp-kopf > .ic:last-child { transform:rotate(180deg); }
.ob-klapp-inhalt { border-top:1px solid var(--linie); }
.ob-klapp-leer { padding:14px 16px; white-space:normal; }
.ob-mb .zt { white-space:normal; }
.ob-mb-kopf { display:flex; align-items:center; gap:8px; }
.ob-mb-notiz { margin:4px 0 0; white-space:pre-line; overflow-wrap:anywhere; }
.ob-mehr { display:block; width:100%; padding:12px 0; text-align:center; }
.ob-ul-endung { flex:none; width:40px; height:40px; border-radius:10px; display:grid; place-items:center; background:var(--taupe-bg); color:var(--taupe-tief); font:700 11px/1 var(--schrift); letter-spacing:.04em; }

/* Karte „Wertermittlung“ im Objekt (letzte Einschätzung, Öffnen und Senden; sonst „Wertermittlung erstellen“) */
.objekt .ob-bewertung { padding:14px 16px 16px; }
.objekt .ob-bw-kopf { display:flex; align-items:center; gap:10px; margin-bottom:14px; -webkit-tap-highlight-color:transparent; }
.objekt .ob-bw-kopf .zt { flex:1; min-width:0; }
.objekt .ob-bw-kopf > .ic { color:var(--chev); flex:none; }
.objekt .ob-bw-wert { display:block; font:700 28px/34px var(--schrift); letter-spacing:-.03em; color:var(--navy); margin-top:2px; }
.objekt .ob-bw-kopf .t2 { margin-top:2px; }
.objekt .ob-bw-kopf .t3 { margin-top:4px; font:500 12.5px/16px var(--schrift); color:var(--text3); }
/* Sheet-Text, auch im Wertermittlung-Screen (Noch einmal ablegen?) */
.ob-sheet-text { margin:0 2px 6px; font:500 14px/20px var(--schrift); color:var(--text2); }
