/* ═══════════════════════════════════════════════════════════════════════════
   Immobilien Manager Pro – Public CSS v4
   Glassmorphism · Liquid Glass · Material-inspired · Theme-isolated
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Isolation & Reset ───────────────────────────────────────────────────── */
.im-scope {
    all: initial;
    display: block !important;
    box-sizing: border-box !important;
    font-family: var(--im-font-body, 'DM Sans', system-ui, sans-serif) !important;
    font-size: var(--im-font-size, 16px) !important;
    color: var(--im-text, #f0f6fc) !important;
    line-height: var(--im-line-height, 1.65) !important;
    background: var(--im-bg-css, #0d1117) !important;
    min-height: 100vh !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
.im-scope *, .im-scope *::before, .im-scope *::after {
    box-sizing: border-box !important;
}
.im-scope h1, .im-scope h2, .im-scope h3, .im-scope h4, .im-scope h5, .im-scope h6 {
    font-family: var(--im-font-heading, 'Playfair Display', Georgia, serif) !important;
    font-weight: var(--im-font-heading-weight, 700) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
    color: var(--im-text) !important;
    margin: 0 !important; padding: 0 !important;
}
.im-scope p, .im-scope span, .im-scope div, .im-scope li, .im-scope a,
.im-scope button, .im-scope label, .im-scope input, .im-scope select, .im-scope textarea {
    margin: 0 !important; padding: 0 !important;
}
.im-scope img { max-width: 100% !important; height: auto !important; display: block !important; }
.im-scope ul, .im-scope ol { list-style: none !important; }
.im-scope a { color: var(--im-accent) !important; text-decoration: none !important; }
.im-scope svg { display: inline-block !important; vertical-align: middle !important; flex-shrink: 0 !important; }
.im-scope button, .im-scope input, .im-scope select, .im-scope textarea {
    font-family: var(--im-font-body) !important;
}

/* ── Glass Utility ───────────────────────────────────────────────────────── */
.im-scope .im-glass {
    background: var(--im-glass, rgba(255,255,255,0.06)) !important;
    backdrop-filter: blur(var(--im-blur, 20px)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur, 20px)) saturate(180%) !important;
    border: var(--im-border-width, 1px) solid var(--im-glass-border, rgba(255,255,255,0.12)) !important;
    border-radius: var(--im-radius, 16px) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 24px rgba(0,0,0,0.4) !important;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.im-scope .im-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: var(--im-btn-pad, 12px 24px) !important;
    border-radius: var(--im-btn-radius, 50px) !important;
    font-size: var(--im-btn-size, 0.9rem) !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    border: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.25s cubic-bezier(0.4,0,0.2,1) !important;
    position: relative !important;
    overflow: hidden !important;
    letter-spacing: 0.01em !important;
}
.im-scope .im-btn::after {
    content: '' !important;
    position: absolute !important; inset: 0 !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 60%) !important;
    pointer-events: none !important;
}
.im-scope .im-btn-primary {
    background: linear-gradient(135deg, var(--im-accent) 0%, var(--im-accent2, var(--im-accent)) 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(var(--im-accent-rgb), 0.4), 0 1px 0 rgba(255,255,255,0.15) inset !important;
}
.im-scope .im-btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(var(--im-accent-rgb), 0.5) !important;
}
.im-scope .im-btn-primary:focus-visible {
    outline: 2px solid var(--im-accent) !important;
    outline-offset: 3px !important;
}
.im-scope .im-btn-ghost {
    background: var(--im-glass) !important;
    backdrop-filter: blur(12px) !important;
    color: var(--im-text) !important;
    border: 1.5px solid var(--im-glass-border) !important;
}
.im-scope .im-btn-ghost:hover {
    background: var(--im-glass-hover) !important;
    border-color: rgba(255,255,255,0.3) !important;
}

/* Focus ring for accessibility */
.im-scope :focus-visible {
    outline: 2px solid var(--im-accent) !important;
    outline-offset: 2px !important;
}

/* ── Tooltip utility ─────────────────────────────────────────────────────── */
.im-scope [data-tooltip] { position: relative !important; }
.im-scope [data-tooltip]::before {
    content: attr(data-tooltip) !important;
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(4px) !important;
    background: rgba(15,20,30,0.95) !important;
    backdrop-filter: blur(12px) !important;
    color: #fff !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity 0.18s, transform 0.18s !important;
    z-index: 100 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    font-family: var(--im-font-body) !important;
    letter-spacing: 0 !important;
}
.im-scope [data-tooltip]::after {
    content: '' !important;
    position: absolute !important;
    bottom: calc(100% + 2px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border: 4px solid transparent !important;
    border-top-color: rgba(15,20,30,0.95) !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity 0.18s !important;
    z-index: 100 !important;
}
.im-scope [data-tooltip]:hover::before,
.im-scope [data-tooltip]:focus::before {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
}
.im-scope [data-tooltip]:hover::after,
.im-scope [data-tooltip]:focus::after {
    opacity: 1 !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   SINGLE PROPERTY PAGE – Full Glassmorphism
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Gallery ─────────────────────────────────────────────────────────────── */
.im-scope .im-gallery-wrap {
    position: relative !important;
    background: var(--im-bg2, #161b22) !important;
}
.im-scope .im-gallery { position: relative !important; }
.im-scope .im-gallery-main-img {
    position: relative !important;
    aspect-ratio: 21/8 !important;
    overflow: hidden !important;
    background: var(--im-bg2) !important;
}
@media(max-width:768px) { .im-scope .im-gallery-main-img { aspect-ratio: 4/3 !important; } }
.im-scope .im-gallery-main-img img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s ease, opacity 0.3s !important;
}
.im-scope .im-gallery-overlay-badges {
    position: absolute !important; top: 24px !important; left: 24px !important;
    display: flex !important; gap: 8px !important; z-index: 2 !important;
}
/* Gradient overlay at bottom of gallery */
.im-scope .im-gallery-main-img::after {
    content: '' !important;
    position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: 40% !important;
    background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%) !important;
    pointer-events: none !important;
}
.im-scope .im-status-pill {
    padding: 5px 14px !important; border-radius: 50px !important;
    font-size: 0.7rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.1em !important;
    color: #fff !important;
    backdrop-filter: blur(8px) !important;
}
.im-scope .im-status-verfuegbar  { background: rgba(34,197,94,0.85) !important; }
.im-scope .im-status-reserviert  { background: rgba(245,158,11,0.85) !important; }
.im-scope .im-status-verkauft,
.im-scope .im-status-vermietet   { background: rgba(107,114,128,0.85) !important; }
.im-scope .im-type-pill {
    padding: 5px 14px !important; border-radius: 50px !important;
    font-size: 0.7rem !important; font-weight: 600 !important;
    background: rgba(0,0,0,0.55) !important; color: #fff !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
}

/* ── Single Layout ───────────────────────────────────────────────────────── */
.im-scope .im-single-container {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 0 clamp(16px, 4vw, 52px) !important;
}
.im-scope .im-single-layout {
    display: grid !important;
    grid-template-columns: 1fr 400px !important;
    gap: 40px !important;
    padding: 48px 0 96px !important;
    align-items: start !important;
}
@media(max-width:1100px) {
    .im-scope .im-single-layout { grid-template-columns: 1fr !important; gap: 32px !important; }
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.im-scope .im-breadcrumb {
    display: flex !important; align-items: center !important; gap: 6px !important;
    font-size: 0.75rem !important; color: var(--im-text-muted) !important;
    margin-bottom: 28px !important;
}
.im-scope .im-breadcrumb a {
    color: var(--im-text-muted) !important;
    transition: color 0.15s !important;
}
.im-scope .im-breadcrumb a:hover { color: var(--im-accent) !important; }

/* ── Single Header ───────────────────────────────────────────────────────── */
.im-scope .im-single-header {
    display: flex !important; justify-content: space-between !important;
    align-items: flex-start !important; gap: 24px !important; flex-wrap: wrap !important;
    margin-bottom: 36px !important;
    padding: 32px !important;
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: var(--im-radius) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 24px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.06) inset !important;
    position: relative !important; overflow: hidden !important;
}
/* Subtle glow accent in header */
.im-scope .im-single-header::before {
    content: '' !important;
    position: absolute !important; top: -60px !important; right: -60px !important;
    width: 200px !important; height: 200px !important;
    background: radial-gradient(circle, var(--im-accent-glow) 0%, transparent 70%) !important;
    pointer-events: none !important;
}
.im-scope .im-ref-tag {
    display: inline-block !important;
    font-size: 0.68rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.12em !important;
    color: var(--im-accent) !important;
    background: var(--im-accent-soft) !important;
    border: 1px solid rgba(var(--im-accent-rgb), 0.3) !important;
    padding: 3px 10px !important; border-radius: 50px !important;
    margin-bottom: 12px !important;
}
.im-scope .im-single-title {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 800 !important; color: var(--im-text) !important;
    margin-bottom: 10px !important; line-height: 1.2 !important;
}
.im-scope .im-single-address {
    display: flex !important; align-items: center !important; gap: 6px !important;
    font-size: 0.85rem !important; color: var(--im-text-muted) !important;
    font-style: normal !important;
}
.im-scope .im-single-price {
    font-family: var(--im-font-heading) !important;
    font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
    font-weight: 800 !important; color: var(--im-price-color, #fff) !important;
    white-space: nowrap !important; text-align: right !important;
}
.im-scope .im-price-label {
    font-size: 0.72rem !important; color: var(--im-text-muted) !important;
    text-transform: uppercase !important; letter-spacing: 0.08em !important;
    margin-top: 4px !important; text-align: right !important;
}
.im-scope .im-price-warm  { font-size: 0.8rem !important; color: var(--im-text-muted) !important; margin-top: 3px !important; text-align: right !important; }

/* ── Key Facts ───────────────────────────────────────────────────────────── */
.im-scope .im-key-facts {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 40px !important;
}
.im-scope .im-fact-item {
    padding: 18px 14px !important;
    text-align: center !important;
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: var(--im-radius-sm) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.2), 0 1px 0 rgba(255,255,255,0.05) inset !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    position: relative !important;
    overflow: hidden !important;
}
.im-scope .im-fact-item::before {
    content: '' !important;
    position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, var(--im-accent), transparent) !important;
    opacity: 0 !important; transition: opacity 0.2s !important;
}
.im-scope .im-fact-item:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 24px rgba(0,0,0,0.3) !important; }
.im-scope .im-fact-item:hover::before { opacity: 1 !important; }
.im-scope .im-fact-icon { color: var(--im-accent) !important; margin-bottom: 8px !important; display: flex !important; justify-content: center !important; }
.im-scope .im-fact-val  { font-size: 1.05rem !important; font-weight: 700 !important; color: var(--im-text) !important; display: block !important; }
.im-scope .im-fact-label { font-size: 0.65rem !important; text-transform: uppercase !important; letter-spacing: 0.07em !important; color: var(--im-text-muted) !important; margin-top: 3px !important; display: block !important; }

