*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f0e9;color:#15231a;font-family:Arial,Helvetica,sans-serif}header{height:84px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#f3f0e9f2;backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid #ddd7cc}.brand{display:flex;flex-direction:column;text-decoration:none;color:#15231a}.brand b{font-size:24px;letter-spacing:.24em}.brand span{font-size:8px;letter-spacing:.28em;margin-top:5px}nav{display:flex;gap:28px;align-items:center}nav a{color:#15231a;text-decoration:none;font-size:13px;font-weight:bold}.contactbtn{background:#bf6b3b;color:white!important;padding:15px 20px}.mobile{display:none}.hero{height:760px;position:relative;overflow:hidden;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0c1710e8 0%,#0c1710a8 48%,#0c17101a 78%)}.heroText{position:absolute;left:7vw;top:48%;transform:translateY(-50%);max-width:760px}.kicker,.label{font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#bd6b3b}.hero h1{font-size:clamp(55px,7vw,102px);line-height:.9;letter-spacing:-.055em;margin:22px 0}.hero h1 em,.intro h2 i,.halls h2 i,.quote i{font-family:Georgia,serif;font-weight:normal}.heroText p{font-size:18px;line-height:1.65;max-width:560px;color:#e6e6e0}.buttons{display:flex;gap:12px;margin-top:32px}.buttons a{padding:16px 22px;background:#bf6b3b;color:#fff;text-decoration:none;font-weight:bold;font-size:13px}.buttons .outline{background:transparent;border:1px solid #bbb}.facts{position:absolute;right:4vw;bottom:0;display:flex;background:#f3f0e9;color:#15231a}.facts div{padding:22px 28px;border-right:1px solid #d7d1c6}.facts b,.facts span{display:block}.facts b{font-size:27px}.facts span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#6b746e;margin-top:4px}.shell{max-width:1260px;margin:auto;padding-left:32px;padding-right:32px}.intro{padding-top:115px;padding-bottom:85px}.introgrid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:22px}.intro h2,.sectiontop h2,.plans h2,.location h2,.care h2,.contact h2{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.045em;margin:0}.intro p{color:#5c675f;line-height:1.8}.intro .lead{font-size:21px;color:#15231a}.mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:260px 260px;gap:16px;padding-bottom:115px}.mosaic>div{position:relative;overflow:hidden;background:#15231a}.mosaic .big{grid-row:1/3}.mosaic img{width:100%;height:100%;object-fit:cover;transition:.5s}.mosaic div:hover img{transform:scale(1.025)}.mosaic span{position:absolute;left:18px;bottom:18px;background:#f3f0e9;padding:10px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:bold}.halls{background:#142119;color:#fff;padding:110px 0}.sectiontop{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.sectiontop p{max-width:390px;line-height:1.7;color:#aab5ad}.orange{color:#d48758}.hallgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hallcard{background:#1b2a21;overflow:hidden;transition:.3s}.hallcard:hover{transform:translateY(-4px);background:#213329}.hallimg{height:245px;position:relative;overflow:hidden}.hallimg img{width:100%;height:100%;object-fit:cover;transition:.5s}.hallcard:hover img{transform:scale(1.04)}.hallimg span{position:absolute;left:16px;top:16px;background:#bf6b3b;padding:8px 10px;font-size:10px;font-weight:bold}.hallbody{padding:24px}.hallbody small{color:#d48758}.hallbody h3{font-size:25px;margin:8px 0}.hallbody p{color:#aab5ad;font-size:13px;line-height:1.6;min-height:42px}.hallbody button{border:0;background:none;color:white;padding:12px 0 0;font-weight:bold;cursor:pointer}.hallbody button b{color:#d48758;margin-left:8px}.plans{padding-top:115px;padding-bottom:120px}.lighttop{margin-top:20px}.lighttop p{color:#5c675f}.planGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.planGrid figure{margin:0;background:white;padding:14px;box-shadow:0 18px 50px #19251c12}.planGrid img{width:100%;height:480px;object-fit:contain}.planGrid figcaption{padding:15px 5px 5px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.quote{background:#bd6b3b;color:#fff;padding:80px 0}.quote span{font-size:10px;letter-spacing:.25em}.quote blockquote{margin:15px 0 0;font-size:clamp(42px,6vw,82px);line-height:1;letter-spacing:-.045em}.location{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px}.locationImg img{width:100%;height:100%;object-fit:cover}.locationText{background:#ded9cf;padding:100px 7vw}.locationText p{line-height:1.8;color:#59645d}.route{display:grid;grid-template-columns:auto 1fr;gap:7px 20px;margin-top:40px}.route b{font-size:22px}.route span{align-self:center;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#6c756f}.care{padding-top:115px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.care p{line-height:1.8;color:#5c675f}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:30px}.thumbs img{width:100%;height:125px;object-fit:cover}.contact{background:#101b14;color:#fff;padding:105px 0}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact p{color:#aab5ad;line-height:1.7}.card{background:#bd6b3b;padding:42px}.card span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.card h3{font-size:29px;margin:10px 0 28px}.card p{color:#fff}.card a{display:block;color:#fff;margin-top:13px;font-weight:bold}footer{padding:35px 4vw;background:#0a120d;color:#9ba59e;display:flex;justify-content:space-between;align-items:center;font-size:10px}footer .brand{color:#fff}footer a{color:#b9c0bb;margin-left:20px}dialog{width:min(1000px,92vw);border:0;padding:0;background:#f3f0e9;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#07100bd9}.close{position:absolute;right:15px;top:10px;z-index:3;border:0;background:#fff;width:42px;height:42px;font-size:26px;cursor:pointer}.modalHead{padding:30px 35px 18px}.modalHead h2{font-size:38px;margin:5px 0}.modalGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 8px 8px}.modalGrid img{width:100%;height:360px;object-fit:cover}
@media(max-width:800px){nav{display:none}.mobile{display:block;border:0;background:none;font-size:24px}.hero{height:690px}.heroText{left:25px;right:25px}.facts{right:10px}.facts div{padding:14px}.introgrid,.location,.care,.contactgrid{grid-template-columns:1fr;gap:35px}.mosaic{grid-template-columns:1fr;grid-template-rows:360px 230px 230px}.mosaic .big{grid-row:auto}.hallgrid{grid-template-columns:1fr}.sectiontop{display:block}.sectiontop p{margin-top:20px}.planGrid{grid-template-columns:1fr}.planGrid img{height:auto}.locationText{padding:70px 30px}.modalGrid{grid-template-columns:1fr}.modalGrid img{height:auto}footer{gap:20px;flex-wrap:wrap}}

