/* ====== Design-Variablen ====== */
:root{
  --bg:#0b0c10;
  --bg-alt:#121317;
  --text:#e8eef3;
  --muted:#a7b0bb;
  --primary:#d4af37; /* Gold */
  --accent:#7c3aed;
  --card:#171923;
  --grey:#0f1115;
  --border:rgba(255,255,255,0.08);
}

/* ====== Reset / Basics ====== */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.5}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
.container{width:min(1120px,92%);margin-inline:auto}

/* ====== Hero ====== */
.hero{position:relative;min-height:68vh;display:grid;place-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:url('../img/header.jpg') center/cover no-repeat;transform:scale(1.05)}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0.45), rgba(0,0,0,0.78))}
.hero__inner{position:relative;text-align:center;padding:3rem 1rem}
.logo{width:160px;height:auto;margin:0 auto 1rem auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,0.5))}
h1{font-size:clamp(1.8rem,4vw,3rem);margin:0.2rem 0 0.5rem}
.tagline{color:var(--muted);margin:0 0 1rem;font-size:1rem}

/* ====== Sektionen / Layout ====== */
.section{padding:3.5rem 0}
.section--grey{background:var(--grey)}
.section__head{margin-bottom:1rem}
.section__head h2{margin:0 0 0.25rem}
.grid{display:grid;gap:2rem}
.grid--2{grid-template-columns:repeat(1,1fr)}
@media(min-width:900px){.grid--2{grid-template-columns:repeat(2,1fr)}}

/* ====== Cards (Objekte) ====== */
.cards{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.2rem}
@media(min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.cards{grid-template-columns:repeat(3,1fr)}}

.card{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;outline:none;transition:box-shadow .2s ease, transform .12s ease}
.card:hover{transform:translateY(-2px)}
.card:focus{box-shadow:0 0 0 3px rgba(212,175,55,.4)}
.card__thumb{background:#222 center/cover no-repeat;height:180px}
.card__body{padding:1rem 1rem 1.25rem}
.card__title{margin:.1rem 0 .35rem;font-size:1.05rem}
.card__address{display:flex;gap:.5rem;align-items:flex-start;color:var(--muted);min-height:2.6rem}
.icon{opacity:.8}
.card__facts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}
.pill{border:1px solid var(--border);padding:.35rem .6rem;border-radius:999px;background:#0d0f14}

/* ====== Info-Karten (About/Sell) ====== */
.about__card,.sell__card{background:var(--card);border:1px solid var(--border);padding:1.25rem;border-radius:18px}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.checklist li{position:relative;padding-left:1.6rem}
.checklist li::before{content:'✓';position:absolute;left:0;top:0;color:var(--primary)}

/* ====== Buttons ====== */
.btn{display:inline-block;background:var(--primary);color:#0b0c10;border:0;border-radius:999px;padding:.8rem 1.1rem;font-weight:700;letter-spacing:.2px;transition:transform .12s ease,opacity .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);opacity:.95;box-shadow:0 6px 24px rgba(212,175,55,.25)}
.btn--light{background:#fff;color:#111}

/* ====== Formular ====== */
.form{background:var(--card);border:1px solid var(--border);padding:1rem;border-radius:18px}
.form__row{display:flex;flex-direction:column;margin-bottom:.8rem}
.form__row input,.form__row textarea{background:#0d0f14;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.6rem .7rem}
.form__hint{color:var(--muted);font-size:.9rem}
.form__status{margin-top:.6rem}

/* ====== Karte (OSM) ====== */
.map-section{height:360px;filter:grayscale(100%) contrast(1.1)}
.map{height:100%}
.map iframe{width:100%;height:100%;border:0}


/* ====== Footer & Modals ====== */
.footer{background:#0a0b0e;border-top:1px solid var(--border);padding:1rem 0}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.footer__nav a{margin-left:1rem}

.modal{position:fixed;inset:0;display:none}
.modal[aria-hidden="false"]{display:block}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.modal__dialog{position:relative;z-index:1;background:#0f1115;border:1px solid var(--border);width:min(760px,92%);margin:5vh auto;padding:1rem;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.modal__dialog--xl{width:min(1120px,96%);height:86vh;padding:0;display:flex;flex-direction:column}
.modal__close{position:absolute;right:.5rem;top:.5rem;background:transparent;border:0;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
#propstackFrame{border:0;flex:1 1 auto;width:100%;height:100%;background:#0b0c10}
