/* ImmoXpertGroup – Immobilienübersicht und Exposé-Seiten */
.ixp-hero{padding-bottom:28px}
.ixp-wrap{padding:0 0 40px}
.ixp-filter{display:grid;grid-template-columns:auto 1.4fr 1fr .9fr;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 20px 50px -40px rgba(21,30,43,.45)}
.ixp-filter .seg,.ixp-view{display:flex;background:var(--bg);border-radius:999px;padding:4px}
.ixp-filter .seg button,.ixp-view button{border:0;background:none;padding:10px 18px;border-radius:999px;font:600 15px var(--sans);color:var(--muted);cursor:pointer;transition:.2s}
.ixp-filter .seg button.is-on,.ixp-view button.is-on{background:var(--ink);color:#fff}
.ixp-filter .f-search{position:relative;display:block}
.ixp-filter .f-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.8}
.ixp-filter input,.ixp-filter select{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:999px;background:var(--bg);font:500 15.5px var(--sans);color:var(--ink);padding:0 18px;-webkit-appearance:none;appearance:none}
.ixp-filter input{padding-left:44px}
.ixp-filter select{background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:38px}
.ixp-filter input:focus,.ixp-filter select:focus{outline:none;border-color:var(--accent);background:#fff}
.ixp-bar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 20px;gap:12px}
.ixp-count{margin:0;color:var(--muted)}
.ixp-count b{font:600 26px var(--serif);color:var(--ink);margin-right:4px}
@media(max-width:980px){.ixp-filter{grid-template-columns:1fr 1fr}.ixp-filter .seg,.ixp-filter .f-search{grid-column:1/-1}.ixp-filter .seg button{flex:1}}
@media(max-width:520px){.ixp-filter{grid-template-columns:1fr}}

