/* Gemeinsames Stylesheet amred.de – Basis: SL66-Seite (Sept. 2026) */
:root{
  --bg:#FFFFFF; --surface:#F3EEE6; --head:#DFD1BE; --line:#B8AEA1;
  --text:#575553; --ink:#2F2D2B; --muted:#7D7872; --red:#9F1404; --on-red:#FFFFFF;
  --tbd-bg:#FBF1D9; --tbd-fg:#7A5A00; --sky1:#E9EEF1; --sky2:#F7F5F1;
  --sans:Aptos,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --wrap:1120px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;--bg:#1B1A19;--surface:#24221F;--head:#35302A;--line:#4A443D;
  --text:#CFC9C1;--ink:#EEE9E2;--muted:#9C958C;--red:#D9442F;--on-red:#FFFFFF;--tbd-bg:#3A3120;--tbd-fg:#E8C877;--sky1:#23282C;--sky2:#1B1A19;}}
:root[data-theme="dark"]{
  color-scheme:dark;--bg:#1B1A19;--surface:#24221F;--head:#35302A;--line:#4A443D;
  --text:#CFC9C1;--ink:#EEE9E2;--muted:#9C958C;--red:#D9442F;--on-red:#FFFFFF;--tbd-bg:#3A3120;--tbd-fg:#E8C877;--sky1:#23282C;--sky2:#1B1A19;}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
a{color:var(--red)}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
h1,h2,h3{color:var(--ink);text-wrap:balance;margin:0;font-weight:600;line-height:1.15}
h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:300;letter-spacing:-.01em}
h3{font-size:1.1rem}
p{margin:0;max-width:65ch}
.eyebrow{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.num{font-variant-numeric:tabular-nums}
.tbd{display:inline-block;background:var(--tbd-bg);color:var(--tbd-fg);font:500 .72rem/1.4 var(--mono);padding:1px 7px;border-radius:3px;letter-spacing:.02em;vertical-align:1px}

/* draft bar */
.draft{background:var(--surface);border-bottom:1px solid var(--line);font:500 .75rem/1.4 var(--mono);color:var(--muted)}
.draft .wrap{padding-block:8px;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}

/* nav */
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;gap:24px;padding-block:12px}
.brand{font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.brand span{color:var(--red)}
.links{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;font-size:.9rem}
.links a{color:var(--text);text-decoration:none;white-space:nowrap}
.links a:hover{color:var(--red)}

/* hero */
.hero{position:relative}
.hero img{display:block;width:100%;height:clamp(300px,56vw,620px);object-fit:cover;object-position:center 40%}
.hero-card{background:var(--bg);margin-top:-110px;position:relative;padding:28px 28px 26px;max-width:760px;border-top:4px solid var(--red)}
.hero-card h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:300;letter-spacing:-.02em;margin-top:10px}
.hero-card .sub{margin-top:12px;font-size:1.1rem}
@media (max-width:640px){.hero-card{margin-top:-48px;padding:20px 18px}}

/* facts strip */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px}
.fact{padding:16px 18px;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact b{display:block;font-size:1.55rem;font-weight:300;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}
.fact small{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}
@media (max-width:640px){.fact{border-right:0;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}}

section{padding-block:72px}
section + section{border-top:1px solid var(--line)}
.sec-head{display:grid;gap:10px;margin-bottom:32px}
.two{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr;gap:28px}}
.prose{display:grid;gap:14px}

/* definition list */
dl.kv{display:grid;grid-template-columns:minmax(120px,auto) 1fr;margin:0;border-top:1px solid var(--line)}
dl.kv dt,dl.kv dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0}
dl.kv dt{color:var(--muted);font-size:.92rem;padding-right:18px}
dl.kv dd{color:var(--ink)}

/* figures */
figure{margin:0}
figure img{display:block;width:100%;height:auto}
figcaption{font-size:.82rem;color:var(--muted);margin-top:8px}