/* ── Sections (glass cards) ──────────────────────────────────────────────── */
.im-scope .im-section {
    margin-bottom: 20px !important;
    padding: 32px !important;
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: var(--im-radius) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 24px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.05) inset !important;
    position: relative !important;
    overflow: hidden !important;
}
/* Liquid glass shimmer on each section */
.im-scope .im-section::before {
    content: '' !important;
    position: absolute !important; top: 0 !important; left: -100% !important;
    width: 60% !important; height: 100% !important;
    background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.03) 50%, transparent 60%) !important;
    pointer-events: none !important;
    transition: left 0.6s !important;
}
.im-scope .im-section:hover::before { left: 150% !important; }

.im-scope .im-section-h {
    font-size: 1.05rem !important; font-weight: 700 !important; color: var(--im-text) !important;
    margin-bottom: 20px !important;
    display: flex !important; align-items: center !important; gap: 10px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--im-glass-border) !important;
}
.im-scope .im-section-h svg { color: var(--im-accent) !important; }

.im-scope .im-prose {
    color: var(--im-text-muted) !important; font-size: 0.92rem !important; line-height: 1.8 !important;
}

/* ── Feature Badges (Ausstattung) ────────────────────────────────────────── */
.im-scope .im-features-grid {
    display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
}
.im-scope .im-feature-badge {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    padding: 9px 15px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: 50px !important;
    font-size: 0.8rem !important; color: var(--im-text) !important;
    transition: all 0.2s !important;
    cursor: default !important;
    position: relative !important;
}
.im-scope .im-feature-badge:hover {
    background: var(--im-accent-soft) !important;
    border-color: rgba(var(--im-accent-rgb), 0.5) !important;
    color: var(--im-text) !important;
    transform: translateY(-1px) !important;
}
.im-scope .im-feature-icon { color: var(--im-accent) !important; display: flex !important; }
.im-scope .im-feature-tax  { border-style: dashed !important; }