.ixp-layout{display:grid;grid-template-columns:1fr;gap:24px}
.ixp-layout .ixp-mapbox{display:none}
.ixp-layout[data-view="map"]{grid-template-columns:1.1fr .9fr;align-items:start}
.ixp-layout[data-view="map"] .ixp-mapbox{display:block;position:sticky;top:110px}
.ixp-layout[data-view="map"] .ixp-grid{grid-template-columns:1fr 1fr}
@media(max-width:980px){.ixp-layout[data-view="map"]{grid-template-columns:1fr}.ixp-layout[data-view="map"] .ixp-mapbox{position:static;order:-1}}
.ixp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:1100px){.ixp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ixp-grid,.ixp-layout[data-view="map"] .ixp-grid{grid-template-columns:1fr}}
.ixp-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s,opacity .3s}
.ixp-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -40px rgba(21,30,43,.55);border-color:#CFC7B5}
.ixp-card.is-hl{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.ixp-card .ph{position:relative;aspect-ratio:4/3;background:#E8E2D4;overflow:hidden}
.ixp-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.ixp-card:hover .ph img{transform:scale(1.05)}
.ixp-card .tags{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap}
.ixp-card .tags i,.ixx-title .chips i{font-style:normal;background:rgba(255,255,255,.94);color:var(--ink);font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.ixp-card .tags i.gold,.ixx-title .chips i.gold{background:var(--accent);color:#fff}
.ixp-card .cnt,.ixp-card .tour{position:absolute;bottom:12px;background:rgba(13,22,34,.72);color:#fff;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px)}
.ixp-card .cnt{right:12px}.ixp-card .tour{left:12px}
.ixp-card .b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.ixp-card .loc{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);margin-bottom:8px}
.ixp-card .loc svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.8}
.ixp-card h2{font:600 18.5px/1.38 var(--sans);letter-spacing:0;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ixp-card .facts{list-style:none;padding:0;margin:0 0 16px;display:flex;gap:20px;flex-wrap:wrap}
.ixp-card .facts li{font-size:13px;color:var(--muted);display:flex;flex-direction:column}
.ixp-card .facts b{font-size:16px;color:var(--ink)}
.ixp-card .ft{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ixp-card .lbl{font-size:13.5px;color:var(--muted)}
.ixp-card .price{font:600 23px var(--serif)}
.ixp-card.is-hidden{display:none}
.ixp-card.is-sold .ph img{filter:saturate(.75)}
.ixp-empty{text-align:center;padding:56px 24px;border:1px dashed var(--line);border-radius:16px;background:var(--surface)}
.ixp-empty h2{font-size:30px;margin-bottom:10px}
.ixp-empty p{color:var(--muted);max-width:52ch;margin:0 auto 22px}
.ixp-map{position:relative;height:640px;max-height:calc(100vh - 140px);border-radius:16px;overflow:hidden;background:#E8E2D4;border:1px solid var(--line)}
.ixp-map .consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:6px}
.ixp-map .consent svg{width:34px;height:34px;stroke:var(--accent);fill:none;stroke-width:1.6}
.ixp-map .consent p{max-width:380px;font-size:14.5px;color:var(--muted)}
.ixp-map .leaflet-container{font-family:var(--sans)}
.ixp-pop b{display:block;font-size:14px;line-height:1.35;margin-bottom:4px}
.ixp-pop span{color:var(--accent-d);font-weight:700}
.ixp-pop a{display:inline-block;margin-top:6px;font-weight:700;color:var(--ink)}
.ixp-pin{width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--ink);border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 6px 14px rgba(0,0,0,.3)}
.ixp-pin.on{background:var(--accent)}
.ixp-sold{background:transparent}

/* Exposé-Seite */
.ixx-top{padding:clamp(24px,3vh,44px) 0 0}
.ixx-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px}
.ixx-title .chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.ixx-title .chips i{background:var(--surface);border:1px solid var(--line)}
.ixx-title h1{font-size:clamp(30px,2.6vw + 10px,52px);line-height:1.08;max-width:22ch}
.ixx-title .loc{display:flex;align-items:center;gap:8px;margin:14px 0 0;color:var(--muted);flex-wrap:wrap}
.ixx-title .loc svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.8}
.ixx-title .loc span{margin-left:12px;padding-left:12px;border-left:1px solid var(--line);font-size:14.5px}
.ixx-title .price{text-align:right;flex:none}
.ixx-title .price small{display:block;color:var(--muted);font-size:14px}
.ixx-title .price b{font:600 clamp(28px,2.4vw + 8px,44px)/1.1 var(--serif)}
@media(max-width:760px){.ixx-title{flex-direction:column;align-items:flex-start}.ixx-title .price{text-align:left}}
.ixx-gallery{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:10px;border-radius:16px;overflow:hidden}
.ixx-gallery .g{border:0;padding:0;cursor:zoom-in;background:#E8E2D4;overflow:hidden}
.ixx-gallery .g img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.ixx-gallery .g:hover img{transform:scale(1.04)}
.ixx-gallery .g0{grid-row:1/3}
.ixx-gallery.n1{grid-template-columns:1fr;grid-template-rows:520px}
.ixx-gallery.n2,.ixx-gallery.n3{grid-template-columns:2fr 1fr}
.ixx-gallery.n2 .g1{grid-row:1/3}
.ixx-gallery .all,.ixx-gallery .tourbtn{position:absolute;bottom:16px;border:0;border-radius:999px;padding:11px 18px;font:700 14.5px var(--sans);cursor:pointer;text-decoration:none}
.ixx-gallery .all{right:16px;background:rgba(255,255,255,.95);color:var(--ink)}
.ixx-gallery .tourbtn{left:16px;background:var(--accent);color:#fff}
@media(max-width:900px){.ixx-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 140px}.ixx-gallery .g0{grid-column:1/-1;grid-row:1}.ixx-gallery .g3,.ixx-gallery .g4{display:none}.ixx-gallery.n1{grid-template-rows:300px}}
.ixx-facts{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.ixx-facts li{padding:18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.ixx-facts li:last-child{border-right:0}
.ixx-facts b{font:600 24px var(--serif)}
.ixx-facts span{font-size:13.5px;color:var(--muted)}
.ixx-nav{position:sticky;top:84px;z-index:50;background:rgba(245,242,234,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin-top:30px}
.admin-bar .ixx-nav{top:116px}
.ixx-nav .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.ixx-nav .wrap::-webkit-scrollbar{display:none}
.ixx-nav a{white-space:nowrap;padding:16px 14px;text-decoration:none;font-weight:600;font-size:15px;color:var(--muted);border-bottom:2px solid transparent}
.ixx-nav a:hover,.ixx-nav a.on{color:var(--ink);border-bottom-color:var(--accent)}
@media(max-width:980px){.ixx-nav{top:70px}}
.ixx-main{padding:40px 0 20px}
.ixx-cols{display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:start}
@media(max-width:1060px){.ixx-cols{grid-template-columns:1fr}}
.ixx-sec{padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:150px}
.ixx-sec:first-child{padding-top:0}
.ixx-sec h2{font-size:clamp(26px,1.8vw + 10px,34px);margin-bottom:18px}
.ixx-sec h3{font:700 17px var(--sans);margin:24px 0 10px}
.ixx-text{color:#3E3A33;max-width:72ch}
.ixx-text p{margin:0 0 1em}
.ixx-text ul{padding-left:20px}
.ixx-text h2,.ixx-text h3,.ixx-text h4{font-family:var(--serif);font-size:24px;margin:24px 0 10px}
.ixx-dl{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0}
.ixx-dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.ixx-dl dt{color:var(--muted);font-size:15.5px}
.ixx-dl dd{margin:0;font-weight:600;text-align:right;font-size:15.5px}
@media(max-width:640px){.ixx-dl{grid-template-columns:1fr}}
.ixx-amen{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ixx-amen li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14.5px;background:var(--surface)}
.ixx-sec .ixx-prov{margin-top:22px;padding:18px 20px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 12px 12px 0;display:flex;flex-direction:column;gap:4px;font-size:15.5px}
.ixx-energy{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;margin:6px 0 20px}
.ixx-energy .e{padding:10px 0;text-align:center;color:#fff;font-weight:700;font-size:14px;border-radius:4px;opacity:.45;transition:.3s}
.ixx-energy .e.on{opacity:1;transform:scaleY(1.25);box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.ixx-energy .e0{background:#1E8E3E}.ixx-energy .e1{background:#3BA34A}.ixx-energy .e2{background:#7DBA3C}.ixx-energy .e3{background:#B5CC2E}.ixx-energy .e4{background:#E8D21F;color:var(--ink)}.ixx-energy .e5{background:#F2B41C;color:var(--ink)}.ixx-energy .e6{background:#EE8B23}.ixx-energy .e7{background:#E25D26}.ixx-energy .e8{background:#C92A2A}
.ixx-tour{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#16233A,#0D1622);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--on-navy);gap:10px;text-align:center;padding:20px}
.ixx-tour iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ixx-plans{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ixx-plans a{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;font-weight:600}
.ixx-plans a span{color:var(--accent-d);font-size:14px}
.ixx-plans a:hover{border-color:var(--accent)}
.ixx-map{height:380px}
.ixx-side{position:sticky;top:160px}
@media(max-width:1060px){.ixx-side{position:static}}
.ixx-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 30px 60px -45px rgba(21,30,43,.5);display:flex;flex-direction:column;gap:12px}
.ixx-card small{color:var(--muted)}
.ixx-card .pr{font:600 34px/1 var(--serif);margin-bottom:6px}
.ixx-card .ixg-btn{width:100%}
.ixx-card .ixg-ticks{margin:4px 0 0}
.ixx-card h3{font-size:24px}
.ixx-card .who{display:flex;gap:14px;align-items:flex-start;margin-top:10px;padding-top:18px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.ixx-card .who img{width:64px;height:auto;flex:none}
.ixx-card .who b{display:block;color:var(--ink);font-size:15px}
.ixx-card .who p{margin:0}
.ixx-done{text-align:center;padding:10px 0}
.ixx-done .ixg-check{margin:0 auto 18px}
.ixx-done .ixg-check path{stroke:var(--accent-d)}
#ixm-expose.is-done .ixg-check circle{animation:ixgDraw .8s .2s forwards}
#ixm-expose.is-done .ixg-check path{animation:ixgDraw .45s .9s forwards}
.ixx-done .dl{display:flex;flex-direction:column;gap:8px;margin:18px 0}
.ixx-done .dl a{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700}
.ixx-done .dl a::after{content:"↓";color:#C9A46A}
.ixm .ixf-consent+.ixf-consent{margin-top:0}
.ixx-lb{position:fixed;inset:0;z-index:10000;background:rgba(10,14,20,.94);display:flex;align-items:center;justify-content:center}
.ixx-lb[hidden]{display:none}
.ixx-lb img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px}
.ixx-lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.ixx-lb button:hover{background:rgba(255,255,255,.25)}
.ixx-lb .x{top:18px;right:18px}.ixx-lb .pv{left:18px;top:50%;transform:translateY(-50%)}.ixx-lb .nx{right:18px;top:50%;transform:translateY(-50%)}
.ixx-lb .c{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px}
