﻿/* Handgeschrieben, kein Framework, kein CDN. Mobil zuerst. */
:root{
  --gruen:#2f4a3c; --gruen-hell:#456b57; --sand:#faf7f1; --papier:#fff;
  --linie:#e2dcd0; --text:#23211d; --grau:#6b665c; --akzent:#a8642a;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--text);
     font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.25;margin:0 0 .5em}
h1{font-size:1.7rem} h2{font-size:1.3rem;margin-top:2rem} h3{font-size:1.05rem}
a{color:var(--gruen);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.innen{max-width:1080px;margin:0 auto;padding:0 1rem}

.kopf{background:var(--gruen);color:#f4f1e8;padding:1.2rem 0}
.kopf .marke{display:block;color:#fff;font-family:Georgia,serif;font-size:1.35rem;letter-spacing:.01em}
.kopf .unterzeile{margin:.3rem 0 0;color:#cdd9d0;font-size:.92rem}

main{padding:1.5rem 0 3rem}
.einleitung{background:var(--papier);border:1px solid var(--linie);border-radius:6px;padding:1rem 1.2rem}
.einleitung p{margin:0 0 .8em} .einleitung p:last-child{margin:0}

.kachel-grid,.objekt-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.kachel,.objekt-kachel{display:block;background:var(--papier);border:1px solid var(--linie);
  border-radius:6px;overflow:hidden;color:inherit}
.kachel:hover,.objekt-kachel:hover{border-color:var(--gruen-hell);text-decoration:none}
.kachel-bild{aspect-ratio:4/3;overflow:hidden;background:#efe9dd}
.kachel-bild img{width:100%;height:100%;object-fit:cover}
.kachel-bild.leer{background:repeating-linear-gradient(45deg,#efe9dd,#efe9dd 8px,#e7e0d2 8px,#e7e0d2 16px)}
.kachel-text{padding:.6rem .7rem .8rem}
.kachel-text h3{margin:.1rem 0 .3rem;font-size:.98rem}
.preis{margin:0;color:var(--gruen);font-weight:600}
.preis.gross{font-size:1.35rem;margin:1rem 0}
.objekt-kachel.verkauft{opacity:.62}

.hero-liste{display:grid;gap:1rem}
.hero{position:relative;display:block;border-radius:6px;overflow:hidden;border:1px solid var(--linie);background:var(--papier)}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hero-text{padding:.8rem 1rem}
.hero-text h3{font-size:1.2rem;margin:0 0 .2rem}
.hero-text p{margin:0;color:var(--gruen);font-weight:600}

.badge{display:inline-block;padding:.15rem .5rem;border-radius:3px;font-size:.75rem;
       text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}
.badge.reserviert{background:#f5e3c8;color:#7a4d10}
.badge.verkauft{background:#e4e0d8;color:#5d574c}

.brotkrume{color:var(--grau);font-size:.88rem;margin:0 0 1rem}
.objekt{background:var(--papier);border:1px solid var(--linie);border-radius:6px;padding:1.2rem}
.galerie .gross{width:100%;border-radius:4px;background:#efe9dd}
.thumbs{display:flex;gap:.4rem;overflow-x:auto;padding:.5rem 0 .2rem}
.thumbs button{flex:0 0 78px;padding:0;border:1px solid var(--linie);background:none;
               border-radius:3px;overflow:hidden;cursor:pointer}
.thumbs button:hover{border-color:var(--gruen)}
.thumbs img{width:78px;height:58px;object-fit:cover}
.video{width:100%;margin:1rem 0;border-radius:4px;background:#000}
.beschreibung p{margin:0 0 .9em}

.eckdaten{border-collapse:collapse;margin:1.2rem 0;width:100%;max-width:520px}
.eckdaten th,.eckdaten td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--linie);vertical-align:top}
.eckdaten th{width:38%;color:var(--grau);font-weight:600}

.kontaktblock{margin-top:2rem;padding:1rem 1.2rem;background:#f1efe7;border-left:4px solid var(--akzent);border-radius:0 5px 5px 0}
.kontaktblock h2{margin-top:0}
.kontaktblock .gross{font-size:1.1rem}
.textseite{background:var(--papier);border:1px solid var(--linie);border-radius:6px;padding:1.2rem}

.fuss{background:var(--gruen);color:#d8e2da;padding:1.6rem 0;margin-top:2rem;font-size:.9rem}
.fuss a{color:#fff;text-decoration:underline}
.klein{font-size:.85rem;color:var(--grau)}
.fuss .klein{color:#b8c6bc}

@media(min-width:700px){
  h1{font-size:2.1rem}
  .kachel-grid,.objekt-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  .hero-objekt .galerie .gross{max-height:560px;object-fit:contain}
  .objekt{padding:2rem}
}