/* Favorent Objekt-Präsentation – Galerie, Eckdaten, Ausstattung, Highlights. Mobil-first. */
.favorent-object{--fav-primary:#44909C;--fav-secondary:#A0C45C;--fav-accent:#F5A623;--fav-ink:#333;--fav-muted:#7A7A7A;--fav-line:#e6e6e6;--fav-soft:#f5f7f8;font-family:'Lato',-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--fav-ink);width:100%;box-sizing:border-box}
.favorent-object *{box-sizing:border-box}
.favobj-config,.favobj-err{padding:14px 16px;border:1px dashed var(--fav-line);border-radius:12px;color:var(--fav-muted)}
.favobj-skeleton{display:flex;align-items:center;gap:10px;padding:18px;border:1px solid var(--fav-line);border-radius:12px;color:var(--fav-muted)}
.favobj-spin{width:16px;height:16px;border:2px solid var(--fav-line);border-top-color:var(--fav-primary);border-radius:50%;display:inline-block;animation:favobj-rot .8s linear infinite}
@keyframes favobj-rot{to{transform:rotate(360deg)}}
.favobj-h{margin:0 0 14px;font-size:20px;font-weight:800;color:var(--fav-primary)}

/* ---------- Galerie ---------- */
.favobj-stage{position:relative;border-radius:14px;overflow:hidden;background:var(--fav-soft)}
.favobj-main{position:relative;aspect-ratio:16/10;cursor:zoom-in;display:block;overflow:hidden;background:#10171b}
.favobj-blur{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(22px) brightness(.5);transform:scale(1.15);z-index:0}
.favobj-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .45s ease;z-index:1}
.favobj-layer.is-active{opacity:1}
.favobj-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;border-radius:50%;background:rgba(255,255,255,.85);color:var(--fav-ink);font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:.12s}
.favobj-nav:hover{background:#fff}
.favobj-prev{left:10px}.favobj-next{right:10px}
.favobj-count{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:20px}
.favobj-cap{margin-top:10px}
.favobj-cap:empty{display:none}
.favobj-cap-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.favobj-cap-room{background:var(--fav-secondary);color:#2c3a1e;font-size:12px;font-weight:800;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.02em}
.favobj-cap-title{font-size:16px;font-weight:800;color:var(--fav-primary)}
.favobj-cap-desc{font-size:14px;line-height:1.55;color:#444}
.favobj-thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.favobj-thumb{flex:0 0 auto;width:84px;height:58px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;cursor:pointer;background:none;opacity:.7;transition:.12s}
.favobj-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.favobj-thumb:hover{opacity:1}
.favobj-thumb.is-on{opacity:1;border-color:var(--fav-primary)}

/* ---------- Lightbox ---------- */
.favobj-lb{position:fixed;inset:0;z-index:99999;background:rgba(12,18,20,.92);display:flex;align-items:center;justify-content:center}
.favobj-lb[hidden]{display:none}
.favobj-lb-fig{margin:0;max-width:94vw;max-height:88vh;display:flex;align-items:center;justify-content:center}
.favobj-lb-fig img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5);transition:opacity .35s ease}
.favobj-lb-close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.favobj-lb-close:hover{background:rgba(255,255,255,.25)}
.favobj-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.favobj-lb-nav:hover{background:rgba(255,255,255,.25)}
.favobj-lb-prev{left:18px}.favobj-lb-next{right:18px}
.favobj-lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:700;background:rgba(0,0,0,.4);padding:4px 12px;border-radius:20px}
.favobj-lb-fig{position:relative;flex-direction:column}
.favobj-lb-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;padding:30px 20px 16px;border-radius:0 0 6px 6px;max-height:45%;overflow:auto}
.favobj-lb-cap:empty{display:none}
.favobj-lb-cap .favobj-cap-room{background:var(--fav-secondary)}
.favobj-lb-cap .favobj-cap-title{color:#fff}
.favobj-lb-cap .favobj-cap-desc{color:#eee}

/* ---------- Eckdaten ---------- */
.favobj-facts{display:flex;flex-wrap:wrap;gap:10px}
.favobj-fact{flex:1 1 110px;min-width:96px;background:var(--fav-soft);border:1px solid var(--fav-line);border-radius:12px;padding:12px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}
.favobj-fact-ic{font-size:22px;line-height:1}
.favobj-fact-v{font-size:17px;font-weight:800;color:var(--fav-primary)}
.favobj-fact-l{font-size:12px;color:var(--fav-muted)}

/* ---------- Ausstattung ---------- */
.favobj-amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px 26px}
.favobj-amen-gl{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--fav-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--fav-soft)}
.favobj-amen-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.favobj-amen-list li{display:flex;align-items:center;gap:9px;font-size:14.5px}
.favobj-amen-ic{font-size:18px;width:24px;text-align:center;flex:0 0 24px}

/* ---------- Highlights ---------- */
.favobj-hl{display:flex;flex-wrap:wrap;gap:9px}
.favobj-hl-badge{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--fav-primary),#3a7d88);color:#fff;font-size:14px;font-weight:700;padding:8px 14px;border-radius:24px;box-shadow:0 2px 8px rgba(68,144,156,.25)}
.favobj-hl-ic{font-size:17px}

@media(max-width:520px){
	.favobj-h{font-size:18px}
	.favobj-main{aspect-ratio:4/3}
	.favobj-amen{grid-template-columns:1fr;gap:16px}
	.favobj-fact{flex-basis:calc(50% - 5px)}
	.favobj-lb-nav{width:44px;height:44px;font-size:26px}
}