/* floors */
.floor-tabs{display:flex;gap:0;border:1px solid var(--line);width:max-content;max-width:100%;overflow-x:auto}
.floor-tabs button{font:500 .85rem/1 var(--sans);background:var(--bg);color:var(--text);border:0;border-right:1px solid var(--line);padding:12px 16px;cursor:pointer;white-space:nowrap}
.floor-tabs button:last-child{border-right:0}
.floor-tabs button[aria-selected="true"]{background:var(--red);color:var(--on-red)}
.floor-tabs button:hover:not([aria-selected="true"]){background:var(--surface)}
.floor{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;margin-top:24px;align-items:start}
@media (max-width:860px){.floor{grid-template-columns:1fr}}
.plan{background:#fff;border:1px solid var(--line);padding:12px}
.plan img{display:block;width:100%;height:auto}
.plan a{font-size:.82rem}
.rooms{font:400 .78rem/1 var(--mono);color:var(--muted);margin-top:4px}
table.areas{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.95rem}
table.areas th{background:var(--head);color:var(--ink);font-weight:600;text-align:left;padding:10px 12px}
table.areas td{padding:10px 12px;border-bottom:1px solid var(--line)}
table.areas td.r,table.areas th.r{text-align:right}
table.areas tr.sum td{font-weight:600;color:var(--ink);background:var(--surface)}
.tablebox{overflow-x:auto;margin-top:36px}
.note{font-size:.85rem;color:var(--muted);margin-top:10px;max-width:80ch}

/* scenarios */
.scen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.scen article{background:var(--bg);padding:22px;display:grid;gap:8px;align-content:start}
.scen .big{font-size:1.5rem;font-weight:300;color:var(--red);font-variant-numeric:tabular-nums}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gallery button{padding:0;border:0;background:none;cursor:zoom-in;display:block;aspect-ratio:4/3;overflow:hidden}
.gallery button img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery button:hover img{transform:scale(1.03)}
.gallery .wide{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:760px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery .wide{aspect-ratio:4/3;grid-row:auto}}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(94vw,1400px)}
dialog.lb::backdrop{background:rgba(20,18,16,.88)}
dialog.lb img{display:block;max-width:100%;max-height:84vh;margin:auto}
dialog.lb p{color:#eee;text-align:center;margin:10px auto 0;font-size:.9rem}
dialog.lb .x{position:absolute;top:-6px;right:0;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}



/* before/after */
.ba-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;margin-top:56px}
@media (max-width:860px){.ba-wrap{grid-template-columns:1fr;gap:24px}}
.ba{position:relative;aspect-ratio:3/4;max-width:520px;width:100%;overflow:hidden;border:1px solid var(--line);user-select:none;justify-self:center}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba .after{clip-path:inset(0 0 0 var(--pos,50%))}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25);transform:translateX(-1px);pointer-events:none}
.ba .handle::after{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);transform:translate(-50%,-50%)}
.ba .tag{position:absolute;top:10px;font:600 .7rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.92);color:#2F2D2B;padding:6px 8px;pointer-events:none}
.ba .tag.l{left:10px}.ba .tag.r{right:10px;background:var(--red);color:#fff}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba input:focus-visible + .handle{outline:2px solid var(--red)}

/* 3d viewer */
.viewer{position:relative;background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 100%);border:1px solid var(--line);aspect-ratio:16/9;min-height:340px;max-height:78vh;width:100%;overflow:hidden;touch-action:none}
.viewer canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.viewer canvas:active{cursor:grabbing}
.viewer .status[hidden]{display:none}
.viewer .status{position:absolute;inset:0;display:grid;place-items:center;font:500 .85rem/1.4 var(--mono);color:var(--muted);pointer-events:none}
.vbar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;pointer-events:none}
.vgroup{display:flex;gap:0;background:var(--bg);border:1px solid var(--line);pointer-events:auto}
.vgroup button{font:500 .8rem/1 var(--sans);background:none;border:0;border-right:1px solid var(--line);color:var(--ink);padding:9px 12px;cursor:pointer;min-width:38px}
.vgroup button:last-child{border-right:0}
.vgroup button:hover{background:var(--surface)}
.vgroup button[aria-pressed="true"]{background:var(--red);color:var(--on-red)}
.vhelp{font-size:.85rem;color:var(--muted);margin-top:10px}
@media (max-width:640px){.viewer{aspect-ratio:4/5;max-height:none}.vgroup button{padding:9px 10px}}

