
:root{--green:#2f7d31;--dark:#1f261f;--cream:#fffaf0;--muted:#617061;--line:#e1e8dc;--sand:#f3ead8}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--dark);background:#fff;line-height:1.6}a{color:inherit}.container{width:min(1120px,92vw);margin:auto}.topbar{background:var(--green);color:#fff;font-size:.94rem}.topbar .container{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none}.nav{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);z-index:10;border-bottom:1px solid var(--line)}.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:800;font-size:1.35rem;text-decoration:none;color:var(--green)}.menu{display:flex;gap:1.1rem;align-items:center}.menu a{text-decoration:none;font-weight:650}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;padding:.78rem 1.1rem;background:var(--green);color:#fff!important;text-decoration:none;font-weight:800;border:0}.btn.alt{background:#fff;color:var(--green)!important;border:1px solid var(--green)}.btn.light{background:#fff;color:var(--dark)!important}.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem}.hero{min-height:72vh;background:linear-gradient(90deg,rgba(24,36,24,.74),rgba(24,36,24,.18)),url('img/aussen-sommer-hero-mobile.webp') center/cover;display:flex;align-items:center;color:#fff}.hero-box{max-width:760px;padding:6rem 0}.eyebrow{letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#d5f0c9}.hero h1,.page-hero h1{font-size:clamp(2.3rem,6vw,5rem);line-height:1.02;margin:.3rem 0 1rem}.hero p{font-size:1.22rem;max-width:670px}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.section{padding:4.5rem 0}.section.soft{background:var(--cream)}.section-title{max-width:790px;margin:0 auto 2.2rem;text-align:center}.section-title h2,.section h2{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.1;margin:.2rem 0}.grid{display:grid;gap:1.4rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(31,38,31,.08)}.card.pad{padding:1.5rem}.card img{width:100%;height:260px;object-fit:cover;display:block}.feature{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem;border:1px solid var(--line);border-radius:18px;background:#fff}.feature b{font-size:1.1rem}.icon{font-size:1.6rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;align-items:center}.split img{width:100%;border-radius:26px;box-shadow:0 20px 50px rgba(31,38,31,.14)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.fact{border-left:4px solid var(--green);background:#fff;padding:.9rem 1rem;border-radius:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery figure{margin:0;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#fff}.gallery img{width:100%;height:230px;object-fit:cover;display:block}.gallery figcaption{padding:.75rem 1rem;font-weight:750}.page-hero{background:linear-gradient(90deg,rgba(28,53,28,.78),rgba(28,53,28,.3)),url('img/hintereingang-mobile.webp') center/cover;color:#fff;padding:5.5rem 0}
@media(min-width:821px){
  .hero{background:linear-gradient(90deg,rgba(24,36,24,.74),rgba(24,36,24,.18)),url('img/aussen-sommer-hero.webp') center/cover;}
  .page-hero{background:linear-gradient(90deg,rgba(28,53,28,.78),rgba(28,53,28,.3)),url('img/hintereingang.webp') center/cover;}
}
.breadcrumbs{font-size:.95rem;opacity:.9}.notice{border:1px solid #f0d79b;background:#fff7df;border-radius:16px;padding:1rem;margin-bottom:1.5rem}.form{display:grid;gap:1rem}.form label{font-weight:750}.form input,.form textarea,.form select{width:100%;padding:.9rem 1rem;border:1px solid #ccd6c8;border-radius:12px;font:inherit}.form textarea{min-height:150px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.legal-content{max-width:900px}.footer{background:#182418;color:#eef6ec;padding:2rem 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.4rem}.footer a{color:#fff}.badge-list{display:flex;gap:.6rem;flex-wrap:wrap}.badge{background:var(--sand);border-radius:999px;padding:.55rem .8rem;font-weight:750}.callout{background:var(--green);color:#fff;border-radius:28px;padding:2rem;display:grid;grid-template-columns:2fr 1fr;gap:1rem;align-items:center}.small{font-size:.92rem;color:var(--muted)}@media(max-width:820px){.menu{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:1rem 4vw;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu-toggle{display:block}.grid-2,.grid-3,.split,.callout,.footer-grid,.form-row{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.hero{min-height:68vh}.card img,.gallery img{height:250px}.facts{grid-template-columns:1fr}}

/* Horizontales Logo im Header */
.brand-with-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
  flex: 0 0 auto;
}

.brand-with-logo picture {
  display: block;
  line-height: 0;
}

.brand-logo {
  display: block;
  width: auto;
  height: 80px;
  max-width: min(430px, 48vw);
  object-fit: contain;
}

@media(max-width:820px){
  .nav-inner {
    height: 78px;
  }

  .menu {
    top: 78px;
  }

  .brand-logo {
    height: 60px;
    max-width: min(320px, 70vw);
  }
}

@media(max-width:390px){
  .brand-logo {
    height: 52px;
    max-width: 250px;
  }
}


/* Feature-Icons als SVG, passend zum Screenshot */
.feature-grid {
  gap: 1.35rem;
}

.feature {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: flex-start;
  min-height: 148px;
  padding: 1.55rem 1.45rem;
  border: 4px solid #9eac8c;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 4px 0 rgba(47, 125, 49, .10);
}

.feature .icon {
  display: block;
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  margin-top: .1rem;
  line-height: 0;
}

.feature .icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.feature b {
  display: inline-block;
  margin-bottom: .25rem;
  font-size: 1.18rem;
  line-height: 1.25;
  color: var(--dark);
}

@media(max-width:820px){
  .feature {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: auto;
    padding: 1.25rem;
    border-width: 3px;
  }

  .feature .icon {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }
}

/* Navigation: breitere Abstände zwischen den Links */
.menu {
  gap: 2.2rem;
}

@media(max-width:820px){
  .menu {
    gap: 1rem;
  }
}

/* ── Erweiterte Inhaltsblöcke für neue Start-/Chalet-/Lage-Bereiche ── */
.section .eyebrow{color:var(--green)}
.story-note{font-size:1.08rem;color:var(--muted);max-width:760px}
.split.reverse img{order:2}
.split.reverse>div{order:1}
.check-list{padding-left:1.15rem;margin:.9rem 0 0;color:var(--dark)}
.check-list li{margin:.25rem 0}
.photo-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 14px 38px rgba(31,38,31,.08)}
.photo-card img{width:100%;height:310px;object-fit:cover;display:block}
.photo-card .pad{padding:1.35rem}
.season-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.gallery-heading{max-width:790px;margin:0 auto 1.6rem;text-align:center}.gallery-heading p{color:var(--muted)}
.distance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.distance-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem}.distance-card b{font-size:1.35rem;color:var(--green)}
@media(max-width:820px){.split.reverse img,.split.reverse>div{order:initial}.season-grid,.distance-grid{grid-template-columns:1fr}.photo-card img{height:260px}}