/* ── Details Table ───────────────────────────────────────────────────────── */
.im-scope .im-details-table {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
}
@media(max-width:560px) { .im-scope .im-details-table { grid-template-columns: 1fr !important; } }
.im-scope .im-detail-row {
    display: flex !important; justify-content: space-between !important;
    padding: 11px 0 !important; gap: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.im-scope .im-detail-row:nth-child(odd)  { padding-right: 20px !important; }
.im-scope .im-detail-row:nth-child(even) {
    padding-left: 20px !important;
    border-left: 1px solid rgba(255,255,255,0.06) !important;
}
.im-scope .im-detail-row:last-child { border-bottom: none !important; }
.im-scope .im-detail-row dt { font-size: 0.78rem !important; color: var(--im-text-muted) !important; }
.im-scope .im-detail-row dd { font-size: 0.85rem !important; font-weight: 600 !important; color: var(--im-text) !important; text-align: right !important; }

/* ── Energy ──────────────────────────────────────────────────────────────── */
.im-scope .im-energy-display { display: flex !important; align-items: center !important; gap: 20px !important; flex-wrap: wrap !important; }
.im-scope .im-energy-class-badge {
    width: 76px !important; height: 76px !important; border-radius: 14px !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    color: #fff !important; gap: 2px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}
.im-scope .im-energy-class-badge span  { font-size: 0.6rem !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
.im-scope .im-energy-class-badge strong{ font-size: 1.7rem !important; font-weight: 900 !important; }
.im-scope .im-ec-axx,.im-scope .im-ec-axplus { background: #00c853 !important; }
.im-scope .im-ec-a  { background: #4caf50 !important; }
.im-scope .im-ec-b  { background: #8bc34a !important; }
.im-scope .im-ec-c  { background: #cddc39 !important; color: #222 !important; }
.im-scope .im-ec-d  { background: #ffeb3b !important; color: #222 !important; }
.im-scope .im-ec-e  { background: #ff9800 !important; }
.im-scope .im-ec-f  { background: #ff5722 !important; }
.im-scope .im-ec-g  { background: #f44336 !important; }
.im-scope .im-energy-info p { font-size: 0.85rem !important; color: var(--im-text-muted) !important; margin-bottom: 6px !important; }

/* ── Grundriss ───────────────────────────────────────────────────────────── */
.im-scope .im-grundriss-grid {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)) !important; gap: 12px !important;
}
.im-scope .im-grundriss-item {
    position: relative !important; border-radius: var(--im-radius-sm) !important;
    overflow: hidden !important; display: block !important;
    border: 1px solid var(--im-glass-border) !important; cursor: zoom-in !important;
}
.im-scope .im-grundriss-item img { width: 100% !important; transition: transform 0.3s !important; }
.im-scope .im-grundriss-item:hover img { transform: scale(1.04) !important; }
.im-scope .im-grundriss-zoom {
    position: absolute !important; inset: 0 !important;
    background: rgba(0,0,0,0.4) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    color: #fff !important; opacity: 0 !important; transition: opacity 0.2s !important;
}
.im-scope .im-grundriss-item:hover .im-grundriss-zoom { opacity: 1 !important; }

/* ── Map ─────────────────────────────────────────────────────────────────── */
.im-scope .im-single-osmap {
    height: 360px !important; border-radius: var(--im-radius-sm) !important;
    overflow: hidden !important; border: 1px solid var(--im-glass-border) !important;
    z-index: 0 !important;
}
.im-scope .im-back-link { padding-top: 8px !important; }

/* ════════════════════════════════════════════════════════════════════════════
   SIDEBAR – Glassmorphism panels
   ════════════════════════════════════════════════════════════════════════════ */
.im-scope .im-single-sidebar {
    display: flex !important; flex-direction: column !important; gap: 16px !important;
    position: sticky !important; top: 24px !important;
}

/* Shared sidebar card style */
.im-scope .im-sb-card {
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur)) saturate(180%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: var(--im-radius) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 24px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.06) inset !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Price Card */
.im-scope .im-sidebar-price-card {
    padding: 24px !important; text-align: center !important;
}
.im-scope .im-sidebar-price-card::before {
    content: '' !important; position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; height: 3px !important;
    background: linear-gradient(90deg, var(--im-accent), var(--im-accent2, var(--im-accent))) !important;
}
.im-scope .im-sb-price {
    font-family: var(--im-font-heading) !important;
    font-size: 1.9rem !important; font-weight: 800 !important; color: var(--im-price-color, #fff) !important;
}
.im-scope .im-sb-price-label { font-size: 0.72rem !important; color: var(--im-text-muted) !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; margin-top: 4px !important; }
.im-scope .im-sb-price-warm  { font-size: 0.8rem !important; color: var(--im-text-muted) !important; margin-top: 6px !important; }
.im-scope .im-sb-costs       { font-size: 0.75rem !important; color: var(--im-text-muted) !important; margin-top: 4px !important; }

/* Seller Card */
.im-scope .im-seller-card { padding: 20px !important; }
.im-scope .im-seller-header {
    display: flex !important; gap: 14px !important; align-items: center !important;
    margin-bottom: 16px !important; padding-bottom: 16px !important;
    border-bottom: 1px solid var(--im-glass-border) !important;
}
.im-scope .im-seller-photo { width: 50px !important; height: 50px !important; flex-shrink: 0 !important; }
.im-scope .im-seller-photo img {
    width: 50px !important; height: 50px !important; border-radius: 50% !important;
    object-fit: cover !important; border: 2px solid var(--im-accent) !important;
}
.im-scope .im-seller-initials {
    width: 50px !important; height: 50px !important; border-radius: 50% !important;
    background: linear-gradient(135deg, var(--im-accent), var(--im-accent2, var(--im-accent))) !important;
    color: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 1.2rem !important; font-weight: 700 !important;
}
.im-scope .im-seller-name { font-size: 0.92rem !important; font-weight: 700 !important; color: var(--im-text) !important; }
.im-scope .im-seller-role { font-size: 0.75rem !important; color: var(--im-text-muted) !important; margin-top: 2px !important; }
.im-scope .im-seller-contacts { display: flex !important; flex-direction: column !important; gap: 7px !important; }
.im-scope .im-seller-contact-btn {
    display: flex !important; align-items: center !important; gap: 10px !important;
    padding: 10px 13px !important; border-radius: 8px !important;
    font-size: 0.83rem !important; font-weight: 500 !important; color: var(--im-text) !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--im-glass-border) !important;
    transition: all 0.18s !important;
}
.im-scope .im-seller-contact-btn:hover {
    background: var(--im-accent-soft) !important;
    border-color: rgba(var(--im-accent-rgb), 0.4) !important;
    color: var(--im-accent) !important;
}
.im-scope .im-contact-tel   svg { color: #22c55e !important; }
.im-scope .im-contact-email svg { color: var(--im-accent) !important; }

/* Contact Lightbox Button */
.im-scope .im-contact-lb-btn { width: 100% !important; font-size: 0.92rem !important; }

/* Downloads */
.im-scope .im-downloads-card { padding: 18px 20px !important; }
.im-scope .im-downloads-title {
    font-size: 0.82rem !important; font-weight: 700 !important; color: var(--im-text) !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
    margin-bottom: 12px !important; padding-bottom: 12px !important;
    border-bottom: 1px solid var(--im-glass-border) !important;
    text-transform: uppercase !important; letter-spacing: 0.07em !important;
}
.im-scope .im-downloads-title svg { color: var(--im-accent) !important; }
.im-scope .im-download-item {
    display: flex !important; align-items: center !important; gap: 12px !important;
    padding: 11px 12px !important; border-radius: 10px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--im-glass-border) !important;
    color: var(--im-text) !important; font-size: 0.83rem !important;
    transition: all 0.2s !important;
}
.im-scope .im-download-item:hover {
    background: var(--im-accent-soft) !important;
    border-color: rgba(var(--im-accent-rgb), 0.4) !important;
    transform: translateX(3px) !important;
}
.im-scope .im-dl-icon {
    width: 36px !important; height: 36px !important; flex-shrink: 0 !important;
    background: var(--im-accent-soft) !important; border-radius: 8px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    color: var(--im-accent) !important;
}
.im-scope .im-dl-info { flex: 1 !important; min-width: 0 !important; }
.im-scope .im-dl-name { display: block !important; font-weight: 600 !important; font-size: 0.83rem !important; }
.im-scope .im-dl-type { display: block !important; font-size: 0.7rem !important; color: var(--im-text-muted) !important; margin-top: 1px !important; }
.im-scope .im-dl-arrow { color: var(--im-text-muted) !important; flex-shrink: 0 !important; }

/* Sidebar quick facts */
.im-scope .im-sidebar-facts { padding: 18px 20px !important; }
.im-scope .im-sidebar-facts h3 { font-size: 0.82rem !important; font-weight: 700 !important; color: var(--im-text) !important; margin-bottom: 12px !important; text-transform: uppercase !important; letter-spacing: 0.07em !important; }
.im-scope .im-sb-fact-list li {
    display: flex !important; align-items: center !important; gap: 10px !important;
    font-size: 0.83rem !important; color: var(--im-text-muted) !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.im-scope .im-sb-fact-list li:last-child { border-bottom: none !important; }
.im-scope .im-sb-fact-list svg { color: var(--im-accent) !important; opacity: 0.8 !important; }

/* Contact form inside sidebar/lightbox */


/* contact form inputs → in lightbox block */
/* agent/form/result rules → moved to contact lightbox block below */

/* ═══════════════════════════════════════════════════════════════════
   CONTACT LIGHTBOX  –  hell, clean, Material Design
   ═══════════════════════════════════════════════════════════════════ */
.im-scope .im-contact-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999998 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    opacity: 0 !important;
    transition: opacity 0.22s ease !important;
    pointer-events: none !important;
}
.im-scope .im-contact-lightbox[hidden] { display: none !important; }
.im-scope .im-contact-lightbox.visible { opacity: 1 !important; pointer-events: all !important; }

/* Backdrop: heller, matter Schleier */
.im-scope .im-contact-lb-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(15,20,30,0.55) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

/* Modal: weißes, cleanes Panel */
.im-scope .im-contact-lb-modal {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 460px !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
    max-height: 92dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    color: #111827 !important;
    animation: im-clb-in 0.28s cubic-bezier(0.34,1.36,0.64,1) !important;
}
@keyframes im-clb-in {
    from { transform: scale(0.93) translateY(12px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
}

/* Header */
.im-scope .im-contact-lb-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 22px 24px 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: #ffffff !important;
}
.im-scope .im-contact-lb-header h3 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
}
.im-scope .im-contact-lb-header p {
    font-size: 0.76rem !important;
    color: #6b7280 !important;
    margin: 3px 0 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 280px !important;
}

/* Close button */
.im-scope .im-contact-lb-close {
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background: #f3f4f6 !important;
    border: none !important;
    border-radius: 50% !important;
    color: #6b7280 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s, color 0.15s !important;
    margin-top: 2px !important;
}
.im-scope .im-contact-lb-close:hover {
    background: #fee2e2 !important;
    color: #dc2626 !important;
}

/* Body */
.im-scope .im-contact-lb-body {
    padding: 20px 24px 24px !important;
    background: #ffffff !important;
}

/* contact-section wrapper */
.im-scope .im-contact-lb-body .im-contact-section {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Agent card: kompakt, hell */
.im-scope .im-agent-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    margin-bottom: 18px !important;
}
.im-scope .im-agent-photo {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    border: 2px solid #e5e7eb !important;
}
.im-scope .im-agent-name {
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
}
.im-scope .im-agent-title {
    font-size: 0.73rem !important;
    color: #6b7280 !important;
    margin-top: 1px !important;
}
.im-scope .im-agent-phone {
    font-size: 0.75rem !important;
    color: var(--im-accent, #e94560) !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 3px !important;
    font-weight: 600 !important;
}

/* Contact section title */
.im-scope .im-contact-title {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #9ca3af !important;
    margin: 0 0 14px !important;
}

/* ── Material Design Floating-Label Felder ─────────────────────── */
.im-scope .im-contact-form .im-form-group,
.im-scope .im-contact-form .im-form-field {
    margin-bottom: 14px !important;
    position: relative !important;
}
.im-scope .im-contact-form label {
    display: block !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #374151 !important;
    margin-bottom: 5px !important;
}
.im-scope .im-contact-form input,
.im-scope .im-contact-form textarea,
.im-scope .im-contact-form select {
    width: 100% !important;
    padding: 10px 13px !important;
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    color: #111827 !important;
    font-size: 0.93rem !important;
    font-family: inherit !important;
    outline: none !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    transition: border-color 0.18s, box-shadow 0.18s, background 0.18s !important;
}
.im-scope .im-contact-form input:hover,
.im-scope .im-contact-form textarea:hover {
    border-color: #d1d5db !important;
    background: #ffffff !important;
}
.im-scope .im-contact-form input:focus,
.im-scope .im-contact-form textarea:focus,
.im-scope .im-contact-form select:focus {
    border-color: var(--im-accent, #e94560) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(var(--im-accent-rgb,233,69,96),0.12) !important;
    outline: none !important;
}
.im-scope .im-contact-form input::placeholder,
.im-scope .im-contact-form textarea::placeholder {
    color: #9ca3af !important;
    font-size: 0.88rem !important;
}
.im-scope .im-contact-form textarea {
    resize: none !important;
    min-height: 78px !important;
    max-height: 140px !important;
}

/* 2-col row */
.im-scope .im-contact-form .im-form-row-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

/* GDPR */
.im-scope .im-contact-form .im-gdpr-check {
    margin-top: 4px !important;
}
.im-scope .im-contact-form .im-gdpr-check label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    cursor: pointer !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
.im-scope .im-contact-form .im-gdpr-check label a {
    color: var(--im-accent, #e94560) !important;
    text-decoration: underline !important;
}
.im-scope .im-contact-form .im-gdpr-check input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    accent-color: var(--im-accent, #e94560) !important;
    cursor: pointer !important;
}

/* Submit button: full width */
.im-scope .im-contact-form .im-contact-submit {
    width: 100% !important;
    margin-top: 6px !important;
    padding: 12px !important;
    font-size: 0.9rem !important;
    border-radius: 10px !important;
    letter-spacing: 0.01em !important;
}

/* Result messages: light style */
.im-scope .im-form-result {
    padding: 10px 14px !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
    margin-bottom: 12px !important;
}
.im-scope .im-form-result.success {
    background: #f0fdf4 !important;
    color: #15803d !important;
    border: 1px solid #bbf7d0 !important;
}
.im-scope .im-form-result.error {
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
}

/* ── Mobile: Bottom Sheet ──────────────────────────────────────── */
@media (max-width: 600px) {
    .im-scope .im-contact-lightbox {
        align-items: flex-end !important;
        padding: 0 !important;
    }
    .im-scope .im-contact-lb-modal {
        max-width: 100% !important;
        max-height: 94dvh !important;
        border-radius: 22px 22px 0 0 !important;
        animation: im-clb-up 0.3s cubic-bezier(0.32,0.72,0,1) !important;
        box-shadow: 0 -4px 32px rgba(0,0,0,0.14) !important;
    }
    @keyframes im-clb-up {
        from { transform: translateY(100%); opacity: 1; }
        to   { transform: translateY(0);    opacity: 1; }
    }
    .im-scope .im-contact-lb-modal::before {
        content: '' !important;
        display: block !important;
        width: 36px !important;
        height: 4px !important;
        background: #e5e7eb !important;
        border-radius: 2px !important;
        margin: 10px auto 0 !important;
    }
    .im-scope .im-contact-lb-header {
        padding: 14px 20px 12px !important;
    }
    .im-scope .im-contact-lb-body {
        padding: 16px 20px 32px !important;
    }
    .im-scope .im-contact-form .im-form-row-2 {
        grid-template-columns: 1fr !important;
    }
    .im-scope .im-contact-form textarea {
        min-height: 64px !important;
    }
}

/* Lightbox (image) */
.im-lightbox {
    position: fixed !important; inset: 0 !important; z-index: 999999 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
}
.im-lightbox[hidden] { display: none !important; }
.im-lb-backdrop { position: absolute !important; inset: 0 !important; background: rgba(0,0,0,0.94) !important; backdrop-filter: blur(16px) !important; }
.im-lb-img-wrap { position: relative !important; z-index: 2 !important; }
.im-lb-img-wrap img { max-width: 92vw !important; max-height: 90vh !important; border-radius: 8px !important; object-fit: contain !important; }
.im-lb-close, .im-lb-prev, .im-lb-next {
    position: fixed !important; z-index: 3 !important;
    background: rgba(255,255,255,0.1) !important; backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 50% !important;
    color: #fff !important; cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: background 0.18s !important;
}
.im-lb-close { top: 18px !important; right: 18px !important; width: 44px !important; height: 44px !important; }
.im-lb-prev  { left: 18px !important; top: 50% !important; transform: translateY(-50%) !important; width: 52px !important; height: 52px !important; }
.im-lb-next  { right: 18px !important; top: 50% !important; transform: translateY(-50%) !important; width: 52px !important; height: 52px !important; }
.im-lb-close:hover, .im-lb-prev:hover, .im-lb-next:hover { background: var(--im-accent) !important; }
.im-lb-counter { position: fixed !important; bottom: 20px !important; left: 50% !important; transform: translateX(-50%) !important; color: #fff !important; font-size: 0.82rem !important; z-index: 3 !important; background: rgba(0,0,0,0.55) !important; backdrop-filter: blur(8px) !important; padding: 5px 16px !important; border-radius: 50px !important; border: 1px solid rgba(255,255,255,0.1) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   LISTING PAGE – Booking-style layout
   ════════════════════════════════════════════════════════════════════════════ */
.im-scope .im-listing-wrap {
    max-width: 1440px !important; margin: 0 auto !important;
    padding: 40px clamp(16px, 4vw, 48px) 80px !important;
    display: block !important;
}
@media(max-width:960px) { .im-scope .im-listing-wrap { grid-template-columns: 1fr !important; gap: 20px !important; } }

/* ═══════════════════════════════════════════════════════════════════
   FILTER SIDEBAR  –  einheitliches Light-Theme, alle Farben hart kodiert,
   keine CSS-Variablen → keine Dark-Mode-Konflikte
   ═══════════════════════════════════════════════════════════════════ */

/* ── Sidebar-Container (auch teleportiert via JS) ────────────────── */
.im-scope .im-filter-sidebar,
body > #im-filter-sidebar.im-teleported {
    background: #ffffff !important;
    color: #1e293b !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 14px !important;
    scrollbar-width: thin !important;
    scrollbar-color: #cbd5e1 transparent !important;
}
.im-scope .im-filter-sidebar::-webkit-scrollbar { width: 4px !important; }
.im-scope .im-filter-sidebar::-webkit-scrollbar-thumb { background: #cbd5e1 !important; border-radius: 4px !important; }

/* ── Header ──────────────────────────────────────────────────────── */
.im-scope .im-filter-header,
#im-filter-sidebar .im-filter-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    flex-shrink: 0 !important;
}
.im-scope .im-filter-header-left,
#im-filter-sidebar .im-filter-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    letter-spacing: 0.02em !important;
}
.im-scope .im-filter-header-left svg,
#im-filter-sidebar .im-filter-header-left svg { color: #3b82f6 !important; flex-shrink: 0 !important; }
.im-scope .im-sidebar-close-btn,
#im-filter-sidebar .im-sidebar-close-btn {
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 7px !important;
    color: #64748b !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
    flex-shrink: 0 !important;
}
.im-scope .im-sidebar-close-btn:hover,
#im-filter-sidebar .im-sidebar-close-btn:hover { background: #e2e8f0 !important; color: #1e293b !important; }
.im-scope .im-filter-reset-all,
#im-filter-sidebar .im-filter-reset-all {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    transition: all 0.15s !important;
    font-family: inherit !important;
}
.im-scope .im-filter-reset-all:hover,
#im-filter-sidebar .im-filter-reset-all:hover { color: #ef4444 !important; background: #fef2f2 !important; }
.im-scope .im-filter-reset-label,
#im-filter-sidebar .im-filter-reset-label { font-size: 11px !important; }

/* ── Scrollbarer Body ────────────────────────────────────────────── */
.im-scope .im-filter-body-outer,
#im-filter-sidebar .im-filter-body-outer {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    -webkit-overflow-scrolling: touch !important;
}
.im-scope .im-filter-body,
#im-filter-sidebar .im-filter-body {
    padding: 0 0 12px 0 !important;
}

/* ── Filter-Gruppen (Akkordeon) ──────────────────────────────────── */
.im-scope .im-fs-group,
#im-filter-sidebar .im-fs-group {
    border-bottom: 2px solid #f1f5f9 !important;
}
.im-scope .im-fs-group:last-child,
#im-filter-sidebar .im-fs-group:last-child { border-bottom: none !important; }
.im-scope .im-fs-group-head,
#im-filter-sidebar .im-fs-group-head {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 18px !important;
    background: #f8fafc !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    font-family: inherit !important;
    transition: background 0.15s !important;
    text-align: left !important;
    letter-spacing: 0.01em !important;
}
.im-scope .im-fs-group-head:hover,
#im-filter-sidebar .im-fs-group-head:hover { background: #eef2f7 !important; color: #0f172a !important; }
.im-scope .im-chevron,
#im-filter-sidebar .im-chevron { transition: transform 0.22s !important; color: #94a3b8 !important; }
.im-scope .im-fs-group-head.open .im-chevron,
#im-filter-sidebar .im-fs-group-head.open .im-chevron { transform: rotate(180deg) !important; }
.im-scope .im-fs-group-body,
#im-filter-sidebar .im-fs-group-body {
    padding: 0 18px !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.28s ease, padding 0.28s !important;
}
.im-scope .im-fs-group-body.open,
#im-filter-sidebar .im-fs-group-body.open {
    max-height: 600px !important;
    padding: 8px 18px 18px !important;
}

/* ── Freitextsuche ───────────────────────────────────────────────── */
.im-scope .im-fs-search-wrap,
#im-filter-sidebar .im-fs-search-wrap {
    position: relative !important;
    padding: 12px 18px 10px !important;
}
.im-scope .im-fs-search-icon,
#im-filter-sidebar .im-fs-search-icon {
    position: absolute !important;
    left: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #94a3b8 !important;
    pointer-events: none !important;
}
.im-scope .im-fs-search-input,
#im-filter-sidebar .im-fs-search-input {
    width: 100% !important;
    padding: 9px 11px 9px 34px !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    color: #1e293b !important;
    font-size: 13px !important;
    font-family: inherit !important;
    outline: none !important;
    transition: border-color 0.18s, background 0.18s !important;
}
.im-scope .im-fs-search-input::placeholder,
#im-filter-sidebar .im-fs-search-input::placeholder { color: #94a3b8 !important; }
.im-scope .im-fs-search-input:focus,
#im-filter-sidebar .im-fs-search-input:focus {
    border-color: #3b82f6 !important;
    background: #fff !important;
}