/* 3d */
.tour{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line)}
.tour img{width:100%;height:100%;object-fit:cover;min-height:240px;display:block}
.tour div{padding:28px;display:grid;gap:14px;align-content:center;background:var(--surface)}
@media (max-width:760px){.tour{grid-template-columns:1fr}}
.btn{display:inline-block;background:var(--red);color:var(--on-red);text-decoration:none;padding:12px 18px;font-weight:600;width:max-content;max-width:100%}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--red);border:1px solid var(--red)}

/* equipment */
.equip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px 36px}
.equip div{border-top:2px solid var(--ink);padding-top:12px;display:grid;gap:4px}
.equip h3{font-size:1rem}
.equip p{font-size:.95rem}

/* rent */
#miete{background:var(--surface)}
.rent{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:860px){.rent{grid-template-columns:1fr}}
.rent-hl{border-left:4px solid var(--red);padding-left:20px;display:grid;gap:6px}
.rent-hl b{font-size:clamp(2.4rem,5vw,3.4rem);font-weight:300;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.rent dl.kv dd{text-align:right;font-variant-numeric:tabular-nums}

/* docs */
.docs{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media (max-width:760px){.docs{grid-template-columns:1fr}}
.docs ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.docs li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.docs li span:last-child{font:400 .78rem/1.6 var(--mono);color:var(--muted);white-space:nowrap}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:760px){.contact{grid-template-columns:1fr}}
.copy{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.copy code{font:500 1rem var(--mono);color:var(--ink);user-select:all}
.copy button{font:500 .75rem var(--mono);background:none;border:1px solid var(--line);color:var(--text);padding:4px 8px;cursor:pointer}

footer{border-top:1px solid var(--line);padding-block:28px;font-size:.82rem;color:var(--muted)}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
.legal{background:var(--surface)}
#datenschutz{border-top:1px solid var(--line)}
.legal-text h3{font-size:1rem;margin-top:10px}
.legal-text p{font-size:.95rem}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:60px}
body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* ---- Ergänzungen Portfolio amred.de (Okt. 2026) ---- */
.brand img{display:block;height:26px;width:auto}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand img{filter:brightness(0) invert(.9)}}
:root[data-theme="dark"] .brand img{filter:brightness(0) invert(.9)}
.brand.obj{font-weight:700;color:var(--ink);margin-left:12px;padding-left:12px;border-left:1px solid var(--line)}
.brand-wrap{display:flex;align-items:center;text-decoration:none}
nav.top .acc{margin-left:auto;font-size:.85rem;white-space:nowrap;display:flex;gap:12px;align-items:center}
nav.top .acc a{color:var(--text);text-decoration:none;border:1px solid var(--line);padding:6px 10px}
nav.top .acc a:hover{color:var(--red);border-color:var(--red)}
nav.top .acc .who{color:var(--muted);font:400 .75rem var(--mono);max-width:22ch;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){nav.top .wrap{flex-wrap:wrap;gap:10px 18px}.links{order:3;width:100%}nav.top .acc .who{display:none}}

/* Portfolio-Start */
.intro{padding-block:64px 40px}
.intro h1{font-size:clamp(2rem,4.5vw,3.1rem);font-weight:300;letter-spacing:-.02em;border-top:4px solid var(--red);padding-top:18px;max-width:22ch}
.intro p{margin-top:16px;font-size:1.08rem}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
@media (max-width:760px){.cards{grid-template-columns:1fr}}
.card{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit;border:1px solid var(--line);background:var(--bg)}
.card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.card .body{padding:20px 22px 22px;display:grid;gap:8px;align-content:start;border-top:4px solid var(--red)}
.card h2{font-size:1.4rem;font-weight:400}
.card .meta{display:flex;flex-wrap:wrap;gap:6px 16px;font:400 .82rem/1.4 var(--mono);color:var(--muted);margin-top:4px}
.card .more{color:var(--red);font-weight:600;font-size:.92rem;margin-top:6px}
.card:hover h2{color:var(--red)}
.badge{display:inline-block;font:600 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;background:var(--red);color:var(--on-red);width:max-content}
.badge.stock{background:var(--surface);color:var(--ink);border:1px solid var(--line)}

