/* ════════════════════════════════════════════════
   FF IMMO SYNC – Frontend CSS  v2.0
════════════════════════════════════════════════ */

/* ── Filter ── */
.immo-filter-wrap{width:90%;max-width:1240px;margin:0 auto 32px}
.immo-filter-toggle{display:none}
.immo-filter{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:24px;background:#fff;border-radius:18px;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.immo-filter__group{display:flex;flex-direction:column;gap:6px;flex:1 1 160px;min-width:140px}
.immo-filter__group--range{flex:2 1 240px}
.immo-filter__label{font-size:11px;font-weight:600;color:#a0a7b0;text-transform:uppercase;letter-spacing:.05em}
.immo-filter__select{appearance:none;-webkit-appearance:none;background:#f7f7f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid rgba(0,0,0,.10);border-radius:10px;padding:10px 36px 10px 14px;font-size:14px;color:#1a1a1a;cursor:pointer;transition:border-color .2s;width:100%;height:42px}
.immo-filter__select:focus{outline:none;border-color:var(--ffis-accent,#d8ff00)}
.immo-filter__range-values{display:flex;justify-content:space-between;font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:4px}
.immo-filter__range-wrap{position:relative;height:20px;display:flex;align-items:center}
.immo-filter__range{position:absolute;width:100%;height:4px;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;outline:none}
.immo-filter__range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--ffis-accent,#d8ff00);border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.18);cursor:pointer;pointer-events:all;transition:transform .15s}
.immo-filter__range::-webkit-slider-thumb:hover{transform:scale(1.15)}
.immo-filter__range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ffis-accent,#d8ff00);border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.18);cursor:pointer;pointer-events:all}
.immo-filter__track{position:absolute;width:100%;height:4px;border-radius:2px;background:#ebebeb;z-index:0}
.immo-filter__track-fill{position:absolute;height:4px;border-radius:2px;background:var(--ffis-accent,#d8ff00);z-index:1}
.immo-filter__reset{padding:0 20px;border-radius:10px;border:1px solid rgba(0,0,0,.10);background:transparent;font-size:14px;color:#888;cursor:pointer;transition:all .2s;white-space:nowrap;align-self:flex-end;height:42px}
.immo-filter__reset:hover{border-color:var(--ffis-accent,#d8ff00);color:#1a1a1a}
.immo-filter__count{font-size:13px;color:#a0a7b0;align-self:flex-end;padding-bottom:11px;white-space:nowrap}
.immo-filter__count span{font-weight:600;color:#1a1a1a}

/* ── Grid ── */
.immoprojekte-grid-wrap{width:90%;max-width:1240px;margin:0 auto;padding-bottom:48px}
.immoprojekte-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:8px;margin:-8px}
.immo-no-results{grid-column:1/-1;text-align:center;padding:60px 20px;color:#a0a7b0;font-size:16px}

/* ── Card ── */
.immoprojekte-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.06);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}
.immoprojekte-card:hover{transform:scale(1.02);box-shadow:0 24px 56px rgba(0,0,0,.14),0 6px 18px rgba(0,0,0,.08)}
.immoprojekte-card.immo-hidden{display:none}
.immoprojekte-card__media{position:relative;overflow:hidden;flex-shrink:0}
.immoprojekte-card__image{width:100%;height:255px;object-fit:cover;display:block;transition:transform .45s ease}
.immoprojekte-card:hover .immoprojekte-card__image{transform:scale(1.04)}
.immoprojekte-card__placeholder{width:100%;height:255px;display:block;background:#f0f0f0}
.immoprojekte-card__badge{position:absolute;top:14px;left:14px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);border-radius:40px;padding:14px 7px;line-height:1}
.immoprojekte-card__badge--neu{background:var(--ffis-accent,#d8ff00);color:var(--ffis-accent-text,#1a1a1a)}
.immoprojekte-card__badge--reserviert{background:#ffd966;color:#1a1a1a}
.immoprojekte-card__badge--verkauft{background:#1a1a1a;color:#fff}
.immoprojekte-card__badge--vermietet{background:#4f8f8f;color:#fff}
.immoprojekte-card__content{display:flex;flex-direction:column;flex:1 1 auto;padding:22px 24px 24px;background:#fff}
.immoprojekte-card__title{margin:0 0 12px;font-size:18px;line-height:1.25;font-weight:500;color:#111;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.immoprojekte-card__location{display:flex;align-items:center;gap:8px;margin-bottom:20px;color:#8f959d;font-size:14px}
.immoprojekte-card__location svg{width:16px;height:16px;flex-shrink:0;stroke:var(--ffis-accent,#d8ff00)}
.immoprojekte-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin-bottom:18px}
.immoprojekte-card__fact-label{display:block;font-size:11px;color:#a0a7b0;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.immoprojekte-card__fact-value{display:block;font-size:15px;font-weight:500;color:#1a1a1a}
.immoprojekte-card__spacer{flex:1 1 auto}
.immoprojekte-card__divider{height:1px;width:100%;background:#ebebeb;margin:0 0 18px;display:block;flex-shrink:0}
.immoprojekte-card__price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.immoprojekte-card__price-wrap{flex:1 1 auto;min-width:0}
.immoprojekte-card__price-label{display:block;font-size:11px;color:#a0a7b0;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.immoprojekte-card__price{display:block;font-size:22px;font-weight:600;color:#1a1a1a;letter-spacing:-.02em;line-height:1}
.immoprojekte-card__button{width:36px;min-width:36px;height:36px;border-radius:50%;background:var(--ffis-accent,#d8ff00);display:flex;align-items:center;justify-content:center;flex:0 0 36px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.immoprojekte-card:hover .immoprojekte-card__button{transform:scale(1.08)}
.immoprojekte-card__button svg{display:block;width:13px;height:13px;flex-shrink:0}

/* ── Galerie (Shortcode) ── */
.my-acf-gallery-viewer{width:100%}
.my-acf-gallery-main-wrap{margin-bottom:16px}
.my-acf-gallery-main-link{display:block;text-decoration:none;cursor:zoom-in}
.my-acf-gallery-main-image{width:100%;height:520px;object-fit:cover;display:block;border-radius:9px}
.my-acf-gallery-thumbs{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.my-acf-gallery-thumb{border:0;background:transparent;padding:0;cursor:pointer;flex:0 0 auto;width:110px;border-radius:6px;overflow:hidden;opacity:.7;transition:all .2s}
.my-acf-gallery-thumb.is-active{opacity:1;transform:translateY(-2px)}
.my-acf-gallery-thumb img{display:block;width:110px;height:80px;object-fit:cover;border-radius:6px}

/* ── Details-Tabelle (Shortcode) ── */
.my-project-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.my-project-details__item{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.my-project-details__label{font-size:14px;color:#666;margin-bottom:4px}
.my-project-details__value{font-size:18px;font-weight:600;color:#111}

/* ── Tabs (Shortcode) ── */
.ffis-tabs__nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:2px solid #ebebeb;padding-bottom:0;margin-bottom:20px}
.ffis-tabs__btn{background:none;border:none;padding:10px 18px;font-size:14px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}
.ffis-tabs__btn--active,.ffis-tabs__btn:hover{color:#1a1a1a;border-bottom-color:var(--ffis-accent,#d8ff00)}
.ffis-tabs__panel{display:none;font-size:15px;line-height:1.8;color:#333}
.ffis-tabs__panel--active{display:block}

/* ── Energie (Shortcode) ── */
.ffis-energie{background:#f8f8f8;border-radius:12px;padding:20px}
.ffis-energie__title{margin:0 0 14px;font-size:16px;font-weight:600;color:#1a1a1a}
.ffis-energie__table{width:100%;border-collapse:collapse;font-size:14px}
.ffis-energie__table th{text-align:left;font-weight:500;color:#666;padding:8px 16px 8px 0;white-space:nowrap;width:45%}
.ffis-energie__table td{color:#1a1a1a;font-weight:500;padding:8px 0}
.ffis-energie__table tr:not(:last-child) th,.ffis-energie__table tr:not(:last-child) td{border-bottom:1px solid rgba(0,0,0,.06)}

/* ── Kontakt (Shortcode) ── */
.ffis-kontakt{display:flex;flex-direction:column;gap:10px;background:#f8f8f8;border-radius:12px;padding:20px}
.ffis-kontakt__name{font-size:18px;font-weight:600;color:#1a1a1a}
.ffis-kontakt__role{font-size:13px;color:#888}
.ffis-kontakt__link{display:flex;align-items:center;gap:10px;font-size:14px;color:#1a1a1a;text-decoration:none}
.ffis-kontakt__link svg{width:18px;height:18px;flex-shrink:0;stroke:var(--ffis-accent,#d8ff00)}
.ffis-kontakt__link:hover{text-decoration:underline}

/* ══════════════════════════════════════
   EXPOSÉ — Detailseite
══════════════════════════════════════ */
.ffis-expose{width:90%;max-width:1240px;margin:0 auto;padding:32px 0 80px}

/* Zurück */
.ffis-expose__back{margin-bottom:28px}
.ffis-expose__back a{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#888;text-decoration:none;transition:color .2s}
.ffis-expose__back a svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0}
.ffis-expose__back a:hover{color:#1a1a1a}

/* Galerie-Grid */
.ffis-expose__gallery{margin-bottom:40px;position:relative}
.ffis-expose__gallery-grid{display:grid;grid-template-columns:2fr 1fr;gap:8px;border-radius:16px;overflow:hidden;height:480px}
.ffis-expose__gallery-stack{display:grid;grid-template-rows:1fr 1fr;gap:8px}
.ffis-expose__gallery-cell{position:relative;overflow:hidden;border:0;padding:0;background:#f0f0f0;cursor:pointer;display:block;width:100%;height:100%}
.ffis-expose__gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.ffis-expose__gallery-cell:hover .ffis-expose__gallery-img{transform:scale(1.04)}
.ffis-expose__gallery-cell--more .ffis-expose__gallery-img{filter:brightness(.42)}
.ffis-expose__gallery-more{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:600;gap:8px;pointer-events:none}
.ffis-expose__gallery-more svg{width:28px;height:28px;stroke:#fff}
.ffis-expose__gallery-all{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:0;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;color:#1a1a1a;cursor:pointer;transition:background .2s;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.ffis-expose__gallery-all:hover{background:#fff}
.ffis-expose__gallery-all svg{width:16px;height:16px;stroke:currentColor}

/* Lightbox */
.ffis-lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.ffis-lb.is-open{opacity:1;visibility:visible}
.ffis-lb__inner{position:relative;width:100%;max-width:1400px;padding:24px;display:flex;align-items:center;justify-content:center}
.ffis-lb__stage{display:flex;align-items:center;justify-content:center;min-height:60vh}
.ffis-lb__img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;display:block}
.ffis-lb__close{position:absolute;top:-8px;right:8px;width:44px;height:44px;background:#fff;border:0;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;color:#1a1a1a;display:flex;align-items:center;justify-content:center;z-index:3}
.ffis-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;background:rgba(255,255,255,.9);border:0;border-radius:50%;font-size:32px;line-height:1;cursor:pointer;color:#1a1a1a;display:flex;align-items:center;justify-content:center;z-index:3}
.ffis-lb__prev{left:16px}
.ffis-lb__next{right:16px}
.ffis-lb__counter{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;background:rgba(0,0,0,.4);padding:4px 12px;border-radius:99px}

/* Header */
.ffis-expose__header{margin-bottom:24px}
.ffis-expose__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ffis-expose__badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:99px;padding:5px 14px;border:1.5px solid currentColor}
.ffis-expose__badge--art{color:#888;border-color:#ddd;background:#f7f7f7}
.ffis-expose__badge--kauf{color:#1a6e3c;border-color:#b3dfc5;background:#f0faf4}
.ffis-expose__badge--miete{color:#1a4e8e;border-color:#b3cff0;background:#f0f5fc}
.ffis-expose__badge--reserviert{color:#7a5a00;border-color:#f0d070;background:#fffce8}
.ffis-expose__badge--verkauft{color:#fff;border-color:#1a1a1a;background:#1a1a1a}
.ffis-expose__badge--vermietet{color:#fff;border-color:#4f8f8f;background:#4f8f8f}
.ffis-expose__title{font-size:32px;font-weight:700;color:#1a1a1a;letter-spacing:-.02em;margin:0 0 12px;line-height:1.2}
.ffis-expose__location{display:flex;align-items:center;gap:8px;font-size:15px;color:#888}
.ffis-expose__location svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0}

/* Kennzahlen-Leiste */
.ffis-expose__keyfacts{display:flex;flex-wrap:wrap;gap:0;background:#1a1a1a;border-radius:16px;padding:28px 32px;margin-bottom:40px}
.ffis-expose__kf{display:flex;flex-direction:column;align-items:flex-start;padding:0 40px 0 0;position:relative}
.ffis-expose__kf+.ffis-expose__kf::before{content:'';position:absolute;left:0;top:10%;height:80%;width:1px;background:rgba(255,255,255,.15)}
.ffis-expose__kf-icon{width:20px;height:20px;stroke:rgba(255,255,255,.4);margin-bottom:8px}
.ffis-expose__kf--price .ffis-expose__kf-icon{stroke:var(--ffis-accent,#d8ff00);opacity:.8}
.ffis-expose__kf-value{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1;margin-bottom:6px}
.ffis-expose__kf--price .ffis-expose__kf-value{color:var(--ffis-accent,#d8ff00);font-size:28px}
.ffis-expose__kf-label{font-size:12px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.05em}

/* Body 2-col */
.ffis-expose__body{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.ffis-expose__main{display:flex;flex-direction:column;gap:40px}
.ffis-expose__sidebar{position:sticky;top:140px}
.ffis-expose__section-title{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a0a7b0;margin-bottom:18px}

/* Details-Tabelle */
.ffis-expose__details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.ffis-expose__detail-row{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.ffis-expose__detail-row:nth-child(odd){padding-right:24px;border-right:1px solid rgba(0,0,0,.07)}
.ffis-expose__detail-label{font-size:12px;color:#a0a7b0;margin-bottom:4px}
.ffis-expose__detail-value{font-size:15px;font-weight:600;color:#1a1a1a}

/* Tabs (Exposé) */
.ffis-expose__tab-nav{display:flex;gap:0;border-bottom:2px solid #ebebeb;margin-bottom:20px}
.ffis-expose__tab-btn{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:12px 20px;font-size:14px;font-weight:500;color:#888;cursor:pointer;transition:color .2s,border-color .2s}
.ffis-expose__tab-btn:hover,.ffis-expose__tab-btn.is-active{color:#1a1a1a;border-bottom-color:var(--ffis-accent,#d8ff00)}
.ffis-expose__tab-panel{display:none;font-size:15px;line-height:1.8;color:#444}
.ffis-expose__tab-panel.is-active{display:block}

/* Grundrisse */
.ffis-expose__grundrisse-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.ffis-expose__grundrisse-grid a{display:block}
.ffis-expose__grundrisse-grid img{max-width:300px;border-radius:10px;border:1px solid #eee;display:block}

/* Energie */
.ffis-expose__energie-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:#f8f8f8;border-radius:12px;padding:20px}
.ffis-expose__energie-item{display:flex;flex-direction:column;gap:4px}
.ffis-expose__energie-label{font-size:12px;color:#a0a7b0;text-transform:uppercase;letter-spacing:.05em}
.ffis-expose__energie-value{font-size:15px;font-weight:600;color:#1a1a1a}
.ffis-expose__effizienz{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:18px;font-weight:700;color:#fff;background:#4caf50}
[data-class="A+"]{background:#1b5e20}[data-class="A"]{background:#388e3c}[data-class="B"]{background:#66bb6a}
[data-class="C"]{background:#aed581;color:#1a1a1a}[data-class="D"]{background:#ffee58;color:#1a1a1a}
[data-class="E"]{background:#ffb300;color:#1a1a1a}[data-class="F"]{background:#f57c00}
[data-class="G"]{background:#e64a19}[data-class="H"]{background:#b71c1c}

/* Kontakt-Sidebar */
.ffis-expose__contact{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.ffis-expose__contact-avatar{width:80px;height:80px;border-radius:50%;background:var(--ffis-accent,#d8ff00);color:var(--ffis-accent-text,#1a1a1a);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;margin-bottom:16px;overflow:hidden;flex-shrink:0}
.ffis-expose__contact-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ffis-expose__contact-name{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:4px}
.ffis-expose__contact-role{font-size:13px;color:#a0a7b0}
.ffis-expose__contact-company{font-size:12px;color:#c0c0c0;margin-top:2px;margin-bottom:0}
.ffis-expose__contact-divider{width:100%;height:1px;background:#ebebeb;margin:20px 0}
.ffis-expose__contact-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 20px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:opacity .2s,transform .2s;margin-bottom:10px}
.ffis-expose__contact-btn:last-of-type{margin-bottom:0}
.ffis-expose__contact-btn:hover{opacity:.88;transform:translateY(-1px)}
.ffis-expose__contact-btn svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0}
.ffis-expose__contact-btn--phone{background:var(--ffis-accent,#d8ff00);color:var(--ffis-accent-text,#1a1a1a)}
.ffis-expose__contact-btn--email{background:#f4f4f4;color:#1a1a1a}
.ffis-expose__contact-expose{display:block;margin-top:12px;font-size:13px;color:#aaa;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ddd;cursor:pointer;transition:color .2s}
.ffis-expose__contact-expose:hover{color:#1a1a1a;text-decoration-color:#999}
.ffis-expose__contact-obj{margin-top:16px;font-size:12px;color:#bbb}

/* ── Responsive ── */
@media(max-width:1400px){.immoprojekte-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.ffis-expose__body{grid-template-columns:1fr}.ffis-expose__sidebar{position:static}}
@media(max-width:900px){.immo-filter{gap:12px;padding:18px}.ffis-expose__keyfacts{padding:20px 24px;gap:20px}.ffis-expose__kf{padding-right:24px}.ffis-expose__gallery-grid{height:360px}}
@media(max-width:767px){
  .immo-filter-wrap,.immoprojekte-grid-wrap{width:90%}
  .immo-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 18px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.05);cursor:pointer;font-size:14px;font-weight:500;color:#1a1a1a;margin-bottom:0;-webkit-tap-highlight-color:transparent;transition:border-radius 0s ease .35s,border-color .2s}
  .immo-filter-toggle--open{border-radius:14px 14px 0 0;border-bottom-color:transparent;box-shadow:none;transition:none}
  .immo-filter-toggle__left{display:flex;align-items:center;gap:10px}
  .immo-filter-toggle__icon{width:32px;height:32px;border-radius:50%;background:var(--ffis-accent,#d8ff00);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .immo-filter-toggle__icon svg{width:14px;height:14px}
  .immo-filter-toggle__count{font-size:12px;color:#a0a7b0;margin-left:4px}
  .immo-filter-toggle__arrow{width:20px;height:20px;flex-shrink:0;transition:transform .3s}
  .immo-filter-toggle--open .immo-filter-toggle__arrow{transform:rotate(180deg)}
  .immo-filter{flex-direction:column;border-radius:0 0 14px 14px;border-top:none;max-height:0;overflow:hidden;padding:0 18px;opacity:0;box-shadow:none;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s,padding .35s}
  .immo-filter.immo-filter--open{max-height:900px;opacity:1;padding:18px;box-shadow:0 6px 16px rgba(0,0,0,.08)}
  .immo-filter__group,.immo-filter__group--range{flex:1 1 auto;width:100%}
  .immoprojekte-grid{grid-template-columns:1fr;gap:16px}
  .immoprojekte-card__image,.immoprojekte-card__placeholder{height:200px!important}
  .immoprojekte-card__content{padding:16px 18px 18px}
  .immoprojekte-card__title{font-size:16px;margin-bottom:8px}
  .immoprojekte-card__location{margin-bottom:12px;font-size:13px}
  .immoprojekte-card__price{font-size:19px}
  .immoprojekte-card__facts{gap:10px 16px;margin-bottom:14px}
  .immoprojekte-card__fact--zimmer,.immoprojekte-card__fact--schlafzimmer{display:none!important}
  .immoprojekte-card__spacer{display:none}
  .my-project-details{grid-template-columns:1fr}
  .ffis-tabs__nav{gap:4px}
  .ffis-tabs__btn{padding:8px 12px;font-size:13px}
  .my-acf-gallery-main-image{height:300px}
}
@media(max-width:640px){
  .ffis-expose{padding:20px 0 48px}
  .ffis-expose__title{font-size:24px}
  .ffis-expose__keyfacts{flex-direction:column;padding:20px}
  .ffis-expose__kf+.ffis-expose__kf::before{display:none}
  .ffis-expose__kf{padding-right:0;padding-bottom:16px}
  .ffis-expose__gallery-grid{grid-template-columns:1fr;height:auto}
  .ffis-expose__gallery-cell--main{height:260px}
  .ffis-expose__gallery-stack{display:none}
  .ffis-expose__details-grid{grid-template-columns:1fr}
  .ffis-expose__detail-row:nth-child(odd){padding-right:0;border-right:none}
  .ffis-expose__energie-rows{grid-template-columns:1fr}
  .ffis-lb__nav{width:40px;height:40px;font-size:26px}
  .ffis-lb__prev{left:8px}
  .ffis-lb__next{right:8px}
}