/* ── Checkboxen ──────────────────────────────────────────────────── */
.im-scope .im-fs-check,
#im-filter-sidebar .im-fs-check {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 6px 0 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: #475569 !important;
    border-radius: 4px !important;
}
.im-scope .im-fs-check:hover,
#im-filter-sidebar .im-fs-check:hover { color: #1e293b !important; }
.im-scope .im-fs-check input[type="checkbox"],
#im-filter-sidebar .im-fs-check input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
.im-scope .im-cb-box,
#im-filter-sidebar .im-cb-box {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #fff !important;
    position: relative !important;
    transition: all 0.15s !important;
}
.im-scope .im-fs-check input:checked ~ .im-cb-box,
#im-filter-sidebar .im-fs-check input:checked ~ .im-cb-box {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
}
.im-scope .im-fs-check input:checked ~ .im-cb-box::after,
#im-filter-sidebar .im-fs-check input:checked ~ .im-cb-box::after {
    content: '' !important;
    position: absolute !important;
    left: 3px !important; top: 1px !important;
    width: 6px !important; height: 9px !important;
    border: 2px solid #fff !important;
    border-top: none !important; border-left: none !important;
    transform: rotate(45deg) !important;
}
.im-scope .im-cb-label,
#im-filter-sidebar .im-cb-label { flex: 1 !important; color: #475569 !important; }
.im-scope .im-fs-check:hover .im-cb-label,
#im-filter-sidebar .im-fs-check:hover .im-cb-label { color: #1e293b !important; }
.im-scope .im-cb-count,
#im-filter-sidebar .im-cb-count {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50px !important;
    padding: 1px 7px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    line-height: 1.6 !important;
}

/* ── Vermarktungs-Pills ──────────────────────────────────────────── */
.im-scope .im-fs-pill-row,
#im-filter-sidebar .im-fs-pill-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
.im-scope .im-fs-pill,
#im-filter-sidebar .im-fs-pill { position: relative !important; cursor: pointer !important; }
.im-scope .im-fs-pill input,
#im-filter-sidebar .im-fs-pill input { position: absolute !important; opacity: 0 !important; }
.im-scope .im-fs-pill > span,
#im-filter-sidebar .im-fs-pill > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 6px 13px !important;
    border-radius: 50px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    background: #f1f5f9 !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #475569 !important;
    transition: all 0.15s !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.im-scope .im-fs-pill:hover > span,
#im-filter-sidebar .im-fs-pill:hover > span { border-color: #93c5fd !important; color: #1e293b !important; }
.im-scope .im-fs-pill input:checked + span,
#im-filter-sidebar .im-fs-pill input:checked + span {
    background: #eff6ff !important;
    border-color: #3b82f6 !important;
    color: #1d4ed8 !important;
    font-weight: 700 !important;
}
.im-scope .im-fs-pill em.im-fc,
#im-filter-sidebar .im-fs-pill em.im-fc {
    font-style: normal !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    opacity: 0.65 !important;
}

/* ── Preis / Fläche Inputs ───────────────────────────────────────── */
.im-scope .im-fs-range-row,
#im-filter-sidebar .im-fs-range-row {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
}
.im-scope .im-fs-range-field,
#im-filter-sidebar .im-fs-range-field { flex: 1 !important; min-width: 0 !important; }
.im-scope .im-fs-range-field label,
#im-filter-sidebar .im-fs-range-field label {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #94a3b8 !important;
    margin-bottom: 5px !important;
}
.im-scope .im-fs-range-sep,
#im-filter-sidebar .im-fs-range-sep {
    font-size: 12px !important;
    color: #94a3b8 !important;
    padding-bottom: 8px !important;
    flex-shrink: 0 !important;
}
.im-scope .im-fs-num-wrap,
#im-filter-sidebar .im-fs-num-wrap { position: relative !important; }
.im-scope .im-fs-num-prefix,
#im-filter-sidebar .im-fs-num-prefix {
    position: absolute !important;
    left: 9px !important; top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    pointer-events: none !important;
}
.im-scope .im-fs-num,
.im-scope .im-filter-num,
#im-filter-sidebar .im-filter-num {
    width: 100% !important;
    padding: 8px 9px 8px 22px !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 7px !important;
    color: #1e293b !important;
    font-size: 13px !important;
    font-family: inherit !important;
    outline: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    transition: border-color 0.15s !important;
}
.im-scope .im-fs-num::-webkit-outer-spin-button,
.im-scope .im-fs-num::-webkit-inner-spin-button,
.im-scope .im-filter-num::-webkit-outer-spin-button,
.im-scope .im-filter-num::-webkit-inner-spin-button,
#im-filter-sidebar .im-filter-num::-webkit-inner-spin-button { -webkit-appearance: none !important; }
.im-scope .im-fs-num:focus,
.im-scope .im-filter-num:focus,
#im-filter-sidebar .im-filter-num:focus {
    border-color: #3b82f6 !important;
    background: #fff !important;
}

/* ── Preis-Presets ───────────────────────────────────────────────── */
.im-scope .im-fs-presets,
#im-filter-sidebar .im-fs-presets {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin-top: 10px !important;
}
.im-scope .im-fs-preset,
#im-filter-sidebar .im-fs-preset {
    padding: 4px 10px !important;
    border-radius: 50px !important;
    font-size: 11.5px !important;
    background: #f1f5f9 !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #475569 !important;
    cursor: pointer !important;
    font-family: inherit !important;
    transition: all 0.15s !important;
}
.im-scope .im-fs-preset:hover,
.im-scope .im-fs-preset.active,
#im-filter-sidebar .im-fs-preset.active {
    background: #eff6ff !important;
    border-color: #3b82f6 !important;
    color: #1d4ed8 !important;
}

/* ── Zimmer-Buttons ──────────────────────────────────────────────── */
.im-scope .im-fs-sublabel,
#im-filter-sidebar .im-fs-sublabel {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #94a3b8 !important;
    margin-bottom: 6px !important;
}
.im-scope .im-zimmer-btns,
#im-filter-sidebar .im-zimmer-btns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin-top: 6px !important;
}
.im-scope .im-zimmer-btn,
#im-filter-sidebar .im-zimmer-btn {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #475569 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    transition: all 0.15s !important;
}
.im-scope .im-zimmer-btn:hover,
#im-filter-sidebar .im-zimmer-btn:hover { background: #e0f2fe !important; border-color: #7dd3fc !important; color: #0369a1 !important; }
.im-scope .im-zimmer-btn.active,
#im-filter-sidebar .im-zimmer-btn.active { background: #3b82f6 !important; border-color: #3b82f6 !important; color: #fff !important; }
.im-scope .im-zc,
#im-filter-sidebar .im-zc { font-size: 9.5px !important; opacity: 0.7 !important; font-weight: 500 !important; }

/* ── Apply-Button (Mobile) ───────────────────────────────────────── */
.im-scope .im-filter-apply-mobile,
#im-filter-sidebar .im-filter-apply-mobile {
    width: calc(100% - 36px) !important;
    margin: 12px 18px 18px !important;
    display: block !important;
}


.im-scope .im-results-area { position: relative !important; min-height: 200px !important; }
.im-scope .im-results-topbar {
    display: flex !important; align-items: flex-start !important; justify-content: space-between !important;
    gap: 14px !important; margin-bottom: 24px !important; flex-wrap: wrap !important;
}
.im-scope .im-results-count { font-size: 0.85rem !important; color: var(--im-text-muted) !important; }
.im-scope .im-results-count strong { color: var(--im-text) !important; font-size: 1rem !important; }
.im-scope .im-active-filters { display: flex !important; flex-wrap: wrap !important; gap: 5px !important; margin-top: 7px !important; }
.im-scope .im-active-tag {
    display: inline-flex !important; align-items: center !important; gap: 5px !important;
    padding: 3px 9px !important; border-radius: 50px !important; font-size: 0.7rem !important;
    background: var(--im-accent-soft) !important; border: 1px solid rgba(var(--im-accent-rgb),0.35) !important;
    color: var(--im-accent) !important; font-weight: 600 !important;
}
.im-scope .im-active-tag button { background: none !important; border: none !important; color: var(--im-accent) !important; cursor: pointer !important; font-size: 0.9rem !important; line-height: 1 !important; }
.im-scope .im-topbar-right { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }

