/* Kunden-Bereich · Angebot (Fotokopf) */
.k-objekt .ko-held { height:310px; }
.k-objekt .ko-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; }
.k-objekt .ko-band::-webkit-scrollbar { display:none; }
.k-objekt .ko-slide { flex:none; width:100%; height:100%; scroll-snap-align:start; scroll-snap-stop:always; }
.k-objekt .ko-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.k-objekt .ko-ohne { position:absolute; inset:0; background:linear-gradient(145deg, #EFE9E1, #E2D9CE); }
.k-objekt .ko-ohne .kk-reserviert { top:auto; bottom:36px; left:16px; }
.k-objekt .ko-res { top:auto; bottom:34px; left:16px; z-index:2; }

.k-objekt .ko-art { font:600 12px/16px var(--schrift); letter-spacing:.07em; text-transform:uppercase; color:var(--taupe-tief); }
.k-objekt .ko-titel { margin:4px 0 0; font:700 24px/29px var(--schrift); letter-spacing:-.025em; color:var(--navy); }
.k-objekt .ko-kopf .ort span { white-space:normal; }
.k-objekt .ko-preis .pille { margin-left:auto; }
.k-objekt .ko-eck > div { flex:1; align-items:flex-start; }
.k-objekt .ko-merkmale { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.k-objekt .ko-merkmale .chip { height:30px; padding:0 11px; font-size:13px; gap:5px; pointer-events:none; }
.k-objekt .ko-merkmale .chip .ic { color:var(--gruen); }

.k-objekt .ko-block { padding:14px 16px 10px; }
.k-objekt .ko-block + .ko-block { margin-top:10px; }
.k-objekt .ko-block-t { font:700 16px/21px var(--schrift); color:var(--navy); letter-spacing:-.01em; margin-bottom:6px; }
.k-objekt .ko-text { font:400 15px/22px var(--schrift); color:#3D4260; white-space:pre-line; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.k-objekt .ko-text.offen { display:block; -webkit-line-clamp:unset; }
.k-objekt .ko-mehr { display:inline-flex; align-items:center; gap:4px; height:32px; margin-top:2px; font:600 14px/1 var(--schrift); color:var(--navy); opacity:.75; }
.k-objekt .ko-mehr .ic { transition:transform .3s var(--ios); }
.k-objekt .ko-mehr.offen .ic { transform:rotate(180deg); }
.k-objekt .ko-laden { margin-top:20px; padding:16px; display:flex; flex-direction:column; gap:9px; }
.k-objekt .ko-laden span { height:12px; border-radius:6px; background:#F0EBE5; animation:ko-puls 1.2s ease-in-out infinite alternate; }
.k-objekt .ko-laden span:nth-child(2) { width:86%; }
.k-objekt .ko-laden span:nth-child(3) { width:62%; }
@keyframes ko-puls { from { opacity:.5 } to { opacity:1 } }

.k-objekt .ko-info { margin-top:12px; }
.k-objekt .ko-izeile .t1.umbruch { white-space:normal; }
.k-objekt .ko-izeile .zt .t2 { font-size:12.5px; }

.k-objekt .ko-cta { position:sticky; z-index:3; bottom:calc(var(--tab-h) + var(--sab) + 10px); margin-top:18px; }
/* Der Knopf schwebt über der Tab-Leiste. Deren Verlauf läge über ihm (die Leiste liegt über allen Ansichten), deshalb ist er
   hier aus (eigenerVerlauf in k-objekt.js) und liegt hinter dem Knopf: ab dem Abstand darüber bis zum unteren Rand. */
.k-objekt .ko-cta::before { content:""; position:absolute; z-index:-1; left:-16px; right:-16px; top:-18px; pointer-events:none;
  bottom:calc(-1 * (var(--tab-h) + var(--sab) + 10px)); background:linear-gradient(rgba(246,243,238,0), var(--grund) 18px); }
.ansicht.ohne-tabbar .k-objekt .ko-cta { bottom:calc(var(--sab) + 12px); }
.ansicht.ohne-tabbar .k-objekt .ko-cta::before { bottom:calc(-1 * (var(--sab) + 12px)); }
.k-objekt .ko-cta .knopf { box-shadow:0 1px 1px rgba(20,26,56,.2), 0 12px 26px -8px rgba(28,36,75,.55); }
.k-objekt .ko-gesendet { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#fff; border:1px solid var(--gruen-bg); border-radius:16px; box-shadow:var(--schatten);
  animation:dm-rein .45s var(--ios) both; }