/* Lage-Seite: Winter-Aktivitäten ausgewogen und kompakt */
.winter-activity-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.25rem;
}
.winter-activity-card{
  display:block;
  padding:1.1rem 1.15rem;
  border:1px solid var(--line);
  border-left:5px solid var(--green);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,38,31,.06);
}
.winter-activity-card b{
  display:block;
  margin:.45rem 0 .25rem;
  font-size:1.02rem;
  line-height:1.25;
}
.winter-activity-card p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
  font-size:.95rem;
}
.winter-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--sand);
  font-size:1.25rem;
}
.winter-icon-svg svg{
  width:21px;
  height:21px;
  display:block;
  color:#1f1f1f;
}
@media(max-width:980px){
  .winter-activity-grid{
    grid-template-columns:1fr;
  }
}


/* FAQ als kompakte Aufklapp-Elemente */
.faq-wrap {
  max-width: 960px;
}

.faq-accordion {
  display: grid;
  gap: .85rem;
}

.faq-item {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31,38,31,.06);
  overflow: hidden;
}

.faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.25rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  background: var(--sand);
  color: var(--green);
  font-size: 1.2rem;
  line-height: 1;
  transition: transform .2s ease;
}

.faq-item[open] summary::after {
  content: "–";
}

.faq-answer {
  padding: 0 1.25rem 1.1rem;
  color: var(--dark);
}

.faq-answer p {
  margin: 0;
}

.faq-item[open] summary {
  color: var(--green);
}

@media(max-width:820px){
  .faq-item summary {
    padding: 1rem;
    align-items: flex-start;
  }
  .faq-answer {
    padding: 0 1rem 1rem;
  }
}

/* Aktionspreis-Bubble im Hero */
.hero-price-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.35rem;
  max-width: 760px;
}

.price-bubble {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 154px;
  min-height: 154px;
  padding: 1.15rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--green);
  text-decoration: none;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
  border: 2px solid rgba(255, 255, 255, .78);
  transform: rotate(-3deg);
}

.price-kicker {
  font-size: .76rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dark);
}

