/* ============ REDBRICK Deal-Room · CI-Stylesheet ============ */
:root{
  --brick:#A63A2B; --brick-d:#872E22; --brick-l:#D98B7C;
  --dark:#26120D; --black:#141414; --tint:#F7E9E6; --tint2:#FBF4F2;
  --grey:#666; --line:#e6ddda;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1d1d1d;
  background:#fff;line-height:1.55}
body.dark{background:var(--black);color:#fff}
a{color:var(--brick)}
h1,h2,h3{line-height:1.15;font-weight:800}
h2{margin:2.2rem 0 .6rem;font-size:1.35rem}

/* Kopf & Fuß */
.top{background:var(--black);padding:.9rem 5%;border-bottom:3px solid var(--brick);
  display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{height:34px;display:block}
.topnav{display:flex;align-items:center;gap:1.2rem;font-size:.85rem}
.topnav a{color:#e9e2e0;text-decoration:none;font-weight:700}
.topnav a:hover{color:#fff}
.topnav .who{color:#9d9491;font-weight:400}
.topnav .lo{color:var(--brick-l)}
.foot{background:var(--black);color:#b8b0ad;font-size:.8rem;
  padding:1rem 5%;margin-top:3rem}
.foot a{color:#b8b0ad}

/* -------- Landing -------- */
.hero-wrap{display:grid;grid-template-columns:1.2fr .9fr;gap:4rem;
  max-width:1150px;margin:0 auto;padding:4.5rem 5% 3rem;align-items:start}
.kicker{color:var(--brick-l);font-weight:700;letter-spacing:.14em;
  font-size:.78rem;margin:0 0 .8rem}
.hero h1{font-size:2.9rem;margin:.1rem 0 1rem}
.hero .sub{color:#d8d2d0;font-size:1.05rem;max-width:34rem}
.teaser-facts{margin:1.4rem 0;padding:0;list-style:none}
.teaser-facts li{padding:.35rem 0 .35rem 1.4rem;position:relative;color:#eee}
.teaser-facts li::before{content:"";position:absolute;left:0;top:.72rem;
  width:.7rem;height:.45rem;background:var(--brick);border-radius:2px}
.teaser-facts.dark2 li{color:#3a2a26}
.teaser-facts.dark2 li::before{background:var(--brick)}
.note{color:#9d9491;font-size:.85rem;max-width:34rem}

.panel{background:#fff;color:#1d1d1d;border-radius:14px;
  padding:1.6rem 1.8rem 2rem;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.panel.narrow{max-width:420px;margin:0 auto}
.alert{background:var(--tint);border-left:4px solid var(--brick);
  color:var(--brick-d);padding:.6rem .9rem;border-radius:6px;
  margin-bottom:1rem;font-size:.9rem}
.notice{max-width:1100px;margin:1rem auto -1rem;background:#e9f6ec;
  border-left:4px solid #2e8b57;color:#215c39;padding:.6rem .9rem;
  border-radius:6px;font-size:.9rem;width:90%}
.tabs input[type=radio]{display:none}
.tabs label[for]{display:inline-block;padding:.5rem 1rem;cursor:pointer;
  font-weight:700;color:var(--grey);border-bottom:3px solid transparent}
.tabs input#t-reg:checked~label[for=t-reg],
.tabs input#t-log:checked~label[for=t-log]{color:var(--brick-d);
  border-color:var(--brick)}
.tab-reg,.tab-log{display:none;margin-top:1.2rem}
.tabs input#t-reg:checked~.tab-reg{display:block}
.tabs input#t-log:checked~.tab-log{display:block}
form label{display:block;font-size:.85rem;font-weight:600;margin:.9rem 0 0}
form input:not([type=checkbox]),form select,form textarea{width:100%;
  padding:.65rem .8rem;margin-top:.3rem;border:1px solid #cfc6c3;
  border-radius:8px;font:inherit;background:#fff}
form textarea{resize:vertical}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--brick-l)}
label.check,label.chk{display:flex;gap:.6rem;font-weight:400;font-size:.8rem;
  color:#444;align-items:flex-start;margin-top:.9rem}
label.check input,label.chk input{margin-top:.2rem;width:auto}
button{margin-top:1.3rem;padding:.8rem;border:0;cursor:pointer;
  background:var(--brick);color:#fff;font-weight:800;font-size:1rem;
  border-radius:8px;width:100%}
button:hover{background:var(--brick-d)}

/* -------- Portfolio -------- */
.portfolio{max-width:1150px;margin:0 auto;padding:3rem 5% 2rem}
.pf-head h1{font-size:2.2rem;margin:.1rem 0 .6rem}
.pf-sub{color:#c9c2c0;max-width:48rem}
.pf-hint{color:#e9d9d4;background:rgba(166,58,43,.18);border:1px solid var(--brick-d);
  border-radius:8px;padding:.7rem 1rem;font-size:.85rem;max-width:48rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.5rem;margin-top:2rem}
.card{background:#fff;color:#1d1d1d;border-radius:14px;overflow:hidden;
  text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.28);
  transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.card-img{position:relative;aspect-ratio:16/10;background:var(--dark)}
.card-img img{width:100%;height:100%;object-fit:cover;display:block}
.card-img.ph{display:flex;align-items:center;justify-content:center}
.card-img.ph span{color:var(--brick-l);font-weight:800;letter-spacing:.2em;
  font-size:.9rem;opacity:.7}
.badge{position:absolute;top:.7rem;left:.7rem;background:rgba(20,20,20,.85);
  color:#fff;font-size:.68rem;font-weight:700;padding:.25rem .6rem;
  border-radius:20px;text-transform:uppercase;letter-spacing:.06em}
.badge.reserved{background:#b7791f}.badge.sold{background:#555}
.badge.live{background:var(--brick)}
.badge.open{left:auto;right:.7rem;background:#2e8b57}
.card-body{padding:1.1rem 1.2rem 1.3rem;flex:1;display:flex;flex-direction:column}
.c-region{color:var(--brick-d);font-weight:700;font-size:.72rem;
  letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem}
.card-body h3{font-size:1.2rem;margin:0 0 .4rem}
.c-sub{color:#555;font-size:.9rem;margin:0 0 1rem;flex:1}
.c-cta{color:var(--brick);font-weight:800;font-size:.85rem;margin:0}
.empty{color:#c9c2c0}

/* -------- Objekt-Teaser + NDA -------- */
.object{max-width:820px;margin:0 auto;padding:2rem 5%}
.crumb a{text-decoration:none;font-weight:700}
.obj-teaser h1{font-size:2.2rem;margin:.2rem 0 .5rem}
.obj-teaser .sub{color:#444;font-size:1.05rem}
.obj-teaser .region{color:var(--brick-d);font-weight:700}
.nda-box{background:var(--dark);color:#fff;border-radius:14px;
  padding:1.6rem 1.8rem;margin-top:2rem}
.nda-box h2{margin-top:0;color:var(--brick-l)}
.nda-box p{color:#e2dbd9;font-size:.92rem}
.nda-box label.check{color:#e2dbd9}
.nda-box a{color:var(--brick-l)}
.nda-box button{width:auto;padding:.8rem 1.6rem}

/* -------- Exposé -------- */
.expose{max-width:1000px;margin:0 auto;padding:1.2rem 5% 2rem}
.conf{font-size:.78rem;letter-spacing:.08em;color:var(--brick-d);
  font-weight:700;text-transform:uppercase}
.conf a{text-decoration:none}
.e-hero{border-radius:14px;overflow:hidden;background:var(--dark);color:#fff}
.e-hero img{width:100%;display:block;max-height:430px;object-fit:cover}
.e-hero-text{padding:1.6rem 2rem 1.8rem}
.e-hero h1{font-size:2.2rem;margin:.2rem 0 .4rem}
.e-hero .sub{color:#d8d2d0;margin:0}
.price{margin-top:1.1rem;background:var(--brick);display:inline-block;
  padding:.7rem 1.2rem;border-radius:10px;font-size:1.05rem}
.price strong{font-size:1.5rem;margin-left:.3rem}
.price span{display:block;font-size:.8rem;color:#ffe4dd}

.grid.facts{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;margin:1.4rem 0}
.grid.facts.three{grid-template-columns:repeat(3,1fr)}
.grid.facts div{background:var(--dark);color:#fff;border-radius:10px;
  padding:.9rem .6rem;text-align:center;font-size:.75rem}
.grid.facts b{display:block;font-size:1.25rem;margin-bottom:.15rem;color:#fff}

table.szen{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:.92rem}
table.szen th{background:var(--brick);color:#fff;text-align:left;padding:.55rem .7rem}
table.szen td{padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
table.szen tr:nth-child(odd) td{background:var(--tint2)}
table.szen tr.hl td{background:var(--tint);font-weight:700}
.fine{font-size:.78rem;color:var(--grey)}
ol.hi{padding-left:1.2rem}
ol.hi li{margin:.45rem 0}
.proc{background:var(--tint2);border-radius:10px;padding:.9rem 1.1rem;font-weight:600}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}
.gallery img{width:100%;height:120px;object-fit:cover;border-radius:8px;display:block}

/* -------- Datenraum / Unterlagen -------- */
.dataroom{margin-top:2rem}
.legit-note{background:var(--tint);border-left:4px solid var(--brick);
  color:var(--brick-d);padding:.7rem 1rem;border-radius:6px;font-size:.88rem;margin:.6rem 0}
table.docs{width:100%;border-collapse:collapse;font-size:.92rem}
table.docs th{background:var(--brick);color:#fff;text-align:left;padding:.55rem .7rem}
table.docs td{padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}
.doc-title{font-weight:700}
.doc-meta{display:block;font-weight:400;color:var(--grey);font-size:.75rem}
.doc-actions{text-align:right;white-space:nowrap}
.doc-lock{color:var(--grey);font-size:.78rem}

.contact{background:var(--dark);color:#fff;border-radius:14px;
  padding:1.4rem 1.8rem;margin-top:2.5rem}
.contact h2{margin-top:0;color:var(--brick-l)}
.contact .fine{color:#b8b0ad}

/* -------- Buttons / Pills -------- */
.btn{display:inline-block;background:var(--brick);color:#fff;text-decoration:none;
  padding:.55rem 1rem;border-radius:8px;font-weight:700;font-size:.85rem;
  border:0;cursor:pointer;width:auto}
.btn:hover{background:var(--brick-d)}
.btn.ghost{background:#fff;color:var(--brick-d);border:1px solid var(--brick)}
.btn.small{padding:.4rem .8rem;font-size:.8rem;margin:0}
.linkbtn{background:none;border:0;color:var(--brick);cursor:pointer;
  font-weight:700;font-size:.8rem;padding:0;width:auto;margin:0;text-decoration:underline}
.linkbtn.del{color:#b02a1c}
.pill{display:inline-block;font-size:.72rem;font-weight:700;padding:.2rem .6rem;
  border-radius:20px;background:#eee;color:#555}
.pill.on{background:#e0f2e6;color:#215c39}
.pill.s-live{background:var(--tint);color:var(--brick-d)}
.pill.s-reserved{background:#fbeecb;color:#8a5b12}
.pill.s-sold{background:#e6e6e6;color:#555}
.pill.s-draft{background:#eef1f5;color:#5a6472}

/* -------- Admin -------- */
.admin{max-width:1150px;margin:0 auto;padding:1.5rem 5%}
.bar{display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem;margin-top:1.4rem}
.muted{color:var(--grey);font-size:.82rem}
.inline{display:inline-flex;gap:.4rem;align-items:center;margin:0}
.inline input{margin:0}
.mini{width:200px;padding:.35rem .5rem;font-size:.8rem}
.objform fieldset,.uploads{border:1px solid var(--line);border-radius:12px;
  padding:1.2rem 1.4rem;margin:1.2rem 0}
.objform legend,.uploads legend{font-weight:800;color:var(--brick-d);padding:0 .4rem}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.objform code{background:var(--tint2);padding:.05rem .3rem;border-radius:4px;font-size:.85em}
.objform>button{width:auto;padding:.8rem 2rem}
.uprow{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1rem}
.uprow input[type=text]{width:auto;flex:1;min-width:160px;margin:0}
.uprow input[type=file]{width:auto;margin:0}
.uprow .chk{margin:0}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem}
.thumb{position:relative;text-align:center}
.thumb img{width:100%;height:100px;object-fit:cover;border-radius:8px}
.thumb .cover{position:absolute;top:.3rem;left:.3rem;background:#2e8b57;color:#fff;
  font-size:.65rem;padding:.15rem .4rem;border-radius:6px;font-weight:700}
.danger{margin:2rem 0}
.legal{max-width:760px;margin:0 auto;padding:2.5rem 5%}
.legal h2{font-size:1.15rem}

@media(max-width:860px){
  .hero-wrap{grid-template-columns:1fr;gap:2.2rem;padding-top:2.5rem}
  .hero h1{font-size:2.1rem}
  .grid.facts{grid-template-columns:repeat(3,1fr)!important}
  .row3{grid-template-columns:1fr}
  .top{flex-wrap:wrap}
}
