:root{--cream:#f5f0e4;--paper:#fbf8f0;--green:#263d29;--olive:#68784b;--gold:#b38a4a;--ink:#1e241f;--muted:#687069;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.header{position:fixed;z-index:50;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;transition:.35s}.header.scrolled{height:72px;background:rgba(247,243,233,.94);color:var(--green);backdrop-filter:blur(14px);box-shadow:0 8px 30px #00000012}.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;line-height:1.25}.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}.brand b{font-family:Georgia,serif;font-size:16px;letter-spacing:.08em}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.header nav a{position:relative}.header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.3s}.header nav a:hover:after{right:0}.nav-cta{border:1px solid currentColor;border-radius:99px;padding:10px 18px}.menu{display:none;border:0;background:none;color:inherit;font-size:25px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/haus_nachher_drohne.webp') center/cover;animation:zoom 18s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,25,18,.82),rgba(16,25,18,.36) 58%,rgba(16,25,18,.12)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}@keyframes zoom{to{transform:scale(1.06)}}.hero-copy{position:relative;z-index:2;width:min(760px,88vw);margin-left:max(6vw,calc((100vw - var(--max))/2));padding-top:80px}.hero-logo{width:150px;border-radius:50%;margin-bottom:24px;filter:drop-shadow(0 8px 22px #0007)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;color:var(--olive);margin:0 0 16px}.eyebrow.light{color:#d8c89f}.hero h1,.section h2,.chronik h2,.sanierung h2,.komfort h2,.contact h2{font-family:Georgia,serif;font-weight:400;line-height:1.05;margin:0}.hero h1{font-size:clamp(42px,6vw,82px)}.hero h1 em{font-weight:400;color:#e9d6a7}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:650px}.actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:99px;border:1px solid transparent;font-weight:700;cursor:pointer}.btn.primary{background:#e6d09b;color:#223025}.btn.glass{border-color:#ffffff80;background:#ffffff12;color:#fff;backdrop-filter:blur(8px)}.scroll{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.section{max-width:var(--max);margin:auto;padding:120px 28px}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}.intro-image{position:relative}.intro-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:180px 180px 18px 18px}.intro-image span{position:absolute;right:-20px;bottom:30px;background:var(--green);color:#fff;padding:18px 22px;border-radius:4px;font-family:Georgia,serif}.intro h2,.section-head h2,.legacy h2{font-size:clamp(38px,5vw,64px)}.intro-copy p{font-size:17px}.intro blockquote{font-family:Georgia,serif;font-size:25px;font-style:italic;color:var(--green);margin:35px 0 0;padding-left:24px;border-left:2px solid var(--gold)}.chronik{background:var(--green);color:#fff;padding:120px max(5vw,calc((100vw - var(--max))/2))}.center{text-align:center}.section-head{max-width:760px;margin-bottom:55px}.section-head.center{margin-left:auto;margin-right:auto}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:120px;top:0;bottom:0;width:1px;background:#ffffff30}.timeline article{display:grid;grid-template-columns:95px 1fr 240px;gap:50px;align-items:center;padding:35px 0;border-bottom:1px solid #ffffff1d}.timeline time{font-family:Georgia,serif;font-size:28px;color:#dec894}.timeline h3{font-family:Georgia,serif;font-size:30px;margin:0 0 8px}.timeline p{margin:0;color:#d5dbd4}.timeline img{width:240px;height:145px;object-fit:cover;border-radius:4px;filter:saturate(.8)}.transformation .section-head{margin-bottom:40px}.compare{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:16/8;box-shadow:0 25px 70px #17221928}.compare>img,.compare .before img{width:100%;height:100%;object-fit:cover}.before{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden}.before img{width:100vw;max-width:none}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;pointer-events:none}.divider i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-style:normal;box-shadow:0 4px 15px #0004}.tag{position:absolute;top:20px;background:#172219cc;color:#fff;padding:8px 12px;border-radius:99px;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.before-tag{left:20px}.after-tag{right:20px}.sanierung{background:#17271d;color:#fff;padding:120px max(5vw,calc((100vw - var(--max))/2))}.story-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.story-cards article{position:relative;min-height:420px;overflow:hidden;border-radius:5px}.story-cards .large{grid-column:1/-1;min-height:620px}.story-cards .wide{grid-column:1/-1;min-height:520px}.story-cards img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s}.story-cards article:hover img{transform:scale(1.04)}.story-cards article:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#0d160fd9)}.story-cards article div{position:absolute;z-index:2;left:32px;right:32px;bottom:28px}.story-cards span{color:#e3c98d}.story-cards h3{font-family:Georgia,serif;font-size:36px;margin:5px 0}.story-cards p{margin:0;max-width:580px;color:#e3e8e3}.masonry{columns:3 280px;column-gap:18px}.masonry figure{break-inside:avoid;margin:0 0 18px;position:relative;overflow:hidden;cursor:zoom-in}.masonry img{width:100%;transition:.5s}.masonry figure:hover img{transform:scale(1.03)}.masonry figcaption{position:absolute;left:12px;right:12px;bottom:12px;background:#f9f5e9e8;padding:10px 12px;font-size:13px}.komfort{background:#344b35;color:#fff;padding:120px max(5vw,calc((100vw - var(--max))/2))}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff24}.features article{background:#344b35;padding:42px 32px;min-height:250px}.features b{font-family:Georgia,serif;font-size:42px;color:#e0c88d}.features h3{font-family:Georgia,serif;font-size:26px;margin:14px 0 8px}.features p{margin:0;color:#d9e0d8}.legacy{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.legacy>img{width:100%;aspect-ratio:4/5;object-fit:cover}.signature{font-family:Georgia,serif;font-size:28px;color:var(--green)}.contact{background:#121c15;color:#fff;padding:110px max(5vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-copy>img{width:120px;border-radius:50%;margin-bottom:28px}.contact form{display:flex;flex-direction:column;gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}input,textarea{font:inherit;color:#fff;background:#ffffff0d;border:1px solid #ffffff36;padding:14px;border-radius:3px;outline:none}input:focus,textarea:focus{border-color:#dfc789}.contact button{align-self:flex-start;border:0}footer{background:#0b110d;color:#ccd3cc;padding:35px 4vw;display:flex;justify-content:space-between;align-items:center;font-size:13px}.foot-brand{display:flex;align-items:center;gap:14px}.foot-brand img{width:62px;border-radius:50%}.foot-brand div{display:flex;flex-direction:column}.foot-brand strong{font-family:Georgia,serif;font-size:18px;color:#fff}footer>div:last-child{display:flex;gap:22px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.lightbox{position:fixed;z-index:100;inset:0;background:#07100beF;display:none;place-items:center;padding:50px}.lightbox.open{display:grid}.lightbox img{max-width:90vw;max-height:82vh}.lightbox button{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:42px}.lightbox p{color:#fff}.simple{max-width:850px;margin:120px auto;padding:30px}.simple h1{font-family:Georgia,serif;font-size:48px}@media(max-width:850px){.header{height:72px}.brand img{width:48px;height:48px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);color:var(--green);padding:25px;flex-direction:column}.header nav.open{display:flex}.menu{display:block}.hero-logo{width:115px}.hero h1{font-size:46px}.intro,.legacy,.contact{grid-template-columns:1fr}.timeline:before{left:57px}.timeline article{grid-template-columns:80px 1fr;gap:18px}.timeline article img{grid-column:2;width:100%;height:210px}.story-cards{grid-template-columns:1fr}.story-cards .large,.story-cards .wide{grid-column:auto;min-height:480px}.features{grid-template-columns:1fr 1fr}.compare{aspect-ratio:4/3}.grid2{grid-template-columns:1fr}.contact{gap:50px}footer{align-items:flex-start;gap:25px;flex-direction:column}}@media(max-width:520px){.brand span{display:none}.hero-copy{margin-left:24px}.hero h1{font-size:39px}.section{padding:85px 20px}.intro-image span{right:8px}.features{grid-template-columns:1fr}.timeline article{grid-template-columns:58px 1fr}.timeline:before{left:42px}.timeline h3{font-size:25px}.story-cards article,.story-cards .large,.story-cards .wide{min-height:420px}.actions{flex-direction:column;align-items:flex-start}.masonry{columns:1}footer>div:last-child{flex-wrap:wrap}}

.calendar-tooltip{
    position:fixed;
    z-index:9999;
    max-width:260px;
    background:#253a27;
    color:#fff;
    padding:12px 14px;
    border-radius:10px;
    font-size:14px;
    line-height:1.5;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    pointer-events:none;

    opacity:0;
    transform:translateY(8px);
    transition:.15s;
}

.calendar-tooltip.show{
    opacity:1;
    transform:translateY(0);
}


/* Neue Bildkapitel â€“ V4.2 */
.historic-full{object-fit:contain!important;background:#eee8da;padding:10px}
.room-change{background:#17271d;color:#fff;padding:120px max(5vw,calc((100vw - var(--max))/2))}
.room-change>.section-head{max-width:820px}
.change-chapter{padding:54px 0;border-top:1px solid #ffffff24}
.change-chapter:first-of-type{border-top:0;padding-top:10px}
.chapter-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.chapter-title span{text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:#dec894;font-weight:700}
.chapter-title h3{font-family:Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.08;margin:0;text-align:right}
.change-chapter h4{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:#d8c89f;margin:34px 0 16px}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-grid figure,.dg-pair figure{position:relative;margin:0;overflow:hidden;background:#0d1710;cursor:zoom-in;border-radius:4px}
.photo-grid img{width:100%;height:310px;object-fit:cover;transition:transform .5s}
.photo-grid figure:hover img,.dg-pair figure:hover img{transform:scale(1.025)}
.photo-grid .featured{grid-column:span 2}
.photo-grid figcaption,.dg-pair figcaption{position:absolute;left:12px;right:12px;bottom:12px;background:#f9f5e9e8;color:#1e241f;padding:10px 12px;font-size:13px}
.before-photos img,.old-apartment img{filter:saturate(.82)}
.dg-pair{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:18px}
.dg-pair img{width:100%;height:460px;object-fit:contain;background:#0b130d;padding:8px;transition:transform .5s}
.change-arrow{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#dec894;color:#223025;font-size:28px}
@media(max-width:850px){.chapter-title{display:block}.chapter-title h3{text-align:left;margin-top:8px}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid .featured{grid-column:span 2}.dg-pair{grid-template-columns:1fr}.change-arrow{transform:rotate(90deg)}.dg-pair img{height:auto;max-height:500px}}
@media(max-width:520px){.room-change{padding:85px 20px}.photo-grid{grid-template-columns:1fr}.photo-grid .featured{grid-column:auto}.photo-grid img{height:auto;max-height:520px;object-fit:contain;background:#0b130d}.dg-pair img{height:auto}}

/* V4.3: einheitliche, gut lesbare Bildtitel */
.room-change .photo-grid figcaption,
.room-change .dg-pair figcaption {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* ==========================================================
   ErgÃ¤nzungen aus der zuvor eingebetteten finalen Version
   ========================================================== */

.energy-change{
  padding:100px max(24px,6vw);
  background:#f4f1e9;
  color:#1f2c21;
}
.energy-change .section-head{
  max-width:820px;
  margin:0 auto 46px;
}
.energy-compare{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:24px;
  align-items:stretch;
}
.energy-card{
  background:#fff;
  border-radius:22px;
  padding:32px;
  box-shadow:0 16px 42px rgba(28,45,31,.10);
  border:1px solid rgba(37,58,39,.10);
}
.energy-card.before{
  background:linear-gradient(145deg,#fff,#fff8f1);
}
.energy-card.after{
  background:linear-gradient(145deg,#fff,#f3f8ef);
}
.energy-label{
  display:inline-block;
  margin-bottom:18px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#667066;
}
.energy-card h3{
  margin:0 0 24px;
  font-size:clamp(1.55rem,2.5vw,2.2rem);
}
.energy-grade{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:20px;
}
.energy-letter{
  width:88px;
  height:88px;
  flex:0 0 88px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#fff;
  font-size:3rem;
  font-weight:900;
  line-height:1;
}
.before .energy-letter{background:#d36b2d}
.after .energy-letter{background:#5a8b36}
.energy-number strong{
  display:block;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1;
}
.energy-number span{
  display:block;
  margin-top:7px;
  color:#677067;
  font-size:.92rem;
}
.energy-scale{
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#3e9d4b 0%,#87bf3c 18%,#d8dc32 38%,#f3c62a 58%,#ec8b28 77%,#d94a32 100%);
  position:relative;
  margin:26px 0 22px;
}
.energy-scale i{
  position:absolute;
  top:-9px;
  width:4px;
  height:34px;
  border-radius:3px;
  background:#1e2a20;
  transform:translateX(-50%);
}
.before .energy-scale i{left:80.7%}
.after .energy-scale i{left:22.3%}
.energy-meta{
  display:grid;
  gap:9px;
  color:#4f594f;
  line-height:1.55;
}
.energy-download{
  display:inline-flex;
  margin-top:24px;
  align-items:center;
  gap:8px;
  color:#253a27;
  font-weight:800;
  text-decoration:none;
}
.energy-arrow{
  align-self:center;
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#253a27;
  color:#fff;
  font-size:2rem;
  box-shadow:0 10px 24px rgba(37,58,39,.18);
}
.energy-result{
  max-width:1180px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:24px;
}
.energy-highlight,
.energy-facts{
  border-radius:22px;
  padding:32px;
}
.energy-highlight{
  background:#253a27;
  color:#fff;
}
.energy-highlight b{
  display:block;
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:1;
  margin:12px 0;
}
.energy-highlight p{
  margin:0;
  line-height:1.7;
  color:rgba(255,255,255,.82);
}
.energy-facts{
  background:#fff;
  border:1px solid rgba(37,58,39,.10);
}
.energy-facts h3{
  margin:0 0 20px;
  font-size:1.45rem;
}
.energy-facts ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 22px;
}
.energy-facts li{
  position:relative;
  padding-left:30px;
  line-height:1.45;
}
.energy-facts li::before{
  content:"âœ“";
  position:absolute;
  left:0;
  top:0;
  color:#5a8b36;
  font-weight:900;
}
.energy-note{
  max-width:1180px;
  margin:18px auto 0;
  color:#687168;
  font-size:.88rem;
  line-height:1.55;
}
@media(max-width:900px){
  .energy-compare{grid-template-columns:1fr}
  .energy-arrow{transform:rotate(90deg);justify-self:center}
  .energy-result{grid-template-columns:1fr}
}
@media(max-width:620px){
  .energy-change{padding:72px 16px}
  .energy-card,.energy-highlight,.energy-facts{padding:24px}
  .energy-facts ul{grid-template-columns:1fr}
  .energy-grade{align-items:flex-start}
  .energy-letter{width:72px;height:72px;flex-basis:72px;font-size:2.4rem}
}

.energy-slider{
  position:relative;
  max-width:1180px;
  min-height:390px;
  margin:0 auto;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(28,45,31,.14);
  background:#f3f8ef;
}
.energy-slider .energy-panel{
  width:100%;
  min-height:390px;
  padding:52px 56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.energy-slider .energy-after{
  background:linear-gradient(145deg,#ffffff,#eef6e9);
}
.energy-slider .energy-before{
  position:absolute;
  inset:0 auto 0 0;
  width:50%;
  overflow:hidden;
  background:linear-gradient(145deg,#ffffff,#fff4e9);
}
.energy-slider .energy-before .energy-panel{
  width:1180px;
  max-width:none;
}
.energy-slider .energy-letter{
  color:#fff;
}
.energy-letter-b{background:#5a8b36}
.energy-letter-g{background:#d36b2d}
.energy-slider .energy-details{
  display:grid;
  gap:9px;
  color:#4f594f;
  line-height:1.55;
  margin-top:6px;
}
.energy-slider .before-tag,
.energy-slider .after-tag{
  z-index:4;
}
.energy-slider .divider{
  z-index:5;
}
.energy-slider input[type="range"]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:ew-resize;
  z-index:6;
}
@media(max-width:900px){
  .energy-slider,
  .energy-slider .energy-panel{
    min-height:430px;
  }
  .energy-slider .energy-panel{
    padding:70px 28px 38px;
  }
  .energy-slider .energy-before .energy-panel{
    width:calc(100vw - 32px);
  }
}

/* Energie-Slider: Beide Seiten bereits in Mittelstellung lesbar */
.energy-slider .energy-after{
  padding-left:calc(50% + 58px);
  padding-right:54px;
}
.energy-slider .energy-before .energy-panel{
  padding-left:54px;
  padding-right:calc(50% + 58px);
}
.energy-slider .energy-after .energy-grade,
.energy-slider .energy-before .energy-grade{
  flex-wrap:nowrap;
}
.energy-slider::after{
  content:"Regler ziehen";
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:5;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#253a27;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.05em;
  box-shadow:0 5px 16px rgba(37,58,39,.12);
  pointer-events:none;
}
@media(max-width:900px){
  .energy-slider{
    min-height:650px;
  }
  .energy-slider .energy-panel{
    min-height:650px;
    justify-content:flex-start;
    padding-top:78px;
  }
  .energy-slider .energy-after{
    padding-left:calc(50% + 18px);
    padding-right:18px;
  }
  .energy-slider .energy-before .energy-panel{
    width:calc(100vw - 32px);
    padding-left:18px;
    padding-right:calc(50% + 18px);
  }
  .energy-slider .energy-grade{
    flex-direction:column;
    gap:12px;
  }
  .energy-slider .energy-number strong{
    font-size:1.65rem;
  }
  .energy-slider .energy-details{
    font-size:.9rem;
  }
}
@media(max-width:620px){
  .energy-slider{
    min-height:720px;
  }
  .energy-slider .energy-panel{
    min-height:720px;
  }
}


/* Links im Energie-Slider anklickbar lassen:
   Nur der eigentliche Schieberegler-Griff fÃ¤ngt Maus-/Touch-Eingaben ab. */
.energy-slider .energy-download{
  position:relative;
  z-index:10;
  pointer-events:auto;
}

.energy-slider input[type="range"]{
  pointer-events:none;
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
}

.energy-slider input[type="range"]::-webkit-slider-runnable-track{
  height:100%;
  background:transparent;
}

.energy-slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:84px;
  height:84px;
  margin-top:calc((390px - 84px) / 2);
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:ew-resize;
  pointer-events:auto;
}

.energy-slider input[type="range"]::-moz-range-track{
  height:100%;
  background:transparent;
  border:0;
}

.energy-slider input[type="range"]::-moz-range-thumb{
  width:84px;
  height:84px;
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:ew-resize;
  pointer-events:auto;
}

@media(max-width:900px){
  .energy-slider input[type="range"]::-webkit-slider-thumb{
    margin-top:calc((650px - 84px) / 2);
  }
}

@media(max-width:620px){
  .energy-slider input[type="range"]::-webkit-slider-thumb{
    margin-top:calc((720px - 84px) / 2);
  }
}


/* Wintergarten-Bauplan: 90Â° gedreht und anklickbar */
.wintergarten-plan-link{
  display:block;
  overflow:hidden;
  cursor:zoom-in;
}
.wintergarten-plan-link .wintergarten-plan-rotated{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:rotate(90deg) scale(.78);
  transition:transform .25s ease, opacity .25s ease;
}
.wintergarten-plan-link:hover .wintergarten-plan-rotated{
  transform:rotate(90deg) scale(.83);
  opacity:.9;
}


/* Bilder der Hauschronik anklickbar */
.chronik-image-link{
  display:block;
  overflow:hidden;
  cursor:zoom-in;
}
.chronik-image-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease, opacity .25s ease;
}
.chronik-image-link:hover img{
  transform:scale(1.025);
  opacity:.92;
}


/* Anklickbare Chronik- und Bauplanbilder */
.chronik-image-link{
  display:block;
  overflow:hidden;
  cursor:zoom-in;
}
.chronik-image-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .25s ease;
}
.chronik-image-link:hover img{
  opacity:.9;
}

/* Hauschronik: Bilder wieder Ã¼ber die vorhandene Lightbox Ã¶ffnen */
.chronik .historic-full{
  cursor:zoom-in;
}

/* Ausrichtung der BauplÃ¤ne in der GroÃŸansicht */
.lightbox img[src$="wintergarten_plan.webp"]{
  transform:rotate(270deg);
  max-width:80vh;
  max-height:88vw;
}
.lightbox img[src$="bauplan_1972.webp"]{
  transform:rotate(180deg);
}

/* Hauschronik-Lightbox: eigener, robuster Klick-Handler */
.chronik .chronik-lightbox-img{
  cursor:zoom-in;
}
.lightbox.open{
  display:flex;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* FINAL: Einheitliche, zentrierte Lightbox */
.lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:none;
  align-items:center !important;
  justify-content:center !important;
  padding:32px !important;
  background:rgba(10,16,12,.92) !important;
  box-sizing:border-box;
}
.lightbox.open,
.lightbox.active,
.lightbox[aria-hidden="false"]{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.lightbox img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:min(92vw,1400px) !important;
  max-height:86vh !important;
  object-fit:contain !important;
  margin:auto !important;
  position:static !important;
}
.lightbox p{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(90vw,900px);
  margin:0;
  color:#fff;
  text-align:center;
}
.lightbox button{
  position:absolute;
  top:18px;
  right:22px;
  z-index:2;
}
.historic-full{cursor:zoom-in}

/* BauplÃ¤ne in Vorschau korrekt ausrichten */
.intro-image img[src$="bauplan_1972.webp"],
.gallery-sec img[src$="bauplan_1972.webp"]{
  transform:rotate(180deg);
  object-fit:contain;
}
.chronik img[src$="wintergarten_plan.webp"]{
  transform:rotate(270deg);
  object-fit:contain;
}

/* Kapitel AlbertstraÃŸe 11 lesbarer formatieren */
.legacy > div{
  max-width:760px;
}
.legacy blockquote{
  margin:0 0 1.5rem;
}
.legacy p{
  line-height:1.75;
}


/* Kontaktformular: stabile Beschriftungen mit content.js */
.contact label .field-label{
  display:block;
}
.contact input,
.contact textarea{
  width:100%;
  min-width:0;
}
.contact input[type="date"]{
  color-scheme:dark;
}
.contact #status:empty{
  display:none;
}


/* Version 1.0 â€“ einheitlicher Footer */
footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

footer .foot-brand {
  flex: 0 1 auto;
}

footer .foot-brand span {
  display: block;
}

footer .footer-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}

footer .footer-links a {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 760px) {
  footer {
    justify-content: center;
    text-align: center;
  }

  footer .footer-links {
    justify-content: center;
    gap: 12px 16px;
  }
}


/* Version 1.3 â€“ Live-PrÃ¼fung der Buchungsanfrage */
.contact select{
  width:100%;
  min-width:0;
  font:inherit;
  color:#fff;
  background:#ffffff0d;
  border:1px solid #ffffff36;
  padding:14px;
  border-radius:3px;
  outline:none;
}
.contact select:focus{
  border-color:#dfc789;
}
.contact select option{
  color:#1e241f;
  background:#fff;
}
.booking-status{
  display:none;
  width:100%;
  margin:0;
  padding:12px 14px;
  border-radius:6px;
  font-size:14px;
  line-height:1.5;
  text-transform:none;
  letter-spacing:0;
}
.booking-status:not(:empty){
  display:block;
}
.booking-status.success{
  color:#eff8eb;
  background:rgba(90,139,54,.28);
  border:1px solid rgba(174,214,143,.65);
}
.booking-status.error{
  color:#fff0ed;
  background:rgba(173,63,44,.28);
  border:1px solid rgba(236,143,126,.65);
}
.contact button:disabled{
  opacity:.48;
  cursor:not-allowed;
  filter:grayscale(.25);
}


/* Ergänzung für Hero-Hintergrund */
.hero-bg{
  background-image:image-set(
    url("assets/haus_nachher_drohne.avif") type("image/avif"),
    url("assets/haus_nachher_drohne.webp") type("image/webp")
  );
}


/* Urlaub in Obersfeld - Wanderkarten */
.wanderkarte{padding:30px 0}
.tour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:28px}
.tour-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.08);border:1px solid rgba(38,61,41,.08);transition:.25s}
.tour-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.12)}
.tour-card h3{margin-top:0;color:var(--green);font-family:Georgia,serif}
.tour-card p{margin:.5rem 0}
.tour-card .btn{margin-top:12px}

/* ===== Energie-Liste (Geschichte) ===== */

.energy-facts ul{
    list-style:none;
    padding-left:0;
}

.energy-facts li{
    position:relative;
    padding-left:30px;
}

.energy-facts li::before{
    content:"";
    position:absolute;
    left:0;
    top:.24em;
    width:17px;
    height:17px;
    border:2px solid #4f7f37;
    border-radius:50%;
    box-sizing:border-box;
}

.energy-facts li::after{
    content:"";
    position:absolute;
    left:5px;
    top:.47em;
    width:6px;
    height:3px;
    border-left:2px solid #4f7f37;
    border-bottom:2px solid #4f7f37;
    transform:rotate(-45deg);
    box-sizing:border-box;
}