.price-main {
  margin-top: .25rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2.35rem;
  line-height: .98;
  font-weight: 900;
  white-space: nowrap;
}

.price-sub {
  margin-top: .15rem;
  font-size: .92rem;
  line-height: 1.15;
  font-weight: 850;
  color: var(--dark);
}



.price-details {
  flex-basis: 100%;
  max-width: 640px;
  margin: -.25rem 0 0 .35rem;
}

.price-details summary {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  cursor: pointer;
  list-style: none;
  font-size: 10px;
  line-height: 1.3;
  color: rgba(255, 255, 255, .72);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

.price-details summary::-webkit-details-marker {
  display: none;
}

.price-details summary::after {
  content: "▾";
  font-size: 9px;
  line-height: 1;
  transform: translateY(-1px);
}

.price-details[open] summary::after {
  content: "▴";
}

.price-note {
  margin-top: .28rem;
  color: rgba(255, 255, 255, .56);
  font-size: .66rem;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

.price-bubble:hover,
.price-bubble:focus-visible {
  transform: rotate(-3deg) translateY(-2px);
}

@media(max-width:820px){
  .hero-price-wrap {
    align-items: flex-start;
  }

  .price-bubble {
    min-width: 132px;
    min-height: 132px;
  }

  .price-main {
    font-size: 1.95rem;
  }

  .price-details {
    width: 100%;
    margin-left: 0;
  }

  .price-note {
    font-size: .64rem;
    line-height: 1.35;
  }
}

/* Language switch */
.lang-switch{border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;font-weight:800;text-decoration:none;background:#fff;color:var(--green)!important;line-height:1}
.menu .lang-switch:hover{border-color:var(--green)}


/* Compact multilingual language switcher */
.lang-dropdown{position:relative;line-height:1;z-index:30}
/* Hover bridge: prevents the language menu from closing while moving from the button to the dropdown */
.lang-dropdown::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:14px;
  display:block;
}

.lang-dropdown summary{
  list-style:none;
  cursor:pointer;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.55rem .75rem;
  font-weight:850;
  background:#fff;
  color:var(--green);
  min-width:66px;
  text-align:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  user-select:none;
}
.lang-dropdown summary::-webkit-details-marker{display:none}
.lang-globe{font-size:1.02rem;line-height:1;display:inline-flex;align-items:center}
.lang-current{line-height:1}
.lang-dropdown[open] summary,
.lang-dropdown:hover summary,
.lang-dropdown:focus-within summary{border-color:var(--green);box-shadow:0 0 0 3px rgba(45,125,50,.08)}
.lang-options{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  display:grid;
  grid-template-columns:repeat(3,minmax(42px,1fr));
  gap:.35rem;
  padding:.55rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 40px rgba(31,38,31,.18);
  min-width:184px;
}
.lang-preview{
  grid-column:1/-1;
  border-radius:999px;
  padding:.46rem .72rem;
  background:var(--green);
  color:#fff;
  font-weight:850;
  text-align:left;
  line-height:1;
  min-height:1.9rem;
  display:flex;
  align-items:center;
}
.lang-options a{
  text-decoration:none!important;
  text-align:center;
  border-radius:999px;
  padding:.42rem .48rem;
  font-weight:850;
  color:var(--dark);
  background:var(--cream);
  position:relative;
}
.lang-options a:hover,
.lang-options a:focus{background:var(--green);color:#fff!important;outline:none}
.lang-options a.is-active{box-shadow:inset 0 0 0 2px rgba(45,125,50,.25);color:var(--green)}
.lang-options a.is-active:hover,
.lang-options a.is-active:focus{color:#fff!important}
@media(hover:hover) and (pointer:fine){
  .lang-dropdown:hover .lang-options{display:grid}
}
@media(max-width:820px){
  .lang-dropdown{width:100%}
  .lang-dropdown summary{text-align:left;width:max-content}
  .lang-options{position:static;margin-top:.5rem;width:100%;box-shadow:none}
}


/* Einheitliche Bewertungsbereiche auf allen Sprachversionen */
.ix-scores {
  background: #253826;
  color: #fff;
  padding: 8px 20px;
}

.ix-scores__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(145px, .7fr) repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 0;
}

.ix-scores__intro {
  display: flex;
  align-items: center;
  padding: 0 20px 0 0;
  min-height: 44px;
}

.ix-scores__label {
  font-family: sans-serif;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .68;
  margin: 0;
  white-space: nowrap;
}

.ix-sc {
  display: flex;
  align-items: center;
  gap: .55rem;
  justify-content: center;
  min-height: 44px;
  border-left: 1px solid rgba(255,255,255,.18);
  padding: 0 14px;
}

.ix-sc__num {
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
}

.ix-sc__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  min-width: 0;
}

.ix-sc__stars {
  color: #f4d47a;
  font-size: .78rem;
  letter-spacing: .05em;
  white-space: nowrap;
}

.ix-sc__sub {
  color: rgba(255,255,255,.78);
  font-size: .72rem;
  white-space: nowrap;
}

.ix-quotes {
  background: #253826;
  color: #fff;
  padding: 56px 20px;
}

.ix-quotes__inner {
  max-width: 1180px;
  margin: 0 auto;
}

.ix-quotes__eyebrow {
  text-align: center;
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  margin-bottom: 22px;
  font-weight: 800;
}

.ix-quotes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ix-quote-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 44px rgba(0,0,0,.12);
}

.ix-quote-card p {
  margin: 0 0 14px;
  color: rgba(255,255,255,.94);
  line-height: 1.55;
}

.ix-quote-card cite {
  display: block;
  font-style: normal;
  color: rgba(255,255,255,.78);
  font-size: .9rem;
}

.ix-stars {
  color: #f4d47a;
  letter-spacing: .05em;
  margin-right: .25rem;
}

@media (max-width: 900px) {
  .ix-scores__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ix-scores__intro {
    grid-column: 1 / -1;
    justify-content: center;
    padding: 0;
  }

  .ix-sc {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.16);
  }

  .ix-quotes__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .ix-scores {
    padding: 8px 12px;
  }

  .ix-scores__inner {
    grid-template-columns: 1fr;
  }

  .ix-sc {
    justify-content: flex-start;
    padding: 10px 0;
  }

  .ix-sc__num {
    min-width: 48px;
  }

  .ix-quotes {
    padding: 42px 16px;
  }
}