/* V4: klare Einzelbilder in der Hallengalerie */
.modalGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 24px 28px;background:#f3f0e9}
.modalGrid figure{margin:0;background:#fff;padding:7px;box-shadow:0 5px 18px rgba(20,33,25,.08)}
.modalGrid figure img{display:block;width:100%;height:260px;object-fit:cover;cursor:zoom-in}
.modalGrid figcaption{padding:8px 5px 3px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#687169}
#gallery{max-height:92vh;overflow:auto}
@media(max-width:900px){.modalGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.modalGrid{grid-template-columns:1fr}.modalGrid figure img{height:auto}}

/* V5 – echte, aus den gelieferten Übersichten getrennte Einzelbilder */
.hallimg img{object-fit:cover}
.modalGrid figure img{object-fit:cover;background:#111}

/* V8 – Kopf: stilvolle Büro-Collage; restlicher Hero-Aufbau unverändert */
.heroCollage{position:absolute;inset:0;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:7px;background:#15231a}
.heroCollage img{width:100%;height:100%;object-fit:cover;display:block}
.heroCollage .hc1{grid-row:1/3}
.heroCollage .hc2{grid-column:2;grid-row:1}
.heroCollage .hc3{grid-column:2;grid-row:2}
.heroCollage .hc4{position:absolute;width:23%;height:29%;right:31%;bottom:5%;border:7px solid #f3f0e9;box-shadow:0 18px 45px rgba(0,0,0,.28);z-index:1}
@media(max-width:800px){
  .heroCollage{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  .heroCollage .hc1{grid-row:1/3}
  .heroCollage .hc4{display:none}
}

/* V10 – transparente Übersichtszeichnungen ohne weiße Bildflächen */
.overviewGrid figure{background:transparent!important;box-shadow:none!important}
.overviewGrid figure img{background:transparent!important;object-fit:contain!important}

/* V11 – Standortkarte: Halle und A45 auf einen Blick */
.locationMap{position:relative;overflow:hidden;background:#17261f}
.locationMap iframe{display:block;width:100%;height:100%;min-height:560px;border:0}
@media(max-width:900px){.locationMap iframe{min-height:440px}}

/* V13 – Kopf kompakter und ruhiger */
.hero{min-height:0!important;height:clamp(470px,58vh,650px)!important}
.heroCollage{grid-template-columns:1.55fr .75fr!important;gap:6px!important}
.heroCollage .hc1{grid-row:1/3!important}
.heroCollage .hc2{grid-column:2!important;grid-row:1!important}
.heroCollage .hc3{grid-column:2!important;grid-row:2!important}
.heroCollage .hc4{display:none!important}

/* Wortmarke im Kopf deutlich präsenter */
.brand strong,.logo strong{font-size:31px!important;letter-spacing:.24em!important;line-height:1!important}
.brand small,.logo small{font-size:10px!important;letter-spacing:.24em!important;margin-top:7px!important}

@media(max-width:900px){
  .hero{height:560px!important}
  .brand strong,.logo strong{font-size:25px!important}
}
@media(max-width:620px){
  .hero{height:520px!important}
}

/* V14 – originales Firmenlogo aus dem Briefbogen */
.brandLogo{display:flex!important;align-items:center!important;width:auto!important;height:auto!important;text-decoration:none!important}
.brandLogo img{display:block!important;width:auto!important;height:58px!important;max-width:320px!important;object-fit:contain!important}
@media(max-width:700px){.brandLogo img{height:46px!important;max-width:250px!important}}

/* V15: geliefertes Originalbild im Kopf */
.heroSingle{position:absolute;inset:0;overflow:hidden;background:#17261f}.heroSingle img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}

/* V17 Kontaktformular */
.contactFormPanel{max-width:1180px;margin:55px auto 0;padding:42px;background:#f4f1e9;color:#14261f;display:grid;grid-template-columns:.72fr 1.28fr;gap:54px}
.formIntro h3{font-size:clamp(32px,4vw,54px);margin:8px 0 18px}.formIntro p{line-height:1.7;color:#53605b}.formIntro .kicker{font-size:11px;letter-spacing:.2em;font-weight:800;color:#c86d3a}
.contactForm label{display:block;font-size:12px;font-weight:800;letter-spacing:.04em}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contactForm input,.contactForm select,.contactForm textarea{width:100%;margin-top:8px;border:1px solid #c9c5bb;background:#fff;padding:14px 15px;font:inherit;color:#14261f;outline:none}
.contactForm input:focus,.contactForm select:focus,.contactForm textarea:focus{border-color:#c86d3a;box-shadow:0 0 0 2px rgba(200,109,58,.12)}
.contactForm textarea{resize:vertical;margin-bottom:14px}.privacyCheck{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.5}.privacyCheck input{width:auto;margin:4px 0 0}.privacyCheck a{color:#a6522a}
.captchaRow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0}.captchaHint{font-size:11px;color:#68736e}
.formSubmit{border:0;background:#c86d3a;color:#fff;padding:16px 22px;font-weight:800;cursor:pointer}.formSubmit span{margin-left:18px}.formSubmit:hover{filter:brightness(.94)}
.formStatus{margin-top:15px;font-size:13px}.formStatus.success{color:#17643d}.formStatus.error{color:#9a382c}
@media(max-width:850px){.contactFormPanel{grid-template-columns:1fr;padding:28px;gap:25px}.formGrid{grid-template-columns:1fr}}

/* V18 Lager-Verfügbarkeitsanzeige */
.hallCard{position:relative}.availabilityBadge{position:absolute;top:16px;right:16px;z-index:4;padding:8px 11px;font-size:10px;font-weight:900;letter-spacing:.12em;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.availabilityBadge.isFree{background:#2d8d59;color:#fff}.availabilityBadge.isBusy{background:rgba(20,35,29,.88);color:#eee}

/* V19 – unauffälliger Zugang zum internen Adminbereich */
.footerAdminLink{opacity:.38!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;text-decoration:none!important;margin-left:18px!important}
.footerAdminLink:hover{opacity:.9!important}
.footerAdminFallback{position:fixed;right:10px;bottom:7px;z-index:50;color:#777}

/* V20 – Lagerstatus sicher sichtbar */
.statusHost{position:relative!important}
.statusHost .availabilityBadge{position:absolute!important;top:14px!important;right:14px!important;z-index:20!important;display:block!important;padding:8px 12px!important;border-radius:2px!important;font-size:10px!important;font-weight:900!important;line-height:1!important;letter-spacing:.12em!important;box-shadow:0 5px 18px rgba(0,0,0,.22)!important}
.statusHost .availabilityBadge.isFree{background:#278653!important;color:white!important}
.statusHost .availabilityBadge.isBusy{background:#243a31!important;color:white!important}

/* V21 – deutlichere Verfügbarkeitsfarben */
.statusHost .availabilityBadge.isFree{
  background:#21e66f!important;
  color:#062d16!important;
  border:1px solid #65ff9c!important;
  box-shadow:0 0 0 2px rgba(33,230,111,.16),0 5px 20px rgba(33,230,111,.42)!important;
}
.statusHost .availabilityBadge.isBusy{
  background:#e53935!important;
  color:#fff!important;
  border:1px solid #ff6b67!important;
  box-shadow:0 0 0 2px rgba(229,57,53,.13),0 5px 18px rgba(229,57,53,.32)!important;
}

/* V25 – Verfügbarkeit, Direktanfrage und SEO-Inhaltsmodule */
.availabilityOverview{max-width:1180px;margin:0 auto;padding:44px 48px;background:#fff7ed;border-left:6px solid #c86d3a;display:flex;align-items:center;justify-content:space-between;gap:35px}
.availabilityOverview h2{margin:7px 0 8px;font-size:clamp(28px,4vw,48px);color:#14261f}.availabilityOverview p{margin:0;color:#59645f;max-width:720px}
.seoKicker{font-size:10px;letter-spacing:.2em;font-weight:900;color:#c86d3a}.availabilityCta,.directInquiry{display:inline-block;background:#c86d3a;color:#fff!important;text-decoration:none;font-weight:800;padding:13px 17px}
.directInquiry{position:absolute;left:16px;bottom:16px;z-index:10;font-size:11px;padding:10px 12px}
@media(max-width:760px){.availabilityOverview{padding:30px 24px;align-items:flex-start;flex-direction:column}}

/* V26 – Anfragebutton getrennt von Galerie */
.statusHost .inquiryActionRow{
  position:relative!important;
  z-index:30!important;
  display:block!important;
  margin:18px 0 0!important;
  padding:0!important;
}
.statusHost .inquiryActionRow .directInquiry{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  margin:0!important;
  padding:12px 16px!important;
  background:#c86d3a!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  box-shadow:none!important;
}
.statusHost .inquiryActionRow .directInquiry:hover{
  filter:brightness(.94);
}

/* V27 – Anfrage ist eine eigene Schaltfläche AUSSERHALB der Galeriekarte */
.inquiryActionRow{
  position:relative!important;
  z-index:50!important;
  display:flex!important;
  justify-content:flex-start!important;
  margin:-2px 0 24px!important;
  padding:0 0 0 0!important;
  pointer-events:auto!important;
}
.inquiryActionRow .directInquiry{
  position:static!important;
  display:inline-flex!important;
  width:auto!important;
  padding:13px 18px!important;
  background:#c86d3a!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:900!important;
  pointer-events:auto!important;
}

/* V28 – Anfragebuttons ausschließlich im separaten Verfügbarkeitsbereich */
.freeInquiryButtons{flex-basis:100%;display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.freeInquiryButtons a{display:inline-block;background:#21e66f;color:#063318!important;text-decoration:none;font-size:11px;font-weight:900;padding:12px 15px;box-shadow:0 4px 14px rgba(33,230,111,.28)}
.availabilityOverview{flex-wrap:wrap}

/* V29 – Galerie wird ausschließlich über „Galerie öffnen“ gestartet */
.hallcard{cursor:default!important}
.hallcard .hallbody button{cursor:pointer!important;position:relative!important;z-index:15!important}

/* V30 – bei freien Lagern wieder eigener Anfragebutton in der Karte */
.hallcard .directInquiry{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  margin:14px 0 0!important;
  padding:11px 15px!important;
  width:auto!important;
  background:#c86d3a!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  cursor:pointer!important;
  z-index:20!important;
}
.hallcard .directInquiry:hover{filter:brightness(.94)}

/* V31 – Navigation und Mobile-Finalisierung */
@media(max-width:900px){
  header nav, .nav{gap:10px!important;flex-wrap:wrap!important}
  header nav a, .nav a{font-size:12px!important}
  .hallgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .hallgrid{grid-template-columns:1fr!important}
  .hero{min-height:auto!important}
  .availabilityOverview{margin-left:16px!important;margin-right:16px!important}
  .contactFormPanel{margin-left:16px!important;margin-right:16px!important}
  .hallcard .directInquiry{display:flex!important;justify-content:center!important}
  .statusHost .availabilityBadge{top:10px!important;right:10px!important}
}