/* View toggle */
.im-scope .im-view-toggle {
    display: flex !important; gap: 3px !important;
    background: var(--im-glass) !important; border: 1px solid var(--im-glass-border) !important;
    border-radius: 8px !important; padding: 3px !important;
}
.im-scope .im-view-btn {
    width: 34px !important; height: 34px !important; border: none !important;
    border-radius: 6px !important; background: transparent !important;
    color: var(--im-text-muted) !important; cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: all 0.18s !important;
}
.im-scope .im-view-btn.active { background: var(--im-accent) !important; color: #fff !important; }
.im-scope .im-view-btn:hover:not(.active) { background: rgba(255,255,255,0.08) !important; color: var(--im-text) !important; }

.im-scope .im-sort-select {
    padding: 8px 13px !important; border-radius: 8px !important;
    background: var(--im-glass) !important; backdrop-filter: blur(10px) !important;
    border: 1px solid var(--im-glass-border) !important; color: var(--im-text) !important;
    font-size: 0.83rem !important; cursor: pointer !important; outline: none !important;
    font-family: var(--im-font-body) !important;
}
.im-scope .im-sort-select option { background: #1a1a2e !important; }

/* ── Property Grid ───────────────────────────────────────────────────────── */
.im-scope .im-property-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--im-card-gap, 22px) !important;
}
@media(max-width:860px)  { .im-scope .im-property-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media(max-width:520px)  { .im-scope .im-property-grid { grid-template-columns: 1fr !important; } }

/* ── Property Card ───────────────────────────────────────────────────────── */
.im-scope .im-card {
    border-radius: var(--im-radius) !important;
    transition: transform 0.25s cubic-bezier(0.4,0,0.2,1), box-shadow 0.25s !important;
    animation: im-card-fade 0.4s cubic-bezier(0.4,0,0.2,1) both !important;
}
@keyframes im-card-fade {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.im-scope .im-card:hover { transform: translateY(var(--im-hover-lift, -5px)) !important; }
.im-scope .im-card-inner {
    display: flex !important; flex-direction: column !important; height: 100% !important;
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur)) saturate(160%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur)) saturate(160%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: var(--im-radius) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.09), 0 8px 32px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.07) inset !important;
    text-decoration: none !important; color: inherit !important;
    transition: border-color 0.22s, box-shadow 0.22s !important;
    overflow: hidden !important;
}
.im-scope .im-card:hover .im-card-inner {
    border-color: rgba(255,255,255,0.2) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.14), 0 16px 48px rgba(0,0,0,0.6), 0 1px 0 rgba(255,255,255,0.1) inset !important;
}
.im-scope .im-card-img {
    aspect-ratio: 4/3 !important; overflow: hidden !important; position: relative !important;
    background: var(--im-bg2) !important; flex-shrink: 0 !important;
}
.im-scope .im-card-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.5s ease !important; }
.im-scope .im-card:hover .im-card-img img { transform: scale(1.05) !important; }
.im-scope .im-card-img-placeholder { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; color: rgba(255,255,255,0.12) !important; }
.im-scope .im-card-badges { position: absolute !important; top: 10px !important; left: 10px !important; display: flex !important; gap: 5px !important; }
.im-scope .im-card-status { padding: 4px 9px !important; border-radius: 50px !important; font-size: 0.62rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; color: #fff !important; backdrop-filter: blur(8px) !important; }
.im-scope .im-card-type  { padding: 4px 9px !important; border-radius: 50px !important; font-size: 0.62rem !important; font-weight: 600 !important; color: #fff !important; background: rgba(0,0,0,0.5) !important; backdrop-filter: blur(8px) !important; border: 1px solid rgba(255,255,255,0.1) !important; }

.im-scope .im-card-body { padding: 18px !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.im-scope .im-card-art  { font-size: 0.65rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: var(--im-accent) !important; }
.im-scope .im-card-title { font-family: var(--im-font-heading) !important; font-size: 0.97rem !important; font-weight: 700 !important; color: var(--im-text) !important; line-height: 1.3 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.im-scope .im-card-location { display: flex !important; align-items: center !important; gap: 4px !important; font-size: 0.75rem !important; color: var(--im-text-muted) !important; }
.im-scope .im-card-specs { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.im-scope .im-card-spec { display: flex !important; align-items: center !important; gap: 4px !important; font-size: 0.75rem !important; color: var(--im-text-muted) !important; }
.im-scope .im-card-spec svg { color: var(--im-accent) !important; opacity: 0.7 !important; }
.im-scope .im-card-footer-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    gap: 8px !important;
}
.im-scope .im-card-price {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}
.im-scope .im-card-price-val {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--im-accent, #e94560) !important;
    display: block !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}
.im-scope .im-card-price-lbl {
    font-size: 0.62rem !important;
    color: var(--im-text-muted, rgba(240,246,252,0.5)) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    display: block !important;
}
.im-scope .im-card-cta {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 6px 12px !important;
    border-radius: 7px !important;
    background: var(--im-accent, #e94560) !important;
    color: #ffffff !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    transition: background 0.18s !important;
    opacity: 1 !important;
}
.im-scope .im-card:hover .im-card-cta {
    background: var(--im-accent2, #c73652) !important;
}

/* Empty state */
.im-scope .im-empty-state { grid-column: 1/-1 !important; text-align: center !important; padding: 72px 24px !important; color: var(--im-text-muted) !important; }
.im-scope .im-empty-state svg { margin: 0 auto 18px !important; opacity: 0.25 !important; }
.im-scope .im-empty-state h3 { font-size: 1.1rem !important; color: var(--im-text) !important; margin-bottom: 8px !important; }
.im-scope .im-empty-state p { font-size: 0.88rem !important; }

/* Pagination */
.im-scope .im-pagination-wrap { margin-top: 36px !important; }
.im-scope .im-pagination { display: flex !important; justify-content: center !important; align-items: center !important; gap: 5px !important; }
.im-scope .im-page-btn {
    min-width: 36px !important; height: 36px !important; padding: 0 10px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    border-radius: 8px !important; font-size: 0.85rem !important; font-weight: 500 !important;
    background: var(--im-glass) !important; border: 1px solid var(--im-glass-border) !important;
    color: var(--im-text) !important; cursor: pointer !important; transition: all 0.18s !important;
    font-family: var(--im-font-body) !important;
}
.im-scope .im-page-btn:hover, .im-scope .im-page-btn.active { background: var(--im-accent) !important; border-color: var(--im-accent) !important; color: #fff !important; }
.im-scope .im-page-dots { color: var(--im-text-muted) !important; font-size: 0.85rem !important; padding: 0 5px !important; }

/* Loading overlay */
.im-scope .im-loading-overlay {
    position: absolute !important; inset: 0 !important; z-index: 10 !important;
    background: rgba(0,0,0,0.3) !important; backdrop-filter: blur(4px) !important;
    display: none !important; align-items: center !important; justify-content: center !important;
    border-radius: var(--im-radius) !important;
}
.im-scope .im-loading-overlay.visible { display: flex !important; }
.im-scope .im-spinner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4px !important; width: 30px !important; height: 30px !important; }
.im-scope .im-spinner div { border-radius: 2px !important; background: var(--im-accent) !important; animation: im-spin 1.2s infinite ease-in-out !important; }
.im-scope .im-spinner div:nth-child(2) { animation-delay: -0.9s !important; }
.im-scope .im-spinner div:nth-child(3) { animation-delay: -0.6s !important; }
.im-scope .im-spinner div:nth-child(4) { animation-delay: -0.3s !important; }
@keyframes im-spin { 0%,80%,100% { transform: scale(0); opacity: 0.3; } 40% { transform: scale(1); opacity: 1; } }

/* ════════════════════════════════════════════════════════════════════════════
   OPENSTREETMAP
   ════════════════════════════════════════════════════════════════════════════ */
.im-scope .im-listing-map {
    height: 580px !important; width: 100% !important;
    border-radius: var(--im-radius) !important;
    border: 1px solid var(--im-glass-border) !important; z-index: 0 !important;
    overflow: hidden !important;
}


.im-map-marker { background: none !important; border: none !important; }
.im-map-pin {
    background: var(--im-accent, #e94560) !important; color: #fff !important;
    border-radius: 50px !important; padding: 4px 9px !important;
    font-size: 0.7rem !important; font-weight: 700 !important;
    white-space: nowrap !important; box-shadow: 0 3px 12px rgba(0,0,0,0.45) !important;
    position: relative !important; font-family: system-ui, sans-serif !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}
.im-map-pin::after {
    content: '' !important; position: absolute !important;
    bottom: -6px !important; left: 50% !important; transform: translateX(-50%) !important;
    border: 5px solid transparent !important;
    border-top-color: var(--im-accent, #e94560) !important; border-bottom: none !important;
}
.im-map-pin-reserviert { background: #f59e0b !important; }
.im-map-pin-reserviert::after { border-top-color: #f59e0b !important; }
.im-map-pin-verkauft, .im-map-pin-vermietet { background: #6b7280 !important; }
.im-map-pin-verkauft::after, .im-map-pin-vermietet::after { border-top-color: #6b7280 !important; }

.im-map-popup .leaflet-popup-content-wrapper {
    background: rgba(18,24,36,0.97) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.55) !important;
    padding: 0 !important; overflow: hidden !important;
}
.im-map-popup .leaflet-popup-tip { background: rgba(18,24,36,0.97) !important; }
.im-map-popup .leaflet-popup-content { margin: 0 !important; }
.im-map-popup-card { width: 230px !important; }
.im-map-popup-img { width: 100% !important; height: 120px !important; object-fit: cover !important; display: block !important; }
.im-map-popup-body { padding: 11px 13px !important; }
.im-map-popup-art   { font-size: 0.62rem !important; text-transform: uppercase !important; letter-spacing: 0.09em !important; color: var(--im-accent, #e94560) !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.im-map-popup-title { font-size: 0.85rem !important; font-weight: 700 !important; color: #f0f6fc !important; line-height: 1.3 !important; margin-bottom: 5px !important; }
.im-map-popup-loc   { font-size: 0.72rem !important; color: rgba(240,246,252,0.48) !important; margin-bottom: 6px !important; }
.im-map-popup-specs { display: flex !important; gap: 8px !important; font-size: 0.72rem !important; color: rgba(240,246,252,0.55) !important; margin-bottom: 8px !important; }
.im-map-popup-price { font-size: 0.97rem !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 9px !important; }
.im-map-popup-link  { display: block !important; text-align: center !important; padding: 7px 11px !important; background: var(--im-accent, #e94560) !important; color: #fff !important; border-radius: 6px !important; font-size: 0.77rem !important; font-weight: 600 !important; transition: filter 0.18s !important; }
.im-map-popup-link:hover { filter: brightness(1.1) !important; }
.im-map-popup-single { padding: 8px 12px !important; color: #f0f6fc !important; font-size: 0.88rem !important; font-weight: 600 !important; }

.leaflet-control-zoom a { background: rgba(18,24,36,0.9) !important; color: #f0f6fc !important; border-color: rgba(255,255,255,0.12) !important; }
.leaflet-control-attribution { background: rgba(0,0,0,0.55) !important; color: rgba(255,255,255,0.45) !important; font-size: 9px !important; }
.leaflet-control-attribution a { color: rgba(255,255,255,0.55) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   BODY LAYOUT: 2/3 main + 1/3 sidebar
   ════════════════════════════════════════════════════════════════════════════ */
.im-scope .im-body-wrap {
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 48px clamp(16px,3vw,48px) 96px !important;
}
.im-scope .im-body-layout {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    gap: 40px !important;
    align-items: start !important;
}
@media(max-width:1000px) { .im-scope .im-body-layout { grid-template-columns: 1fr !important; gap: 28px !important; } }

/* ── Accordion ────────────────────────────────────────────────────────────── */
.im-scope .im-body-main { display: flex !important; flex-direction: column !important; gap: 6px !important; }

.im-scope .im-acc-item {
    border-radius: var(--im-radius-sm, 10px) !important;
    overflow: hidden !important;
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur,18px)) saturate(160%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur,18px)) saturate(160%) !important;
    border: 1px solid var(--im-glass-border) !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.22) !important;
    transition: box-shadow 0.2s !important;
}
.im-scope .im-acc-item.im-acc-open {
    box-shadow: 0 6px 28px rgba(0,0,0,0.32), 0 1px 0 rgba(255,255,255,0.05) inset !important;
    border-color: rgba(255,255,255,0.16) !important;
}

.im-scope .im-acc-head {
    width: 100% !important;
    display: flex !important; align-items: center !important; gap: 12px !important;
    padding: 16px 20px !important;
    background: none !important; border: none !important; cursor: pointer !important;
    text-align: left !important;
    font-family: var(--im-font-body) !important;
    color: var(--im-text) !important;
    transition: background 0.18s !important;
}
.im-scope .im-acc-head:hover { background: rgba(255,255,255,0.03) !important; }
.im-scope .im-acc-head:focus-visible { outline: 2px solid var(--im-accent) !important; outline-offset: -2px !important; }

.im-scope .im-acc-icon { color: var(--im-accent) !important; flex-shrink: 0 !important; display: flex !important; }
.im-scope .im-acc-title {
    flex: 1 !important; font-size: 0.93rem !important; font-weight: 700 !important;
    letter-spacing: 0.01em !important;
}
.im-scope .im-acc-chevron {
    color: var(--im-text-muted) !important; display: flex !important;
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}
.im-scope .im-acc-item.im-acc-open .im-acc-chevron { transform: rotate(180deg) !important; }
.im-scope .im-acc-item.im-acc-open > .im-acc-head { border-bottom: 1px solid var(--im-glass-border) !important; }

/* Accordion body – slide open */
.im-scope .im-acc-body {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.38s cubic-bezier(0.4,0,0.2,1) !important;
}
.im-scope .im-acc-item.im-acc-open > .im-acc-body {
    max-height: 3000px !important;
}
.im-scope .im-acc-body > * { padding: 20px 20px !important; }
.im-scope .im-acc-body .im-prose    { padding: 20px !important; }
.im-scope .im-acc-body .im-details-table { padding: 16px 20px !important; }
.im-scope .im-acc-body .im-features-grid { padding: 16px 20px !important; }
.im-scope .im-acc-body .im-grundriss-grid { padding: 16px 20px !important; }
.im-scope .im-acc-body .im-energy-display { padding: 20px !important; }
.im-scope .im-acc-body .im-single-osmap { margin: 0 20px 20px !important; }

.im-scope .im-acc-subh {
    font-size: 0.82rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.08em !important;
    color: var(--im-text-muted) !important;
    margin-top: 20px !important; margin-bottom: 10px !important;
    padding-top: 16px !important; border-top: 1px solid rgba(255,255,255,0.07) !important;
}
.im-scope .im-acc-body .im-acc-subh:first-child { margin-top: 0 !important; border-top: none !important; padding-top: 0 !important; }

/* ── Sidebar (body) ───────────────────────────────────────────────────────── */
.im-scope .im-body-sidebar {
    display: flex !important; flex-direction: column !important; gap: 14px !important;
    position: sticky !important; top: 24px !important;
}
.im-scope .im-sb-card {
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur,18px)) saturate(160%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur,18px)) saturate(160%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: var(--im-radius, 14px) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 24px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.06) inset !important;
    overflow: hidden !important;
    position: relative !important;
}
.im-scope .im-sb-card-head {
    display: flex !important; align-items: center !important; gap: 7px !important;
    padding: 13px 16px !important;
    font-size: 0.7rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.1em !important;
    color: var(--im-text-muted) !important;
    border-bottom: 1px solid var(--im-glass-border) !important;
    background: rgba(255,255,255,0.02) !important;
}
.im-scope .im-sb-card-head svg { color: var(--im-accent) !important; }

/* Seller inner padding */
.im-scope .im-seller-inner { padding: 14px 16px !important; }

/* Anfrage btn full-width */
.im-scope .im-sb-anfrage-btn {
    width: 100% !important; font-size: 0.9rem !important; font-weight: 700 !important;
}

/* Eckdaten list */
.im-scope .im-sb-eckdaten .im-sb-fact-list { padding: 10px 16px 14px !important; }
.im-scope .im-sb-fact-list li {
    display: flex !important; align-items: baseline !important; gap: 7px !important;
    font-size: 0.8rem !important; padding: 7px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.im-scope .im-sb-fact-list li:last-child { border-bottom: none !important; }
.im-scope .im-sb-fact-list svg { color: var(--im-accent) !important; flex-shrink: 0 !important; }
.im-scope .im-sbf-label { color: var(--im-text-muted) !important; flex-shrink: 0 !important; }
.im-scope .im-sbf-val   { color: var(--im-text) !important; font-weight: 600 !important; }

/* Downloads card */
.im-scope .im-downloads-card .im-download-item { margin: 0 !important; border-radius: 0 !important; }

/* ── Map toggle classes (replacing inline display:none) ─────────────────── */
.im-scope .im-hidden { display: none !important; }


/* ── Single map in accordion body ───────────────────────────────────────── */
.im-scope .im-single-osmap {
    height: 360px !important;
    border-radius: var(--im-radius-sm, 8px) !important;
    overflow: hidden !important;
    border: 1px solid var(--im-glass-border) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   PATCH v5.1 – Price · Tooltip padding · Marker · Button nowrap · Cursor
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Remove breadcrumb on detail page ───────────────────────────────────── */
.im-scope .im-single .im-breadcrumb { display: none !important; }

/* ── Buttons: never wrap text ────────────────────────────────────────────── */
.im-scope .im-btn { white-space: nowrap !important; }
.im-scope .im-seller-contact-btn { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }

/* ── Hero stage: pointer cursor, zoom indicator ─────────────────────────── */
.im-scope .im-hero-nav-btn { cursor: pointer !important; }

/* ── Price block: much more prominent ────────────────────────────────────── */
/* Price block: overridden below – kept here for cascade order only */
.im-scope .im-hero-price-block { }
.im-scope .im-hero-price-block::before { }
.im-scope .im-hero-price { }
.im-scope .im-hero-price-label { }
.im-scope .im-hero-price-warm { }

/* ── Tooltip: more inner padding, wider ──────────────────────────────────── */
.im-scope [data-tooltip]::before {
    padding: 7px 13px !important;
    font-size: 0.75rem !important;
    border-radius: 8px !important;
    max-width: 220px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.4 !important;
}

/* ── OSM Map marker: more inner padding ─────────────────────────────────── */
.im-map-pin {
    padding: 6px 13px !important;
    font-size: 0.72rem !important;
    border-radius: 50px !important;
}
/* single-property marker (icon pin) */
.im-map-pin svg { margin-right: 2px !important; vertical-align: middle !important; }

/* ── Hero stage: z-index so nav buttons receive clicks above image ───────── */
.im-scope .im-hero-nav { z-index: 4 !important; }
.im-scope .im-hero-fullscreen { z-index: 4 !important; }
.im-scope .im-hero-badges { z-index: 4 !important; }

/* ════════════════════════════════════════════════════════════════════════════
   PRICE BLOCK – clean, bold, no glassmorphism
   ════════════════════════════════════════════════════════════════════════════ */
.im-scope .im-hero-price-block,
.im-scope .im-hero-price-block::before { all: unset !important; }

.im-scope .im-hero-price-block {
    display: block !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.im-scope .im-hero-price {
    display: block !important;
    font-family: var(--im-font-heading, 'Playfair Display', Georgia, serif) !important;
    font-size: clamp(1.9rem, 3.5vw, 2.6rem) !important;
    font-weight: 900 !important;
    color: var(--im-text, #f0f6fc) !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
}

.im-scope .im-hero-price-label {
    display: block !important;
    font-size: 0.66rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--im-text-muted, rgba(240,246,252,0.45)) !important;
    margin-top: 4px !important;
    text-shadow: none !important;
}

.im-scope .im-hero-price-warm {
    display: block !important;
    font-size: 0.8rem !important;
    color: var(--im-text-muted, rgba(240,246,252,0.45)) !important;
    margin-top: 2px !important;
    text-shadow: none !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   PATCH v5.2 – Excerpt · Facts row layout · Thumb click fix
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Excerpt ─────────────────────────────────────────────────────────────── */
.im-scope .im-hero-excerpt {
    font-size: 0.93rem !important;
    line-height: 1.65 !important;
    color: var(--im-text, #f0f6fc) !important;
    margin: 4px 0 0 !important;
    padding: 12px 16px !important;
    background: rgba(255,255,255,0.05) !important;
    border-left: 3px solid var(--im-accent, #e94560) !important;
    border-radius: 0 8px 8px 0 !important;
    display: block !important;
    overflow: visible !important;
}

/* ── Facts: even 2-column grid, each fact horizontal in one line ─────────── */
.im-scope .im-hero-facts {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-bottom: 20px !important;
}

/* Single fact: icon · value · label – all in one horizontal line */
.im-scope .im-hero-fact {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 9px 12px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--im-glass-border, rgba(255,255,255,0.1)) !important;
    border-radius: 8px !important;
    cursor: default !important;
    white-space: nowrap !important;
    min-width: 0 !important;
    transition: background 0.18s, border-color 0.18s !important;
    /* reset old flex-direction: column */
    flex-direction: row !important;
}
.im-scope .im-hero-fact:hover {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(var(--im-accent-rgb,233,69,96),0.35) !important;
}

.im-scope .im-hero-fact-icon {
    color: var(--im-accent) !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.im-scope .im-hero-fact-val {
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: var(--im-text, #f0f6fc) !important;
    flex-shrink: 0 !important;
    /* override any 'display:block' from old rules */
    display: inline !important;
}

.im-scope .im-hero-fact-lbl {
    font-size: 0.72rem !important;
    color: var(--im-text-muted, rgba(240,246,252,0.5)) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    /* separator dot */
    display: inline !important;
}
/* dot separator between value and label */
.im-scope .im-hero-fact-lbl::before {
    content: '·' !important;
    margin-right: 5px !important;
    opacity: 0.4 !important;
}

/* If odd number of facts: last item spans full width */
.im-scope .im-hero-fact:last-child:nth-child(odd) {
    grid-column: span 2 !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   PATCH v5.3 – Thumbstrip light · List view · 3-button toggle
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Thumbnail strip: semi-transparent light background ─────────────────── */
.im-scope .im-hero-thumbstrip {
    background: rgba(255,255,255,0.12) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    border-top: 1px solid rgba(255,255,255,0.2) !important;
    padding: 8px 10px 10px !important;
}

.im-scope .im-hero-thumb {
    background: rgba(255,255,255,0.18) !important;
    border: 2px solid rgba(255,255,255,0.25) !important;
    border-radius: 7px !important;
    opacity: 0.75 !important;
    transition: opacity 0.18s, border-color 0.18s, transform 0.18s, box-shadow 0.18s !important;
}
.im-scope .im-hero-thumb:hover {
    opacity: 1 !important;
    border-color: rgba(255,255,255,0.7) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.25) !important;
}
.im-scope .im-hero-thumb.active {
    opacity: 1 !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 0 3px var(--im-accent), 0 4px 14px rgba(0,0,0,0.3) !important;
    transform: translateY(-2px) !important;
}

/* ── 3-button view toggle ────────────────────────────────────────────────── */
.im-scope .im-view-toggle {
    display: flex !important;
    gap: 2px !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: 9px !important;
    padding: 3px !important;
}
.im-scope .im-view-btn {
    width: 34px !important; height: 34px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: transparent !important;
    border: none !important; border-radius: 6px !important;
    color: var(--im-text-muted) !important;
    cursor: pointer !important;
    transition: background 0.16s, color 0.16s !important;
}
.im-scope .im-view-btn:hover {
    background: rgba(255,255,255,0.08) !important;
    color: var(--im-text) !important;
}
.im-scope .im-view-btn.active {
    background: var(--im-accent) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(var(--im-accent-rgb),0.35) !important;
}
.im-scope .im-view-btn:focus-visible {
    outline: 2px solid var(--im-accent) !important; outline-offset: 1px !important;
}

/* ── List view container ─────────────────────────────────────────────────── */
.im-scope .im-list-view {
    flex-direction: column !important;
    gap: 10px !important;
}

/* ── Row item ────────────────────────────────────────────────────────────── */
.im-scope .im-row-item {
    background: var(--im-glass) !important;
    backdrop-filter: blur(var(--im-blur,18px)) saturate(160%) !important;
    -webkit-backdrop-filter: blur(var(--im-blur,18px)) saturate(160%) !important;
    border: 1px solid var(--im-glass-border) !important;
    border-radius: 14px !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 20px rgba(0,0,0,0.4) !important;
    overflow: hidden !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s !important;
}
.im-scope .im-row-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.28) !important;
    border-color: rgba(255,255,255,0.2) !important;
}

.im-scope .im-row-inner {
    display: grid !important;
    grid-template-columns: 220px 1fr auto !important;
    text-decoration: none !important;
    color: inherit !important;
    min-height: 140px !important;
}
@media(max-width:800px) {
    .im-scope .im-row-inner { grid-template-columns: 140px 1fr !important; }
    .im-scope .im-row-price-col { grid-column: 2; border-top: 1px solid var(--im-glass-border) !important; border-left: none !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; padding: 10px 14px !important; }
}
@media(max-width:540px) {
    .im-scope .im-row-inner { grid-template-columns: 110px 1fr !important; }
}

/* Image column */
.im-scope .im-row-img {
    position: relative !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}
.im-scope .im-row-img img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    transition: transform 0.4s !important;
}
.im-scope .im-row-item:hover .im-row-img img { transform: scale(1.04) !important; }

.im-scope .im-row-img-placeholder {
    width: 100% !important; height: 100% !important; min-height: 120px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(255,255,255,0.04) !important; color: rgba(255,255,255,0.2) !important;
}
.im-scope .im-row-status {
    position: absolute !important; top: 10px !important; left: 10px !important;
    font-size: 0.65rem !important; font-weight: 700 !important;
    padding: 3px 9px !important; border-radius: 50px !important;
    text-transform: uppercase !important; letter-spacing: 0.06em !important;
}

/* Body column */
.im-scope .im-row-body {
    padding: 18px 20px !important;
    display: flex !important; flex-direction: column !important;
    gap: 5px !important; min-width: 0 !important;
}
.im-scope .im-row-art {
    font-size: 0.65rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.1em !important;
    color: var(--im-accent) !important;
}
.im-scope .im-row-title {
    font-size: 1rem !important; font-weight: 700 !important;
    color: var(--im-text) !important; line-height: 1.25 !important;
    white-space: nowrap !important; overflow: hidden !important;
    text-overflow: ellipsis !important; margin: 0 !important;
}
.im-scope .im-row-loc {
    display: flex !important; align-items: center !important; gap: 4px !important;
    font-size: 0.78rem !important; color: var(--im-text-muted) !important;
}
.im-scope .im-row-loc svg { color: var(--im-accent) !important; flex-shrink: 0 !important; }

.im-scope .im-row-specs {
    display: flex !important; flex-wrap: wrap !important; gap: 10px !important;
    margin-top: 6px !important;
}
.im-scope .im-row-specs span {
    display: flex !important; align-items: center !important; gap: 4px !important;
    font-size: 0.78rem !important; color: var(--im-text-muted) !important;
}
.im-scope .im-row-specs svg { color: var(--im-accent) !important; flex-shrink: 0 !important; }

/* Price column */
.im-scope .im-row-price-col {
    display: flex !important; flex-direction: column !important;
    align-items: flex-end !important; justify-content: center !important;
    padding: 18px 22px !important;
    border-left: 1px solid var(--im-glass-border) !important;
    gap: 6px !important; flex-shrink: 0 !important; min-width: 170px !important;
}
.im-scope .im-row-price {
    font-family: var(--im-font-heading) !important;
    font-size: 1.2rem !important; font-weight: 800 !important;
    color: var(--im-text) !important; white-space: nowrap !important;
    text-align: right !important;
}
.im-scope .im-row-price-lbl {
    font-size: 0.67rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.1em !important;
    color: var(--im-text-muted) !important;
}
.im-scope .im-row-cta {
    display: inline-flex !important; align-items: center !important;
    font-size: 0.78rem !important; font-weight: 600 !important;
    color: var(--im-accent) !important;
    padding: 6px 14px !important; border-radius: 50px !important;
    border: 1px solid rgba(var(--im-accent-rgb),0.35) !important;
    background: var(--im-accent-soft) !important;
    margin-top: 4px !important; white-space: nowrap !important;
    transition: background 0.18s, border-color 0.18s !important;
}
.im-scope .im-row-item:hover .im-row-cta {
    background: var(--im-accent) !important; color: #fff !important;
    border-color: var(--im-accent) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   VIEW SYSTEM – class-based display control (no inline styles)
   All three views + map are toggled via .im-view-hidden / .im-view-active
   ════════════════════════════════════════════════════════════════════════════ */

/* Default initial state of containers */
.im-scope .im-list-view  { display: none; }
.im-scope .im-map-view   { display: none; }

/* Active = visible. Grid is active by default (no class needed) */
.im-scope .im-list-view.im-view-active  { display: flex; }
.im-scope .im-map-view.im-view-active   { display: block; }

/* Hidden class hides anything with !important so it always wins */
.im-scope .im-view-hidden { display: none !important; }

/* im-hidden still used for pagination */
.im-scope .im-hidden { display: none !important; }

/* Thumbnail swap: smooth CSS transition on main image */
.im-scope #im-gallery-active {
    transition: opacity 0.18s ease;
}

/* ════════════════════════════════════════════════════════════════════
   OFF-CANVAS FILTER  –  works on all screen sizes
   ════════════════════════════════════════════════════════════════════ */

/* Sidebar: always off-canvas, slides in from left
   Matches both: inside .im-scope (initial render) AND teleported to <body> */
.im-scope .im-filter-sidebar,
body > #im-filter-sidebar.im-teleported {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(320px, 90vw) !important;
    height: 100dvh !important;
    z-index: 2147483647 !important;   /* CSS max int – beats any theme header */
    overflow: hidden !important;
    transform: translateX(-100%) !important;
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform !important;
    border-radius: 0 14px 14px 0 !important;
    background: #ffffff !important;
    color: #1e293b !important;
    display: flex !important;
    flex-direction: column !important;
}
.im-scope .im-filter-sidebar.im-open,
body > #im-filter-sidebar.im-teleported.im-open {
    transform: translateX(0) !important;
    box-shadow: 8px 0 60px rgba(0,0,0,0.55) !important;
}

/* Backdrop – same dual-selector approach */
.im-scope .im-filter-backdrop,
body > #im-filter-backdrop.im-teleported {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,0) !important;
    z-index: 2147483646 !important;
    pointer-events: none !important;
    transition: background 0.32s ease !important;
}
.im-scope .im-filter-backdrop.im-open,
body > #im-filter-backdrop.im-teleported.im-open {
    background: rgba(0,0,0,0.55) !important;
    pointer-events: auto !important;
}

/* Results area: always full width */
.im-scope .im-listing-wrap { display: block !important; }
.im-scope .im-results-area { width: 100% !important; }

/* Property grid: exactly 3 columns desktop */
.im-scope .im-property-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 900px) {
    .im-scope .im-property-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
    .im-scope .im-property-grid { grid-template-columns: 1fr !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   HERO INFO PANEL  –  rechte Spalte der Detailseite
   ═══════════════════════════════════════════════════════════════════ */

.im-scope .im-hero-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 32px 36px !important;
    overflow-y: auto !important;
    background: var(--im-bg, #0d1117) !important;
}

.im-scope .im-hero-art-tag {
    display: inline-block !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    background: var(--im-accent-soft, rgba(233,69,96,0.12)) !important;
    border: 1px solid rgba(var(--im-accent-rgb,233,69,96),0.3) !important;
    color: var(--im-accent, #e94560) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    width: fit-content !important;
}

.im-scope .im-hero-title {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 800 !important;
    font-family: var(--im-font-heading, 'Playfair Display', Georgia, serif) !important;
    color: var(--im-text, #f0f6fc) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.im-scope .im-hero-address {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 0.82rem !important;
    color: var(--im-text-muted, rgba(240,246,252,0.55)) !important;
    font-style: normal !important;
}

.im-scope .im-hero-excerpt {
    font-size: 0.93rem !important;
    color: var(--im-text, #f0f6fc) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    background: rgba(255,255,255,0.05) !important;
    border-left: 3px solid var(--im-accent, #e94560) !important;
    border-radius: 0 8px 8px 0 !important;
    display: block !important;
    overflow: visible !important;
}

.im-scope .im-hero-divider {
    height: 1px !important;
    background: rgba(255,255,255,0.06) !important;
    margin: 0 !important;
}

.im-scope .im-hero-cta {
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: auto !important;
    padding-top: 8px !important;
}

.im-scope .im-hero-avail {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 0.78rem !important;
    color: var(--im-text-muted, rgba(240,246,252,0.55)) !important;
    margin: 0 !important;
    margin-right: auto !important;
}

@media (max-width:900px) {
    .im-scope .im-hero-info {
        padding: 24px 20px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   GALLERY DETAIL PAGE  –  echter horizontaler Slider
   ═══════════════════════════════════════════════════════════════════ */

/* Hero-split: 2-column grid */
.im-scope .im-hero-split {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    min-height: 72vh !important;
    max-height: 90vh !important;
    overflow: hidden !important;
}
@media (max-width:900px) {
    .im-scope .im-hero-split {
        grid-template-columns: 1fr !important;
        max-height: none !important;
    }
}

/* Left gallery column: stage + thumbstrip stacked */
.im-scope .im-hero-gallery {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #0a0c12 !important;
    position: relative !important;
}

/* ── Slider stage: viewport window ── */
.im-scope .im-gal-stage {
    position: relative !important;
    flex: 1 1 0% !important;
    min-height: 300px !important;
    overflow: hidden !important;          /* clips the strip */
    background: #0a0c12 !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    touch-action: pan-y !important;
}
.im-scope .im-gal-stage.im-gal-dragging { cursor: grabbing !important; }

/* ── Slide strip: all images side by side ── */
.im-scope .im-gal-strip {
    display: flex !important;
    flex-direction: row !important;
    height: 100% !important;
    will-change: transform !important;
    /* transition set by JS (removed during drag, added on snap) */
}

/* ── Individual slide ── */
.im-scope .im-gal-slide {
    flex-shrink: 0 !important;
    width: 100% !important;            /* JS sets strip position in px */
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}
.im-scope .im-gal-slide img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    pointer-events: none !important;
    -webkit-user-drag: none !important;
    user-drag: none !important;
}

/* ── Thumbnail strip: horizontal scroll, light background ── */
.im-scope .im-gal-thumbstrip {
    display: flex !important;
    flex-direction: row !important;
    flex-shrink: 0 !important;
    gap: 6px !important;
    padding: 10px 10px !important;
    background: #f1f5f9 !important;
    border-top: 1px solid #e2e8f0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    height: 92px !important;
    align-items: center !important;
    scrollbar-width: thin !important;
    scrollbar-color: #cbd5e1 transparent !important;
    scroll-behavior: smooth !important;
}
.im-scope .im-gal-thumbstrip::-webkit-scrollbar {
    height: 4px !important;
}
.im-scope .im-gal-thumbstrip::-webkit-scrollbar-track {
    background: transparent !important;
}
.im-scope .im-gal-thumbstrip::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
}

/* ── Thumbnail button ── */
.im-scope .im-gal-thumb {
    flex-shrink: 0 !important;
    width: 100px !important;
    height: 68px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 7px !important;
    border: 2.5px solid transparent !important;
    cursor: pointer !important;
    background: #e2e8f0 !important;
    padding: 0 !important;
    transition: border-color 0.18s, box-shadow 0.18s, transform 0.15s !important;
}
.im-scope .im-gal-thumb:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18) !important;
}
.im-scope .im-gal-thumb img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    pointer-events: none !important;
    opacity: 0.75 !important;
    transition: opacity 0.18s !important;
}
.im-scope .im-gal-thumb:hover img { opacity: 1 !important; }
.im-scope .im-gal-thumb.active img { opacity: 1 !important; }
.im-scope .im-gal-thumb.active {
    border-color: var(--im-accent, #3b82f6) !important;
    box-shadow: 0 0 0 1px var(--im-accent, #3b82f6), 0 4px 12px rgba(0,0,0,0.18) !important;
    transform: translateY(-2px) !important;
}

/* ── Stage overlays: arrows ── */
.im-scope .im-gal-stage .im-gal-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important; height: 42px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    color: #fff !important; cursor: pointer !important;
    z-index: 5 !important; opacity: 0 !important;
    transition: opacity 0.2s, background 0.2s, transform 0.2s !important;
}
.im-scope .im-gal-stage:hover .im-gal-arrow { opacity: 1 !important; }
.im-scope .im-gal-prev { left: 14px !important; }
.im-scope .im-gal-next { right: 14px !important; }
.im-scope .im-gal-stage .im-gal-arrow:hover {
    background: var(--im-accent, #3b82f6) !important;
    border-color: transparent !important;
    transform: translateY(-50%) scale(1.1) !important;
}

/* ── Counter ── */
.im-scope .im-gal-counter {
    position: absolute !important;
    bottom: 14px !important; left: 14px !important;
    background: rgba(0,0,0,0.65) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 50px !important;
    padding: 3px 12px !important;
    font-size: 11.5px !important; font-weight: 700 !important;
    color: #fff !important; pointer-events: none !important;
    z-index: 5 !important; letter-spacing: 0.04em !important;
}

/* ── Fullscreen button ── */
.im-scope .im-gal-stage .im-gal-fullscreen {
    position: absolute !important;
    top: 12px !important; right: 12px !important;
    width: 36px !important; height: 36px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 8px !important;
    color: #fff !important; cursor: pointer !important;
    z-index: 5 !important; opacity: 0 !important;
    transition: opacity 0.2s, background 0.2s !important;
}
.im-scope .im-gal-stage:hover .im-gal-fullscreen { opacity: 1 !important; }
.im-scope .im-gal-stage .im-gal-fullscreen:hover { background: var(--im-accent, #3b82f6) !important; }

/* ── Dot indicators (mobile) ── */
@media (max-width: 640px) {
    .im-scope .im-gal-thumbstrip {
        height: 78px !important;
    }
    .im-scope .im-gal-thumb {
        width: 80px !important;
        height: 56px !important;
    }
    .im-scope .im-gal-arrow { opacity: 0.85 !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   FILTER TOGGLE BUTTON  –  always visible, always clickable
   ═══════════════════════════════════════════════════════════════════ */
.im-scope .im-filter-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 9px 16px !important;
    border-radius: 9px !important;
    border: 1.5px solid #3b82f6 !important;
    background: #3b82f6 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s !important;
    white-space: nowrap !important;
    position: relative !important;
    z-index: 1 !important;
    box-shadow: 0 2px 8px rgba(59,130,246,0.4) !important;
    line-height: 1.4 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}
.im-scope .im-filter-toggle-btn:hover {
    background: #2563eb !important;
    border-color: #2563eb !important;
    box-shadow: 0 4px 14px rgba(59,130,246,0.5) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   FILTER COUNT BADGES (inside light sidebar)
   ═══════════════════════════════════════════════════════════════════ */
.im-scope .im-fs-pill em.im-fc,
#im-filter-sidebar .im-fs-pill em.im-fc {
    font-style: normal !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    opacity: 0.65 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FRONTEND EDIT BAR  –  Bearbeiten-Leiste auf der Detailseite
   ═══════════════════════════════════════════════════════════════════════════ */
/* Edit-chip: floating overlay button above gallery image */
.im-scope .im-gal-edit-chip {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    background: rgba(13,17,23,0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 50px;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-decoration: none;
    transition: background 0.18s, border-color 0.18s, transform 0.15s;
    white-space: nowrap;
    cursor: pointer;
}
.im-scope .im-gal-edit-chip:hover {
    background: rgba(13,17,23,0.92);
    border-color: rgba(255,255,255,0.28);
    color: #fff;
    transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════════════════════
   MEINE INSERATE  –  [immobilien_meine_inserate]
   ═══════════════════════════════════════════════════════════════════════════ */
.im-scope .im-meine-inserate {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 16px 48px;
    font-family: system-ui, -apple-system, sans-serif;
}
.im-scope .im-mi-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 32px 0 20px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 4px;
}
.im-scope .im-mi-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    letter-spacing: -0.02em;
}
.im-scope .im-mi-new-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 18px;
    background: #111827;
    color: #fff;
    border-radius: 8px;
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.18s;
}
.im-scope .im-mi-new-btn:hover { background: #374151; color: #fff; }

/* Empty state */
.im-scope .im-mi-empty {
    text-align: center;
    padding: 64px 24px;
    color: #9ca3af;
}
.im-scope .im-mi-empty p { margin-top: 16px; font-size: 0.95rem; }

/* List */
.im-scope .im-mi-list {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: #e5e7eb;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.im-scope .im-mi-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    background: #fff;
    transition: background 0.14s;
}
.im-scope .im-mi-row:hover { background: #f9fafb; }

/* Thumbnail */
.im-scope .im-mi-thumb {
    width: 80px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
}
.im-scope .im-mi-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.im-scope .im-mi-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d1d5db;
}

/* Info */
.im-scope .im-mi-info { flex: 1; min-width: 0; }
.im-scope .im-mi-row-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 3px;
}
.im-scope .im-mi-meta {
    display: flex;
    gap: 10px;
    font-size: 0.76rem;
    color: #6b7280;
    margin-bottom: 3px;
}
.im-scope .im-mi-price {
    font-size: 0.82rem;
    font-weight: 700;
    color: #111827;
}

/* Actions */
.im-scope .im-mi-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.im-scope .im-mi-status {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    white-space: nowrap;
}
.im-scope .im-mi-btn {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1.5px solid #e5e7eb;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    text-decoration: none;
    transition: all 0.15s;
    flex-shrink: 0;
}
.im-scope .im-mi-btn:hover { border-color: #111827; color: #111827; background: #f9fafb; }
.im-scope .im-mi-btn-edit:hover { background: #111827; border-color: #111827; color: #fff; }

/* Removed gallery thumb indicator */
.im-scope .im-gallery-thumb.im-thumb-removed {
    outline: 2px dashed #dc2626;
    outline-offset: -2px;
}
.im-scope .im-gallery-thumb.im-thumb-removed::after {
    content: 'Wird entfernt';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: rgba(220,38,38,0.75);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    text-align: center;
    padding: 3px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

@media (max-width: 520px) {
    .im-scope .im-mi-meta { display: none; }
    .im-scope .im-mi-thumb { width: 56px; height: 40px; }
    .im-scope .im-mi-status { display: none; }
}