/* Accessibility: mobile menu button and honeypot */
.menu-toggle{
  min-width:48px;
  min-height:48px;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  cursor:pointer;
  color:var(--green);
}
.menu-toggle:focus-visible{
  outline:3px solid var(--green);
  outline-offset:3px;
}
.hamburger-icon,
.hamburger-icon::before,
.hamburger-icon::after{
  display:block;
  width:24px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  content:"";
}
.hamburger-icon{
  position:relative;
}
.hamburger-icon::before,
.hamburger-icon::after{
  position:absolute;
  left:0;
}
.hamburger-icon::before{
  top:-7px;
}
.hamburger-icon::after{
  top:7px;
}
.menu-toggle[aria-expanded="true"] .hamburger-icon{
  background:transparent;
}
.menu-toggle[aria-expanded="true"] .hamburger-icon::before{
  top:0;
  transform:rotate(45deg);
}
.menu-toggle[aria-expanded="true"] .hamburger-icon::after{
  top:0;
  transform:rotate(-45deg);
}
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
@media(max-width:820px){
  .menu-toggle{
    display:flex;
  }
  .nav-menu.open{
    display:flex;
  }
}


/* Neue Bachfotos mit Hund: Hund in Galerie-Kacheln sichtbar halten */
.img-pos-bottom{object-position:center bottom;}



/* Monochrome winter icons: replaces emoji rendering differences on mobile devices */
.winter-icon{
  color:var(--dark);
  font-family:inherit;
  line-height:1;
}
.winter-icon-svg svg{
  width:1.35rem;
  height:1.35rem;
  display:block;
}