/* geschützter Bereich */
.locked{border:1px solid var(--line);background:var(--surface);padding:28px;display:grid;gap:12px;justify-items:start}
.locked h3{font-size:1.15rem}
.locked .lock{font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.plans a{display:grid;gap:8px;text-decoration:none;color:var(--ink);font-size:.9rem}
.plans img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border:1px solid var(--line);padding:6px}
.plans a:hover span{color:var(--red)}

/* Login */
.login{min-height:calc(100vh - 140px);display:grid;grid-template-columns:1.2fr 1fr}
.login .pic{background:#2F2D2B center 40%/cover no-repeat}
.login .panel{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(20px,5vw,72px);gap:22px;background:var(--bg)}
.login h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:300;letter-spacing:-.02em;border-top:4px solid var(--red);padding-top:18px}
.login form{display:grid;gap:14px;max-width:380px}
.login label{font-size:.85rem;color:var(--muted);display:grid;gap:6px}
.login input{font:400 1rem var(--sans);padding:12px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.login input:focus{outline:2px solid var(--red);outline-offset:0;border-color:transparent}
.login button{font:600 1rem var(--sans);background:var(--red);color:#fff;border:0;padding:13px 18px;cursor:pointer;justify-self:start}
.login .err{background:#FBEAE7;color:#8A1203;padding:10px 12px;font-size:.9rem;max-width:380px}
.login .small{font-size:.85rem;color:var(--muted);max-width:420px}
@media (max-width:820px){.login{grid-template-columns:1fr}.login .pic{min-height:28vh}}

/* Klickbare Hausansicht (Wohnungen je Etage) */
.haus{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:900px){.haus{grid-template-columns:1fr;gap:24px}}
.haus-foto{position:relative;border:1px solid var(--line);line-height:0}
.haus-foto img{display:block;width:100%;height:auto}
.haus-foto svg{position:absolute;inset:0;width:100%;height:100%}
.haus-foto rect.etage{fill:transparent;stroke:transparent;cursor:pointer;transition:fill .15s}
.haus-foto rect.etage:hover,.haus-foto rect.etage.hover{fill:rgba(255,255,255,.28);stroke:#fff;stroke-width:.4}
.haus-foto rect.etage.aktiv{fill:rgba(159,20,4,.30);stroke:var(--red);stroke-width:.6}
.etage-tag{position:absolute;transform:translateY(-50%);background:rgba(255,255,255,.94);color:#2F2D2B;font:600 .78rem/1 var(--mono);padding:6px 8px;pointer-events:none;letter-spacing:.04em;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.etage-tag.aktiv{background:var(--red);color:#fff}
.etage-unten{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;width:100%;text-align:left;font:400 .92rem/1.4 var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-top:0;padding:14px 16px;cursor:pointer;background-image:repeating-linear-gradient(135deg,transparent 0 10px,rgba(0,0,0,.035) 10px 20px)}
.etage-unten b{font:600 .78rem/1 var(--mono);background:rgba(255,255,255,.94);color:#2F2D2B;padding:6px 8px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.etage-unten small{color:var(--muted);font-size:.8rem}
.etage-unten:hover{background-color:var(--head)}
.etage-unten.aktiv{outline:2px solid var(--red);outline-offset:-2px}
.etage-unten.aktiv b{background:var(--red);color:#fff}
.etagen-liste{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:18px}
.etagen-liste button{display:grid;gap:2px;justify-items:start;font:400 .8rem/1.3 var(--sans);background:var(--bg);color:var(--text);border:0;border-right:1px solid var(--line);padding:10px 12px;cursor:pointer;text-align:left}
.etagen-liste button:last-child{border-right:0}
.etagen-liste button b{font-size:1rem;color:var(--ink)}
.etagen-liste button i{font-style:normal;font:500 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.etagen-liste button i.st-frei,.st-frei{color:#2E7D4F}
.etagen-liste button[aria-selected="true"]{background:var(--red);color:var(--on-red)}
.etagen-liste button[aria-selected="true"] b,.etagen-liste button[aria-selected="true"] i{color:var(--on-red)}
.etagen-liste button:hover:not([aria-selected="true"]){background:var(--surface)}
@media (max-width:480px){.etagen-liste{grid-template-columns:repeat(2,1fr)}.etagen-liste button:nth-child(2){border-right:0}.etagen-liste button:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.etage-panel h3{font-size:1.35rem;font-weight:400;margin-bottom:12px}
.etage-panel .einheit-id{font:400 .75rem var(--mono);color:var(--muted);margin-left:8px}
.etage-panel dl.kv dd{text-align:right;font-variant-numeric:tabular-nums}
.etage-panel dl.kv small{color:var(--muted)}
.etage-hinweis{color:var(--muted);font-size:.92rem}
.nur-admin{background:var(--tbd-bg);color:var(--tbd-fg)!important;padding-left:6px!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .st-frei,:root:not([data-theme="light"]) .etagen-liste button i.st-frei{color:#6CC08B}}

/* 3D-Hausmodell */
.sicht-wahl{display:inline-flex;border:1px solid var(--line);margin-bottom:10px}
.sicht-wahl button{font:500 .82rem/1 var(--sans);background:var(--bg);color:var(--text);border:0;border-right:1px solid var(--line);padding:9px 14px;cursor:pointer}
.sicht-wahl button:last-child{border-right:0}
.sicht-wahl button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.haus3d{position:relative;aspect-ratio:4/3.4;border:1px solid var(--line);background:linear-gradient(180deg,#DCE7EF 0%,#F4F1EA 75%);overflow:hidden;touch-action:none}
.haus3d canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.haus3d .haus3d-status{position:absolute;inset:0;display:grid;place-items:center;font:500 .85rem var(--mono);color:#7D7872;pointer-events:none}
.haus3d.bereit .haus3d-status{display:none}
.haus3d.kein-3d .haus3d-status::after{content:" – Ihr Browser unterstützt keine 3D-Darstellung. Bitte „Foto“ wählen."}
.haus3d-bar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;pointer-events:none}
.haus3d-bar .vgroup{pointer-events:auto}
.etage-tag3d{position:absolute;left:0;top:0;font:600 .74rem/1 var(--mono);letter-spacing:.04em;background:rgba(255,255,255,.95);color:#2F2D2B;border:0;padding:6px 8px;box-shadow:0 1px 3px rgba(0,0,0,.3);cursor:pointer;white-space:nowrap;will-change:transform}
.etage-tag3d.aktiv{background:var(--red);color:#fff}
.haus3d-hilfe{margin:8px 0 0;font-size:.8rem}
@media (max-width:640px){.haus3d{aspect-ratio:4/4.4}.haus3d-bar .vgroup button{padding:8px 9px}}
.etagen-liste-6{grid-template-columns:repeat(6,1fr)}
.etagen-liste-6 button span{font-size:.72rem}
@media (max-width:640px){.etagen-liste-6{grid-template-columns:repeat(3,1fr)}.etagen-liste-6 button{border-bottom:1px solid var(--line)}}
/* SL66: 3D-Modell neben den Mieteinheiten */
.haus-sl66{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px}
.haus-sl66 .viewer{aspect-ratio:4/3.3;min-height:0}
@media (max-width:900px){.haus-sl66{grid-template-columns:1fr}.haus-sl66 .viewer{aspect-ratio:4/4}}
.haus-sl66 .etagen-liste-6{grid-template-columns:repeat(3,1fr)}
.haus-sl66 .etagen-liste-6 button{border-bottom:1px solid var(--line)}
.haus-sl66 .etagen-liste-6 button:nth-child(3n){border-right:0}
.haus-sl66 .etagen-liste-6 button:nth-child(n+4){border-bottom:0}
/* 3D-Modell mit vielen Einheiten (GB) */
.haus-gross{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px}
@media (max-width:900px){.haus-gross{grid-template-columns:1fr}}
.haus-gross .haus3d{aspect-ratio:4/3.2}
.gruppe-titel{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}
.gruppe-titel:first-child{margin-top:0}
.etagen-liste-g{grid-template-columns:repeat(4,1fr);margin-bottom:6px}
.etagen-liste-g button{border-bottom:0}
.haus3d-tip{position:absolute;z-index:3;pointer-events:none;background:rgba(255,255,255,.96);color:#2F2D2B;font:500 .78rem/1.3 var(--sans);padding:6px 9px;box-shadow:0 2px 8px rgba(0,0,0,.25);white-space:nowrap}
.sp-tab td,.sp-tab th{padding:6px 10px;font-size:.85rem}