/* Mobile language menu stability */
.lang-options,
.lang-options a{
  pointer-events:auto;
}
.lang-options a{
  -webkit-tap-highlight-color:rgba(45,125,50,.16);
  touch-action:manipulation;
}
@media(max-width:820px){
  .lang-dropdown summary{
    min-width:76px;
    min-height:44px;
  }
  .lang-options{
    display:grid;
    grid-template-columns:repeat(3,minmax(56px,1fr));
    gap:.45rem;
    padding:.7rem;
  }
  .lang-options a{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}



/* Robust language dropdown: button-based, mobile-safe */
.lang-dropdown{
  position:relative;
  line-height:1;
  z-index:60;
}
.lang-dropdown::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:12px;
  display:block;
  pointer-events:none;
}
.lang-toggle{
  list-style:none;
  cursor:pointer;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.55rem .75rem;
  font-weight:850;
  background:#fff;
  color:var(--green);
  min-width:76px;
  min-height:44px;
  text-align:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  user-select:none;
  font:inherit;
  line-height:1;
  -webkit-tap-highlight-color:rgba(45,125,50,.16);
  touch-action:manipulation;
}
.lang-toggle:focus{outline:2px solid rgba(45,125,50,.22);outline-offset:2px}
.lang-dropdown.is-open .lang-toggle,
.lang-dropdown:hover .lang-toggle,
.lang-dropdown:focus-within .lang-toggle{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(45,125,50,.08);
}
.lang-dropdown .lang-options{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  display:none;
  grid-template-columns:repeat(3,minmax(42px,1fr));
  gap:.35rem;
  padding:.55rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 40px rgba(31,38,31,.18);
  min-width:184px;
  z-index:80;
}
.lang-dropdown.is-open .lang-options,
.lang-dropdown:focus-within .lang-options{
  display:grid;
}
@media(hover:hover) and (pointer:fine){
  .lang-dropdown:hover .lang-options{display:grid}
}
.lang-dropdown .lang-preview{
  grid-column:1/-1;
  border-radius:999px;
  padding:.46rem .72rem;
  background:var(--green);
  color:#fff;
  font-weight:850;
  text-align:left;
  line-height:1;
  min-height:1.9rem;
  display:flex;
  align-items:center;
}
.lang-dropdown .lang-options a{
  text-decoration:none!important;
  text-align:center;
  border-radius:999px;
  padding:.42rem .48rem;
  min-height:42px;
  font-weight:850;
  color:var(--dark);
  background:var(--cream);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  -webkit-tap-highlight-color:rgba(45,125,50,.16);
  touch-action:manipulation;
}
.lang-dropdown .lang-options a:hover,
.lang-dropdown .lang-options a:focus{
  background:var(--green);
  color:#fff!important;
  outline:none;
}
.lang-dropdown .lang-options a.is-active{
  box-shadow:inset 0 0 0 2px rgba(45,125,50,.25);
  color:var(--green);
}
.lang-dropdown .lang-options a.is-active:hover,
.lang-dropdown .lang-options a.is-active:focus{color:#fff!important}
@media(max-width:820px){
  .lang-dropdown{width:100%}
  .lang-toggle{width:max-content}
  .lang-dropdown .lang-options{
    position:static;
    margin-top:.5rem;
    width:100%;
    box-shadow:none;
    grid-template-columns:repeat(3,minmax(56px,1fr));
    gap:.45rem;
    padding:.7rem;
  }
  .lang-dropdown.is-open .lang-options{display:grid}
}



/* Kachel-/Galeriebilder behalten bewusst feste Ausschnitte. */
.card img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}
.gallery img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.photo-card img{
  width:100%;
  height:310px;
  object-fit:cover;
  display:block;
}
@media(max-width:820px){
  .card img,
  .gallery img{
    height:250px;
  }
  .photo-card img{
    height:260px;
  }
}

/* Auf Mobil bleibt die Split-Struktur sauber einspaltig. */
@media(max-width:820px){
  .split{
    grid-template-columns:1fr;
  }
}

/* Kaminbild etwas ruhiger und zentraler im Ausschnitt */
.split.reverse > img{
  object-position:center center;
}

/* Auf Mobil bleiben Bilder groß genug, aber nicht überlang. */
@media(max-width:820px){
  .split{
    grid-template-columns:1fr;
  }
  .split > img,
  .split > picture > img,
  .split picture img{
    height:clamp(280px, 72vw, 430px) !important;
    max-height:430px !important;
  }
}

/* Finale Split-Bild-Korrektur:
   Verhindert, dass PageSpeed-width/height-Attribute Split-Bilder übergroß darstellen.
   Wichtig: Diese Datei hat einen neuen Dateinamen, damit Browser nicht die alte CSS-Version aus dem Cache laden. */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
.split{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
}
.split > *,
.split > picture{
  min-width:0;
}
.split > img,
.split > picture > img,
.split picture img{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:clamp(360px, 42vw, 560px) !important;
  max-height:560px !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center;
  border-radius:26px;
}
@media(max-width:820px){
  .split{
    grid-template-columns:1fr;
  }
  .split > img,
  .split > picture > img,
  .split picture img{
    height:clamp(280px, 72vw, 430px) !important;
    max-height:430px !important;
  }
}

/* Discreet crosslink between related accommodations */
.crosslink-note{padding:1.35rem 0 1.5rem;border-top:1px solid var(--line);font-size:.96rem;color:var(--muted)}.crosslink-note p{margin:0}.crosslink-note a{color:var(--green);font-weight:750}
